toosoon-prng 4.0.1 → 4.0.3

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/README.md CHANGED
@@ -42,7 +42,7 @@ Set the `PRNG` instance seed.
42
42
  - `seed`
43
43
 
44
44
  ```ts
45
- prng.setSeed(seed: string): void;
45
+ prng.setSeed(seed: string | number): void;
46
46
  ```
47
47
 
48
48
  ##### setAlgorithm(algorithmName)
@@ -62,7 +62,7 @@ Generate a pseudo-random number in the interval [0, 1]. PRNG equivalent of `Math
62
62
  - `seed`
63
63
 
64
64
  ```ts
65
- prng.random(seed: string): number;
65
+ prng.random(seed: string | number): number;
66
66
  ```
67
67
 
68
68
  ##### randomBoolean(seed)
@@ -73,7 +73,7 @@ Generate a pseudo-random boolean (true or false).
73
73
  - `[probability=0.5]`: Probability to get true.
74
74
 
75
75
  ```ts
76
- prng.randomBoolean(seed: string, probability?: number): boolean;
76
+ prng.randomBoolean(seed: string | number, probability?: number): boolean;
77
77
  ```
78
78
 
79
79
  ##### randomSign(seed)
@@ -84,7 +84,7 @@ Generate a pseudo-random sign (1 or -1).
84
84
  - `[probability=0.5]`: Probability to get 1.
85
85
 
86
86
  ```ts
87
- prng.randomSign(seed: string, probability?: number): number;
87
+ prng.randomSign(seed: string | number, probability?: number): number;
88
88
  ```
89
89
 
90
90
  ##### randomFloat(seed, min, max)
@@ -97,7 +97,7 @@ Generate pseudo-random a floating-point number within a specified range.
97
97
  - `[precison=2]`: Number of digits after the decimal point.
98
98
 
99
99
  ```ts
100
- prng.randomFloat(seed: string, min?: number, max?: number1, precision?: number): number;
100
+ prng.randomFloat(seed: string | number, min?: number, max?: number1, precision?: number): number;
101
101
  ```
102
102
 
103
103
  ##### randomInt(seed, min, max)
@@ -109,7 +109,7 @@ Generate pseudo-random integer number within a specified range.
109
109
  - `max`: Maximum boundary.
110
110
 
111
111
  ```ts
112
- prng.randomInt(seed: string, min: number, max: number): void;
112
+ prng.randomInt(seed: string | number, min: number, max: number): void;
113
113
  ```
114
114
 
115
115
  ##### randomHexColor(seed)
@@ -119,7 +119,7 @@ Generate a pseudo-random hexadecimal color.
119
119
  - `seed`
120
120
 
121
121
  ```ts
122
- prng.randomHexColor(seed: string): string;
122
+ prng.randomHexColor(seed: string | number): string;
123
123
  ```
124
124
 
125
125
  ##### randomItem(seed0 array)
@@ -130,7 +130,7 @@ Pick a pseudo-random item from a given array.
130
130
  - `array`: Array to pick the item from.
131
131
 
132
132
  ```ts
133
- prng.randomItem<T>(seed: string, array: T[]): T | undefined;
133
+ prng.randomItem<T>(seed: string | number, array: T[]): T | undefined;
134
134
  ```
135
135
 
136
136
  ##### randomObjectProperty(seed, object)
@@ -141,7 +141,7 @@ Pick a pseudo-random property value from a given object.
141
141
  - `object`: Object to pick the property from.
142
142
 
143
143
  ```ts
144
- prng.randomObjectProperty<T>(seed: string, object: Record<string, T>): T | undefined;
144
+ prng.randomObjectProperty<T>(seed: string | number, object: Record<string, T>): T | undefined;
145
145
  ```
146
146
 
147
147
  ##### randomIndex(seed, weights)
@@ -152,7 +152,7 @@ Select a pseudo-random index from an array of weighted items.
152
152
  - `weights`: Array of weights
153
153
 
154
154
  ```ts
