@oliversalzburg/js-utils 0.0.7 → 0.0.9
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/LICENSES.md +17 -0
- package/_site/assets/highlight.css +57 -0
- package/_site/assets/main.js +59 -0
- package/_site/assets/navigation.js +1 -0
- package/_site/assets/search.js +1 -0
- package/_site/assets/style.css +1383 -0
- package/_site/classes/AbstractError.html +28 -0
- package/_site/classes/Canvas.html +44 -0
- package/_site/classes/InternalError.html +32 -0
- package/_site/classes/InvalidArgumentError.html +28 -0
- package/_site/classes/InvalidOperationError.html +28 -0
- package/_site/classes/NotImplementedError.html +27 -0
- package/_site/classes/PermissionViolationError.html +28 -0
- package/_site/classes/Random.html +43 -0
- package/_site/classes/RenderLoop.html +30 -0
- package/_site/classes/ResourceConflictError.html +27 -0
- package/_site/classes/UnexpectedNilError.html +15 -0
- package/_site/classes/UnknownError.html +31 -0
- package/_site/classes/Vector2.html +113 -0
- package/_site/classes/Vector3.html +28 -0
- package/_site/functions/addVector2.html +5 -0
- package/_site/functions/blend.html +8 -0
- package/_site/functions/blendAdditive.html +8 -0
- package/_site/functions/blendSubtractive.html +8 -0
- package/_site/functions/cosDeg.html +4 -0
- package/_site/functions/deg2rad.html +4 -0
- package/_site/functions/difference.html +7 -0
- package/_site/functions/distance.html +7 -0
- package/_site/functions/errorToJSON.html +4 -0
- package/_site/functions/errorToRecord.html +4 -0
- package/_site/functions/errorToSimpleSerializable.html +4 -0
- package/_site/functions/filterType.html +7 -0
- package/_site/functions/formatString.html +7 -0
- package/_site/functions/formatStringTemplate.html +7 -0
- package/_site/functions/fromRGB.html +7 -0
- package/_site/functions/fromRGBA.html +7 -0
- package/_site/functions/getA.html +4 -0
- package/_site/functions/getB.html +4 -0
- package/_site/functions/getDocumentElementTypeById.html +9 -0
- package/_site/functions/getG.html +4 -0
- package/_site/functions/getR.html +4 -0
- package/_site/functions/intersect.html +8 -0
- package/_site/functions/is.html +7 -0
- package/_site/functions/isError.html +4 -0
- package/_site/functions/isInteger.html +4 -0
- package/_site/functions/isNil.html +5 -0
- package/_site/functions/isqrt.html +4 -0
- package/_site/functions/multiplyVector2.html +5 -0
- package/_site/functions/mustExist.html +6 -0
- package/_site/functions/nextPalette.html +2 -0
- package/_site/functions/putPixel32.html +7 -0
- package/_site/functions/putPixel32Add.html +7 -0
- package/_site/functions/putPixel32Sub.html +7 -0
- package/_site/functions/putSubPixel32.html +8 -0
- package/_site/functions/rad2deg.html +4 -0
- package/_site/functions/randomRange.html +6 -0
- package/_site/functions/safeRGBComponent.html +4 -0
- package/_site/functions/seedFromString.html +5 -0
- package/_site/functions/shuffleArray.html +5 -0
- package/_site/functions/sinDeg.html +4 -0
- package/_site/functions/sleep.html +4 -0
- package/_site/functions/somecolor.html +4 -0
- package/_site/functions/subtractVector2.html +5 -0
- package/_site/functions/toGrayScale.html +4 -0
- package/_site/functions/unknownToError.html +6 -0
- package/_site/index.html +1 -0
- package/_site/modules.html +72 -0
- package/_site/types/AnyConstructor.html +2 -0
- package/_site/types/AnyFunction.html +2 -0
- package/_site/types/ConstructorOf.html +2 -0
- package/_site/types/FunctionReturning.html +2 -0
- package/_site/types/Maybe.html +2 -0
- package/_site/types/Mixin.html +3 -0
- package/_site/types/Nil.html +3 -0
- package/_site/types/RenderLoopCallback.html +2 -0
- package/_site/types/SerializedError.html +2 -0
- package/_site/variables/PALETTES.html +2 -0
- package/_site/variables/TWO_PI.html +2 -0
- package/_site/variables/random-1.html +2 -0
- package/lib/array.d.ts +8 -0
- package/lib/array.js +8 -0
- package/lib/array.js.map +1 -1
- package/lib/dom/core.d.ts +13 -0
- package/lib/dom/core.js +24 -0
- package/lib/dom/core.js.map +1 -0
- package/lib/dom/index.d.ts +1 -0
- package/lib/dom/index.js +2 -0
- package/lib/dom/index.js.map +1 -0
- package/lib/error-serializer.d.ts +12 -6
- package/lib/error-serializer.js +11 -7
- package/lib/error-serializer.js.map +1 -1
- package/lib/error-serializer.test.d.ts +1 -0
- package/lib/error-serializer.test.js +117 -0
- package/lib/error-serializer.test.js.map +1 -0
- package/lib/errors/AbstractError.d.ts +4 -16
- package/lib/errors/AbstractError.js +4 -16
- package/lib/errors/AbstractError.js.map +1 -1
- package/lib/errors/InternalError.d.ts +6 -5
- package/lib/errors/InternalError.js +6 -7
- package/lib/errors/InternalError.js.map +1 -1
- package/lib/errors/InvalidArgumentError.d.ts +2 -1
- package/lib/errors/InvalidArgumentError.js +2 -1
- package/lib/errors/InvalidArgumentError.js.map +1 -1
- package/lib/errors/InvalidOperationError.d.ts +2 -1
- package/lib/errors/InvalidOperationError.js +2 -1
- package/lib/errors/InvalidOperationError.js.map +1 -1
- package/lib/errors/NotImplementedError.d.ts +2 -1
- package/lib/errors/NotImplementedError.js +2 -1
- package/lib/errors/NotImplementedError.js.map +1 -1
- package/lib/errors/PermissionViolationError.d.ts +2 -1
- package/lib/errors/PermissionViolationError.js +2 -1
- package/lib/errors/PermissionViolationError.js.map +1 -1
- package/lib/errors/ResourceConflictError.d.ts +2 -1
- package/lib/errors/ResourceConflictError.js +2 -1
- package/lib/errors/ResourceConflictError.js.map +1 -1
- package/lib/errors/UnknownError.d.ts +6 -5
- package/lib/errors/UnknownError.js +6 -5
- package/lib/errors/UnknownError.js.map +1 -1
- package/lib/graphics/canvas.d.ts +55 -19
- package/lib/graphics/canvas.js +66 -18
- package/lib/graphics/canvas.js.map +1 -1
- package/lib/graphics/core.d.ts +18 -0
- package/lib/graphics/core.js +18 -0
- package/lib/graphics/core.js.map +1 -1
- package/lib/graphics/render-loop.d.ts +25 -4
- package/lib/graphics/render-loop.js +19 -2
- package/lib/graphics/render-loop.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/math/core.d.ts +12 -1
- package/lib/math/core.js +13 -2
- package/lib/math/core.js.map +1 -1
- package/lib/math/index.d.ts +2 -0
- package/lib/math/index.js +2 -0
- package/lib/math/index.js.map +1 -1
- package/lib/math/vector.d.ts +2 -33
- package/lib/math/vector.js +2 -41
- package/lib/math/vector.js.map +1 -1
- package/lib/math/vector2.d.ts +195 -0
- package/lib/math/vector2.js +299 -0
- package/lib/math/vector2.js.map +1 -0
- package/lib/math/vector3.d.ts +46 -0
- package/lib/math/vector3.js +59 -0
- package/lib/math/vector3.js.map +1 -0
- package/lib/nil.d.ts +1 -0
- package/lib/nil.js +1 -0
- package/lib/nil.js.map +1 -1
- package/lib/random.d.ts +40 -4
- package/lib/random.js +175 -14
- package/lib/random.js.map +1 -1
- package/lib/string-formatter.d.ts +2 -0
- package/lib/string-formatter.js +2 -0
- package/lib/string-formatter.js.map +1 -1
- package/package.json +10 -10
- package/docs/README.md +0 -3
- package/docs/classes/AbstractError.md +0 -271
- package/docs/classes/Canvas.md +0 -177
- package/docs/classes/InternalError.md +0 -301
- package/docs/classes/InvalidArgumentError.md +0 -277
- package/docs/classes/InvalidOperationError.md +0 -277
- package/docs/classes/NotImplementedError.md +0 -276
- package/docs/classes/PermissionViolationError.md +0 -277
- package/docs/classes/Random.md +0 -109
- package/docs/classes/RenderLoop.md +0 -49
- package/docs/classes/ResourceConflictError.md +0 -276
- package/docs/classes/UnexpectedNilError.md +0 -169
- package/docs/classes/UnknownError.md +0 -280
- package/docs/classes/Vector2.md +0 -79
- package/docs/classes/Vector3.md +0 -106
- package/docs/modules.md +0 -1313
- package/typedoc.json +0 -8
package/lib/random.d.ts
CHANGED
|
@@ -1,11 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Helps with generating random numbers.
|
|
3
|
+
* @group Random
|
|
3
4
|
*/
|
|
4
5
|
export declare class Random {
|
|
6
|
+
/**
|
|
7
|
+
* The value this PRNG was seeded with.
|
|
8
|
+
*/
|
|
5
9
|
private _seed;
|
|
10
|
+
/**
|
|
11
|
+
* The permutation table for simplex noise.
|
|
12
|
+
*/
|
|
6
13
|
private _perm;
|
|
14
|
+
/**
|
|
15
|
+
* The gradient map for simplex noise.
|
|
16
|
+
*/
|
|
7
17
|
private _gradP;
|
|
18
|
+
/**
|
|
19
|
+
* Skewing and unskewing factors for 2, 3, and 4 dimensions.
|
|
20
|
+
*/
|
|
8
21
|
private _F2;
|
|
22
|
+
/**
|
|
23
|
+
* Skewing and unskewing factors for 2, 3, and 4 dimensions.
|
|
24
|
+
*/
|
|
9
25
|
private _G2;
|
|
10
26
|
/**
|
|
11
27
|
* Creates a pseudo-random value generator. The seed must be an integer.
|
|
@@ -32,18 +48,33 @@ export declare class Random {
|
|
|
32
48
|
nextFloat(): number;
|
|
33
49
|
/**
|
|
34
50
|
* Returns a 2D simplex noise value for a given input coordinate.
|
|
35
|
-
* @
|
|
36
|
-
* @
|
|
51
|
+
* @license ISC
|
|
52
|
+
* @author Joseph Gentle
|
|
53
|
+
* @see https://github.com/josephg/noisejs
|
|
54
|
+
* @param x The X input coordinate.
|
|
55
|
+
* @param y The Y input coordinate.
|
|
37
56
|
* @returns The noise value for the input coordinates.
|
|
38
57
|
*/
|
|
39
|
-
simplex2(
|
|
58
|
+
simplex2(x: number, y: number): number;
|
|
59
|
+
/**
|
|
60
|
+
* Returns a 3D simplex noise value for a given input coordinate.
|
|
61
|
+
* @license ISC
|
|
62
|
+
* @author Joseph Gentle
|
|
63
|
+
* @see https://github.com/josephg/noisejs
|
|
64
|
+
* @param x The X input coordinate.
|
|
65
|
+
* @param y The Y input coordinate.
|
|
66
|
+
* @param z The Z input coordinate.
|
|
67
|
+
* @returns The noise value for the input coordinates.
|
|
68
|
+
*/
|
|
69
|
+
simplex3(x: number, y: number, z: number): number;
|
|
40
70
|
}
|
|
41
71
|
/**
|
|
42
72
|
* Returns a random value in a given range.
|
|
43
|
-
* Uses the JS-internal `Math.random()`. Use {
|
|
73
|
+
* Uses the JS-internal `Math.random()`. Use {@linkcode Random} for a PRNG with more features.
|
|
44
74
|
* @param min The lower bound.
|
|
45
75
|
* @param max The upper bound.
|
|
46
76
|
* @returns A random value between the lower and upper bound.
|
|
77
|
+
* @group Random
|
|
47
78
|
*/
|
|
48
79
|
export declare const randomRange: (min: number, max: number) => number;
|
|
49
80
|
/**
|
|
@@ -51,6 +82,11 @@ export declare const randomRange: (min: number, max: number) => number;
|
|
|
51
82
|
* from a string.
|
|
52
83
|
* @param input The string to use as a seed.
|
|
53
84
|
* @returns A numeric seed value for a PRNG.
|
|
85
|
+
* @group Random
|
|
54
86
|
*/
|
|
55
87
|
export declare const seedFromString: (input: string) => number;
|
|
88
|
+
/**
|
|
89
|
+
* A global PRNG instance that is ready-to-use.
|
|
90
|
+
* @group Random
|
|
91
|
+
*/
|
|
56
92
|
export declare const random: Random;
|
package/lib/random.js
CHANGED
|
@@ -1,12 +1,28 @@
|
|
|
1
|
-
import { Vector3 } from "./math/
|
|
1
|
+
import { Vector3 } from "./math/vector3.js";
|
|
2
2
|
/**
|
|
3
3
|
* Helps with generating random numbers.
|
|
4
|
+
* @group Random
|
|
4
5
|
*/
|
|
5
6
|
export class Random {
|
|
7
|
+
/**
|
|
8
|
+
* The value this PRNG was seeded with.
|
|
9
|
+
*/
|
|
6
10
|
_seed;
|
|
11
|
+
/**
|
|
12
|
+
* The permutation table for simplex noise.
|
|
13
|
+
*/
|
|
7
14
|
_perm;
|
|
15
|
+
/**
|
|
16
|
+
* The gradient map for simplex noise.
|
|
17
|
+
*/
|
|
8
18
|
_gradP;
|
|
19
|
+
/**
|
|
20
|
+
* Skewing and unskewing factors for 2, 3, and 4 dimensions.
|
|
21
|
+
*/
|
|
9
22
|
_F2;
|
|
23
|
+
/**
|
|
24
|
+
* Skewing and unskewing factors for 2, 3, and 4 dimensions.
|
|
25
|
+
*/
|
|
10
26
|
_G2;
|
|
11
27
|
/**
|
|
12
28
|
* Creates a pseudo-random value generator. The seed must be an integer.
|
|
@@ -62,7 +78,6 @@ export class Random {
|
|
|
62
78
|
this._perm[i] = this._perm[i + 256] = v;
|
|
63
79
|
this._gradP[i] = this._gradP[i + 256] = grad3[v % 12];
|
|
64
80
|
}
|
|
65
|
-
// Skewing and unskewing factors for 2, 3, and 4 dimensions
|
|
66
81
|
this._F2 = 0.5 * (Math.sqrt(3) - 1);
|
|
67
82
|
this._G2 = (3 - Math.sqrt(3)) / 6;
|
|
68
83
|
}
|
|
@@ -90,19 +105,22 @@ export class Random {
|
|
|
90
105
|
}
|
|
91
106
|
/**
|
|
92
107
|
* Returns a 2D simplex noise value for a given input coordinate.
|
|
93
|
-
* @
|
|
94
|
-
* @
|
|
108
|
+
* @license ISC
|
|
109
|
+
* @author Joseph Gentle
|
|
110
|
+
* @see https://github.com/josephg/noisejs
|
|
111
|
+
* @param x The X input coordinate.
|
|
112
|
+
* @param y The Y input coordinate.
|
|
95
113
|
* @returns The noise value for the input coordinates.
|
|
96
114
|
*/
|
|
97
|
-
simplex2(
|
|
115
|
+
simplex2(x, y) {
|
|
98
116
|
let n0, n1, n2; // Noise contributions from the three corners
|
|
99
117
|
// Skew the input space to determine which simplex cell we're in
|
|
100
|
-
const s = (
|
|
101
|
-
let i = Math.floor(
|
|
102
|
-
let j = Math.floor(
|
|
118
|
+
const s = (x + y) * this._F2; // Hairy factor for 2D
|
|
119
|
+
let i = Math.floor(x + s);
|
|
120
|
+
let j = Math.floor(y + s);
|
|
103
121
|
const t = (i + j) * this._G2;
|
|
104
|
-
const x0 =
|
|
105
|
-
const y0 =
|
|
122
|
+
const x0 = x - i + t; // The x,y distances from the cell origin, unskewed.
|
|
123
|
+
const y0 = y - j + t;
|
|
106
124
|
// For the 2D case, the simplex shape is an equilateral triangle.
|
|
107
125
|
// Determine which simplex we are in.
|
|
108
126
|
let i1, j1; // Offsets for second (middle) corner of simplex in (i,j) coords
|
|
@@ -136,7 +154,7 @@ export class Random {
|
|
|
136
154
|
}
|
|
137
155
|
else {
|
|
138
156
|
t0 *= t0;
|
|
139
|
-
n0 = t0 * t0 * gi0.
|
|
157
|
+
n0 = t0 * t0 * gi0.dotXYZ(x0, y0, 0); // (x,y) of grad3 used for 2D gradient
|
|
140
158
|
}
|
|
141
159
|
let t1 = 0.5 - x1 * x1 - y1 * y1;
|
|
142
160
|
if (t1 < 0) {
|
|
@@ -144,7 +162,7 @@ export class Random {
|
|
|
144
162
|
}
|
|
145
163
|
else {
|
|
146
164
|
t1 *= t1;
|
|
147
|
-
n1 = t1 * t1 * gi1.
|
|
165
|
+
n1 = t1 * t1 * gi1.dotXYZ(x1, y1, 0);
|
|
148
166
|
}
|
|
149
167
|
let t2 = 0.5 - x2 * x2 - y2 * y2;
|
|
150
168
|
if (t2 < 0) {
|
|
@@ -152,19 +170,157 @@ export class Random {
|
|
|
152
170
|
}
|
|
153
171
|
else {
|
|
154
172
|
t2 *= t2;
|
|
155
|
-
n2 = t2 * t2 * gi2.
|
|
173
|
+
n2 = t2 * t2 * gi2.dotXYZ(x2, y2, 0);
|
|
156
174
|
}
|
|
157
175
|
// Add contributions from each corner to get the final noise value.
|
|
158
176
|
// The result is scaled to return values in the interval [-1,1].
|
|
159
177
|
return 70 * (n0 + n1 + n2);
|
|
160
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Returns a 3D simplex noise value for a given input coordinate.
|
|
181
|
+
* @license ISC
|
|
182
|
+
* @author Joseph Gentle
|
|
183
|
+
* @see https://github.com/josephg/noisejs
|
|
184
|
+
* @param x The X input coordinate.
|
|
185
|
+
* @param y The Y input coordinate.
|
|
186
|
+
* @param z The Z input coordinate.
|
|
187
|
+
* @returns The noise value for the input coordinates.
|
|
188
|
+
*/
|
|
189
|
+
simplex3(x, y, z) {
|
|
190
|
+
const F3 = 1 / 3;
|
|
191
|
+
const G3 = 1 / 6;
|
|
192
|
+
let n0, n1, n2, n3; // Noise contributions from the four corners
|
|
193
|
+
// Skew the input space to determine which simplex cell we're in
|
|
194
|
+
const s = (x + y + z) * F3; // Hairy factor for 2D
|
|
195
|
+
let i = Math.floor(x + s);
|
|
196
|
+
let j = Math.floor(y + s);
|
|
197
|
+
let k = Math.floor(z + s);
|
|
198
|
+
const t = (i + j + k) * G3;
|
|
199
|
+
const x0 = x - i + t; // The x,y distances from the cell origin, unskewed.
|
|
200
|
+
const y0 = y - j + t;
|
|
201
|
+
const z0 = z - k + t;
|
|
202
|
+
// For the 3D case, the simplex shape is a slightly irregular tetrahedron.
|
|
203
|
+
// Determine which simplex we are in.
|
|
204
|
+
let i1, j1, k1; // Offsets for second corner of simplex in (i,j,k) coords
|
|
205
|
+
let i2, j2, k2; // Offsets for third corner of simplex in (i,j,k) coords
|
|
206
|
+
if (x0 >= y0) {
|
|
207
|
+
if (y0 >= z0) {
|
|
208
|
+
i1 = 1;
|
|
209
|
+
j1 = 0;
|
|
210
|
+
k1 = 0;
|
|
211
|
+
i2 = 1;
|
|
212
|
+
j2 = 1;
|
|
213
|
+
k2 = 0;
|
|
214
|
+
}
|
|
215
|
+
else if (x0 >= z0) {
|
|
216
|
+
i1 = 1;
|
|
217
|
+
j1 = 0;
|
|
218
|
+
k1 = 0;
|
|
219
|
+
i2 = 1;
|
|
220
|
+
j2 = 0;
|
|
221
|
+
k2 = 1;
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
i1 = 0;
|
|
225
|
+
j1 = 0;
|
|
226
|
+
k1 = 1;
|
|
227
|
+
i2 = 1;
|
|
228
|
+
j2 = 0;
|
|
229
|
+
k2 = 1;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
if (y0 < z0) {
|
|
234
|
+
i1 = 0;
|
|
235
|
+
j1 = 0;
|
|
236
|
+
k1 = 1;
|
|
237
|
+
i2 = 0;
|
|
238
|
+
j2 = 1;
|
|
239
|
+
k2 = 1;
|
|
240
|
+
}
|
|
241
|
+
else if (x0 < z0) {
|
|
242
|
+
i1 = 0;
|
|
243
|
+
j1 = 1;
|
|
244
|
+
k1 = 0;
|
|
245
|
+
i2 = 0;
|
|
246
|
+
j2 = 1;
|
|
247
|
+
k2 = 1;
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
i1 = 0;
|
|
251
|
+
j1 = 1;
|
|
252
|
+
k1 = 0;
|
|
253
|
+
i2 = 1;
|
|
254
|
+
j2 = 1;
|
|
255
|
+
k2 = 0;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
// A step of (1,0,0) in (i,j,k) means a step of (1-c,-c,-c) in (x,y,z),
|
|
259
|
+
// a step of (0,1,0) in (i,j,k) means a step of (-c,1-c,-c) in (x,y,z), and
|
|
260
|
+
// a step of (0,0,1) in (i,j,k) means a step of (-c,-c,1-c) in (x,y,z), where
|
|
261
|
+
// c = 1/6.
|
|
262
|
+
const x1 = x0 - i1 + G3; // Offsets for second corner
|
|
263
|
+
const y1 = y0 - j1 + G3;
|
|
264
|
+
const z1 = z0 - k1 + G3;
|
|
265
|
+
const x2 = x0 - i2 + 2 * G3; // Offsets for third corner
|
|
266
|
+
const y2 = y0 - j2 + 2 * G3;
|
|
267
|
+
const z2 = z0 - k2 + 2 * G3;
|
|
268
|
+
const x3 = x0 - 1 + 3 * G3; // Offsets for fourth corner
|
|
269
|
+
const y3 = y0 - 1 + 3 * G3;
|
|
270
|
+
const z3 = z0 - 1 + 3 * G3;
|
|
271
|
+
// Work out the hashed gradient indices of the four simplex corners
|
|
272
|
+
i &= 255;
|
|
273
|
+
j &= 255;
|
|
274
|
+
k &= 255;
|
|
275
|
+
const gi0 = this._gradP[i + this._perm[j + this._perm[k]]];
|
|
276
|
+
const gi1 = this._gradP[i + i1 + this._perm[j + j1 + this._perm[k + k1]]];
|
|
277
|
+
const gi2 = this._gradP[i + i2 + this._perm[j + j2 + this._perm[k + k2]]];
|
|
278
|
+
const gi3 = this._gradP[i + 1 + this._perm[j + 1 + this._perm[k + 1]]];
|
|
279
|
+
// Calculate the contribution from the four corners
|
|
280
|
+
let t0 = 0.6 - x0 * x0 - y0 * y0 - z0 * z0;
|
|
281
|
+
if (t0 < 0) {
|
|
282
|
+
n0 = 0;
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
t0 *= t0;
|
|
286
|
+
n0 = t0 * t0 * gi0.dotXYZ(x0, y0, z0); // (x,y) of grad3 used for 2D gradient
|
|
287
|
+
}
|
|
288
|
+
let t1 = 0.6 - x1 * x1 - y1 * y1 - z1 * z1;
|
|
289
|
+
if (t1 < 0) {
|
|
290
|
+
n1 = 0;
|
|
291
|
+
}
|
|
292
|
+
else {
|
|
293
|
+
t1 *= t1;
|
|
294
|
+
n1 = t1 * t1 * gi1.dotXYZ(x1, y1, z1);
|
|
295
|
+
}
|
|
296
|
+
let t2 = 0.6 - x2 * x2 - y2 * y2 - z2 * z2;
|
|
297
|
+
if (t2 < 0) {
|
|
298
|
+
n2 = 0;
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
t2 *= t2;
|
|
302
|
+
n2 = t2 * t2 * gi2.dotXYZ(x2, y2, z2);
|
|
303
|
+
}
|
|
304
|
+
let t3 = 0.6 - x3 * x3 - y3 * y3 - z3 * z3;
|
|
305
|
+
if (t3 < 0) {
|
|
306
|
+
n3 = 0;
|
|
307
|
+
}
|
|
308
|
+
else {
|
|
309
|
+
t3 *= t3;
|
|
310
|
+
n3 = t3 * t3 * gi3.dotXYZ(x3, y3, z3);
|
|
311
|
+
}
|
|
312
|
+
// Add contributions from each corner to get the final noise value.
|
|
313
|
+
// The result is scaled to return values in the interval [-1,1].
|
|
314
|
+
return 32 * (n0 + n1 + n2 + n3);
|
|
315
|
+
}
|
|
161
316
|
}
|
|
162
317
|
/**
|
|
163
318
|
* Returns a random value in a given range.
|
|
164
|
-
* Uses the JS-internal `Math.random()`. Use {
|
|
319
|
+
* Uses the JS-internal `Math.random()`. Use {@linkcode Random} for a PRNG with more features.
|
|
165
320
|
* @param min The lower bound.
|
|
166
321
|
* @param max The upper bound.
|
|
167
322
|
* @returns A random value between the lower and upper bound.
|
|
323
|
+
* @group Random
|
|
168
324
|
*/
|
|
169
325
|
export const randomRange = (min, max) => {
|
|
170
326
|
return Math.random() * (max - min) + min;
|
|
@@ -174,11 +330,16 @@ export const randomRange = (min, max) => {
|
|
|
174
330
|
* from a string.
|
|
175
331
|
* @param input The string to use as a seed.
|
|
176
332
|
* @returns A numeric seed value for a PRNG.
|
|
333
|
+
* @group Random
|
|
177
334
|
*/
|
|
178
335
|
export const seedFromString = (input) => {
|
|
179
336
|
return input
|
|
180
337
|
.split("")
|
|
181
338
|
.reduce((seed, char) => (seed = seed + ((char.charCodeAt(0) * 17989) % 2147483647)), 0);
|
|
182
339
|
};
|
|
340
|
+
/**
|
|
341
|
+
* A global PRNG instance that is ready-to-use.
|
|
342
|
+
* @group Random
|
|
343
|
+
*/
|
|
183
344
|
export const random = new Random();
|
|
184
345
|
//# sourceMappingURL=random.js.map
|
package/lib/random.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random.js","sourceRoot":"","sources":["../source/random.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,MAAM,OAAO,MAAM;IACT,KAAK,CAAS;IACd,KAAK,CAAgB;IACrB,MAAM,CAAiB;IACvB,GAAG,CAAS;IACZ,GAAG,CAAS;IAEpB;;;;;;OAMG;IACH,YAAY,IAAI,GAAG,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;QAC3C,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;YACnB,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC;SAC1B;QAED,MAAM,KAAK,GAAG;YACZ,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;SACvB,CAAC;QAEF,MAAM,CAAC,GAAG;YACR,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,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;YAC3F,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG;YAC7F,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,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;YAC7F,EAAE,EAAE,GAAG,EAAE,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,EAAE,GAAG,EAAE,GAAG;YAC3F,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,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG;YAC1F,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;YACzF,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,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;YACzF,GAAG,EAAE,GAAG,EAAE,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,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YAC7F,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,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACzF,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC1F,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,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;YAC7F,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,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;YAC1F,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,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"}
|
|
1
|
+
{"version":3,"file":"random.js","sourceRoot":"","sources":["../source/random.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C;;;GAGG;AACH,MAAM,OAAO,MAAM;IACjB;;OAEG;IACK,KAAK,CAAS;IAEtB;;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;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;QAC3C,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;YACnB,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC;SAC1B;QAED,MAAM,KAAK,GAAG;YACZ,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;SACvB,CAAC;QAEF,MAAM,CAAC,GAAG;YACR,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,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;YAC3F,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG;YAC7F,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,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;YAC7F,EAAE,EAAE,GAAG,EAAE,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,EAAE,GAAG,EAAE,GAAG;YAC3F,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,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG;YAC1F,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;YACzF,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,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;YACzF,GAAG,EAAE,GAAG,EAAE,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,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YAC7F,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,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACzF,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC1F,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,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;YAC7F,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,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;YAC1F,EAAE,EAAE,EAAE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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* @param string The input string with placeholders.
|
|
7
7
|
* @param formatArguments An array of strings to place into the placeholders.
|
|
8
8
|
* @returns The formatted string.
|
|
9
|
+
* @group Strings
|
|
9
10
|
*/
|
|
10
11
|
export declare const formatString: (string: string, ...formatArguments: Array<string>) => string;
|
|
11
12
|
/**
|
|
@@ -16,5 +17,6 @@ export declare const formatString: (string: string, ...formatArguments: Array<st
|
|
|
16
17
|
* @param string The input string with placeholders.
|
|
17
18
|
* @param parameters A hash of parameters to place in the placeholders.
|
|
18
19
|
* @returns The formatted string.
|
|
20
|
+
* @group Strings
|
|
19
21
|
*/
|
|
20
22
|
export declare const formatStringTemplate: (string: string, parameters: Record<string, string | undefined>) => string;
|
package/lib/string-formatter.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* @param string The input string with placeholders.
|
|
7
7
|
* @param formatArguments An array of strings to place into the placeholders.
|
|
8
8
|
* @returns The formatted string.
|
|
9
|
+
* @group Strings
|
|
9
10
|
*/
|
|
10
11
|
export const formatString = (string, ...formatArguments) => {
|
|
11
12
|
return string.replace(/{(\d+)}/g, (match, matchedDigits) => typeof formatArguments[matchedDigits] !== "undefined" ? formatArguments[matchedDigits] : match);
|
|
@@ -18,6 +19,7 @@ export const formatString = (string, ...formatArguments) => {
|
|
|
18
19
|
* @param string The input string with placeholders.
|
|
19
20
|
* @param parameters A hash of parameters to place in the placeholders.
|
|
20
21
|
* @returns The formatted string.
|
|
22
|
+
* @group Strings
|
|
21
23
|
*/
|
|
22
24
|
export const formatStringTemplate = (string, parameters) => {
|
|
23
25
|
string = string.replace(/#{[\w.]+}/g, query => parameters[query.slice(2, query.length - 1)] ?? "<missing parameter>");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-formatter.js","sourceRoot":"","sources":["../source/string-formatter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"string-formatter.js","sourceRoot":"","sources":["../source/string-formatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,GAAG,eAA8B,EAAU,EAAE;IACxF,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,aAAqB,EAAU,EAAE,CACzE,OAAO,eAAe,CAAC,aAAa,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAC/F,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAAc,EACd,UAA8C,EACtC,EAAE;IACV,MAAM,GAAG,MAAM,CAAC,OAAO,CACrB,YAAY,EACZ,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,qBAAqB,CAC/E,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@oliversalzburg/js-utils",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.9",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Oliver Salzburg <oliver.salzburg@gmail.com>",
|
|
7
7
|
"type": "module",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"build": "yarn run build:tsc",
|
|
16
16
|
"build:esbuild": "node build.js",
|
|
17
17
|
"build:tsc": "tsc",
|
|
18
|
-
"docs:typedoc": "typedoc
|
|
18
|
+
"docs:typedoc": "typedoc",
|
|
19
19
|
"lint": "yarn run lint:eslint && yarn run lint:prettier && yarn run lint:tsc",
|
|
20
20
|
"lint:eslint": "eslint source ./*js",
|
|
21
21
|
"lint:prettier": "prettier --check source ./*js",
|
|
@@ -31,14 +31,14 @@
|
|
|
31
31
|
},
|
|
32
32
|
"types": "./lib/index.d.ts",
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@types/chai": "4.3.
|
|
35
|
-
"@types/chai-as-promised": "7.1.
|
|
36
|
-
"@types/eslint": "8.44.
|
|
37
|
-
"@types/mocha": "10.0.
|
|
38
|
-
"@types/node": "20.
|
|
34
|
+
"@types/chai": "4.3.10",
|
|
35
|
+
"@types/chai-as-promised": "7.1.8",
|
|
36
|
+
"@types/eslint": "8.44.7",
|
|
37
|
+
"@types/mocha": "10.0.4",
|
|
38
|
+
"@types/node": "20.9.0",
|
|
39
39
|
"@types/web": "0.0.119",
|
|
40
|
-
"@typescript-eslint/eslint-plugin": "6.
|
|
41
|
-
"@typescript-eslint/parser": "6.
|
|
40
|
+
"@typescript-eslint/eslint-plugin": "6.10.0",
|
|
41
|
+
"@typescript-eslint/parser": "6.10.0",
|
|
42
42
|
"c8": "8.0.1",
|
|
43
43
|
"chai": "4.3.10",
|
|
44
44
|
"chai-as-promised": "7.1.1",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"prettier-package-json": "2.8.0",
|
|
52
52
|
"prettier-plugin-organize-imports": "3.2.3",
|
|
53
53
|
"typedoc": "0.25.3",
|
|
54
|
-
"typedoc-plugin-
|
|
54
|
+
"typedoc-plugin-mdn-links": "3.1.0",
|
|
55
55
|
"typescript": "5.2.2"
|
|
56
56
|
},
|
|
57
57
|
"packageManager": "yarn@4.0.1"
|
package/docs/README.md
DELETED