@oliversalzburg/js-utils 0.7.0 → 0.8.0
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/lib/async/async.d.ts +44 -0
- package/lib/async/async.js +76 -0
- package/lib/async/async.js.map +1 -0
- package/lib/async/async.test.d.ts +1 -0
- package/lib/async/async.test.js +26 -0
- package/lib/async/async.test.js.map +1 -0
- package/lib/cli/args.d.ts +9 -0
- package/lib/cli/args.js +49 -0
- package/lib/cli/args.js.map +1 -0
- package/lib/cli/args.test.d.ts +1 -0
- package/lib/cli/args.test.js +31 -0
- package/lib/cli/args.test.js.map +1 -0
- package/lib/core.d.ts +43 -0
- package/lib/core.js +2 -0
- package/lib/core.js.map +1 -0
- package/lib/data/array.d.ts +55 -0
- package/lib/data/array.js +90 -0
- package/lib/data/array.js.map +1 -0
- package/lib/data/nil.d.ts +92 -0
- package/lib/data/nil.js +131 -0
- package/lib/data/nil.js.map +1 -0
- package/lib/data/random.d.ts +111 -0
- package/lib/data/random.js +381 -0
- package/lib/data/random.js.map +1 -0
- package/lib/data/string.d.ts +30 -0
- package/lib/data/string.js +53 -0
- package/lib/data/string.js.map +1 -0
- package/lib/data/tree.d.ts +28 -0
- package/lib/data/tree.js +45 -0
- package/lib/data/tree.js.map +1 -0
- package/lib/device/shake.d.ts +79 -0
- package/lib/device/shake.js +135 -0
- package/lib/device/shake.js.map +1 -0
- package/lib/dom/core.d.ts +21 -0
- package/lib/dom/core.js +41 -0
- package/lib/dom/core.js.map +1 -0
- package/lib/errors/AbstractError.d.ts +29 -0
- package/lib/errors/AbstractError.js +59 -0
- package/lib/errors/AbstractError.js.map +1 -0
- package/lib/errors/InternalError.d.ts +19 -0
- package/lib/errors/InternalError.js +38 -0
- package/lib/errors/InternalError.js.map +1 -0
- package/lib/errors/InvalidArgumentError.d.ts +13 -0
- package/lib/errors/InvalidArgumentError.js +22 -0
- package/lib/errors/InvalidArgumentError.js.map +1 -0
- package/lib/errors/InvalidOperationError.d.ts +13 -0
- package/lib/errors/InvalidOperationError.js +22 -0
- package/lib/errors/InvalidOperationError.js.map +1 -0
- package/lib/errors/NotImplementedError.d.ts +12 -0
- package/lib/errors/NotImplementedError.js +21 -0
- package/lib/errors/NotImplementedError.js.map +1 -0
- package/lib/errors/PermissionViolationError.d.ts +13 -0
- package/lib/errors/PermissionViolationError.js +22 -0
- package/lib/errors/PermissionViolationError.js.map +1 -0
- package/lib/errors/ResourceConflictError.d.ts +12 -0
- package/lib/errors/ResourceConflictError.js +21 -0
- package/lib/errors/ResourceConflictError.js.map +1 -0
- package/lib/errors/UnknownError.d.ts +16 -0
- package/lib/errors/UnknownError.js +25 -0
- package/lib/errors/UnknownError.js.map +1 -0
- package/lib/errors/console.d.ts +7 -0
- package/lib/errors/console.js +13 -0
- package/lib/errors/console.js.map +1 -0
- package/lib/errors/error-serializer.d.ts +45 -0
- package/lib/errors/error-serializer.js +74 -0
- package/lib/errors/error-serializer.js.map +1 -0
- package/lib/errors/error-serializer.test.d.ts +1 -0
- package/lib/errors/error-serializer.test.js +109 -0
- package/lib/errors/error-serializer.test.js.map +1 -0
- package/lib/errors/stream.d.ts +7 -0
- package/lib/errors/stream.js +15 -0
- package/lib/errors/stream.js.map +1 -0
- package/lib/errors/tools.d.ts +10 -0
- package/lib/errors/tools.js +13 -0
- package/lib/errors/tools.js.map +1 -0
- package/lib/events/event.d.ts +9 -0
- package/lib/events/event.js +10 -0
- package/lib/events/event.js.map +1 -0
- package/lib/format/bytes.d.ts +118 -0
- package/lib/format/bytes.js +138 -0
- package/lib/format/bytes.js.map +1 -0
- package/lib/format/bytes.test.d.ts +1 -0
- package/lib/format/bytes.test.js +146 -0
- package/lib/format/bytes.test.js.map +1 -0
- package/lib/format/count.d.ts +14 -0
- package/lib/format/count.js +51 -0
- package/lib/format/count.js.map +1 -0
- package/lib/format/count.test.d.ts +1 -0
- package/lib/format/count.test.js +42 -0
- package/lib/format/count.test.js.map +1 -0
- package/lib/format/milliseconds.d.ts +100 -0
- package/lib/format/milliseconds.js +199 -0
- package/lib/format/milliseconds.js.map +1 -0
- package/lib/format/milliseconds.test.d.ts +1 -0
- package/lib/format/milliseconds.test.js +393 -0
- package/lib/format/milliseconds.test.js.map +1 -0
- package/lib/format/string.d.ts +24 -0
- package/lib/format/string.js +32 -0
- package/lib/format/string.js.map +1 -0
- package/lib/format/string.test.d.ts +1 -0
- package/lib/format/string.test.js +17 -0
- package/lib/format/string.test.js.map +1 -0
- package/lib/graphics/canvas-sandbox-mp.d.ts +258 -0
- package/lib/graphics/canvas-sandbox-mp.js +280 -0
- package/lib/graphics/canvas-sandbox-mp.js.map +1 -0
- package/lib/graphics/canvas-sandbox.d.ts +255 -0
- package/lib/graphics/canvas-sandbox.js +358 -0
- package/lib/graphics/canvas-sandbox.js.map +1 -0
- package/lib/graphics/canvas.d.ts +57 -0
- package/lib/graphics/canvas.js +37 -0
- package/lib/graphics/canvas.js.map +1 -0
- package/lib/graphics/canvas2d-headless.d.ts +85 -0
- package/lib/graphics/canvas2d-headless.js +197 -0
- package/lib/graphics/canvas2d-headless.js.map +1 -0
- package/lib/graphics/canvas2d.d.ts +162 -0
- package/lib/graphics/canvas2d.js +332 -0
- package/lib/graphics/canvas2d.js.map +1 -0
- package/lib/graphics/canvas3d.d.ts +41 -0
- package/lib/graphics/canvas3d.js +67 -0
- package/lib/graphics/canvas3d.js.map +1 -0
- package/lib/graphics/color.d.ts +22 -0
- package/lib/graphics/color.js +38 -0
- package/lib/graphics/color.js.map +1 -0
- package/lib/graphics/core.d.ts +89 -0
- package/lib/graphics/core.js +146 -0
- package/lib/graphics/core.js.map +1 -0
- package/lib/graphics/palette-sampler.d.ts +7 -0
- package/lib/graphics/palette-sampler.js +21 -0
- package/lib/graphics/palette-sampler.js.map +1 -0
- package/lib/graphics/palette.d.ts +120 -0
- package/lib/graphics/palette.js +574 -0
- package/lib/graphics/palette.js.map +1 -0
- package/lib/graphics/palette.test.d.ts +1 -0
- package/lib/graphics/palette.test.js +43 -0
- package/lib/graphics/palette.test.js.map +1 -0
- package/lib/graphics/render-loop.d.ts +76 -0
- package/lib/graphics/render-loop.js +114 -0
- package/lib/graphics/render-loop.js.map +1 -0
- package/lib/graphics/shader.d.ts +56 -0
- package/lib/graphics/shader.js +80 -0
- package/lib/graphics/shader.js.map +1 -0
- package/lib/log/log.d.ts +11 -0
- package/lib/log/log.js +2 -0
- package/lib/log/log.js.map +1 -0
- package/lib/log/report.d.ts +57 -0
- package/lib/log/report.js +88 -0
- package/lib/log/report.js.map +1 -0
- package/lib/math/core.d.ts +85 -0
- package/lib/math/core.js +125 -0
- package/lib/math/core.js.map +1 -0
- package/lib/math/easing.d.ts +204 -0
- package/lib/math/easing.js +366 -0
- package/lib/math/easing.js.map +1 -0
- package/lib/math/euler.d.ts +18 -0
- package/lib/math/euler.js +22 -0
- package/lib/math/euler.js.map +1 -0
- package/lib/math/matrix3.d.ts +227 -0
- package/lib/math/matrix3.js +508 -0
- package/lib/math/matrix3.js.map +1 -0
- package/lib/math/quaternion.d.ts +119 -0
- package/lib/math/quaternion.js +270 -0
- package/lib/math/quaternion.js.map +1 -0
- package/lib/math/transformation.d.ts +26 -0
- package/lib/math/transformation.js +31 -0
- package/lib/math/transformation.js.map +1 -0
- package/lib/math/vector2.d.ts +202 -0
- package/lib/math/vector2.js +310 -0
- package/lib/math/vector2.js.map +1 -0
- package/lib/math/vector3.d.ts +293 -0
- package/lib/math/vector3.js +492 -0
- package/lib/math/vector3.js.map +1 -0
- package/lib/math/vector4.d.ts +182 -0
- package/lib/math/vector4.js +302 -0
- package/lib/math/vector4.js.map +1 -0
- package/lib/measurement/performance.d.ts +13 -0
- package/lib/measurement/performance.js +19 -0
- package/lib/measurement/performance.js.map +1 -0
- package/package.json +5 -7
package/lib/data/nil.js
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if something is nil.
|
|
3
|
+
* Can be used as a typeguard.
|
|
4
|
+
* @param subject - The subject that could be nil.
|
|
5
|
+
* @typeParam TSubject - The type of the subject.
|
|
6
|
+
* @returns `true` if the subject is nil, `false` otherwise.
|
|
7
|
+
*/
|
|
8
|
+
export function isNil(subject) {
|
|
9
|
+
return subject === null || subject === undefined;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Check if something is a concrete value of the given type.
|
|
13
|
+
* Can be used as a typeguard.
|
|
14
|
+
* @param subject - The subject that could be nil.
|
|
15
|
+
* @param Prototype - The prototype to check against.
|
|
16
|
+
* @typeParam TSubject - The type to check against.
|
|
17
|
+
* @returns `true` if the input element matches the given type,
|
|
18
|
+
* `false` otherwise.
|
|
19
|
+
*/
|
|
20
|
+
export function is(subject, Prototype) {
|
|
21
|
+
return !isNil(subject) && subject instanceof Prototype;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Thrown when an unexpected nil value was encountered.
|
|
25
|
+
*/
|
|
26
|
+
export class UnexpectedNilError extends Error {
|
|
27
|
+
/**
|
|
28
|
+
* Constructs a new {@linkcode UnexpectedNilError}.
|
|
29
|
+
* @param message - The error message.
|
|
30
|
+
*/
|
|
31
|
+
constructor(message = "unexpected nil value") {
|
|
32
|
+
super(message);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Ensure that the passed subject is not nil; throw otherwise.
|
|
37
|
+
* @param subject - A subject that is possibly nil.
|
|
38
|
+
* @param errorMessage - An optional error message to throw when the subject is nil.
|
|
39
|
+
* @typeParam TSubject - The type of the subject.
|
|
40
|
+
* @returns The subject, if it isn't nil.
|
|
41
|
+
* @throws {@linkcode UnexpectedNilError} When the subject is nil.
|
|
42
|
+
*/
|
|
43
|
+
export function mustExist(subject, errorMessage) {
|
|
44
|
+
if (isNil(subject)) {
|
|
45
|
+
throw new UnexpectedNilError(errorMessage);
|
|
46
|
+
}
|
|
47
|
+
return subject;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Ensure that all passed subjects are not nil; throw otherwise.
|
|
51
|
+
* @param subjects - The subjects that are possibly nil.
|
|
52
|
+
* @param errorMessage - An optional error message to throw when a subject is nil.
|
|
53
|
+
* @typeParam TSubject - The type a the subject.
|
|
54
|
+
* @returns The subjects, if they aren't nil.
|
|
55
|
+
* @throws {@linkcode UnexpectedNilError} When a subject is nil.
|
|
56
|
+
*/
|
|
57
|
+
export function mustExistAll(subjects, errorMessage) {
|
|
58
|
+
for (const subject of subjects) {
|
|
59
|
+
if (isNil(subject)) {
|
|
60
|
+
throw new UnexpectedNilError(errorMessage);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return subjects;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Ensure that the passed subject is not nil; throw otherwise.
|
|
67
|
+
* @param subject - A subject that is possibly nil.
|
|
68
|
+
* @typeParam TSubject - The type of the subject.
|
|
69
|
+
* @throws {@linkcode UnexpectedNilError} When the subject is nil.
|
|
70
|
+
*/
|
|
71
|
+
export function assertExists(subject) {
|
|
72
|
+
if (isNil(subject)) {
|
|
73
|
+
throw new UnexpectedNilError();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Ensure that the passed subjects are not nil; throw otherwise.
|
|
78
|
+
* @param subjects - Subjects that are possibly nil.
|
|
79
|
+
* @typeParam TSubject - The type of a subject.
|
|
80
|
+
* @throws {@linkcode UnexpectedNilError} When a subject is nil.
|
|
81
|
+
*/
|
|
82
|
+
export function assertExistsAll(subjects) {
|
|
83
|
+
for (const subject of subjects) {
|
|
84
|
+
if (isNil(subject)) {
|
|
85
|
+
throw new UnexpectedNilError();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Convert a nilable into a real value, if it is nil.
|
|
91
|
+
* @param nilable - The subject to convert to an optional.
|
|
92
|
+
* @param to - The value to coalese to.
|
|
93
|
+
* @returns The input value, if it wasn't nil, or the value to coalesce to.
|
|
94
|
+
*/
|
|
95
|
+
export function coalesce(nilable, to) {
|
|
96
|
+
if (isNil(nilable)) {
|
|
97
|
+
return to;
|
|
98
|
+
}
|
|
99
|
+
return nilable;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Drop all nil values from an array, or replaces them with another value.
|
|
103
|
+
* @param nilables - The subject to convert.
|
|
104
|
+
* @param to - The value to coalese to.
|
|
105
|
+
* @returns An array with where all values are not nil.
|
|
106
|
+
*/
|
|
107
|
+
export function coalesceArray(nilables, to) {
|
|
108
|
+
const result = new Array();
|
|
109
|
+
for (const nilable of nilables) {
|
|
110
|
+
if (!isNil(nilable)) {
|
|
111
|
+
result.push(nilable);
|
|
112
|
+
}
|
|
113
|
+
else if (!isNil(to)) {
|
|
114
|
+
result.push(to);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return result;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Convert a nilable into an optional argument.
|
|
121
|
+
* This means `null` is normalized to `undefined`.
|
|
122
|
+
* @param nilable - The subject to convert to an optional.
|
|
123
|
+
* @returns The value, normalized to `undefined`, if it was nil.
|
|
124
|
+
*/
|
|
125
|
+
export function toOptional(nilable) {
|
|
126
|
+
if (isNil(nilable)) {
|
|
127
|
+
return undefined;
|
|
128
|
+
}
|
|
129
|
+
return nilable;
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=nil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nil.js","sourceRoot":"","sources":["../../source/data/nil.ts"],"names":[],"mappings":"AAcA;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAW,OAAwB;IACvD,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,CAAC;AAClD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,EAAE,CACjB,OAAkC,EAClC,SAAkC;IAElC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,YAAY,SAAS,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC5C;;;OAGG;IACH,YAAY,OAAO,GAAG,sBAAsB;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;IAChB,CAAC;CACD;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CACxB,OAAwB,EACxB,YAAqB;IAErB,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC3B,QAAgC,EAChC,YAAqB;IAErB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC;IAED,OAAO,QAA2B,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC3B,OAAwB;IAExB,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,kBAAkB,EAAE,CAAC;IAChC,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC9B,QAAgC;IAEhC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,kBAAkB,EAAE,CAAC;QAChC,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAI,OAAiB,EAAE,EAAK;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC5B,QAAyB,EACzB,EAAa;IAEb,MAAM,MAAM,GAAG,IAAI,KAAK,EAAK,CAAC;IAC9B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAI,OAAiB;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helps with generating random numbers.
|
|
3
|
+
*/
|
|
4
|
+
export declare class Random {
|
|
5
|
+
/**
|
|
6
|
+
* The value this PRNG was seeded with.
|
|
7
|
+
*/
|
|
8
|
+
private _seed;
|
|
9
|
+
/**
|
|
10
|
+
* Retrieve the seed of the PRNG.
|
|
11
|
+
* @returns The seed of the PRNG.
|
|
12
|
+
*/
|
|
13
|
+
get seed(): number;
|
|
14
|
+
/**
|
|
15
|
+
* The permutation table for simplex noise.
|
|
16
|
+
*/
|
|
17
|
+
private _perm;
|
|
18
|
+
/**
|
|
19
|
+
* The gradient map for simplex noise.
|
|
20
|
+
*/
|
|
21
|
+
private _gradP;
|
|
22
|
+
/**
|
|
23
|
+
* Skewing and unskewing factors for 2, 3, and 4 dimensions.
|
|
24
|
+
*/
|
|
25
|
+
private _F2;
|
|
26
|
+
/**
|
|
27
|
+
* Skewing and unskewing factors for 2, 3, and 4 dimensions.
|
|
28
|
+
*/
|
|
29
|
+
private _G2;
|
|
30
|
+
/**
|
|
31
|
+
* Creates a pseudo-random value generator. The seed must be an integer.
|
|
32
|
+
*
|
|
33
|
+
* Uses an optimized version of the Park-Miller PRNG.
|
|
34
|
+
* http://www.firstpr.com.au/dsp/rand31/
|
|
35
|
+
* @param seed - The seed for the random number generator.
|
|
36
|
+
*/
|
|
37
|
+
constructor(seed?: number);
|
|
38
|
+
/**
|
|
39
|
+
* Returns a pseudo-random value between 1 and 2^32 - 2.
|
|
40
|
+
* @returns A pseudo-random value between 1 and 2^32 - 2.
|
|
41
|
+
*/
|
|
42
|
+
next(): number;
|
|
43
|
+
/**
|
|
44
|
+
* Returns a random value in a given range.
|
|
45
|
+
* @param min - The lower bound.
|
|
46
|
+
* @param max - The upper bound.
|
|
47
|
+
* @returns A random value between the lower and upper bound.
|
|
48
|
+
*/
|
|
49
|
+
nextRange(min: number, max: number): number;
|
|
50
|
+
/**
|
|
51
|
+
* Returns either `true` or `false`.
|
|
52
|
+
* @returns Either `true` or `false`.
|
|
53
|
+
*/
|
|
54
|
+
nextBoolean(): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Returns a pseudo-random floating point number in range [0, 1).
|
|
57
|
+
* @returns a pseudo-random floating point number in range [0, 1).
|
|
58
|
+
*/
|
|
59
|
+
nextFloat(): number;
|
|
60
|
+
/**
|
|
61
|
+
* Creates a new Random instance, with a seed that is based of the seed
|
|
62
|
+
* of this Random instance.
|
|
63
|
+
* @returns A new random number generator.
|
|
64
|
+
*/
|
|
65
|
+
nextRandom(): Random;
|
|
66
|
+
static ALLOWED_CHARACTERS: string;
|
|
67
|
+
/**
|
|
68
|
+
* Returns a random ASCII string.
|
|
69
|
+
* @param length - The length of the string.
|
|
70
|
+
* @returns A random ASCII string.
|
|
71
|
+
*/
|
|
72
|
+
nextString(length: number, characters?: string): string;
|
|
73
|
+
/**
|
|
74
|
+
* Returns a 2D simplex noise value for a given input coordinate.
|
|
75
|
+
* @param x - The X input coordinate.
|
|
76
|
+
* @param y - The Y input coordinate.
|
|
77
|
+
* @returns The noise value for the input coordinates.
|
|
78
|
+
*/
|
|
79
|
+
simplex2(x: number, y: number): number;
|
|
80
|
+
/**
|
|
81
|
+
* Returns a 3D simplex noise value for a given input coordinate.
|
|
82
|
+
* @param x - The X input coordinate.
|
|
83
|
+
* @param y - The Y input coordinate.
|
|
84
|
+
* @param z - The Z input coordinate.
|
|
85
|
+
* @returns The noise value for the input coordinates.
|
|
86
|
+
*/
|
|
87
|
+
simplex3(x: number, y: number, z: number): number;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Returns a random value in a given range.
|
|
91
|
+
*
|
|
92
|
+
* Uses the JS-internal `Math.random()`. Use {@linkcode Random} for a PRNG with more features.
|
|
93
|
+
*
|
|
94
|
+
* Note that this method returns floating point numbers, regardless of your inputs potentially
|
|
95
|
+
* being integers. If you require integers, ensure to truncate the resulting random value.
|
|
96
|
+
* @param min - The lower bound.
|
|
97
|
+
* @param max - The upper bound.
|
|
98
|
+
* @returns A random value between the lower and upper bound.
|
|
99
|
+
*/
|
|
100
|
+
export declare const randomRange: (min: number, max: number) => number;
|
|
101
|
+
/**
|
|
102
|
+
* Generates a numberic seed, to be used as an input for a PRNG,
|
|
103
|
+
* from a string.
|
|
104
|
+
* @param input - The string to use as a seed.
|
|
105
|
+
* @returns A numeric seed value for a PRNG.
|
|
106
|
+
*/
|
|
107
|
+
export declare const seedFromString: (input: string) => number;
|
|
108
|
+
/**
|
|
109
|
+
* A global PRNG instance that is ready-to-use.
|
|
110
|
+
*/
|
|
111
|
+
export declare const random: Random;
|
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
import { Vector3 } from "../math/vector3.js";
|
|
2
|
+
/**
|
|
3
|
+
* Helps with generating random numbers.
|
|
4
|
+
*/
|
|
5
|
+
export class Random {
|
|
6
|
+
/**
|
|
7
|
+
* The value this PRNG was seeded with.
|
|
8
|
+
*/
|
|
9
|
+
_seed;
|
|
10
|
+
/**
|
|
11
|
+
* Retrieve the seed of the PRNG.
|
|
12
|
+
* @returns The seed of the PRNG.
|
|
13
|
+
*/
|
|
14
|
+
get seed() {
|
|
15
|
+
return this._seed;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The permutation table for simplex noise.
|
|
19
|
+
*/
|
|
20
|
+
_perm;
|
|
21
|
+
/**
|
|
22
|
+
* The gradient map for simplex noise.
|
|
23
|
+
*/
|
|
24
|
+
_gradP;
|
|
25
|
+
/**
|
|
26
|
+
* Skewing and unskewing factors for 2, 3, and 4 dimensions.
|
|
27
|
+
*/
|
|
28
|
+
_F2;
|
|
29
|
+
/**
|
|
30
|
+
* Skewing and unskewing factors for 2, 3, and 4 dimensions.
|
|
31
|
+
*/
|
|
32
|
+
_G2;
|
|
33
|
+
/**
|
|
34
|
+
* Creates a pseudo-random value generator. The seed must be an integer.
|
|
35
|
+
*
|
|
36
|
+
* Uses an optimized version of the Park-Miller PRNG.
|
|
37
|
+
* http://www.firstpr.com.au/dsp/rand31/
|
|
38
|
+
* @param seed - The seed for the random number generator.
|
|
39
|
+
*/
|
|
40
|
+
constructor(seed = 0) {
|
|
41
|
+
this._seed = Math.trunc(seed) % 2147483647;
|
|
42
|
+
if (this._seed <= 0) {
|
|
43
|
+
this._seed += 2147483646;
|
|
44
|
+
}
|
|
45
|
+
const grad3 = [
|
|
46
|
+
new Vector3(1, 1, 0),
|
|
47
|
+
new Vector3(-1, 1, 0),
|
|
48
|
+
new Vector3(1, -1, 0),
|
|
49
|
+
new Vector3(-1, -1, 0),
|
|
50
|
+
new Vector3(1, 0, 1),
|
|
51
|
+
new Vector3(-1, 0, 1),
|
|
52
|
+
new Vector3(1, 0, -1),
|
|
53
|
+
new Vector3(-1, 0, -1),
|
|
54
|
+
new Vector3(0, 1, 1),
|
|
55
|
+
new Vector3(0, -1, 1),
|
|
56
|
+
new Vector3(0, 1, -1),
|
|
57
|
+
new Vector3(0, -1, -1),
|
|
58
|
+
];
|
|
59
|
+
const p = [
|
|
60
|
+
151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225,
|
|
61
|
+
140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148, 247,
|
|
62
|
+
120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177,
|
|
63
|
+
33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, 68, 175, 74, 165,
|
|
64
|
+
71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211,
|
|
65
|
+
133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, 143, 54, 65, 25,
|
|
66
|
+
63, 161, 1, 216, 80, 73, 209, 76, 132, 187, 208, 89, 18, 169, 200, 196,
|
|
67
|
+
135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, 3, 64, 52, 217,
|
|
68
|
+
226, 250, 124, 123, 5, 202, 38, 147, 118, 126, 255, 82, 85, 212, 207, 206,
|
|
69
|
+
59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, 170, 213, 119, 248,
|
|
70
|
+
152, 2, 44, 154, 163, 70, 221, 153, 101, 155, 167, 43, 172, 9, 129, 22,
|
|
71
|
+
39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, 112, 104, 218,
|
|
72
|
+
246, 97, 228, 251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241,
|
|
73
|
+
81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, 199, 106, 157,
|
|
74
|
+
184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150, 254, 138, 236, 205, 93,
|
|
75
|
+
222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180,
|
|
76
|
+
];
|
|
77
|
+
this._perm = new Array(512);
|
|
78
|
+
this._gradP = new Array(512);
|
|
79
|
+
for (let i = 0; i < 256; i++) {
|
|
80
|
+
let v;
|
|
81
|
+
if (i & 1) {
|
|
82
|
+
v = p[i] ^ (this._seed & 255);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
v = p[i] ^ ((this._seed >> 8) & 255);
|
|
86
|
+
}
|
|
87
|
+
this._perm[i] = this._perm[i + 256] = v;
|
|
88
|
+
this._gradP[i] = this._gradP[i + 256] = grad3[v % 12];
|
|
89
|
+
}
|
|
90
|
+
this._F2 = 0.5 * (Math.sqrt(3) - 1);
|
|
91
|
+
this._G2 = (3 - Math.sqrt(3)) / 6;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Returns a pseudo-random value between 1 and 2^32 - 2.
|
|
95
|
+
* @returns A pseudo-random value between 1 and 2^32 - 2.
|
|
96
|
+
*/
|
|
97
|
+
next() {
|
|
98
|
+
this._seed = (this._seed * 16807) % 2147483647;
|
|
99
|
+
return this._seed;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Returns a random value in a given range.
|
|
103
|
+
* @param min - The lower bound.
|
|
104
|
+
* @param max - The upper bound.
|
|
105
|
+
* @returns A random value between the lower and upper bound.
|
|
106
|
+
*/
|
|
107
|
+
nextRange(min, max) {
|
|
108
|
+
return this.nextFloat() * (max - min) + min;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Returns either `true` or `false`.
|
|
112
|
+
* @returns Either `true` or `false`.
|
|
113
|
+
*/
|
|
114
|
+
nextBoolean() {
|
|
115
|
+
return this.next() < 2147483646 / 2;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Returns a pseudo-random floating point number in range [0, 1).
|
|
119
|
+
* @returns a pseudo-random floating point number in range [0, 1).
|
|
120
|
+
*/
|
|
121
|
+
nextFloat() {
|
|
122
|
+
// We know that result of next() will be 1 to 2147483646 (inclusive).
|
|
123
|
+
return (this.next() - 1) / 2147483646;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Creates a new Random instance, with a seed that is based of the seed
|
|
127
|
+
* of this Random instance.
|
|
128
|
+
* @returns A new random number generator.
|
|
129
|
+
*/
|
|
130
|
+
nextRandom() {
|
|
131
|
+
return new Random(this.seed + 1);
|
|
132
|
+
}
|
|
133
|
+
static ALLOWED_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
|
|
134
|
+
/**
|
|
135
|
+
* Returns a random ASCII string.
|
|
136
|
+
* @param length - The length of the string.
|
|
137
|
+
* @returns A random ASCII string.
|
|
138
|
+
*/
|
|
139
|
+
nextString(length, characters = Random.ALLOWED_CHARACTERS) {
|
|
140
|
+
let result = "";
|
|
141
|
+
while (result.length < length) {
|
|
142
|
+
const characterIndex = Math.floor(this.nextFloat() * characters.length);
|
|
143
|
+
result += characters.substring(characterIndex, characterIndex + 1);
|
|
144
|
+
}
|
|
145
|
+
return result;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Returns a 2D simplex noise value for a given input coordinate.
|
|
149
|
+
* @param x - The X input coordinate.
|
|
150
|
+
* @param y - The Y input coordinate.
|
|
151
|
+
* @returns The noise value for the input coordinates.
|
|
152
|
+
*/
|
|
153
|
+
simplex2(x, y) {
|
|
154
|
+
let n0, n1, n2; // Noise contributions from the three corners
|
|
155
|
+
// Skew the input space to determine which simplex cell we're in
|
|
156
|
+
const s = (x + y) * this._F2; // Hairy factor for 2D
|
|
157
|
+
let i = Math.floor(x + s);
|
|
158
|
+
let j = Math.floor(y + s);
|
|
159
|
+
const t = (i + j) * this._G2;
|
|
160
|
+
const x0 = x - i + t; // The x,y distances from the cell origin, unskewed.
|
|
161
|
+
const y0 = y - j + t;
|
|
162
|
+
// For the 2D case, the simplex shape is an equilateral triangle.
|
|
163
|
+
// Determine which simplex we are in.
|
|
164
|
+
let i1, j1; // Offsets for second (middle) corner of simplex in (i,j) coords
|
|
165
|
+
if (x0 > y0) {
|
|
166
|
+
// lower triangle, XY order: (0,0)->(1,0)->(1,1)
|
|
167
|
+
i1 = 1;
|
|
168
|
+
j1 = 0;
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
// upper triangle, YX order: (0,0)->(0,1)->(1,1)
|
|
172
|
+
i1 = 0;
|
|
173
|
+
j1 = 1;
|
|
174
|
+
}
|
|
175
|
+
// A step of (1,0) in (i,j) means a step of (1-c,-c) in (x,y), and
|
|
176
|
+
// a step of (0,1) in (i,j) means a step of (-c,1-c) in (x,y), where
|
|
177
|
+
// c = (3-sqrt(3))/6
|
|
178
|
+
const x1 = x0 - i1 + this._G2; // Offsets for middle corner in (x,y) unskewed coords
|
|
179
|
+
const y1 = y0 - j1 + this._G2;
|
|
180
|
+
const x2 = x0 - 1 + 2 * this._G2; // Offsets for last corner in (x,y) unskewed coords
|
|
181
|
+
const y2 = y0 - 1 + 2 * this._G2;
|
|
182
|
+
// Work out the hashed gradient indices of the three simplex corners
|
|
183
|
+
i &= 255;
|
|
184
|
+
j &= 255;
|
|
185
|
+
const gi0 = this._gradP[i + this._perm[j]];
|
|
186
|
+
const gi1 = this._gradP[i + i1 + this._perm[j + j1]];
|
|
187
|
+
const gi2 = this._gradP[i + 1 + this._perm[j + 1]];
|
|
188
|
+
// Calculate the contribution from the three corners
|
|
189
|
+
let t0 = 0.5 - x0 * x0 - y0 * y0;
|
|
190
|
+
if (t0 < 0) {
|
|
191
|
+
n0 = 0;
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
t0 *= t0;
|
|
195
|
+
n0 = t0 * t0 * gi0.dotXYZ(x0, y0, 0); // (x,y) of grad3 used for 2D gradient
|
|
196
|
+
}
|
|
197
|
+
let t1 = 0.5 - x1 * x1 - y1 * y1;
|
|
198
|
+
if (t1 < 0) {
|
|
199
|
+
n1 = 0;
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
t1 *= t1;
|
|
203
|
+
n1 = t1 * t1 * gi1.dotXYZ(x1, y1, 0);
|
|
204
|
+
}
|
|
205
|
+
let t2 = 0.5 - x2 * x2 - y2 * y2;
|
|
206
|
+
if (t2 < 0) {
|
|
207
|
+
n2 = 0;
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
t2 *= t2;
|
|
211
|
+
n2 = t2 * t2 * gi2.dotXYZ(x2, y2, 0);
|
|
212
|
+
}
|
|
213
|
+
// Add contributions from each corner to get the final noise value.
|
|
214
|
+
// The result is scaled to return values in the interval [-1,1].
|
|
215
|
+
return 70 * (n0 + n1 + n2);
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Returns a 3D simplex noise value for a given input coordinate.
|
|
219
|
+
* @param x - The X input coordinate.
|
|
220
|
+
* @param y - The Y input coordinate.
|
|
221
|
+
* @param z - The Z input coordinate.
|
|
222
|
+
* @returns The noise value for the input coordinates.
|
|
223
|
+
*/
|
|
224
|
+
simplex3(x, y, z) {
|
|
225
|
+
const F3 = 1 / 3;
|
|
226
|
+
const G3 = 1 / 6;
|
|
227
|
+
let n0, n1, n2, n3; // Noise contributions from the four corners
|
|
228
|
+
// Skew the input space to determine which simplex cell we're in
|
|
229
|
+
const s = (x + y + z) * F3; // Hairy factor for 2D
|
|
230
|
+
let i = Math.floor(x + s);
|
|
231
|
+
let j = Math.floor(y + s);
|
|
232
|
+
let k = Math.floor(z + s);
|
|
233
|
+
const t = (i + j + k) * G3;
|
|
234
|
+
const x0 = x - i + t; // The x,y distances from the cell origin, unskewed.
|
|
235
|
+
const y0 = y - j + t;
|
|
236
|
+
const z0 = z - k + t;
|
|
237
|
+
// For the 3D case, the simplex shape is a slightly irregular tetrahedron.
|
|
238
|
+
// Determine which simplex we are in.
|
|
239
|
+
let i1, j1, k1; // Offsets for second corner of simplex in (i,j,k) coords
|
|
240
|
+
let i2, j2, k2; // Offsets for third corner of simplex in (i,j,k) coords
|
|
241
|
+
if (x0 >= y0) {
|
|
242
|
+
if (y0 >= z0) {
|
|
243
|
+
i1 = 1;
|
|
244
|
+
j1 = 0;
|
|
245
|
+
k1 = 0;
|
|
246
|
+
i2 = 1;
|
|
247
|
+
j2 = 1;
|
|
248
|
+
k2 = 0;
|
|
249
|
+
}
|
|
250
|
+
else if (x0 >= z0) {
|
|
251
|
+
i1 = 1;
|
|
252
|
+
j1 = 0;
|
|
253
|
+
k1 = 0;
|
|
254
|
+
i2 = 1;
|
|
255
|
+
j2 = 0;
|
|
256
|
+
k2 = 1;
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
i1 = 0;
|
|
260
|
+
j1 = 0;
|
|
261
|
+
k1 = 1;
|
|
262
|
+
i2 = 1;
|
|
263
|
+
j2 = 0;
|
|
264
|
+
k2 = 1;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
if (y0 < z0) {
|
|
269
|
+
i1 = 0;
|
|
270
|
+
j1 = 0;
|
|
271
|
+
k1 = 1;
|
|
272
|
+
i2 = 0;
|
|
273
|
+
j2 = 1;
|
|
274
|
+
k2 = 1;
|
|
275
|
+
}
|
|
276
|
+
else if (x0 < z0) {
|
|
277
|
+
i1 = 0;
|
|
278
|
+
j1 = 1;
|
|
279
|
+
k1 = 0;
|
|
280
|
+
i2 = 0;
|
|
281
|
+
j2 = 1;
|
|
282
|
+
k2 = 1;
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
i1 = 0;
|
|
286
|
+
j1 = 1;
|
|
287
|
+
k1 = 0;
|
|
288
|
+
i2 = 1;
|
|
289
|
+
j2 = 1;
|
|
290
|
+
k2 = 0;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
// A step of (1,0,0) in (i,j,k) means a step of (1-c,-c,-c) in (x,y,z),
|
|
294
|
+
// a step of (0,1,0) in (i,j,k) means a step of (-c,1-c,-c) in (x,y,z), and
|
|
295
|
+
// a step of (0,0,1) in (i,j,k) means a step of (-c,-c,1-c) in (x,y,z), where
|
|
296
|
+
// c = 1/6.
|
|
297
|
+
const x1 = x0 - i1 + G3; // Offsets for second corner
|
|
298
|
+
const y1 = y0 - j1 + G3;
|
|
299
|
+
const z1 = z0 - k1 + G3;
|
|
300
|
+
const x2 = x0 - i2 + 2 * G3; // Offsets for third corner
|
|
301
|
+
const y2 = y0 - j2 + 2 * G3;
|
|
302
|
+
const z2 = z0 - k2 + 2 * G3;
|
|
303
|
+
const x3 = x0 - 1 + 3 * G3; // Offsets for fourth corner
|
|
304
|
+
const y3 = y0 - 1 + 3 * G3;
|
|
305
|
+
const z3 = z0 - 1 + 3 * G3;
|
|
306
|
+
// Work out the hashed gradient indices of the four simplex corners
|
|
307
|
+
i &= 255;
|
|
308
|
+
j &= 255;
|
|
309
|
+
k &= 255;
|
|
310
|
+
const gi0 = this._gradP[i + this._perm[j + this._perm[k]]];
|
|
311
|
+
const gi1 = this._gradP[i + i1 + this._perm[j + j1 + this._perm[k + k1]]];
|
|
312
|
+
const gi2 = this._gradP[i + i2 + this._perm[j + j2 + this._perm[k + k2]]];
|
|
313
|
+
const gi3 = this._gradP[i + 1 + this._perm[j + 1 + this._perm[k + 1]]];
|
|
314
|
+
// Calculate the contribution from the four corners
|
|
315
|
+
let t0 = 0.6 - x0 * x0 - y0 * y0 - z0 * z0;
|
|
316
|
+
if (t0 < 0) {
|
|
317
|
+
n0 = 0;
|
|
318
|
+
}
|
|
319
|
+
else {
|
|
320
|
+
t0 *= t0;
|
|
321
|
+
n0 = t0 * t0 * gi0.dotXYZ(x0, y0, z0); // (x,y) of grad3 used for 2D gradient
|
|
322
|
+
}
|
|
323
|
+
let t1 = 0.6 - x1 * x1 - y1 * y1 - z1 * z1;
|
|
324
|
+
if (t1 < 0) {
|
|
325
|
+
n1 = 0;
|
|
326
|
+
}
|
|
327
|
+
else {
|
|
328
|
+
t1 *= t1;
|
|
329
|
+
n1 = t1 * t1 * gi1.dotXYZ(x1, y1, z1);
|
|
330
|
+
}
|
|
331
|
+
let t2 = 0.6 - x2 * x2 - y2 * y2 - z2 * z2;
|
|
332
|
+
if (t2 < 0) {
|
|
333
|
+
n2 = 0;
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
t2 *= t2;
|
|
337
|
+
n2 = t2 * t2 * gi2.dotXYZ(x2, y2, z2);
|
|
338
|
+
}
|
|
339
|
+
let t3 = 0.6 - x3 * x3 - y3 * y3 - z3 * z3;
|
|
340
|
+
if (t3 < 0) {
|
|
341
|
+
n3 = 0;
|
|
342
|
+
}
|
|
343
|
+
else {
|
|
344
|
+
t3 *= t3;
|
|
345
|
+
n3 = t3 * t3 * gi3.dotXYZ(x3, y3, z3);
|
|
346
|
+
}
|
|
347
|
+
// Add contributions from each corner to get the final noise value.
|
|
348
|
+
// The result is scaled to return values in the interval [-1,1].
|
|
349
|
+
return 32 * (n0 + n1 + n2 + n3);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Returns a random value in a given range.
|
|
354
|
+
*
|
|
355
|
+
* Uses the JS-internal `Math.random()`. Use {@linkcode Random} for a PRNG with more features.
|
|
356
|
+
*
|
|
357
|
+
* Note that this method returns floating point numbers, regardless of your inputs potentially
|
|
358
|
+
* being integers. If you require integers, ensure to truncate the resulting random value.
|
|
359
|
+
* @param min - The lower bound.
|
|
360
|
+
* @param max - The upper bound.
|
|
361
|
+
* @returns A random value between the lower and upper bound.
|
|
362
|
+
*/
|
|
363
|
+
export const randomRange = (min, max) => {
|
|
364
|
+
return Math.random() * (max - min) + min;
|
|
365
|
+
};
|
|
366
|
+
/**
|
|
367
|
+
* Generates a numberic seed, to be used as an input for a PRNG,
|
|
368
|
+
* from a string.
|
|
369
|
+
* @param input - The string to use as a seed.
|
|
370
|
+
* @returns A numeric seed value for a PRNG.
|
|
371
|
+
*/
|
|
372
|
+
export const seedFromString = (input) => {
|
|
373
|
+
return input
|
|
374
|
+
.split("")
|
|
375
|
+
.reduce((seed, char) => (seed = seed + ((char.charCodeAt(0) * 17989) % 2147483647)), 0);
|
|
376
|
+
};
|
|
377
|
+
/**
|
|
378
|
+
* A global PRNG instance that is ready-to-use.
|
|
379
|
+
*/
|
|
380
|
+
export const random = new Random();
|
|
381
|
+
//# sourceMappingURL=random.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random.js","sourceRoot":"","sources":["../../source/data/random.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C;;GAEG;AACH,MAAM,OAAO,MAAM;IAClB;;OAEG;IACK,KAAK,CAAS;IAEtB;;;OAGG;IACH,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,KAAK,CAAgB;IAE7B;;OAEG;IACK,MAAM,CAAiB;IAE/B;;OAEG;IACK,GAAG,CAAS;IAEpB;;OAEG;IACK,GAAG,CAAS;IAEpB;;;;;;OAMG;IACH,YAAY,IAAI,GAAG,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;QAC3C,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC;QAC1B,CAAC;QAED,MAAM,KAAK,GAAG;YACb,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACtB,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACrB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACrB,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACtB,CAAC;QAEF,MAAM,CAAC,GAAG;YACT,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG;YACrE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG;YACvE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG;YACzE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG;YACvE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG;YACxE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;YACtE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;YACtE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG;YACzE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;YACzE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;YACvE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;YACtE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;YACrE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;YACtE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;YACzE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Indent every line of the passed text.
|
|
3
|
+
* @param subject - The text to indent.
|
|
4
|
+
* @param depth - How often to apply the indenting.
|
|
5
|
+
* @param prefix - The string to use as the indent.
|
|
6
|
+
* @returns The indented text.
|
|
7
|
+
*/
|
|
8
|
+
export declare const indent: (subject: string, depth?: number, prefix?: string) => string;
|
|
9
|
+
/**
|
|
10
|
+
* A fast and simple 53-bit string hash function with decent collision resistance.
|
|
11
|
+
* Largely inspired by MurmurHash2/3, but with a focus on speed/simplicity.
|
|
12
|
+
* License: Public domain. Attribution appreciated.
|
|
13
|
+
* cyrb53 (c) 2018 bryc (github.com/bryc)
|
|
14
|
+
* @param subject - The string to hash.
|
|
15
|
+
* @param seed - An optional seed value.
|
|
16
|
+
* @returns A hash of the string.
|
|
17
|
+
*/
|
|
18
|
+
export declare const hashCyrb53: (subject: string, seed?: number) => string;
|
|
19
|
+
/**
|
|
20
|
+
* Encodes the provided string in Base64.
|
|
21
|
+
* @param subject - The string to encode.
|
|
22
|
+
* @returns The subject string encoded in Base64.
|
|
23
|
+
*/
|
|
24
|
+
export declare const base64Encode: (subject: string) => string;
|
|
25
|
+
/**
|
|
26
|
+
* Decodes the provided Base64 encoded string.
|
|
27
|
+
* @param subject - The string to decode.
|
|
28
|
+
* @returns The decoded subject string.
|
|
29
|
+
*/
|
|
30
|
+
export declare const base64Decode: (subject: string) => string;
|