155
- prng.randomIndex(seed: string, weights: number[]): number;
155
+ prng.randomIndex(seed: string | number, weights: number[]): number;
156
156
  ```
157
157
 
158
158
  ##### randomGaussian(seed, mean, spread)
@@ -164,7 +164,7 @@ Generate a pseudo-random number fitting a Gaussian (normal) distribution.
164
164
  `[spread=1]`: Standard deviation.
165
165
 
166
166
  ```ts
167
- prng.randomGaussian(seed: string, mean?: number, spread?: number): number;
167
+ prng.randomGaussian(seed: string | number, mean?: number, spread?: number): number;
168
168
  ```
169
169
 
170
170
  ## Algorithms
package/lib/prng.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AlgorithmName } from './types';
1
+ import { AlgorithmFunction, AlgorithmName } from './types';
2
2
  /**
3
3
  * Utility class for generating pseudo-random values
4
4
  *
@@ -6,14 +6,18 @@ import { AlgorithmName } from './types';
6
6
  * @exports
7
7
  */
8
8
  export declare class PRNG {
9
- seed: string;
10
- algorithm: (...args: number[]) => number;
9
+ protected _seed: string;
10
+ protected _algorithm: AlgorithmFunction;
11
+ get seed(): string | number;
12
+ set seed(seed: string | number);
13
+ get algorithm(): AlgorithmFunction;
14
+ set algorithm(algorithm: AlgorithmFunction);
11
15
  /**
12
16
  * Set this PRNG seed
13
17
  *
14
- * @param {string} seed
18
+ * @param {string|number} seed
15
19
  */
16
- setSeed(seed: string): void;
20
+ setSeed(seed: string | number): void;
17
21
  /**
18
22
  * Set this PRNG algorithm
19
23
  *
@@ -24,85 +28,85 @@ export declare class PRNG {
24
28
  * Generate a pseudo-random number in the interval [0, 1]
25
29
  * PRNG equivalent of `Math.random()`
26
30
  *
27
- * @param {string} seed
31
+ * @param {string|number} seed
28
32
  * @returns {number}
29
33
  */
30
- random(seed: string): number;
34
+ random(seed: string | number): number;
31
35
  /**
32
36
  * Generate a pseudo-random boolean (true or false)
33
37
  *
34
- * @param {string} seed
38
+ * @param {string|number} seed
35
39
  * @param {number} [probability=0.5] Probability to get `true`
36
40
  * @returns {boolean} Either `true` or `false`
37
41
  */
38
- randomBoolean(seed: string, probability?: number): boolean;
42
+ randomBoolean(seed: string | number, probability?: number): boolean;
39
43
  /**
40
44
  * Generate a pseudo-random sign (1 or -1)
41
45
  *
42
- * @param {string} seed
46
+ * @param {string|number} seed
43
47
  * @param {number} [probability=0.5] Probability to get 1
44
48
  * @returns {number} Either 1 or -1
45
49
  */
46
- randomSign(seed: string, probability?: number): number;
50
+ randomSign(seed: string | number, probability?: number): number;
47
51
  /**
48
52
  * Generate a pseudo-random floating-point number within a specified range
49
53
  *
50
- * @param {string} seed
54
+ * @param {string|number} seed
51
55
  * @param {number} [min=0] Minimum boundary
52
56
  * @param {number} [max=1] Maximum boundary
53
57
  * @param {number} [precision=2] Number of digits after the decimal point
54
58
  * @returns {number} Generated float
55
59
  */
56
- randomFloat(seed: string, min?: number, max?: number, precision?: number): number;
60
+ randomFloat(seed: string | number, min?: number, max?: number, precision?: number): number;
57
61
  /**
58
62
  * Generate a pseudo-random integer number within a specified range
59
63
  *
60
- * @param {string} seed
64
+ * @param {string|number} seed
61
65
  * @param {number} min Minimum boundary
62
66
  * @param {number} max Maximum boundary
63
67
  * @returns {number} Generated integer
64
68
  */
65
- randomInt(seed: string, min: number, max: number): number;
69
+ randomInt(seed: string | number, min: number, max: number): number;
66
70
  /**
67
71
  * Generate a pseudo-random hexadecimal color
68
72
  *
69
- * @param {string} seed
73
+ * @param {string|number} seed
70
74
  * @returns {string} Generated hexadecimal color
71
75
  */
72
- randomHexColor(seed: string): string;
76
+ randomHexColor(seed: string | number): string;
73
77
  /**
74
78
  * Pick a pseudo-random item from a given array
75
79
  *
76
- * @param {string} seed
80
+ * @param {string|number} seed
77
81
  * @param {T[]} array Array to pick the item from
78
82
  * @returns {T|undefined} Random item picked
79
83
  */
80
- randomItem<T = unknown>(seed: string, array: T[]): T | undefined;
84
+ randomItem<T = unknown>(seed: string | number, array: T[]): T | undefined;
81
85
  /**
82
86
  * Pick a pseudo-random property value from a given object
83
87
  *
84
- * @param {string} seed
88
+ * @param {string|number} seed
85
89
  * @param {object} object Object to pick the property from
86
90
  * @returns {T|undefined} Random item picked
87
91
  */
88
- randomObjectProperty<T = unknown>(seed: string, object: Record<string, T>): T | undefined;
92
+ randomObjectProperty<T = unknown>(seed: string | number, object: Record<string, T>): T | undefined;
89
93
  /**
90
94
  * Select a pseudo-random index from an array of weighted items
91
95
  *
92
- * @param {string} seed
96
+ * @param {string|number} seed
93
97
  * @param {number[]} weights Array of weights
94
98
  * @returns {number} Random index based on weights
95
99
  */
96
- randomIndex(seed: string, weights: number[]): number;
100
+ randomIndex(seed: string | number, weights: number[]): number;
97
101
  /**
98
102
  * Generate a pseudo-random number fitting a Gaussian (normal) distribution
99
103
  *
100
- * @param {string} seed
104
+ * @param {string|number} seed
101
105
  * @param {number} [mean=0] Central value
102
106
  * @param {number} [spread=1] Standard deviation
103
107
  * @returns Generated number
104
108
  */
105
- randomGaussian(seed: string, mean?: number, spread?: number): number;
109
+ randomGaussian(seed: string | number, mean?: number, spread?: number): number;
106
110
  /**
107
111
  * Get the PRNG algorithm function by its name
108
112
  *
package/lib/prng.js CHANGED
@@ -7,15 +7,27 @@ import { AlgorithmName } from './types';
7
7
  * @exports
8
8
  */
9
9
  export class PRNG {
10
- seed = '';
11
- algorithm = splitmix32;
10
+ _seed = '';
11
+ _algorithm = splitmix32;
12
+ get seed() {
13
+ return this._seed;
14
+ }
15
+ set seed(seed) {
16
+ this._seed = `${seed}`;
17
+ }
18
+ get algorithm() {
19
+ return this._algorithm;
20
+ }
21
+ set algorithm(algorithm) {
22
+ this._algorithm = algorithm;
23
+ }
12
24
  /**
13
25
  * Set this PRNG seed
14
26
  *
15
- * @param {string} seed
27
+ * @param {string|number} seed
16
28
  */
17
29
  setSeed(seed) {
18
- this.seed = seed;
30
+ this.seed = `${seed}`;
19
31
  }
20
32
  /**
21
33
  * Set this PRNG algorithm
@@ -29,17 +41,17 @@ export class PRNG {
29
41
  * Generate a pseudo-random number in the interval [0, 1]
30
42
  * PRNG equivalent of `Math.random()`
31
43
  *
32
- * @param {string} seed
44
+ * @param {string|number} seed
33
45
  * @returns {number}
34
46
  */
35
47
  random(seed) {
36
- const hashes = cyrb128(this.seed + seed);
48
+ const hashes = cyrb128(this.seed + `${seed}`);
37
49
  return this.algorithm(...hashes);
38
50
  }
39
51
  /**
40
52
  * Generate a pseudo-random boolean (true or false)
41
53
  *
42
- * @param {string} seed
54
+ * @param {string|number} seed
43
55
  * @param {number} [probability=0.5] Probability to get `true`
44
56
  * @returns {boolean} Either `true` or `false`
45
57
  */
@@ -49,7 +61,7 @@ export class PRNG {
49
61
  /**
50
62
  * Generate a pseudo-random sign (1 or -1)
51
63
  *
52
- * @param {string} seed
64
+ * @param {string|number} seed
53
65
  * @param {number} [probability=0.5] Probability to get 1
54
66
  * @returns {number} Either 1 or -1
55
67
  */
@@ -59,7 +71,7 @@ export class PRNG {
59
71
  /**
60
72
  * Generate a pseudo-random floating-point number within a specified range
61
73
  *
62
- * @param {string} seed
74
+ * @param {string|number} seed
63
75
  * @param {number} [min=0] Minimum boundary
64
76
  * @param {number} [max=1] Maximum boundary
65
77
  * @param {number} [precision=2] Number of digits after the decimal point
@@ -71,7 +83,7 @@ export class PRNG {
71
83
  /**
72
84
  * Generate a pseudo-random integer number within a specified range
73
85
  *
74
- * @param {string} seed
86
+ * @param {string|number} seed
75
87
  * @param {number} min Minimum boundary
76
88
  * @param {number} max Maximum boundary
77
89
  * @returns {number} Generated integer
@@ -82,7 +94,7 @@ export class PRNG {
82
94
  /**
83
95
  * Generate a pseudo-random hexadecimal color
84
96
  *
85
- * @param {string} seed
97
+ * @param {string|number} seed
86
98
  * @returns {string} Generated hexadecimal color
87
99
  */
88
100
  randomHexColor(seed) {
@@ -91,7 +103,7 @@ export class PRNG {
91
103
  /**
92
104
  * Pick a pseudo-random item from a given array
93
105
  *
94
- * @param {string} seed
106
+ * @param {string|number} seed
95
107
  * @param {T[]} array Array to pick the item from
96
108
  * @returns {T|undefined} Random item picked
97
109
  */
@@ -103,7 +115,7 @@ export class PRNG {
103
115
  /**
104
116
  * Pick a pseudo-random property value from a given object
105
117
  *
106
- * @param {string} seed
118
+ * @param {string|number} seed
107
119
  * @param {object} object Object to pick the property from
108
120
  * @returns {T|undefined} Random item picked
109
121
  */
@@ -117,7 +129,7 @@ export class PRNG {
117
129
  /**
118
130
  * Select a pseudo-random index from an array of weighted items
119
131
  *
120
- * @param {string} seed
132
+ * @param {string|number} seed
121
133
  * @param {number[]} weights Array of weights
122
134
  * @returns {number} Random index based on weights
123
135
  */
@@ -141,15 +153,15 @@ export class PRNG {
141
153
  /**
142
154
  * Generate a pseudo-random number fitting a Gaussian (normal) distribution
143
155
  *
144
- * @param {string} seed
156
+ * @param {string|number} seed
145
157
  * @param {number} [mean=0] Central value
146
158
  * @param {number} [spread=1] Standard deviation
147
159
  * @returns Generated number
148
160
  */
149
161
  randomGaussian(seed, mean = 0, spread = 1) {
150
- const hashes = cyrb128(this.seed + seed);
151
- const u = this.algorithm(...hashes);
152
- const v = this.algorithm(...hashes.reverse());
162
+ const hashes = cyrb128(this.seed + `${seed}`);
163
+ const u = this.algorithm(hashes[0] + hashes[1]);
164
+ const v = this.algorithm(hashes[2] + hashes[3]);
153
165
  const z = Math.sqrt(-2.0 * Math.log(u)) * Math.cos(2.0 * Math.PI * v);
154
166
  return mean + z * spread;
155
167
  }
@@ -1 +1 @@
1
- {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.esnext.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.promise.d.ts","../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/typescript/lib/lib.esnext.object.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/toosoon-utils/lib/prng.d.ts","../src/types.ts","../src/prng.ts","../src/index.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","886e50ef125efb7878f744e86908884c0133e7a6d9d80013f421b0cd8fb2af94",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"76f838d5d49b65de83bc345c04aa54c62a3cfdb72a477dc0c0fce89a30596c30","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"3244739232ed0f77eb4aa4cd9af4feddcf5c3eabdf4f6c3388a5a75569935adb",{"version":"1080703238475ef8ae349a6573364784b530e85937fce63754c30204944f3633","signature":"4cb1f41b9212d2152ce32b4383fa494101c25b12b8f290ed43f5359670458471"},{"version":"ec50a3a90cc1e767395a32fcefab7736a4285e1988d855587bbc77d3f1d9b25c","signature":"afc5a13e0b5c667cf0bb3182fbeb055990f90e2424a8ae2592bbbb345cfc515d"},{"version":"e4035c130e9e1e9c9462141cf3af38879f74d9653e70c7585e0cec14a3fee8a4","signature":"f9ca5cc1b894f1a19cbb55135cbfa308ad994ef06e1412e04ff1796272a93b89"}],"root":[[71,73]],"options":{"allowJs":true,"checkJs":true,"declaration":true,"module":99,"outDir":"./","skipLibCheck":true,"strict":true,"target":99},"fileIdsList":[[71,72],[70,71],[71]],"referencedMap":[[73,1],[72,2]],"exportedModulesMap":[[73,1],[72,3]],"semanticDiagnosticsPerFile":[70,68,69,12,13,15,14,2,16,17,18,19,20,21,22,23,3,24,4,25,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,61,10,1,62,11,66,64,63,67,65,73,72,71]},"version":"5.4.2"}
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.esnext.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.promise.d.ts","../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/typescript/lib/lib.esnext.object.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/toosoon-utils/lib/prng.d.ts","../src/types.ts","../src/prng.ts","../src/index.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","886e50ef125efb7878f744e86908884c0133e7a6d9d80013f421b0cd8fb2af94",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"76f838d5d49b65de83bc345c04aa54c62a3cfdb72a477dc0c0fce89a30596c30","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"3244739232ed0f77eb4aa4cd9af4feddcf5c3eabdf4f6c3388a5a75569935adb",{"version":"0c162dad72573d233d13195e3b80fed773694e9677b525d9fa22f34d660fe7a9","signature":"aca3e00c7103e529286ca739994f17f821acdbdad539c2be48312dbe529a85fa"},{"version":"459a0e96cb1da14cfd2a81d944b21098d48de670346eaaf2ea377f7831656132","signature":"217968e68843a319adba2493b7af7bcf6a7e100b69cc478454466deb3c3e9a36"},{"version":"e4035c130e9e1e9c9462141cf3af38879f74d9653e70c7585e0cec14a3fee8a4","signature":"f9ca5cc1b894f1a19cbb55135cbfa308ad994ef06e1412e04ff1796272a93b89"}],"root":[[71,73]],"options":{"allowJs":true,"checkJs":true,"declaration":true,"module":99,"outDir":"./","skipLibCheck":true,"strict":true,"target":99},"fileIdsList":[[71,72],[70,71],[71]],"referencedMap":[[73,1],[72,2]],"exportedModulesMap":[[73,1],[72,3]],"semanticDiagnosticsPerFile":[70,68,69,12,13,15,14,2,16,17,18,19,20,21,22,23,3,24,4,25,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,61,10,1,62,11,66,64,63,67,65,73,72,71]},"version":"5.4.2"}
package/lib/types.d.ts CHANGED
@@ -5,3 +5,4 @@ export declare enum AlgorithmName {
5
5
  splitmix32 = "splitmix32",
6
6
  xoshiro128ss = "xoshiro128**"
7
7
  }
8
+ export type AlgorithmFunction = (...args: number[]) => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "toosoon-prng",
3
- "version": "4.0.1",
3
+ "version": "4.0.3",
4
4
  "description": "This project provides PRNG functions for generating pseudo-random values using a seed-based approach and various algorithms",
5
5
  "type": "module",
6
6
  "engines": {