@fgv/ts-random 5.1.0-8

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.
Files changed (254) hide show
  1. package/config/jest.config.json +13 -0
  2. package/config/rig.json +4 -0
  3. package/config/typedoc.json +7 -0
  4. package/docs/Chars/README.md +152 -0
  5. package/docs/Chars/variables/all.md +9 -0
  6. package/docs/Chars/variables/alphanumeric.md +9 -0
  7. package/docs/Chars/variables/base64.md +9 -0
  8. package/docs/Chars/variables/base64Url.md +9 -0
  9. package/docs/Chars/variables/base64UrlNoPadding.md +9 -0
  10. package/docs/Chars/variables/digits.md +9 -0
  11. package/docs/Chars/variables/hex.md +9 -0
  12. package/docs/Chars/variables/hexDigits.md +9 -0
  13. package/docs/Chars/variables/hexDigitsUpper.md +9 -0
  14. package/docs/Chars/variables/letters.md +9 -0
  15. package/docs/Chars/variables/lowerCase.md +9 -0
  16. package/docs/Chars/variables/printable.md +9 -0
  17. package/docs/Chars/variables/symbols.md +9 -0
  18. package/docs/Chars/variables/upperCase.md +9 -0
  19. package/docs/Chars/variables/whitespace.md +9 -0
  20. package/docs/Generator/README.md +153 -0
  21. package/docs/Generator/classes/PseudoRandomGenerator.clone.md +17 -0
  22. package/docs/Generator/classes/PseudoRandomGenerator.create.md +24 -0
  23. package/docs/Generator/classes/PseudoRandomGenerator.createChild.md +24 -0
  24. package/docs/Generator/classes/PseudoRandomGenerator.ensureRng.md +25 -0
  25. package/docs/Generator/classes/PseudoRandomGenerator.getGlobalRng.md +17 -0
  26. package/docs/Generator/classes/PseudoRandomGenerator.md +258 -0
  27. package/docs/Generator/classes/PseudoRandomGenerator.nextBoolean.md +24 -0
  28. package/docs/Generator/classes/PseudoRandomGenerator.nextFloat.md +17 -0
  29. package/docs/Generator/classes/PseudoRandomGenerator.nextInRange.md +25 -0
  30. package/docs/Generator/classes/PseudoRandomGenerator.nextInt.md +24 -0
  31. package/docs/Generator/classes/PseudoRandomGenerator.nextString.md +25 -0
  32. package/docs/Generator/classes/PseudoRandomGenerator.pickNext.md +24 -0
  33. package/docs/Generator/classes/PseudoRandomGenerator.pickRandom.md +24 -0
  34. package/docs/Generator/classes/PseudoRandomGenerator.pickSequence.md +24 -0
  35. package/docs/Generator/classes/PseudoRandomGenerator.pickSequential.md +24 -0
  36. package/docs/Generator/classes/PseudoRandomGenerator.rng.md +11 -0
  37. package/docs/Generator/classes/PseudoRandomGenerator.setGlobalRng.md +24 -0
  38. package/docs/Generator/classes/SeededRandomSource.clone.md +17 -0
  39. package/docs/Generator/classes/SeededRandomSource.counter.md +11 -0
  40. package/docs/Generator/classes/SeededRandomSource.create.md +24 -0
  41. package/docs/Generator/classes/SeededRandomSource.createChild.md +24 -0
  42. package/docs/Generator/classes/SeededRandomSource.hashSeed.md +24 -0
  43. package/docs/Generator/classes/SeededRandomSource.hashStateAndLabel.md +25 -0
  44. package/docs/Generator/classes/SeededRandomSource.lineage.md +9 -0
  45. package/docs/Generator/classes/SeededRandomSource.md +187 -0
  46. package/docs/Generator/classes/SeededRandomSource.mulberryStep.md +24 -0
  47. package/docs/Generator/classes/SeededRandomSource.next.md +17 -0
  48. package/docs/Generator/classes/SeededRandomSource.seed.md +9 -0
  49. package/docs/Generator/interfaces/INextResult.md +61 -0
  50. package/docs/Generator/interfaces/INextResult.nextState.md +9 -0
  51. package/docs/Generator/interfaces/INextResult.value.md +9 -0
  52. package/docs/Generator/interfaces/IPseudoRandomGeneratorCreateParams.global.md +9 -0
  53. package/docs/Generator/interfaces/IPseudoRandomGeneratorCreateParams.md +78 -0
  54. package/docs/Generator/interfaces/IPseudoRandomGeneratorCreateParams.seed.md +9 -0
  55. package/docs/Generator/interfaces/IPseudoRandomGeneratorCreateParams.step.md +9 -0
  56. package/docs/Generator/interfaces/IRandomSequencePickParams.candidates.md +9 -0
  57. package/docs/Generator/interfaces/IRandomSequencePickParams.count.md +9 -0
  58. package/docs/Generator/interfaces/IRandomSequencePickParams.how.md +9 -0
  59. package/docs/Generator/interfaces/IRandomSequencePickParams.md +79 -0
  60. package/docs/Generator/interfaces/ISeedPair.md +61 -0
  61. package/docs/Generator/interfaces/ISeedPair.seed.md +9 -0
  62. package/docs/Generator/interfaces/ISeedPair.state.md +9 -0
  63. package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.counter.md +9 -0
  64. package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.lineage.md +9 -0
  65. package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.md +112 -0
  66. package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.seed.md +9 -0
  67. package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.state.md +9 -0
  68. package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.step.md +9 -0
  69. package/docs/Generator/interfaces/ISeededRandomSourceCreateParams.md +61 -0
  70. package/docs/Generator/interfaces/ISeededRandomSourceCreateParams.seed.md +9 -0
  71. package/docs/Generator/interfaces/ISeededRandomSourceCreateParams.step.md +9 -0
  72. package/docs/Generator/interfaces/ISequentialPickParams.candidates.md +9 -0
  73. package/docs/Generator/interfaces/ISequentialPickParams.count.md +9 -0
  74. package/docs/Generator/interfaces/ISequentialPickParams.how.md +9 -0
  75. package/docs/Generator/interfaces/ISequentialPickParams.md +79 -0
  76. package/docs/Generator/type-aliases/GeneratorGlobalThis.md +11 -0
  77. package/docs/Generator/type-aliases/RandomStepFunction.md +11 -0
  78. package/docs/Generator/type-aliases/SequencePickParams.md +11 -0
  79. package/docs/GeneratorData/Chars/README.md +152 -0
  80. package/docs/GeneratorData/Chars/variables/all.md +9 -0
  81. package/docs/GeneratorData/Chars/variables/alphanumeric.md +9 -0
  82. package/docs/GeneratorData/Chars/variables/base64.md +9 -0
  83. package/docs/GeneratorData/Chars/variables/base64Url.md +9 -0
  84. package/docs/GeneratorData/Chars/variables/base64UrlNoPadding.md +9 -0
  85. package/docs/GeneratorData/Chars/variables/digits.md +9 -0
  86. package/docs/GeneratorData/Chars/variables/hex.md +9 -0
  87. package/docs/GeneratorData/Chars/variables/hexDigits.md +9 -0
  88. package/docs/GeneratorData/Chars/variables/hexDigitsUpper.md +9 -0
  89. package/docs/GeneratorData/Chars/variables/letters.md +9 -0
  90. package/docs/GeneratorData/Chars/variables/lowerCase.md +9 -0
  91. package/docs/GeneratorData/Chars/variables/printable.md +9 -0
  92. package/docs/GeneratorData/Chars/variables/symbols.md +9 -0
  93. package/docs/GeneratorData/Chars/variables/upperCase.md +9 -0
  94. package/docs/GeneratorData/Chars/variables/whitespace.md +9 -0
  95. package/docs/GeneratorData/README.md +35 -0
  96. package/docs/GeneratorData/Words/README.md +125 -0
  97. package/docs/GeneratorData/Words/variables/Adjectives.md +7 -0
  98. package/docs/GeneratorData/Words/variables/Animals.md +7 -0
  99. package/docs/GeneratorData/Words/variables/Cities.md +7 -0
  100. package/docs/GeneratorData/Words/variables/Colors.md +7 -0
  101. package/docs/GeneratorData/Words/variables/Countries.md +7 -0
  102. package/docs/GeneratorData/Words/variables/Domains.md +7 -0
  103. package/docs/GeneratorData/Words/variables/FamilyNames.md +9 -0
  104. package/docs/GeneratorData/Words/variables/FirstNames.md +9 -0
  105. package/docs/GeneratorData/Words/variables/FirstNamesFemale.md +9 -0
  106. package/docs/GeneratorData/Words/variables/FirstNamesMale.md +9 -0
  107. package/docs/GeneratorData/Words/variables/Gerunds.md +7 -0
  108. package/docs/GeneratorData/Words/variables/jobs.md +7 -0
  109. package/docs/GeneratorData/variables/Adjectives.md +7 -0
  110. package/docs/GeneratorData/variables/Animals.md +7 -0
  111. package/docs/GeneratorData/variables/Cities.md +7 -0
  112. package/docs/GeneratorData/variables/Colors.md +7 -0
  113. package/docs/GeneratorData/variables/Countries.md +7 -0
  114. package/docs/GeneratorData/variables/Domains.md +7 -0
  115. package/docs/GeneratorData/variables/FamilyNames.md +9 -0
  116. package/docs/GeneratorData/variables/FirstNames.md +9 -0
  117. package/docs/GeneratorData/variables/FirstNamesFemale.md +9 -0
  118. package/docs/GeneratorData/variables/FirstNamesMale.md +9 -0
  119. package/docs/GeneratorData/variables/Gerunds.md +7 -0
  120. package/docs/GeneratorData/variables/all.md +9 -0
  121. package/docs/GeneratorData/variables/alphanumeric.md +9 -0
  122. package/docs/GeneratorData/variables/base64.md +9 -0
  123. package/docs/GeneratorData/variables/base64Url.md +9 -0
  124. package/docs/GeneratorData/variables/base64UrlNoPadding.md +9 -0
  125. package/docs/GeneratorData/variables/digits.md +9 -0
  126. package/docs/GeneratorData/variables/hex.md +9 -0
  127. package/docs/GeneratorData/variables/hexDigits.md +9 -0
  128. package/docs/GeneratorData/variables/hexDigitsUpper.md +9 -0
  129. package/docs/GeneratorData/variables/jobs.md +7 -0
  130. package/docs/GeneratorData/variables/letters.md +9 -0
  131. package/docs/GeneratorData/variables/lowerCase.md +9 -0
  132. package/docs/GeneratorData/variables/printable.md +9 -0
  133. package/docs/GeneratorData/variables/symbols.md +9 -0
  134. package/docs/GeneratorData/variables/upperCase.md +9 -0
  135. package/docs/GeneratorData/variables/whitespace.md +9 -0
  136. package/docs/README.md +35 -0
  137. package/docs/Words/README.md +125 -0
  138. package/docs/Words/variables/Adjectives.md +7 -0
  139. package/docs/Words/variables/Animals.md +7 -0
  140. package/docs/Words/variables/Cities.md +7 -0
  141. package/docs/Words/variables/Colors.md +7 -0
  142. package/docs/Words/variables/Countries.md +7 -0
  143. package/docs/Words/variables/Domains.md +7 -0
  144. package/docs/Words/variables/FamilyNames.md +9 -0
  145. package/docs/Words/variables/FirstNames.md +9 -0
  146. package/docs/Words/variables/FirstNamesFemale.md +9 -0
  147. package/docs/Words/variables/FirstNamesMale.md +9 -0
  148. package/docs/Words/variables/Gerunds.md +7 -0
  149. package/docs/Words/variables/jobs.md +7 -0
  150. package/docs/classes/PseudoRandomGenerator.clone.md +17 -0
  151. package/docs/classes/PseudoRandomGenerator.create.md +24 -0
  152. package/docs/classes/PseudoRandomGenerator.createChild.md +24 -0
  153. package/docs/classes/PseudoRandomGenerator.ensureRng.md +25 -0
  154. package/docs/classes/PseudoRandomGenerator.getGlobalRng.md +17 -0
  155. package/docs/classes/PseudoRandomGenerator.md +258 -0
  156. package/docs/classes/PseudoRandomGenerator.nextBoolean.md +24 -0
  157. package/docs/classes/PseudoRandomGenerator.nextFloat.md +17 -0
  158. package/docs/classes/PseudoRandomGenerator.nextInRange.md +25 -0
  159. package/docs/classes/PseudoRandomGenerator.nextInt.md +24 -0
  160. package/docs/classes/PseudoRandomGenerator.nextString.md +25 -0
  161. package/docs/classes/PseudoRandomGenerator.pickNext.md +24 -0
  162. package/docs/classes/PseudoRandomGenerator.pickRandom.md +24 -0
  163. package/docs/classes/PseudoRandomGenerator.pickSequence.md +24 -0
  164. package/docs/classes/PseudoRandomGenerator.pickSequential.md +24 -0
  165. package/docs/classes/PseudoRandomGenerator.rng.md +11 -0
  166. package/docs/classes/PseudoRandomGenerator.setGlobalRng.md +24 -0
  167. package/docs/classes/SeededRandomSource.clone.md +17 -0
  168. package/docs/classes/SeededRandomSource.counter.md +11 -0
  169. package/docs/classes/SeededRandomSource.create.md +24 -0
  170. package/docs/classes/SeededRandomSource.createChild.md +24 -0
  171. package/docs/classes/SeededRandomSource.hashSeed.md +24 -0
  172. package/docs/classes/SeededRandomSource.hashStateAndLabel.md +25 -0
  173. package/docs/classes/SeededRandomSource.lineage.md +9 -0
  174. package/docs/classes/SeededRandomSource.md +187 -0
  175. package/docs/classes/SeededRandomSource.mulberryStep.md +24 -0
  176. package/docs/classes/SeededRandomSource.next.md +17 -0
  177. package/docs/classes/SeededRandomSource.seed.md +9 -0
  178. package/docs/interfaces/INextResult.md +61 -0
  179. package/docs/interfaces/INextResult.nextState.md +9 -0
  180. package/docs/interfaces/INextResult.value.md +9 -0
  181. package/docs/interfaces/IPseudoRandomGeneratorCreateParams.global.md +9 -0
  182. package/docs/interfaces/IPseudoRandomGeneratorCreateParams.md +78 -0
  183. package/docs/interfaces/IPseudoRandomGeneratorCreateParams.seed.md +9 -0
  184. package/docs/interfaces/IPseudoRandomGeneratorCreateParams.step.md +9 -0
  185. package/docs/interfaces/IRandomSequencePickParams.candidates.md +9 -0
  186. package/docs/interfaces/IRandomSequencePickParams.count.md +9 -0
  187. package/docs/interfaces/IRandomSequencePickParams.how.md +9 -0
  188. package/docs/interfaces/IRandomSequencePickParams.md +79 -0
  189. package/docs/interfaces/ISeedPair.md +61 -0
  190. package/docs/interfaces/ISeedPair.seed.md +9 -0
  191. package/docs/interfaces/ISeedPair.state.md +9 -0
  192. package/docs/interfaces/ISeededRandomSourceConstructorParams.counter.md +9 -0
  193. package/docs/interfaces/ISeededRandomSourceConstructorParams.lineage.md +9 -0
  194. package/docs/interfaces/ISeededRandomSourceConstructorParams.md +112 -0
  195. package/docs/interfaces/ISeededRandomSourceConstructorParams.seed.md +9 -0
  196. package/docs/interfaces/ISeededRandomSourceConstructorParams.state.md +9 -0
  197. package/docs/interfaces/ISeededRandomSourceConstructorParams.step.md +9 -0
  198. package/docs/interfaces/ISeededRandomSourceCreateParams.md +61 -0
  199. package/docs/interfaces/ISeededRandomSourceCreateParams.seed.md +9 -0
  200. package/docs/interfaces/ISeededRandomSourceCreateParams.step.md +9 -0
  201. package/docs/interfaces/ISequentialPickParams.candidates.md +9 -0
  202. package/docs/interfaces/ISequentialPickParams.count.md +9 -0
  203. package/docs/interfaces/ISequentialPickParams.how.md +9 -0
  204. package/docs/interfaces/ISequentialPickParams.md +79 -0
  205. package/docs/type-aliases/GeneratorGlobalThis.md +11 -0
  206. package/docs/type-aliases/RandomStepFunction.md +11 -0
  207. package/docs/type-aliases/SequencePickParams.md +11 -0
  208. package/docs/variables/Adjectives.md +7 -0
  209. package/docs/variables/Animals.md +7 -0
  210. package/docs/variables/Cities.md +7 -0
  211. package/docs/variables/Colors.md +7 -0
  212. package/docs/variables/Countries.md +7 -0
  213. package/docs/variables/Domains.md +7 -0
  214. package/docs/variables/FamilyNames.md +9 -0
  215. package/docs/variables/FirstNames.md +9 -0
  216. package/docs/variables/FirstNamesFemale.md +9 -0
  217. package/docs/variables/FirstNamesMale.md +9 -0
  218. package/docs/variables/Gerunds.md +7 -0
  219. package/docs/variables/all.md +9 -0
  220. package/docs/variables/alphanumeric.md +9 -0
  221. package/docs/variables/base64.md +9 -0
  222. package/docs/variables/base64Url.md +9 -0
  223. package/docs/variables/base64UrlNoPadding.md +9 -0
  224. package/docs/variables/digits.md +9 -0
  225. package/docs/variables/hex.md +9 -0
  226. package/docs/variables/hexDigits.md +9 -0
  227. package/docs/variables/hexDigitsUpper.md +9 -0
  228. package/docs/variables/jobs.md +7 -0
  229. package/docs/variables/letters.md +9 -0
  230. package/docs/variables/lowerCase.md +9 -0
  231. package/docs/variables/printable.md +9 -0
  232. package/docs/variables/symbols.md +9 -0
  233. package/docs/variables/upperCase.md +9 -0
  234. package/docs/variables/whitespace.md +9 -0
  235. package/package.json +49 -0
  236. package/src/generator/generators.ts +273 -0
  237. package/src/generator/index.ts +22 -0
  238. package/src/generator/randomSource.ts +224 -0
  239. package/src/generator-data/charClasses.ts +95 -0
  240. package/src/generator-data/index.ts +22 -0
  241. package/src/generator-data/words/adjectives.ts +247 -0
  242. package/src/generator-data/words/animals.ts +75 -0
  243. package/src/generator-data/words/cities.ts +229 -0
  244. package/src/generator-data/words/colors.ts +56 -0
  245. package/src/generator-data/words/countries.ts +217 -0
  246. package/src/generator-data/words/domains.ts +47 -0
  247. package/src/generator-data/words/gerunds.ts +126 -0
  248. package/src/generator-data/words/index.ts +29 -0
  249. package/src/generator-data/words/jobs.ts +175 -0
  250. package/src/generator-data/words/names.ts +717 -0
  251. package/src/index.ts +7 -0
  252. package/src/test/unit/generators.test.ts +697 -0
  253. package/src/test/unit/randomSource.test.ts +526 -0
  254. package/tsconfig.json +7 -0
