@fgv/ts-random 5.1.0-10

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 (371) hide show
  1. package/.rush/temp/c2ad0e42263413fe491d7e8bda8971b52b833952.tar.log +121 -0
  2. package/.rush/temp/chunked-rush-logs/ts-random.build.chunks.jsonl +6 -0
  3. package/.rush/temp/operation/build/all.log +6 -0
  4. package/.rush/temp/operation/build/log-chunks.jsonl +6 -0
  5. package/.rush/temp/operation/build/state.json +3 -0
  6. package/.rush/temp/shrinkwrap-deps.json +610 -0
  7. package/config/jest.config.json +13 -0
  8. package/config/rig.json +4 -0
  9. package/config/typedoc.json +7 -0
  10. package/dist/generator/generators.js +207 -0
  11. package/dist/generator/generators.js.map +1 -0
  12. package/dist/generator/index.js +22 -0
  13. package/dist/generator/index.js.map +1 -0
  14. package/dist/generator/randomSource.js +141 -0
  15. package/dist/generator/randomSource.js.map +1 -0
  16. package/dist/generator-data/charClasses.js +95 -0
  17. package/dist/generator-data/charClasses.js.map +1 -0
  18. package/dist/generator-data/index.js +22 -0
  19. package/dist/generator-data/index.js.map +1 -0
  20. package/dist/generator-data/words/adjectives.js +247 -0
  21. package/dist/generator-data/words/adjectives.js.map +1 -0
  22. package/dist/generator-data/words/animals.js +75 -0
  23. package/dist/generator-data/words/animals.js.map +1 -0
  24. package/dist/generator-data/words/cities.js +229 -0
  25. package/dist/generator-data/words/cities.js.map +1 -0
  26. package/dist/generator-data/words/colors.js +56 -0
  27. package/dist/generator-data/words/colors.js.map +1 -0
  28. package/dist/generator-data/words/countries.js +217 -0
  29. package/dist/generator-data/words/countries.js.map +1 -0
  30. package/dist/generator-data/words/domains.js +47 -0
  31. package/dist/generator-data/words/domains.js.map +1 -0
  32. package/dist/generator-data/words/gerunds.js +126 -0
  33. package/dist/generator-data/words/gerunds.js.map +1 -0
  34. package/dist/generator-data/words/index.js +29 -0
  35. package/dist/generator-data/words/index.js.map +1 -0
  36. package/dist/generator-data/words/jobs.js +175 -0
  37. package/dist/generator-data/words/jobs.js.map +1 -0
  38. package/dist/generator-data/words/names.js +714 -0
  39. package/dist/generator-data/words/names.js.map +1 -0
  40. package/dist/index.js +7 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/test/unit/generators.test.js +596 -0
  43. package/dist/test/unit/generators.test.js.map +1 -0
  44. package/dist/test/unit/randomSource.test.js +452 -0
  45. package/dist/test/unit/randomSource.test.js.map +1 -0
  46. package/docs/Chars/README.md +152 -0
  47. package/docs/Chars/variables/all.md +9 -0
  48. package/docs/Chars/variables/alphanumeric.md +9 -0
  49. package/docs/Chars/variables/base64.md +9 -0
  50. package/docs/Chars/variables/base64Url.md +9 -0
  51. package/docs/Chars/variables/base64UrlNoPadding.md +9 -0
  52. package/docs/Chars/variables/digits.md +9 -0
  53. package/docs/Chars/variables/hex.md +9 -0
  54. package/docs/Chars/variables/hexDigits.md +9 -0
  55. package/docs/Chars/variables/hexDigitsUpper.md +9 -0
  56. package/docs/Chars/variables/letters.md +9 -0
  57. package/docs/Chars/variables/lowerCase.md +9 -0
  58. package/docs/Chars/variables/printable.md +9 -0
  59. package/docs/Chars/variables/symbols.md +9 -0
  60. package/docs/Chars/variables/upperCase.md +9 -0
  61. package/docs/Chars/variables/whitespace.md +9 -0
  62. package/docs/Generator/README.md +153 -0
  63. package/docs/Generator/classes/PseudoRandomGenerator.clone.md +17 -0
  64. package/docs/Generator/classes/PseudoRandomGenerator.create.md +24 -0
  65. package/docs/Generator/classes/PseudoRandomGenerator.createChild.md +24 -0
  66. package/docs/Generator/classes/PseudoRandomGenerator.ensureRng.md +25 -0
  67. package/docs/Generator/classes/PseudoRandomGenerator.getGlobalRng.md +17 -0
  68. package/docs/Generator/classes/PseudoRandomGenerator.md +258 -0
  69. package/docs/Generator/classes/PseudoRandomGenerator.nextBoolean.md +24 -0
  70. package/docs/Generator/classes/PseudoRandomGenerator.nextFloat.md +17 -0
  71. package/docs/Generator/classes/PseudoRandomGenerator.nextInRange.md +25 -0
  72. package/docs/Generator/classes/PseudoRandomGenerator.nextInt.md +24 -0
  73. package/docs/Generator/classes/PseudoRandomGenerator.nextString.md +25 -0
  74. package/docs/Generator/classes/PseudoRandomGenerator.pickNext.md +24 -0
  75. package/docs/Generator/classes/PseudoRandomGenerator.pickRandom.md +24 -0
  76. package/docs/Generator/classes/PseudoRandomGenerator.pickSequence.md +24 -0
  77. package/docs/Generator/classes/PseudoRandomGenerator.pickSequential.md +24 -0
  78. package/docs/Generator/classes/PseudoRandomGenerator.rng.md +11 -0
  79. package/docs/Generator/classes/PseudoRandomGenerator.setGlobalRng.md +24 -0
  80. package/docs/Generator/classes/SeededRandomSource.clone.md +17 -0
  81. package/docs/Generator/classes/SeededRandomSource.counter.md +11 -0
  82. package/docs/Generator/classes/SeededRandomSource.create.md +24 -0
  83. package/docs/Generator/classes/SeededRandomSource.createChild.md +24 -0
  84. package/docs/Generator/classes/SeededRandomSource.hashSeed.md +24 -0
  85. package/docs/Generator/classes/SeededRandomSource.hashStateAndLabel.md +25 -0
  86. package/docs/Generator/classes/SeededRandomSource.lineage.md +9 -0
  87. package/docs/Generator/classes/SeededRandomSource.md +187 -0
  88. package/docs/Generator/classes/SeededRandomSource.mulberryStep.md +24 -0
  89. package/docs/Generator/classes/SeededRandomSource.next.md +17 -0
  90. package/docs/Generator/classes/SeededRandomSource.seed.md +9 -0
  91. package/docs/Generator/interfaces/INextResult.md +61 -0
  92. package/docs/Generator/interfaces/INextResult.nextState.md +9 -0
  93. package/docs/Generator/interfaces/INextResult.value.md +9 -0
  94. package/docs/Generator/interfaces/IPseudoRandomGeneratorCreateParams.global.md +9 -0
  95. package/docs/Generator/interfaces/IPseudoRandomGeneratorCreateParams.md +78 -0
  96. package/docs/Generator/interfaces/IPseudoRandomGeneratorCreateParams.seed.md +9 -0
  97. package/docs/Generator/interfaces/IPseudoRandomGeneratorCreateParams.step.md +9 -0
  98. package/docs/Generator/interfaces/IRandomSequencePickParams.candidates.md +9 -0
  99. package/docs/Generator/interfaces/IRandomSequencePickParams.count.md +9 -0
  100. package/docs/Generator/interfaces/IRandomSequencePickParams.how.md +9 -0
  101. package/docs/Generator/interfaces/IRandomSequencePickParams.md +79 -0
  102. package/docs/Generator/interfaces/ISeedPair.md +61 -0
  103. package/docs/Generator/interfaces/ISeedPair.seed.md +9 -0
  104. package/docs/Generator/interfaces/ISeedPair.state.md +9 -0
  105. package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.counter.md +9 -0
  106. package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.lineage.md +9 -0
  107. package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.md +112 -0
  108. package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.seed.md +9 -0
  109. package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.state.md +9 -0
  110. package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.step.md +9 -0
  111. package/docs/Generator/interfaces/ISeededRandomSourceCreateParams.md +61 -0
  112. package/docs/Generator/interfaces/ISeededRandomSourceCreateParams.seed.md +9 -0
  113. package/docs/Generator/interfaces/ISeededRandomSourceCreateParams.step.md +9 -0
  114. package/docs/Generator/interfaces/ISequentialPickParams.candidates.md +9 -0
  115. package/docs/Generator/interfaces/ISequentialPickParams.count.md +9 -0
  116. package/docs/Generator/interfaces/ISequentialPickParams.how.md +9 -0
  117. package/docs/Generator/interfaces/ISequentialPickParams.md +79 -0
  118. package/docs/Generator/type-aliases/GeneratorGlobalThis.md +11 -0
  119. package/docs/Generator/type-aliases/RandomStepFunction.md +11 -0
  120. package/docs/Generator/type-aliases/SequencePickParams.md +11 -0
  121. package/docs/GeneratorData/Chars/README.md +152 -0
  122. package/docs/GeneratorData/Chars/variables/all.md +9 -0
  123. package/docs/GeneratorData/Chars/variables/alphanumeric.md +9 -0
  124. package/docs/GeneratorData/Chars/variables/base64.md +9 -0
  125. package/docs/GeneratorData/Chars/variables/base64Url.md +9 -0
  126. package/docs/GeneratorData/Chars/variables/base64UrlNoPadding.md +9 -0
  127. package/docs/GeneratorData/Chars/variables/digits.md +9 -0
  128. package/docs/GeneratorData/Chars/variables/hex.md +9 -0
  129. package/docs/GeneratorData/Chars/variables/hexDigits.md +9 -0
  130. package/docs/GeneratorData/Chars/variables/hexDigitsUpper.md +9 -0
  131. package/docs/GeneratorData/Chars/variables/letters.md +9 -0
  132. package/docs/GeneratorData/Chars/variables/lowerCase.md +9 -0
  133. package/docs/GeneratorData/Chars/variables/printable.md +9 -0
  134. package/docs/GeneratorData/Chars/variables/symbols.md +9 -0
  135. package/docs/GeneratorData/Chars/variables/upperCase.md +9 -0
  136. package/docs/GeneratorData/Chars/variables/whitespace.md +9 -0
  137. package/docs/GeneratorData/README.md +35 -0
  138. package/docs/GeneratorData/Words/README.md +125 -0
  139. package/docs/GeneratorData/Words/variables/Adjectives.md +7 -0
  140. package/docs/GeneratorData/Words/variables/Animals.md +7 -0
  141. package/docs/GeneratorData/Words/variables/Cities.md +7 -0
  142. package/docs/GeneratorData/Words/variables/Colors.md +7 -0
  143. package/docs/GeneratorData/Words/variables/Countries.md +7 -0
  144. package/docs/GeneratorData/Words/variables/Domains.md +7 -0
  145. package/docs/GeneratorData/Words/variables/FamilyNames.md +9 -0
  146. package/docs/GeneratorData/Words/variables/FirstNames.md +9 -0
  147. package/docs/GeneratorData/Words/variables/FirstNamesFemale.md +9 -0
  148. package/docs/GeneratorData/Words/variables/FirstNamesMale.md +9 -0
  149. package/docs/GeneratorData/Words/variables/Gerunds.md +7 -0
  150. package/docs/GeneratorData/Words/variables/jobs.md +7 -0
  151. package/docs/GeneratorData/variables/Adjectives.md +7 -0
  152. package/docs/GeneratorData/variables/Animals.md +7 -0
  153. package/docs/GeneratorData/variables/Cities.md +7 -0
  154. package/docs/GeneratorData/variables/Colors.md +7 -0
  155. package/docs/GeneratorData/variables/Countries.md +7 -0
  156. package/docs/GeneratorData/variables/Domains.md +7 -0
  157. package/docs/GeneratorData/variables/FamilyNames.md +9 -0
  158. package/docs/GeneratorData/variables/FirstNames.md +9 -0
  159. package/docs/GeneratorData/variables/FirstNamesFemale.md +9 -0
  160. package/docs/GeneratorData/variables/FirstNamesMale.md +9 -0
  161. package/docs/GeneratorData/variables/Gerunds.md +7 -0
  162. package/docs/GeneratorData/variables/all.md +9 -0
  163. package/docs/GeneratorData/variables/alphanumeric.md +9 -0
  164. package/docs/GeneratorData/variables/base64.md +9 -0
  165. package/docs/GeneratorData/variables/base64Url.md +9 -0
  166. package/docs/GeneratorData/variables/base64UrlNoPadding.md +9 -0
  167. package/docs/GeneratorData/variables/digits.md +9 -0
  168. package/docs/GeneratorData/variables/hex.md +9 -0
  169. package/docs/GeneratorData/variables/hexDigits.md +9 -0
  170. package/docs/GeneratorData/variables/hexDigitsUpper.md +9 -0
  171. package/docs/GeneratorData/variables/jobs.md +7 -0
  172. package/docs/GeneratorData/variables/letters.md +9 -0
  173. package/docs/GeneratorData/variables/lowerCase.md +9 -0
  174. package/docs/GeneratorData/variables/printable.md +9 -0
  175. package/docs/GeneratorData/variables/symbols.md +9 -0
  176. package/docs/GeneratorData/variables/upperCase.md +9 -0
  177. package/docs/GeneratorData/variables/whitespace.md +9 -0
  178. package/docs/README.md +35 -0
  179. package/docs/Words/README.md +125 -0
  180. package/docs/Words/variables/Adjectives.md +7 -0
  181. package/docs/Words/variables/Animals.md +7 -0
  182. package/docs/Words/variables/Cities.md +7 -0
  183. package/docs/Words/variables/Colors.md +7 -0
  184. package/docs/Words/variables/Countries.md +7 -0
  185. package/docs/Words/variables/Domains.md +7 -0
  186. package/docs/Words/variables/FamilyNames.md +9 -0
  187. package/docs/Words/variables/FirstNames.md +9 -0
  188. package/docs/Words/variables/FirstNamesFemale.md +9 -0
  189. package/docs/Words/variables/FirstNamesMale.md +9 -0
  190. package/docs/Words/variables/Gerunds.md +7 -0
  191. package/docs/Words/variables/jobs.md +7 -0
  192. package/docs/classes/PseudoRandomGenerator.clone.md +17 -0
  193. package/docs/classes/PseudoRandomGenerator.create.md +24 -0
  194. package/docs/classes/PseudoRandomGenerator.createChild.md +24 -0
  195. package/docs/classes/PseudoRandomGenerator.ensureRng.md +25 -0
  196. package/docs/classes/PseudoRandomGenerator.getGlobalRng.md +17 -0
  197. package/docs/classes/PseudoRandomGenerator.md +258 -0
  198. package/docs/classes/PseudoRandomGenerator.nextBoolean.md +24 -0
  199. package/docs/classes/PseudoRandomGenerator.nextFloat.md +17 -0
  200. package/docs/classes/PseudoRandomGenerator.nextInRange.md +25 -0
  201. package/docs/classes/PseudoRandomGenerator.nextInt.md +24 -0
  202. package/docs/classes/PseudoRandomGenerator.nextString.md +25 -0
  203. package/docs/classes/PseudoRandomGenerator.pickNext.md +24 -0
  204. package/docs/classes/PseudoRandomGenerator.pickRandom.md +24 -0
  205. package/docs/classes/PseudoRandomGenerator.pickSequence.md +24 -0
  206. package/docs/classes/PseudoRandomGenerator.pickSequential.md +24 -0
  207. package/docs/classes/PseudoRandomGenerator.rng.md +11 -0
  208. package/docs/classes/PseudoRandomGenerator.setGlobalRng.md +24 -0
  209. package/docs/classes/SeededRandomSource.clone.md +17 -0
  210. package/docs/classes/SeededRandomSource.counter.md +11 -0
  211. package/docs/classes/SeededRandomSource.create.md +24 -0
  212. package/docs/classes/SeededRandomSource.createChild.md +24 -0
  213. package/docs/classes/SeededRandomSource.hashSeed.md +24 -0
  214. package/docs/classes/SeededRandomSource.hashStateAndLabel.md +25 -0
  215. package/docs/classes/SeededRandomSource.lineage.md +9 -0
  216. package/docs/classes/SeededRandomSource.md +187 -0
  217. package/docs/classes/SeededRandomSource.mulberryStep.md +24 -0
  218. package/docs/classes/SeededRandomSource.next.md +17 -0
  219. package/docs/classes/SeededRandomSource.seed.md +9 -0
  220. package/docs/interfaces/INextResult.md +61 -0
  221. package/docs/interfaces/INextResult.nextState.md +9 -0
  222. package/docs/interfaces/INextResult.value.md +9 -0
  223. package/docs/interfaces/IPseudoRandomGeneratorCreateParams.global.md +9 -0
  224. package/docs/interfaces/IPseudoRandomGeneratorCreateParams.md +78 -0
  225. package/docs/interfaces/IPseudoRandomGeneratorCreateParams.seed.md +9 -0
  226. package/docs/interfaces/IPseudoRandomGeneratorCreateParams.step.md +9 -0
  227. package/docs/interfaces/IRandomSequencePickParams.candidates.md +9 -0
  228. package/docs/interfaces/IRandomSequencePickParams.count.md +9 -0
  229. package/docs/interfaces/IRandomSequencePickParams.how.md +9 -0
  230. package/docs/interfaces/IRandomSequencePickParams.md +79 -0
  231. package/docs/interfaces/ISeedPair.md +61 -0
  232. package/docs/interfaces/ISeedPair.seed.md +9 -0
  233. package/docs/interfaces/ISeedPair.state.md +9 -0
  234. package/docs/interfaces/ISeededRandomSourceConstructorParams.counter.md +9 -0
  235. package/docs/interfaces/ISeededRandomSourceConstructorParams.lineage.md +9 -0
  236. package/docs/interfaces/ISeededRandomSourceConstructorParams.md +112 -0
  237. package/docs/interfaces/ISeededRandomSourceConstructorParams.seed.md +9 -0
  238. package/docs/interfaces/ISeededRandomSourceConstructorParams.state.md +9 -0
  239. package/docs/interfaces/ISeededRandomSourceConstructorParams.step.md +9 -0
  240. package/docs/interfaces/ISeededRandomSourceCreateParams.md +61 -0
  241. package/docs/interfaces/ISeededRandomSourceCreateParams.seed.md +9 -0
  242. package/docs/interfaces/ISeededRandomSourceCreateParams.step.md +9 -0
  243. package/docs/interfaces/ISequentialPickParams.candidates.md +9 -0
  244. package/docs/interfaces/ISequentialPickParams.count.md +9 -0
  245. package/docs/interfaces/ISequentialPickParams.how.md +9 -0
  246. package/docs/interfaces/ISequentialPickParams.md +79 -0
  247. package/docs/type-aliases/GeneratorGlobalThis.md +11 -0
  248. package/docs/type-aliases/RandomStepFunction.md +11 -0
  249. package/docs/type-aliases/SequencePickParams.md +11 -0
  250. package/docs/variables/Adjectives.md +7 -0
  251. package/docs/variables/Animals.md +7 -0
  252. package/docs/variables/Cities.md +7 -0
  253. package/docs/variables/Colors.md +7 -0
  254. package/docs/variables/Countries.md +7 -0
  255. package/docs/variables/Domains.md +7 -0
  256. package/docs/variables/FamilyNames.md +9 -0
  257. package/docs/variables/FirstNames.md +9 -0
  258. package/docs/variables/FirstNamesFemale.md +9 -0
  259. package/docs/variables/FirstNamesMale.md +9 -0
  260. package/docs/variables/Gerunds.md +7 -0
  261. package/docs/variables/all.md +9 -0
  262. package/docs/variables/alphanumeric.md +9 -0
  263. package/docs/variables/base64.md +9 -0
  264. package/docs/variables/base64Url.md +9 -0
  265. package/docs/variables/base64UrlNoPadding.md +9 -0
  266. package/docs/variables/digits.md +9 -0
  267. package/docs/variables/hex.md +9 -0
  268. package/docs/variables/hexDigits.md +9 -0
  269. package/docs/variables/hexDigitsUpper.md +9 -0
  270. package/docs/variables/jobs.md +7 -0
  271. package/docs/variables/letters.md +9 -0
  272. package/docs/variables/lowerCase.md +9 -0
  273. package/docs/variables/printable.md +9 -0
  274. package/docs/variables/symbols.md +9 -0
  275. package/docs/variables/upperCase.md +9 -0
  276. package/docs/variables/whitespace.md +9 -0
  277. package/lib/generator/generators.d.ts +142 -0
  278. package/lib/generator/generators.d.ts.map +1 -0
  279. package/lib/generator/generators.js +211 -0
  280. package/lib/generator/generators.js.map +1 -0
  281. package/lib/generator/index.d.ts +3 -0
  282. package/lib/generator/index.d.ts.map +1 -0
  283. package/lib/generator/index.js +38 -0
  284. package/lib/generator/index.js.map +1 -0
  285. package/lib/generator/randomSource.d.ts +115 -0
  286. package/lib/generator/randomSource.d.ts.map +1 -0
  287. package/lib/generator/randomSource.js +145 -0
  288. package/lib/generator/randomSource.js.map +1 -0
  289. package/lib/generator-data/charClasses.d.ts +76 -0
  290. package/lib/generator-data/charClasses.d.ts.map +1 -0
  291. package/lib/generator-data/charClasses.js +98 -0
  292. package/lib/generator-data/charClasses.js.map +1 -0
  293. package/lib/generator-data/index.d.ts +3 -0
  294. package/lib/generator-data/index.d.ts.map +1 -0
  295. package/lib/generator-data/index.js +58 -0
  296. package/lib/generator-data/index.js.map +1 -0
  297. package/lib/generator-data/words/adjectives.d.ts +2 -0
  298. package/lib/generator-data/words/adjectives.d.ts.map +1 -0
  299. package/lib/generator-data/words/adjectives.js +250 -0
  300. package/lib/generator-data/words/adjectives.js.map +1 -0
  301. package/lib/generator-data/words/animals.d.ts +2 -0
  302. package/lib/generator-data/words/animals.d.ts.map +1 -0
  303. package/lib/generator-data/words/animals.js +78 -0
  304. package/lib/generator-data/words/animals.js.map +1 -0
  305. package/lib/generator-data/words/cities.d.ts +2 -0
  306. package/lib/generator-data/words/cities.d.ts.map +1 -0
  307. package/lib/generator-data/words/cities.js +232 -0
  308. package/lib/generator-data/words/cities.js.map +1 -0
  309. package/lib/generator-data/words/colors.d.ts +2 -0
  310. package/lib/generator-data/words/colors.d.ts.map +1 -0
  311. package/lib/generator-data/words/colors.js +59 -0
  312. package/lib/generator-data/words/colors.js.map +1 -0
  313. package/lib/generator-data/words/countries.d.ts +2 -0
  314. package/lib/generator-data/words/countries.d.ts.map +1 -0
  315. package/lib/generator-data/words/countries.js +220 -0
  316. package/lib/generator-data/words/countries.js.map +1 -0
  317. package/lib/generator-data/words/domains.d.ts +2 -0
  318. package/lib/generator-data/words/domains.d.ts.map +1 -0
  319. package/lib/generator-data/words/domains.js +50 -0
  320. package/lib/generator-data/words/domains.js.map +1 -0
  321. package/lib/generator-data/words/gerunds.d.ts +2 -0
  322. package/lib/generator-data/words/gerunds.d.ts.map +1 -0
  323. package/lib/generator-data/words/gerunds.js +129 -0
  324. package/lib/generator-data/words/gerunds.js.map +1 -0
  325. package/lib/generator-data/words/index.d.ts +10 -0
  326. package/lib/generator-data/words/index.d.ts.map +1 -0
  327. package/lib/generator-data/words/index.js +45 -0
  328. package/lib/generator-data/words/index.js.map +1 -0
  329. package/lib/generator-data/words/jobs.d.ts +2 -0
  330. package/lib/generator-data/words/jobs.d.ts.map +1 -0
  331. package/lib/generator-data/words/jobs.js +178 -0
  332. package/lib/generator-data/words/jobs.js.map +1 -0
  333. package/lib/generator-data/words/names.d.ts +21 -0
  334. package/lib/generator-data/words/names.d.ts.map +1 -0
  335. package/lib/generator-data/words/names.js +717 -0
  336. package/lib/generator-data/words/names.js.map +1 -0
  337. package/lib/index.d.ts +7 -0
  338. package/lib/index.d.ts.map +1 -0
  339. package/lib/index.js +43 -0
  340. package/lib/index.js.map +1 -0
  341. package/lib/test/unit/generators.test.d.ts +2 -0
  342. package/lib/test/unit/generators.test.d.ts.map +1 -0
  343. package/lib/test/unit/generators.test.js +598 -0
  344. package/lib/test/unit/generators.test.js.map +1 -0
  345. package/lib/test/unit/randomSource.test.d.ts +2 -0
  346. package/lib/test/unit/randomSource.test.d.ts.map +1 -0
  347. package/lib/test/unit/randomSource.test.js +454 -0
  348. package/lib/test/unit/randomSource.test.js.map +1 -0
  349. package/package.json +49 -0
  350. package/rush-logs/ts-random.build.cache.log +3 -0
  351. package/rush-logs/ts-random.build.log +6 -0
  352. package/src/generator/generators.ts +273 -0
  353. package/src/generator/index.ts +22 -0
  354. package/src/generator/randomSource.ts +224 -0
  355. package/src/generator-data/charClasses.ts +95 -0
  356. package/src/generator-data/index.ts +22 -0
  357. package/src/generator-data/words/adjectives.ts +247 -0
  358. package/src/generator-data/words/animals.ts +75 -0
  359. package/src/generator-data/words/cities.ts +229 -0
  360. package/src/generator-data/words/colors.ts +56 -0
  361. package/src/generator-data/words/countries.ts +217 -0
  362. package/src/generator-data/words/domains.ts +47 -0
  363. package/src/generator-data/words/gerunds.ts +126 -0
  364. package/src/generator-data/words/index.ts +29 -0
  365. package/src/generator-data/words/jobs.ts +175 -0
  366. package/src/generator-data/words/names.ts +717 -0
  367. package/src/index.ts +7 -0
  368. package/src/test/unit/generators.test.ts +697 -0
  369. package/src/test/unit/randomSource.test.ts +526 -0
  370. package/temp/build/typescript/ts_8nwakTlr.json +1 -0
  371. package/tsconfig.json +7 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"randomSource.test.js","sourceRoot":"","sources":["../../../src/test/unit/randomSource.test.ts"],"names":[],"mappings":"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","sourcesContent":["import '@fgv/ts-utils-jest';\n\nimport { RandomStepFunction, SeededRandomSource } from '../../generator';\n\n/**\n * A passthrough step function useful for testing: returns the state as the value\n * and increments the state by 1 each step, making sequences predictable.\n */\nconst passthroughStep: RandomStepFunction = (state: number) => {\n return {\n value: state,\n nextState: state + 1\n };\n};\n\nfunction createSource(seed: number | string): SeededRandomSource {\n return SeededRandomSource.create(seed).orThrow();\n}\n\nfunction readValues(source: SeededRandomSource, count: number): number[] {\n const values: number[] = [];\n for (let index = 0; index < count; index += 1) {\n values.push(source.next());\n }\n return values;\n}\n\ndescribe('SeededRandomSource', () => {\n describe('create', () => {\n test('succeeds with a numeric seed', () => {\n expect(SeededRandomSource.create(42)).toSucceedAndSatisfy((source) => {\n expect(source.seed).toBe('42');\n expect(source.counter).toBe(0);\n expect(source.lineage).toEqual([]);\n });\n });\n\n test('succeeds with a string seed', () => {\n expect(SeededRandomSource.create('hello')).toSucceedAndSatisfy((source) => {\n expect(source.seed).toBe('hello');\n expect(source.counter).toBe(0);\n expect(source.lineage).toEqual([]);\n });\n });\n\n test('succeeds with no seed using Date.now as fallback', () => {\n const nowSpy = jest.spyOn(Date, 'now').mockReturnValue(999);\n try {\n expect(SeededRandomSource.create()).toSucceedAndSatisfy((source) => {\n expect(source.seed).toBe('999');\n expect(source.counter).toBe(0);\n });\n } finally {\n nowSpy.mockRestore();\n }\n });\n\n test('unseeded sources created at different times produce different sequences', () => {\n const nowSpy = jest.spyOn(Date, 'now');\n nowSpy.mockReturnValueOnce(100);\n nowSpy.mockReturnValueOnce(200);\n try {\n const first = SeededRandomSource.create().orThrow();\n const second = SeededRandomSource.create().orThrow();\n expect(readValues(first, 4)).not.toEqual(readValues(second, 4));\n } finally {\n nowSpy.mockRestore();\n }\n });\n\n test('object-form initialization behaves like primitive initialization', () => {\n const primitive = createSource(12345);\n const object = SeededRandomSource.create({ seed: 12345 }).orThrow();\n expect(readValues(primitive, 4)).toEqual(readValues(object, 4));\n });\n\n test('object-form with custom step function uses that step', () => {\n expect(SeededRandomSource.create({ seed: 10, step: passthroughStep })).toSucceedAndSatisfy((source) => {\n expect(source.next()).toBe(10);\n expect(source.next()).toBe(11);\n expect(source.next()).toBe(12);\n });\n });\n\n test('object-form without seed falls back to Date.now', () => {\n const nowSpy = jest.spyOn(Date, 'now').mockReturnValue(555);\n try {\n expect(SeededRandomSource.create({ step: passthroughStep })).toSucceedAndSatisfy((source) => {\n expect(source.seed).toBe('555');\n expect(source.next()).toBe(555);\n });\n } finally {\n nowSpy.mockRestore();\n }\n });\n });\n\n describe('deterministic sequences', () => {\n test('same seed always produces the same sequence', () => {\n const first = createSource('deterministic');\n const second = createSource('deterministic');\n expect(readValues(first, 10)).toEqual(readValues(second, 10));\n });\n\n test('numeric and string forms of the same seed produce identical sequences', () => {\n const numeric = createSource(12345);\n const stringForm = createSource('12345');\n expect(readValues(numeric, 10)).toEqual(readValues(stringForm, 10));\n });\n\n test('different seeds produce different sequences', () => {\n const first = createSource('alpha');\n const second = createSource('beta');\n expect(readValues(first, 4)).not.toEqual(readValues(second, 4));\n });\n });\n\n describe('next', () => {\n test('counter increments with each call', () => {\n const source = createSource(1);\n expect(source.counter).toBe(0);\n source.next();\n expect(source.counter).toBe(1);\n source.next();\n source.next();\n expect(source.counter).toBe(3);\n });\n\n test('returns values in [0, 1) range over many iterations', () => {\n const source = createSource(42);\n for (let i = 0; i < 1000; i++) {\n const value = source.next();\n expect(value).toBeGreaterThanOrEqual(0);\n expect(value).toBeLessThan(1);\n }\n });\n\n test('sequence does not degenerate to constant values', () => {\n const source = createSource(42);\n const values = readValues(source, 100);\n const unique = new Set(values);\n // With 100 values from a proper PRNG, we expect many unique values\n expect(unique.size).toBeGreaterThan(90);\n });\n });\n\n describe('clone', () => {\n test('clone produces identical sequence from clone point', () => {\n const parent = createSource(7);\n parent.next();\n parent.next();\n\n const clone = parent.clone();\n expect(readValues(parent, 4)).toEqual(readValues(clone, 4));\n });\n\n test('clone preserves counter and lineage', () => {\n const parent = createSource(7);\n parent.next();\n parent.next();\n parent.next();\n\n const clone = parent.clone();\n expect(clone.counter).toBe(3);\n expect(clone.seed).toBe(parent.seed);\n expect(clone.lineage).toEqual(parent.lineage);\n });\n\n test('advancing clone does not affect parent', () => {\n const parent = createSource(7);\n parent.next();\n\n const clone = parent.clone();\n clone.next();\n clone.next();\n clone.next();\n\n // Parent should still be at counter 1 and produce its own next value\n expect(parent.counter).toBe(1);\n expect(clone.counter).toBe(4);\n\n // Parent's next value should differ from clone's (different positions)\n parent.next();\n clone.next();\n expect(parent.counter).toBe(2);\n expect(clone.counter).toBe(5);\n });\n\n test('clone of a child preserves child lineage', () => {\n const parent = createSource(7);\n parent.next();\n const child = parent.createChild('branch');\n child.next();\n child.next();\n\n const clone = child.clone();\n expect(clone.lineage).toEqual(['1:branch']);\n expect(clone.counter).toBe(2);\n expect(readValues(child, 4)).toEqual(readValues(clone, 4));\n });\n });\n\n describe('createChild', () => {\n test('child starts with counter at 0', () => {\n const parent = createSource(7);\n parent.next();\n parent.next();\n\n const child = parent.createChild('test');\n expect(child.counter).toBe(0);\n });\n\n test('child records lineage as counter:label', () => {\n const parent = createSource(7);\n parent.next();\n parent.next();\n parent.next();\n\n const child = parent.createChild('myLabel');\n expect(child.lineage).toEqual(['3:myLabel']);\n });\n\n test('grandchild accumulates lineage', () => {\n const parent = createSource(7);\n parent.next();\n parent.next();\n\n const child = parent.createChild('branch');\n child.next();\n\n const grandchild = child.createChild('leaf');\n expect(grandchild.lineage).toEqual(['2:branch', '1:leaf']);\n expect(grandchild.counter).toBe(0);\n });\n\n test('children with same label from same parent state are identical', () => {\n const parent1 = createSource(7);\n const parent2 = createSource(7);\n parent1.next();\n parent1.next();\n parent2.next();\n parent2.next();\n\n const child1 = parent1.createChild('same');\n const child2 = parent2.createChild('same');\n expect(readValues(child1, 10)).toEqual(readValues(child2, 10));\n });\n\n test('children with different labels produce different sequences', () => {\n const parent = createSource(7);\n parent.next();\n parent.next();\n\n const childA = parent.createChild('alpha');\n const childB = parent.createChild('beta');\n expect(readValues(childA, 4)).not.toEqual(readValues(childB, 4));\n });\n\n test('same label but different parent positions produce different children', () => {\n const early = createSource(7);\n const later = createSource(7);\n early.next();\n later.next();\n later.next();\n\n const earlyChild = early.createChild('shared');\n const laterChild = later.createChild('shared');\n expect(readValues(earlyChild, 4)).not.toEqual(readValues(laterChild, 4));\n });\n\n test('advancing child does not affect parent', () => {\n const parent = createSource(7);\n parent.next();\n parent.next();\n\n const child = parent.createChild('test');\n child.next();\n child.next();\n child.next();\n\n expect(parent.counter).toBe(2);\n expect(child.counter).toBe(3);\n });\n\n test('child uses same step function as parent', () => {\n const parent = SeededRandomSource.create({ seed: 10, step: passthroughStep }).orThrow();\n parent.next(); // advances state to 11\n\n const child = parent.createChild('x');\n // Child should use passthroughStep too. Its initial state comes from hashStateAndLabel\n // so value = hashed state, next call returns hashed state + 1\n const first = child.next();\n const second = child.next();\n expect(second - first).toBe(1); // passthroughStep increments by 1\n });\n\n test('child with empty label produces a valid source', () => {\n const parent = createSource(7);\n parent.next();\n\n const child = parent.createChild('');\n expect(child.lineage).toEqual(['1:']);\n expect(child.counter).toBe(0);\n // Should still produce valid numbers\n const value = child.next();\n expect(value).toBeGreaterThanOrEqual(0);\n expect(value).toBeLessThan(1);\n });\n });\n\n describe('hashSeed', () => {\n test('numeric input returns number as string seed and number as state', () => {\n const result = SeededRandomSource.hashSeed(42);\n expect(result).toEqual({ seed: '42', state: 42 });\n });\n\n test('numeric zero is handled correctly', () => {\n const result = SeededRandomSource.hashSeed(0);\n expect(result).toEqual({ seed: '0', state: 0 });\n });\n\n test('negative number is handled correctly', () => {\n const result = SeededRandomSource.hashSeed(-5);\n expect(result).toEqual({ seed: '-5', state: -5 });\n });\n\n test('string that parses as number uses numeric state', () => {\n const result = SeededRandomSource.hashSeed('123');\n expect(result).toEqual({ seed: '123', state: 123 });\n });\n\n test('string \"0\" parses as numeric zero', () => {\n const result = SeededRandomSource.hashSeed('0');\n expect(result).toEqual({ seed: '0', state: 0 });\n });\n\n test('non-numeric string is hashed to a state', () => {\n const result = SeededRandomSource.hashSeed('hello');\n expect(result.seed).toBe('hello');\n expect(typeof result.state).toBe('number');\n expect(result.state).toBeGreaterThanOrEqual(0);\n });\n\n test('same non-numeric string always produces same hash', () => {\n const first = SeededRandomSource.hashSeed('test-seed');\n const second = SeededRandomSource.hashSeed('test-seed');\n expect(first).toEqual(second);\n });\n\n test('different non-numeric strings produce different hashes', () => {\n const a = SeededRandomSource.hashSeed('alpha');\n const b = SeededRandomSource.hashSeed('beta');\n expect(a.state).not.toBe(b.state);\n });\n\n test('empty string is hashed (not treated as numeric)', () => {\n const result = SeededRandomSource.hashSeed('');\n expect(result.seed).toBe('');\n // Empty string: Number('') is 0, isFinite(0) is true, so state should be 0\n expect(result.state).toBe(0);\n });\n\n test('string \"Infinity\" is hashed as non-numeric', () => {\n const result = SeededRandomSource.hashSeed('Infinity');\n expect(result.seed).toBe('Infinity');\n // Number('Infinity') is Infinity, isFinite(Infinity) is false → hashed\n expect(typeof result.state).toBe('number');\n expect(result.state).not.toBe(Infinity);\n });\n\n test('string \"NaN\" is hashed as non-numeric', () => {\n const result = SeededRandomSource.hashSeed('NaN');\n expect(result.seed).toBe('NaN');\n // Number('NaN') is NaN, isNaN(NaN) is true → hashed\n expect(typeof result.state).toBe('number');\n expect(isNaN(result.state)).toBe(false);\n });\n\n test('floating point string is treated as numeric', () => {\n const result = SeededRandomSource.hashSeed('3.14');\n expect(result).toEqual({ seed: '3.14', state: 3.14 });\n });\n\n test('negative numeric string is treated as numeric', () => {\n const result = SeededRandomSource.hashSeed('-42');\n expect(result).toEqual({ seed: '-42', state: -42 });\n });\n });\n\n describe('hashStateAndLabel', () => {\n test('produces a seed string in \"state:label\" format', () => {\n const result = SeededRandomSource.hashStateAndLabel(100, 'test');\n expect(result.seed).toBe('100:test');\n });\n\n test('state is treated as unsigned 32-bit integer in seed string', () => {\n // -1 >>> 0 = 4294967295\n const result = SeededRandomSource.hashStateAndLabel(-1, 'label');\n expect(result.seed).toBe('4294967295:label');\n });\n\n test('same inputs produce same output', () => {\n const first = SeededRandomSource.hashStateAndLabel(42, 'branch');\n const second = SeededRandomSource.hashStateAndLabel(42, 'branch');\n expect(first).toEqual(second);\n });\n\n test('different states produce different results', () => {\n const a = SeededRandomSource.hashStateAndLabel(1, 'same');\n const b = SeededRandomSource.hashStateAndLabel(2, 'same');\n expect(a.state).not.toBe(b.state);\n });\n\n test('different labels produce different results', () => {\n const a = SeededRandomSource.hashStateAndLabel(42, 'alpha');\n const b = SeededRandomSource.hashStateAndLabel(42, 'beta');\n expect(a.state).not.toBe(b.state);\n });\n\n test('state value is a non-negative number from hash', () => {\n const result = SeededRandomSource.hashStateAndLabel(999, 'test');\n expect(result.state).toBeGreaterThanOrEqual(0);\n });\n });\n\n describe('mulberryStep', () => {\n test('returns value in [0, 1) range', () => {\n const result = SeededRandomSource.mulberryStep(42);\n expect(result.value).toBeGreaterThanOrEqual(0);\n expect(result.value).toBeLessThan(1);\n });\n\n test('advances state deterministically', () => {\n const first = SeededRandomSource.mulberryStep(42);\n const second = SeededRandomSource.mulberryStep(42);\n expect(first).toEqual(second);\n });\n\n test('different states produce different results', () => {\n const a = SeededRandomSource.mulberryStep(1);\n const b = SeededRandomSource.mulberryStep(2);\n expect(a.value).not.toBe(b.value);\n expect(a.nextState).not.toBe(b.nextState);\n });\n\n test('nextState is an unsigned 32-bit integer', () => {\n const result = SeededRandomSource.mulberryStep(0);\n expect(result.nextState).toBeGreaterThanOrEqual(0);\n expect(result.nextState).toBeLessThanOrEqual(0xffffffff);\n expect(Number.isInteger(result.nextState)).toBe(true);\n });\n\n test('state 0 produces valid output', () => {\n const result = SeededRandomSource.mulberryStep(0);\n expect(result.value).toBeGreaterThanOrEqual(0);\n expect(result.value).toBeLessThan(1);\n // nextState should be 0x6D2B79F5 (the constant added)\n expect(result.nextState).toBe(0x6d2b79f5);\n });\n\n test('produces [0,1) values across many states', () => {\n let state = 12345;\n for (let i = 0; i < 1000; i++) {\n const result = SeededRandomSource.mulberryStep(state);\n expect(result.value).toBeGreaterThanOrEqual(0);\n expect(result.value).toBeLessThan(1);\n state = result.nextState;\n }\n });\n });\n\n describe('seed edge cases', () => {\n test('seed 0 produces a valid source', () => {\n expect(SeededRandomSource.create(0)).toSucceedAndSatisfy((source) => {\n expect(source.seed).toBe('0');\n const value = source.next();\n expect(value).toBeGreaterThanOrEqual(0);\n expect(value).toBeLessThan(1);\n });\n });\n\n test('negative seed produces a valid source', () => {\n expect(SeededRandomSource.create(-1)).toSucceedAndSatisfy((source) => {\n expect(source.seed).toBe('-1');\n const value = source.next();\n expect(value).toBeGreaterThanOrEqual(0);\n expect(value).toBeLessThan(1);\n });\n });\n\n test('very large numeric seed produces a valid source', () => {\n expect(SeededRandomSource.create(Number.MAX_SAFE_INTEGER)).toSucceedAndSatisfy((source) => {\n const value = source.next();\n expect(value).toBeGreaterThanOrEqual(0);\n expect(value).toBeLessThan(1);\n });\n });\n\n test('empty string seed produces a valid source', () => {\n expect(SeededRandomSource.create('')).toSucceedAndSatisfy((source) => {\n expect(source.seed).toBe('');\n const value = source.next();\n expect(value).toBeGreaterThanOrEqual(0);\n expect(value).toBeLessThan(1);\n });\n });\n\n test('whitespace string seed produces a valid source', () => {\n expect(SeededRandomSource.create(' ')).toSucceedAndSatisfy((source) => {\n expect(source.seed).toBe(' ');\n const value = source.next();\n expect(value).toBeGreaterThanOrEqual(0);\n expect(value).toBeLessThan(1);\n });\n });\n\n test('unicode string seed produces a valid source', () => {\n expect(SeededRandomSource.create('🎲🎰')).toSucceedAndSatisfy((source) => {\n expect(source.seed).toBe('🎲🎰');\n const value = source.next();\n expect(value).toBeGreaterThanOrEqual(0);\n expect(value).toBeLessThan(1);\n });\n });\n });\n});\n"]}