@@ -0,0 +1,258 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > PseudoRandomGenerator
2
+
3
+ # Class: PseudoRandomGenerator
4
+
5
+ A pseudo-random number generator that can be used to generate random values
6
+ of various shapes.
7
+
8
+ ## Properties
9
+
10
+ <table><thead><tr><th>
11
+
12
+ Property
13
+
14
+ </th><th>
15
+
16
+ Modifiers
17
+
18
+ </th><th>
19
+
20
+ Type
21
+
22
+ </th><th>
23
+
24
+ Description
25
+
26
+ </th></tr></thead>
27
+ <tbody>
28
+ <tr><td>
29
+
30
+ [rng](./PseudoRandomGenerator.rng.md)
31
+
32
+ </td><td>
33
+
34
+ `readonly`
35
+
36
+ </td><td>
37
+
38
+ [SeededRandomSource](../../classes/SeededRandomSource.md)
39
+
40
+ </td><td>
41
+
42
+ The underlying random number generator.
43
+
44
+ </td></tr>
45
+ </tbody></table>
46
+
47
+ ## Methods
48
+
49
+ <table><thead><tr><th>
50
+
51
+ Method
52
+
53
+ </th><th>
54
+
55
+ Modifiers
56
+
57
+ </th><th>
58
+
59
+ Description
60
+
61
+ </th></tr></thead>
62
+ <tbody>
63
+ <tr><td>
64
+
65
+ [create(params)](./PseudoRandomGenerator.create.md)
66
+
67
+ </td><td>
68
+
69
+ `static`
70
+
71
+ </td><td>
72
+
73
+ Creates a new pseudo-random number generator.
74
+
75
+ </td></tr>
76
+ <tr><td>
77
+
78
+ [setGlobalRng(rng)](./PseudoRandomGenerator.setGlobalRng.md)
79
+
80
+ </td><td>
81
+
82
+ `static`
83
+
84
+ </td><td>
85
+
86
+ Sets this generator as the global random number generator.
87
+
88
+ </td></tr>
89
+ <tr><td>
90
+
91
+ [getGlobalRng()](./PseudoRandomGenerator.getGlobalRng.md)
92
+
93
+ </td><td>
94
+
95
+ `static`
96
+
97
+ </td><td>
98
+
99
+ Gets the global random number generator.
100
+
101
+ </td></tr>
102
+ <tr><td>
103
+
104
+ [ensureRng(rng)](./PseudoRandomGenerator.ensureRng.md)
105
+
106
+ </td><td>
107
+
108
+ `static`
109
+
110
+ </td><td>
111
+
112
+ Ensures a random number generator is available, using the global generator if available
113
+
114
+ </td></tr>
115
+ <tr><td>
116
+
117
+ [clone()](./PseudoRandomGenerator.clone.md)
118
+
119
+ </td><td>
120
+
121
+
122
+
123
+ </td><td>
124
+
125
+ Creates a clone of this generator.
126
+
127
+ </td></tr>
128
+ <tr><td>
129
+
130
+ [createChild(label)](./PseudoRandomGenerator.createChild.md)
131
+
132
+ </td><td>
133
+
134
+
135
+
136
+ </td><td>
137
+
138
+ Creates a child generator with the given label.
139
+
140
+ </td></tr>
141
+ <tr><td>
142
+
143
+ [nextFloat()](./PseudoRandomGenerator.nextFloat.md)
144
+
145
+ </td><td>
146
+
147
+
148
+
149
+ </td><td>
150
+
151
+ Generates a random float between 0 and 1.
152
+
153
+ </td></tr>
154
+ <tr><td>
155
+
156
+ [nextInt(max)](./PseudoRandomGenerator.nextInt.md)
157
+
158
+ </td><td>
159
+
160
+
161
+
162
+ </td><td>
163
+
164
+ Generates a random integer between 0 and the specified maximum value.
165
+
166
+ </td></tr>
167
+ <tr><td>
168
+
169
+ [nextInRange(min, max)](./PseudoRandomGenerator.nextInRange.md)
170
+
171
+ </td><td>
172
+
173
+
174
+
175
+ </td><td>
176
+
177
+ Generates a random integer between the specified minimum and maximum values.
178
+
179
+ </td></tr>
180
+ <tr><td>
181
+
182
+ [nextBoolean(trueProbability)](./PseudoRandomGenerator.nextBoolean.md)
183
+
184
+ </td><td>
185
+
186
+
187
+
188
+ </td><td>
189
+
190
+ Generates a random boolean value.
191
+
192
+ </td></tr>
193
+ <tr><td>
194
+
195
+ [nextString(length, chars)](./PseudoRandomGenerator.nextString.md)
196
+
197
+ </td><td>
198
+
199
+
200
+
201
+ </td><td>
202
+
203
+ Generates a random string of the specified length using the given characters.
204
+
205
+ </td></tr>
206
+ <tr><td>
207
+
208
+ [pickNext(items)](./PseudoRandomGenerator.pickNext.md)
209
+
210
+ </td><td>
211
+
212
+
213
+
214
+ </td><td>
215
+
216
+ Generates a random item from the given array.
217
+
218
+ </td></tr>
219
+ <tr><td>
220
+
221
+ [pickSequential(params)](./PseudoRandomGenerator.pickSequential.md)
222
+
223
+ </td><td>
224
+
225
+
226
+
227
+ </td><td>
228
+
229
+ Generates a sequence of values by randomly selecting from the given candidates.
230
+
231
+ </td></tr>
232
+ <tr><td>
233
+
234
+ [pickRandom(params)](./PseudoRandomGenerator.pickRandom.md)
235
+
236
+ </td><td>
237
+
238
+
239
+
240
+ </td><td>
241
+
242
+ Generates a sequence of values by randomly selecting from the given candidates.
243
+
244
+ </td></tr>
245
+ <tr><td>
246
+
247
+ [pickSequence(params)](./PseudoRandomGenerator.pickSequence.md)
248
+
249
+ </td><td>
250
+
251
+
252
+
253
+ </td><td>
254
+
255
+ Generates a sequence of values by randomly selecting from the given candidates.
256
+
257
+ </td></tr>
258
+ </tbody></table>
@@ -0,0 +1,24 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [PseudoRandomGenerator](./PseudoRandomGenerator.md) > nextBoolean
2
+
3
+ ## PseudoRandomGenerator.nextBoolean() method
4
+
5
+ Generates a random boolean value.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ nextBoolean(trueProbability: number): boolean;
11
+ ```
12
+
13
+ **Parameters:**
14
+
15
+ <table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead>
16
+ <tbody>
17
+ <tr><td>trueProbability</td><td>number</td><td>The probability of returning true (default is 0.5).</td></tr>
18
+ </tbody></table>
19
+
20
+ **Returns:**
21
+
22
+ boolean
23
+
24
+ A random boolean value.
@@ -0,0 +1,17 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [PseudoRandomGenerator](./PseudoRandomGenerator.md) > nextFloat
2
+
3
+ ## PseudoRandomGenerator.nextFloat() method
4
+
5
+ Generates a random float between 0 and 1.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ nextFloat(): number;
11
+ ```
12
+
13
+ **Returns:**
14
+
15
+ number
16
+
17
+ A random float between 0 and 1.
@@ -0,0 +1,25 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [PseudoRandomGenerator](./PseudoRandomGenerator.md) > nextInRange
2
+
3
+ ## PseudoRandomGenerator.nextInRange() method
4
+
5
+ Generates a random integer between the specified minimum and maximum values.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ nextInRange(min: number | undefined, max: number | undefined): number;
11
+ ```
12
+
13
+ **Parameters:**
14
+
15
+ <table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead>
16
+ <tbody>
17
+ <tr><td>min</td><td>number | undefined</td><td>The minimum value (inclusive).</td></tr>
18
+ <tr><td>max</td><td>number | undefined</td><td>The maximum value (inclusive).</td></tr>
19
+ </tbody></table>
20
+
21
+ **Returns:**
22
+
23
+ number
24
+
25
+ A random integer between the specified minimum and maximum values.
@@ -0,0 +1,24 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [PseudoRandomGenerator](./PseudoRandomGenerator.md) > nextInt
2
+
3
+ ## PseudoRandomGenerator.nextInt() method
4
+
5
+ Generates a random integer between 0 and the specified maximum value.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ nextInt(max?: number): number;
11
+ ```
12
+
13
+ **Parameters:**
14
+
15
+ <table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead>
16
+ <tbody>
17
+ <tr><td>max</td><td>number</td><td>The maximum value (exclusive).</td></tr>
18
+ </tbody></table>
19
+
20
+ **Returns:**
21
+
22
+ number
23
+
24
+ A random integer between 0 and the specified maximum value.
@@ -0,0 +1,25 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [PseudoRandomGenerator](./PseudoRandomGenerator.md) > nextString
2
+
3
+ ## PseudoRandomGenerator.nextString() method
4
+
5
+ Generates a random string of the specified length using the given characters.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ nextString(length: number, chars: string): string;
11
+ ```
12
+
13
+ **Parameters:**
14
+
15
+ <table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead>
16
+ <tbody>
17
+ <tr><td>length</td><td>number</td><td>The length of the string to generate.</td></tr>
18
+ <tr><td>chars</td><td>string</td><td>The characters to use for the string (default is alphanumeric).</td></tr>
19
+ </tbody></table>
20
+
21
+ **Returns:**
22
+
23
+ string
24
+
25
+ A random string of the specified length.
@@ -0,0 +1,24 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [PseudoRandomGenerator](./PseudoRandomGenerator.md) > pickNext
2
+
3
+ ## PseudoRandomGenerator.pickNext() method
4
+
5
+ Generates a random item from the given array.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ pickNext(items?: readonly T[]): T | undefined;
11
+ ```
12
+
13
+ **Parameters:**
14
+
15
+ <table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead>
16
+ <tbody>
17
+ <tr><td>items</td><td>readonly T[]</td><td>The array to select from.</td></tr>
18
+ </tbody></table>
19
+
20
+ **Returns:**
21
+
22
+ T | undefined
23
+
24
+ A random item from the array or undefined if the array is empty.
@@ -0,0 +1,24 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [PseudoRandomGenerator](./PseudoRandomGenerator.md) > pickRandom
2
+
3
+ ## PseudoRandomGenerator.pickRandom() method
4
+
5
+ Generates a sequence of values by randomly selecting from the given candidates.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ pickRandom(params: IRandomSequencePickParams<T>): readonly T[];
11
+ ```
12
+
13
+ **Parameters:**
14
+
15
+ <table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead>
16
+ <tbody>
17
+ <tr><td>params</td><td>IRandomSequencePickParams&lt;T&gt;</td><td>The parameters for generating the sequence.</td></tr>
18
+ </tbody></table>
19
+
20
+ **Returns:**
21
+
22
+ readonly T[]
23
+
24
+ A sequence of values.
@@ -0,0 +1,24 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [PseudoRandomGenerator](./PseudoRandomGenerator.md) > pickSequence
2
+
3
+ ## PseudoRandomGenerator.pickSequence() method
4
+
5
+ Generates a sequence of values by randomly selecting from the given candidates.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ pickSequence(params: SequencePickParams<T>): readonly T[];
11
+ ```
12
+
13
+ **Parameters:**
14
+
15
+ <table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead>
16
+ <tbody>
17
+ <tr><td>params</td><td>SequencePickParams&lt;T&gt;</td><td>The parameters for generating the sequence.</td></tr>
18
+ </tbody></table>
19
+
20
+ **Returns:**
21
+
22
+ readonly T[]
23
+
24
+ A sequence of values.
@@ -0,0 +1,24 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [PseudoRandomGenerator](./PseudoRandomGenerator.md) > pickSequential
2
+
3
+ ## PseudoRandomGenerator.pickSequential() method
4
+
5
+ Generates a sequence of values by randomly selecting from the given candidates.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ pickSequential(params: ISequentialPickParams<T>): readonly T[];
11
+ ```
12
+
13
+ **Parameters:**
14
+
15
+ <table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead>
16
+ <tbody>
17
+ <tr><td>params</td><td>ISequentialPickParams&lt;T&gt;</td><td>The parameters for generating the sequence.</td></tr>
18
+ </tbody></table>
19
+
20
+ **Returns:**
21
+
22
+ readonly T[]
23
+
24
+ A sequence of values.
@@ -0,0 +1,11 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [PseudoRandomGenerator](./PseudoRandomGenerator.md) > rng
2
+
3
+ ## PseudoRandomGenerator.rng property
4
+
5
+ The underlying random number generator.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ readonly rng: SeededRandomSource;
11
+ ```
@@ -0,0 +1,24 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [PseudoRandomGenerator](./PseudoRandomGenerator.md) > setGlobalRng
2
+
3
+ ## PseudoRandomGenerator.setGlobalRng() method
4
+
5
+ Sets this generator as the global random number generator.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ static setGlobalRng(rng?: PseudoRandomGenerator): PseudoRandomGenerator | undefined;
11
+ ```
12
+
13
+ **Parameters:**
14
+
15
+ <table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead>
16
+ <tbody>
17
+ <tr><td>rng</td><td>PseudoRandomGenerator</td><td></td></tr>
18
+ </tbody></table>
19
+
20
+ **Returns:**
21
+
22
+ [PseudoRandomGenerator](../../classes/PseudoRandomGenerator.md) | undefined
23
+
24
+ A result containing this generator or an error.
@@ -0,0 +1,17 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [SeededRandomSource](./SeededRandomSource.md) > clone
2
+
3
+ ## SeededRandomSource.clone() method
4
+
5
+ Creates a clone of this random source.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ clone(): SeededRandomSource;
11
+ ```
12
+
13
+ **Returns:**
14
+
15
+ [SeededRandomSource](../../classes/SeededRandomSource.md)
16
+
17
+ A new seeded random source with the same state.
@@ -0,0 +1,11 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [SeededRandomSource](./SeededRandomSource.md) > counter
2
+
3
+ ## SeededRandomSource.counter property
4
+
5
+ Gets the current counter value.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ readonly counter: number;
11
+ ```
@@ -0,0 +1,24 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [SeededRandomSource](./SeededRandomSource.md) > create
2
+
3
+ ## SeededRandomSource.create() method
4
+
5
+ Creates a new seeded random source from an optional seed.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ static create(seed?: string | number): Result<SeededRandomSource>;
11
+ ```
12
+
13
+ **Parameters:**
14
+
15
+ <table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead>
16
+ <tbody>
17
+ <tr><td>seed</td><td>string | number</td><td>The optional seed value.</td></tr>
18
+ </tbody></table>
19
+
20
+ **Returns:**
21
+
22
+ Result&lt;[SeededRandomSource](../../classes/SeededRandomSource.md)&gt;
23
+
24
+ A new seeded random source.
@@ -0,0 +1,24 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [SeededRandomSource](./SeededRandomSource.md) > createChild
2
+
3
+ ## SeededRandomSource.createChild() method
4
+
5
+ Creates a child random source with a label.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ createChild(label: string): SeededRandomSource;
11
+ ```
12
+
13
+ **Parameters:**
14
+
15
+ <table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead>
16
+ <tbody>
17
+ <tr><td>label</td><td>string</td><td>The label for the child.</td></tr>
18
+ </tbody></table>
19
+
20
+ **Returns:**
21
+
22
+ [SeededRandomSource](../../classes/SeededRandomSource.md)
23
+
24
+ A new seeded random source with a hashed state and label.
@@ -0,0 +1,24 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [SeededRandomSource](./SeededRandomSource.md) > hashSeed
2
+
3
+ ## SeededRandomSource.hashSeed() method
4
+
5
+ Hashes a seed value.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ static hashSeed(seed: string | number): ISeedPair;
11
+ ```
12
+
13
+ **Parameters:**
14
+
15
+ <table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead>
16
+ <tbody>
17
+ <tr><td>seed</td><td>string | number</td><td>The seed value.</td></tr>
18
+ </tbody></table>
19
+
20
+ **Returns:**
21
+
22
+ [ISeedPair](../../interfaces/ISeedPair.md)
23
+
24
+ A hashed seed value.
@@ -0,0 +1,25 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [SeededRandomSource](./SeededRandomSource.md) > hashStateAndLabel
2
+
3
+ ## SeededRandomSource.hashStateAndLabel() method
4
+
5
+ Hashes a state and label.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ static hashStateAndLabel(state: number, label: string): ISeedPair;
11
+ ```
12
+
13
+ **Parameters:**
14
+
15
+ <table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead>
16
+ <tbody>
17
+ <tr><td>state</td><td>number</td><td>The state value.</td></tr>
18
+ <tr><td>label</td><td>string</td><td>The label value.</td></tr>
19
+ </tbody></table>
20
+
21
+ **Returns:**
22
+
23
+ [ISeedPair](../../interfaces/ISeedPair.md)
24
+
25
+ A hashed state and label value.
@@ -0,0 +1,9 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [SeededRandomSource](./SeededRandomSource.md) > lineage
2
+
3
+ ## SeededRandomSource.lineage property
4
+
5
+ **Signature:**
6
+
7
+ ```typescript
8
+ readonly lineage: readonly string[];
9
+ ```