@@ -0,0 +1,152 @@
1
+ [Home](../README.md) > Chars
2
+
3
+ # Namespace: Chars
4
+
5
+ ## Variables
6
+
7
+ <table><thead><tr><th>
8
+
9
+ Name
10
+
11
+ </th><th>
12
+
13
+ Description
14
+
15
+ </th></tr></thead>
16
+ <tbody>
17
+ <tr><td>
18
+
19
+ [lowerCase](./variables/lowerCase.md)
20
+
21
+ </td><td>
22
+
23
+ Lowercase letters
24
+
25
+ </td></tr>
26
+ <tr><td>
27
+
28
+ [upperCase](./variables/upperCase.md)
29
+
30
+ </td><td>
31
+
32
+ Uppercase letters
33
+
34
+ </td></tr>
35
+ <tr><td>
36
+
37
+ [digits](./variables/digits.md)
38
+
39
+ </td><td>
40
+
41
+ Digits
42
+
43
+ </td></tr>
44
+ <tr><td>
45
+
46
+ [letters](./variables/letters.md)
47
+
48
+ </td><td>
49
+
50
+ Letters
51
+
52
+ </td></tr>
53
+ <tr><td>
54
+
55
+ [alphanumeric](./variables/alphanumeric.md)
56
+
57
+ </td><td>
58
+
59
+ Alphanumeric
60
+
61
+ </td></tr>
62
+ <tr><td>
63
+
64
+ [symbols](./variables/symbols.md)
65
+
66
+ </td><td>
67
+
68
+ Symbols
69
+
70
+ </td></tr>
71
+ <tr><td>
72
+
73
+ [whitespace](./variables/whitespace.md)
74
+
75
+ </td><td>
76
+
77
+ Whitespace
78
+
79
+ </td></tr>
80
+ <tr><td>
81
+
82
+ [printable](./variables/printable.md)
83
+
84
+ </td><td>
85
+
86
+ Printable
87
+
88
+ </td></tr>
89
+ <tr><td>
90
+
91
+ [all](./variables/all.md)
92
+
93
+ </td><td>
94
+
95
+ All
96
+
97
+ </td></tr>
98
+ <tr><td>
99
+
100
+ [hexDigits](./variables/hexDigits.md)
101
+
102
+ </td><td>
103
+
104
+ Hex digits
105
+
106
+ </td></tr>
107
+ <tr><td>
108
+
109
+ [hexDigitsUpper](./variables/hexDigitsUpper.md)
110
+
111
+ </td><td>
112
+
113
+ Hex digits upper
114
+
115
+ </td></tr>
116
+ <tr><td>
117
+
118
+ [hex](./variables/hex.md)
119
+
120
+ </td><td>
121
+
122
+ Hex
123
+
124
+ </td></tr>
125
+ <tr><td>
126
+
127
+ [base64](./variables/base64.md)
128
+
129
+ </td><td>
130
+
131
+ Base64
132
+
133
+ </td></tr>
134
+ <tr><td>
135
+
136
+ [base64Url](./variables/base64Url.md)
137
+
138
+ </td><td>
139
+
140
+ Base64 URL
141
+
142
+ </td></tr>
143
+ <tr><td>
144
+
145
+ [base64UrlNoPadding](./variables/base64UrlNoPadding.md)
146
+
147
+ </td><td>
148
+
149
+ Base64 URL no padding
150
+
151
+ </td></tr>
152
+ </tbody></table>
@@ -0,0 +1,9 @@
1
+ [Home](../../README.md) > [Chars](../README.md) > all
2
+
3
+ # Variable: all
4
+
5
+ All
6
+
7
+ ## Type
8
+
9
+ `string`
@@ -0,0 +1,9 @@
1
+ [Home](../../README.md) > [Chars](../README.md) > alphanumeric
2
+
3
+ # Variable: alphanumeric
4
+
5
+ Alphanumeric
6
+
7
+ ## Type
8
+
9
+ `string`
@@ -0,0 +1,9 @@
1
+ [Home](../../README.md) > [Chars](../README.md) > base64
2
+
3
+ # Variable: base64
4
+
5
+ Base64
6
+
7
+ ## Type
8
+
9
+ `string`
@@ -0,0 +1,9 @@
1
+ [Home](../../README.md) > [Chars](../README.md) > base64Url
2
+
3
+ # Variable: base64Url
4
+
5
+ Base64 URL
6
+
7
+ ## Type
8
+
9
+ `string`
@@ -0,0 +1,9 @@
1
+ [Home](../../README.md) > [Chars](../README.md) > base64UrlNoPadding
2
+
3
+ # Variable: base64UrlNoPadding
4
+
5
+ Base64 URL no padding
6
+
7
+ ## Type
8
+
9
+ `string`
@@ -0,0 +1,9 @@
1
+ [Home](../../README.md) > [Chars](../README.md) > digits
2
+
3
+ # Variable: digits
4
+
5
+ Digits
6
+
7
+ ## Type
8
+
9
+ `string`
@@ -0,0 +1,9 @@
1
+ [Home](../../README.md) > [Chars](../README.md) > hex
2
+
3
+ # Variable: hex
4
+
5
+ Hex
6
+
7
+ ## Type
8
+
9
+ `string`
@@ -0,0 +1,9 @@
1
+ [Home](../../README.md) > [Chars](../README.md) > hexDigits
2
+
3
+ # Variable: hexDigits
4
+
5
+ Hex digits
6
+
7
+ ## Type
8
+
9
+ `string`
@@ -0,0 +1,9 @@
1
+ [Home](../../README.md) > [Chars](../README.md) > hexDigitsUpper
2
+
3
+ # Variable: hexDigitsUpper
4
+
5
+ Hex digits upper
6
+
7
+ ## Type
8
+
9
+ `string`
@@ -0,0 +1,9 @@
1
+ [Home](../../README.md) > [Chars](../README.md) > letters
2
+
3
+ # Variable: letters
4
+
5
+ Letters
6
+
7
+ ## Type
8
+
9
+ `string`
@@ -0,0 +1,9 @@
1
+ [Home](../../README.md) > [Chars](../README.md) > lowerCase
2
+
3
+ # Variable: lowerCase
4
+
5
+ Lowercase letters
6
+
7
+ ## Type
8
+
9
+ `string`
@@ -0,0 +1,9 @@
1
+ [Home](../../README.md) > [Chars](../README.md) > printable
2
+
3
+ # Variable: printable
4
+
5
+ Printable
6
+
7
+ ## Type
8
+
9
+ `string`
@@ -0,0 +1,9 @@
1
+ [Home](../../README.md) > [Chars](../README.md) > symbols
2
+
3
+ # Variable: symbols
4
+
5
+ Symbols
6
+
7
+ ## Type
8
+
9
+ `string`
@@ -0,0 +1,9 @@
1
+ [Home](../../README.md) > [Chars](../README.md) > upperCase
2
+
3
+ # Variable: upperCase
4
+
5
+ Uppercase letters
6
+
7
+ ## Type
8
+
9
+ `string`
@@ -0,0 +1,9 @@
1
+ [Home](../../README.md) > [Chars](../README.md) > whitespace
2
+
3
+ # Variable: whitespace
4
+
5
+ Whitespace
6
+
7
+ ## Type
8
+
9
+ `string`
@@ -0,0 +1,153 @@
1
+ [Home](../README.md) > Generator
2
+
3
+ # Namespace: Generator
4
+
5
+ ## Classes
6
+
7
+ <table><thead><tr><th>
8
+
9
+ Name
10
+
11
+ </th><th>
12
+
13
+ Description
14
+
15
+ </th></tr></thead>
16
+ <tbody>
17
+ <tr><td>
18
+
19
+ [SeededRandomSource](./classes/SeededRandomSource.md)
20
+
21
+ </td><td>
22
+
23
+ Seeded random number generator that can be cloned and used for deterministic generation.
24
+
25
+ </td></tr>
26
+ <tr><td>
27
+
28
+ [PseudoRandomGenerator](./classes/PseudoRandomGenerator.md)
29
+
30
+ </td><td>
31
+
32
+ A pseudo-random number generator that can be used to generate random values
33
+
34
+ </td></tr>
35
+ </tbody></table>
36
+
37
+ ## Interfaces
38
+
39
+ <table><thead><tr><th>
40
+
41
+ Name
42
+
43
+ </th><th>
44
+
45
+ Description
46
+
47
+ </th></tr></thead>
48
+ <tbody>
49
+ <tr><td>
50
+
51
+ [ISeedPair](./interfaces/ISeedPair.md)
52
+
53
+ </td><td>
54
+
55
+ Represents a seed as both a string and a number.
56
+
57
+ </td></tr>
58
+ <tr><td>
59
+
60
+ [INextResult](./interfaces/INextResult.md)
61
+
62
+ </td><td>
63
+
64
+ Result of an internal next() operation.
65
+
66
+ </td></tr>
67
+ <tr><td>
68
+
69
+ [ISeededRandomSourceConstructorParams](./interfaces/ISeededRandomSourceConstructorParams.md)
70
+
71
+ </td><td>
72
+
73
+ Constructor params for a Generator.SeededRandomSource | SeededRandomSource.
74
+
75
+ </td></tr>
76
+ <tr><td>
77
+
78
+ [ISeededRandomSourceCreateParams](./interfaces/ISeededRandomSourceCreateParams.md)
79
+
80
+ </td><td>
81
+
82
+ Static create parameters for a Generator.SeededRandomSource | SeededRandomSource.
83
+
84
+ </td></tr>
85
+ <tr><td>
86
+
87
+ [IPseudoRandomGeneratorCreateParams](./interfaces/IPseudoRandomGeneratorCreateParams.md)
88
+
89
+ </td><td>
90
+
91
+ Parameters for creating a generator.
92
+
93
+ </td></tr>
94
+ <tr><td>
95
+
96
+ [ISequentialPickParams](./interfaces/ISequentialPickParams.md)
97
+
98
+ </td><td>
99
+
100
+ Parameters for generating a sequence of values
101
+
102
+ </td></tr>
103
+ <tr><td>
104
+
105
+ [IRandomSequencePickParams](./interfaces/IRandomSequencePickParams.md)
106
+
107
+ </td><td>
108
+
109
+ Parameters for generating a sequence of values
110
+
111
+ </td></tr>
112
+ </tbody></table>
113
+
114
+ ## Type Aliases
115
+
116
+ <table><thead><tr><th>
117
+
118
+ Name
119
+
120
+ </th><th>
121
+
122
+ Description
123
+
124
+ </th></tr></thead>
125
+ <tbody>
126
+ <tr><td>
127
+
128
+ [RandomStepFunction](./type-aliases/RandomStepFunction.md)
129
+
130
+ </td><td>
131
+
132
+ Function that steps a random number generator state and returns the next value.
133
+
134
+ </td></tr>
135
+ <tr><td>
136
+
137
+ [GeneratorGlobalThis](./type-aliases/GeneratorGlobalThis.md)
138
+
139
+ </td><td>
140
+
141
+ Global context (globalThis) into which the generator can install itself for sharing.
142
+
143
+ </td></tr>
144
+ <tr><td>
145
+
146
+ [SequencePickParams](./type-aliases/SequencePickParams.md)
147
+
148
+ </td><td>
149
+
150
+ Type representing parameters for generating a sequence of values.
151
+
152
+ </td></tr>
153
+ </tbody></table>
@@ -0,0 +1,17 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [PseudoRandomGenerator](./PseudoRandomGenerator.md) > clone
2
+
3
+ ## PseudoRandomGenerator.clone() method
4
+
5
+ Creates a clone of this generator.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ clone(): PseudoRandomGenerator;
11
+ ```
12
+
13
+ **Returns:**
14
+
15
+ [PseudoRandomGenerator](../../classes/PseudoRandomGenerator.md)
16
+
17
+ A new generator with the same state.
@@ -0,0 +1,24 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [PseudoRandomGenerator](./PseudoRandomGenerator.md) > create
2
+
3
+ ## PseudoRandomGenerator.create() method
4
+
5
+ Creates a new pseudo-random number generator.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ static create(params?: IPseudoRandomGeneratorCreateParams): Result<PseudoRandomGenerator>;
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>IPseudoRandomGeneratorCreateParams</td><td>The parameters for creating the generator.</td></tr>
18
+ </tbody></table>
19
+
20
+ **Returns:**
21
+
22
+ Result&lt;[PseudoRandomGenerator](../../classes/PseudoRandomGenerator.md)&gt;
23
+
24
+ A result containing the new generator or an error.
@@ -0,0 +1,24 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [PseudoRandomGenerator](./PseudoRandomGenerator.md) > createChild
2
+
3
+ ## PseudoRandomGenerator.createChild() method
4
+
5
+ Creates a child generator with the given label.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ createChild(label: string): PseudoRandomGenerator;
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 generator.</td></tr>
18
+ </tbody></table>
19
+
20
+ **Returns:**
21
+
22
+ [PseudoRandomGenerator](../../classes/PseudoRandomGenerator.md)
23
+
24
+ A new generator with the given label.
@@ -0,0 +1,25 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [PseudoRandomGenerator](./PseudoRandomGenerator.md) > ensureRng
2
+
3
+ ## PseudoRandomGenerator.ensureRng() method
4
+
5
+ Ensures a random number generator is available, using the global generator if available
6
+ or creating a new one if not.
7
+
8
+ **Signature:**
9
+
10
+ ```typescript
11
+ static ensureRng(rng?: PseudoRandomGenerator): PseudoRandomGenerator;
12
+ ```
13
+
14
+ **Parameters:**
15
+
16
+ <table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead>
17
+ <tbody>
18
+ <tr><td>rng</td><td>PseudoRandomGenerator</td><td>The random number generator to use, or undefined to use the global one.</td></tr>
19
+ </tbody></table>
20
+
21
+ **Returns:**
22
+
23
+ [PseudoRandomGenerator](../../classes/PseudoRandomGenerator.md)
24
+
25
+ A random number generator.
@@ -0,0 +1,17 @@
1
+ [Home](../../README.md) > [Generator](../README.md) > [PseudoRandomGenerator](./PseudoRandomGenerator.md) > getGlobalRng
2
+
3
+ ## PseudoRandomGenerator.getGlobalRng() method
4
+
5
+ Gets the global random number generator.
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ static getGlobalRng(): PseudoRandomGenerator | undefined;
11
+ ```
12
+
13
+ **Returns:**
14
+
15
+ [PseudoRandomGenerator](../../classes/PseudoRandomGenerator.md) | undefined
16
+
17
+ The global random number generator or undefined if not set.