@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.
- package/.rush/temp/c2ad0e42263413fe491d7e8bda8971b52b833952.tar.log +121 -0
- package/.rush/temp/chunked-rush-logs/ts-random.build.chunks.jsonl +6 -0
- package/.rush/temp/operation/build/all.log +6 -0
- package/.rush/temp/operation/build/log-chunks.jsonl +6 -0
- package/.rush/temp/operation/build/state.json +3 -0
- package/.rush/temp/shrinkwrap-deps.json +610 -0
- package/config/jest.config.json +13 -0
- package/config/rig.json +4 -0
- package/config/typedoc.json +7 -0
- package/dist/generator/generators.js +207 -0
- package/dist/generator/generators.js.map +1 -0
- package/dist/generator/index.js +22 -0
- package/dist/generator/index.js.map +1 -0
- package/dist/generator/randomSource.js +141 -0
- package/dist/generator/randomSource.js.map +1 -0
- package/dist/generator-data/charClasses.js +95 -0
- package/dist/generator-data/charClasses.js.map +1 -0
- package/dist/generator-data/index.js +22 -0
- package/dist/generator-data/index.js.map +1 -0
- package/dist/generator-data/words/adjectives.js +247 -0
- package/dist/generator-data/words/adjectives.js.map +1 -0
- package/dist/generator-data/words/animals.js +75 -0
- package/dist/generator-data/words/animals.js.map +1 -0
- package/dist/generator-data/words/cities.js +229 -0
- package/dist/generator-data/words/cities.js.map +1 -0
- package/dist/generator-data/words/colors.js +56 -0
- package/dist/generator-data/words/colors.js.map +1 -0
- package/dist/generator-data/words/countries.js +217 -0
- package/dist/generator-data/words/countries.js.map +1 -0
- package/dist/generator-data/words/domains.js +47 -0
- package/dist/generator-data/words/domains.js.map +1 -0
- package/dist/generator-data/words/gerunds.js +126 -0
- package/dist/generator-data/words/gerunds.js.map +1 -0
- package/dist/generator-data/words/index.js +29 -0
- package/dist/generator-data/words/index.js.map +1 -0
- package/dist/generator-data/words/jobs.js +175 -0
- package/dist/generator-data/words/jobs.js.map +1 -0
- package/dist/generator-data/words/names.js +714 -0
- package/dist/generator-data/words/names.js.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/test/unit/generators.test.js +596 -0
- package/dist/test/unit/generators.test.js.map +1 -0
- package/dist/test/unit/randomSource.test.js +452 -0
- package/dist/test/unit/randomSource.test.js.map +1 -0
- package/docs/Chars/README.md +152 -0
- package/docs/Chars/variables/all.md +9 -0
- package/docs/Chars/variables/alphanumeric.md +9 -0
- package/docs/Chars/variables/base64.md +9 -0
- package/docs/Chars/variables/base64Url.md +9 -0
- package/docs/Chars/variables/base64UrlNoPadding.md +9 -0
- package/docs/Chars/variables/digits.md +9 -0
- package/docs/Chars/variables/hex.md +9 -0
- package/docs/Chars/variables/hexDigits.md +9 -0
- package/docs/Chars/variables/hexDigitsUpper.md +9 -0
- package/docs/Chars/variables/letters.md +9 -0
- package/docs/Chars/variables/lowerCase.md +9 -0
- package/docs/Chars/variables/printable.md +9 -0
- package/docs/Chars/variables/symbols.md +9 -0
- package/docs/Chars/variables/upperCase.md +9 -0
- package/docs/Chars/variables/whitespace.md +9 -0
- package/docs/Generator/README.md +153 -0
- package/docs/Generator/classes/PseudoRandomGenerator.clone.md +17 -0
- package/docs/Generator/classes/PseudoRandomGenerator.create.md +24 -0
- package/docs/Generator/classes/PseudoRandomGenerator.createChild.md +24 -0
- package/docs/Generator/classes/PseudoRandomGenerator.ensureRng.md +25 -0
- package/docs/Generator/classes/PseudoRandomGenerator.getGlobalRng.md +17 -0
- package/docs/Generator/classes/PseudoRandomGenerator.md +258 -0
- package/docs/Generator/classes/PseudoRandomGenerator.nextBoolean.md +24 -0
- package/docs/Generator/classes/PseudoRandomGenerator.nextFloat.md +17 -0
- package/docs/Generator/classes/PseudoRandomGenerator.nextInRange.md +25 -0
- package/docs/Generator/classes/PseudoRandomGenerator.nextInt.md +24 -0
- package/docs/Generator/classes/PseudoRandomGenerator.nextString.md +25 -0
- package/docs/Generator/classes/PseudoRandomGenerator.pickNext.md +24 -0
- package/docs/Generator/classes/PseudoRandomGenerator.pickRandom.md +24 -0
- package/docs/Generator/classes/PseudoRandomGenerator.pickSequence.md +24 -0
- package/docs/Generator/classes/PseudoRandomGenerator.pickSequential.md +24 -0
- package/docs/Generator/classes/PseudoRandomGenerator.rng.md +11 -0
- package/docs/Generator/classes/PseudoRandomGenerator.setGlobalRng.md +24 -0
- package/docs/Generator/classes/SeededRandomSource.clone.md +17 -0
- package/docs/Generator/classes/SeededRandomSource.counter.md +11 -0
- package/docs/Generator/classes/SeededRandomSource.create.md +24 -0
- package/docs/Generator/classes/SeededRandomSource.createChild.md +24 -0
- package/docs/Generator/classes/SeededRandomSource.hashSeed.md +24 -0
- package/docs/Generator/classes/SeededRandomSource.hashStateAndLabel.md +25 -0
- package/docs/Generator/classes/SeededRandomSource.lineage.md +9 -0
- package/docs/Generator/classes/SeededRandomSource.md +187 -0
- package/docs/Generator/classes/SeededRandomSource.mulberryStep.md +24 -0
- package/docs/Generator/classes/SeededRandomSource.next.md +17 -0
- package/docs/Generator/classes/SeededRandomSource.seed.md +9 -0
- package/docs/Generator/interfaces/INextResult.md +61 -0
- package/docs/Generator/interfaces/INextResult.nextState.md +9 -0
- package/docs/Generator/interfaces/INextResult.value.md +9 -0
- package/docs/Generator/interfaces/IPseudoRandomGeneratorCreateParams.global.md +9 -0
- package/docs/Generator/interfaces/IPseudoRandomGeneratorCreateParams.md +78 -0
- package/docs/Generator/interfaces/IPseudoRandomGeneratorCreateParams.seed.md +9 -0
- package/docs/Generator/interfaces/IPseudoRandomGeneratorCreateParams.step.md +9 -0
- package/docs/Generator/interfaces/IRandomSequencePickParams.candidates.md +9 -0
- package/docs/Generator/interfaces/IRandomSequencePickParams.count.md +9 -0
- package/docs/Generator/interfaces/IRandomSequencePickParams.how.md +9 -0
- package/docs/Generator/interfaces/IRandomSequencePickParams.md +79 -0
- package/docs/Generator/interfaces/ISeedPair.md +61 -0
- package/docs/Generator/interfaces/ISeedPair.seed.md +9 -0
- package/docs/Generator/interfaces/ISeedPair.state.md +9 -0
- package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.counter.md +9 -0
- package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.lineage.md +9 -0
- package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.md +112 -0
- package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.seed.md +9 -0
- package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.state.md +9 -0
- package/docs/Generator/interfaces/ISeededRandomSourceConstructorParams.step.md +9 -0
- package/docs/Generator/interfaces/ISeededRandomSourceCreateParams.md +61 -0
- package/docs/Generator/interfaces/ISeededRandomSourceCreateParams.seed.md +9 -0
- package/docs/Generator/interfaces/ISeededRandomSourceCreateParams.step.md +9 -0
- package/docs/Generator/interfaces/ISequentialPickParams.candidates.md +9 -0
- package/docs/Generator/interfaces/ISequentialPickParams.count.md +9 -0
- package/docs/Generator/interfaces/ISequentialPickParams.how.md +9 -0
- package/docs/Generator/interfaces/ISequentialPickParams.md +79 -0
- package/docs/Generator/type-aliases/GeneratorGlobalThis.md +11 -0
- package/docs/Generator/type-aliases/RandomStepFunction.md +11 -0
- package/docs/Generator/type-aliases/SequencePickParams.md +11 -0
- package/docs/GeneratorData/Chars/README.md +152 -0
- package/docs/GeneratorData/Chars/variables/all.md +9 -0
- package/docs/GeneratorData/Chars/variables/alphanumeric.md +9 -0
- package/docs/GeneratorData/Chars/variables/base64.md +9 -0
- package/docs/GeneratorData/Chars/variables/base64Url.md +9 -0
- package/docs/GeneratorData/Chars/variables/base64UrlNoPadding.md +9 -0
- package/docs/GeneratorData/Chars/variables/digits.md +9 -0
- package/docs/GeneratorData/Chars/variables/hex.md +9 -0
- package/docs/GeneratorData/Chars/variables/hexDigits.md +9 -0
- package/docs/GeneratorData/Chars/variables/hexDigitsUpper.md +9 -0
- package/docs/GeneratorData/Chars/variables/letters.md +9 -0
- package/docs/GeneratorData/Chars/variables/lowerCase.md +9 -0
- package/docs/GeneratorData/Chars/variables/printable.md +9 -0
- package/docs/GeneratorData/Chars/variables/symbols.md +9 -0
- package/docs/GeneratorData/Chars/variables/upperCase.md +9 -0
- package/docs/GeneratorData/Chars/variables/whitespace.md +9 -0
- package/docs/GeneratorData/README.md +35 -0
- package/docs/GeneratorData/Words/README.md +125 -0
- package/docs/GeneratorData/Words/variables/Adjectives.md +7 -0
- package/docs/GeneratorData/Words/variables/Animals.md +7 -0
- package/docs/GeneratorData/Words/variables/Cities.md +7 -0
- package/docs/GeneratorData/Words/variables/Colors.md +7 -0
- package/docs/GeneratorData/Words/variables/Countries.md +7 -0
- package/docs/GeneratorData/Words/variables/Domains.md +7 -0
- package/docs/GeneratorData/Words/variables/FamilyNames.md +9 -0
- package/docs/GeneratorData/Words/variables/FirstNames.md +9 -0
- package/docs/GeneratorData/Words/variables/FirstNamesFemale.md +9 -0
- package/docs/GeneratorData/Words/variables/FirstNamesMale.md +9 -0
- package/docs/GeneratorData/Words/variables/Gerunds.md +7 -0
- package/docs/GeneratorData/Words/variables/jobs.md +7 -0
- package/docs/GeneratorData/variables/Adjectives.md +7 -0
- package/docs/GeneratorData/variables/Animals.md +7 -0
- package/docs/GeneratorData/variables/Cities.md +7 -0
- package/docs/GeneratorData/variables/Colors.md +7 -0
- package/docs/GeneratorData/variables/Countries.md +7 -0
- package/docs/GeneratorData/variables/Domains.md +7 -0
- package/docs/GeneratorData/variables/FamilyNames.md +9 -0
- package/docs/GeneratorData/variables/FirstNames.md +9 -0
- package/docs/GeneratorData/variables/FirstNamesFemale.md +9 -0
- package/docs/GeneratorData/variables/FirstNamesMale.md +9 -0
- package/docs/GeneratorData/variables/Gerunds.md +7 -0
- package/docs/GeneratorData/variables/all.md +9 -0
- package/docs/GeneratorData/variables/alphanumeric.md +9 -0
- package/docs/GeneratorData/variables/base64.md +9 -0
- package/docs/GeneratorData/variables/base64Url.md +9 -0
- package/docs/GeneratorData/variables/base64UrlNoPadding.md +9 -0
- package/docs/GeneratorData/variables/digits.md +9 -0
- package/docs/GeneratorData/variables/hex.md +9 -0
- package/docs/GeneratorData/variables/hexDigits.md +9 -0
- package/docs/GeneratorData/variables/hexDigitsUpper.md +9 -0
- package/docs/GeneratorData/variables/jobs.md +7 -0
- package/docs/GeneratorData/variables/letters.md +9 -0
- package/docs/GeneratorData/variables/lowerCase.md +9 -0
- package/docs/GeneratorData/variables/printable.md +9 -0
- package/docs/GeneratorData/variables/symbols.md +9 -0
- package/docs/GeneratorData/variables/upperCase.md +9 -0
- package/docs/GeneratorData/variables/whitespace.md +9 -0
- package/docs/README.md +35 -0
- package/docs/Words/README.md +125 -0
- package/docs/Words/variables/Adjectives.md +7 -0
- package/docs/Words/variables/Animals.md +7 -0
- package/docs/Words/variables/Cities.md +7 -0
- package/docs/Words/variables/Colors.md +7 -0
- package/docs/Words/variables/Countries.md +7 -0
- package/docs/Words/variables/Domains.md +7 -0
- package/docs/Words/variables/FamilyNames.md +9 -0
- package/docs/Words/variables/FirstNames.md +9 -0
- package/docs/Words/variables/FirstNamesFemale.md +9 -0
- package/docs/Words/variables/FirstNamesMale.md +9 -0
- package/docs/Words/variables/Gerunds.md +7 -0
- package/docs/Words/variables/jobs.md +7 -0
- package/docs/classes/PseudoRandomGenerator.clone.md +17 -0
- package/docs/classes/PseudoRandomGenerator.create.md +24 -0
- package/docs/classes/PseudoRandomGenerator.createChild.md +24 -0
- package/docs/classes/PseudoRandomGenerator.ensureRng.md +25 -0
- package/docs/classes/PseudoRandomGenerator.getGlobalRng.md +17 -0
- package/docs/classes/PseudoRandomGenerator.md +258 -0
- package/docs/classes/PseudoRandomGenerator.nextBoolean.md +24 -0
- package/docs/classes/PseudoRandomGenerator.nextFloat.md +17 -0
- package/docs/classes/PseudoRandomGenerator.nextInRange.md +25 -0
- package/docs/classes/PseudoRandomGenerator.nextInt.md +24 -0
- package/docs/classes/PseudoRandomGenerator.nextString.md +25 -0
- package/docs/classes/PseudoRandomGenerator.pickNext.md +24 -0
- package/docs/classes/PseudoRandomGenerator.pickRandom.md +24 -0
- package/docs/classes/PseudoRandomGenerator.pickSequence.md +24 -0
- package/docs/classes/PseudoRandomGenerator.pickSequential.md +24 -0
- package/docs/classes/PseudoRandomGenerator.rng.md +11 -0
- package/docs/classes/PseudoRandomGenerator.setGlobalRng.md +24 -0
- package/docs/classes/SeededRandomSource.clone.md +17 -0
- package/docs/classes/SeededRandomSource.counter.md +11 -0
- package/docs/classes/SeededRandomSource.create.md +24 -0
- package/docs/classes/SeededRandomSource.createChild.md +24 -0
- package/docs/classes/SeededRandomSource.hashSeed.md +24 -0
- package/docs/classes/SeededRandomSource.hashStateAndLabel.md +25 -0
- package/docs/classes/SeededRandomSource.lineage.md +9 -0
- package/docs/classes/SeededRandomSource.md +187 -0
- package/docs/classes/SeededRandomSource.mulberryStep.md +24 -0
- package/docs/classes/SeededRandomSource.next.md +17 -0
- package/docs/classes/SeededRandomSource.seed.md +9 -0
- package/docs/interfaces/INextResult.md +61 -0
- package/docs/interfaces/INextResult.nextState.md +9 -0
- package/docs/interfaces/INextResult.value.md +9 -0
- package/docs/interfaces/IPseudoRandomGeneratorCreateParams.global.md +9 -0
- package/docs/interfaces/IPseudoRandomGeneratorCreateParams.md +78 -0
- package/docs/interfaces/IPseudoRandomGeneratorCreateParams.seed.md +9 -0
- package/docs/interfaces/IPseudoRandomGeneratorCreateParams.step.md +9 -0
- package/docs/interfaces/IRandomSequencePickParams.candidates.md +9 -0
- package/docs/interfaces/IRandomSequencePickParams.count.md +9 -0
- package/docs/interfaces/IRandomSequencePickParams.how.md +9 -0
- package/docs/interfaces/IRandomSequencePickParams.md +79 -0
- package/docs/interfaces/ISeedPair.md +61 -0
- package/docs/interfaces/ISeedPair.seed.md +9 -0
- package/docs/interfaces/ISeedPair.state.md +9 -0
- package/docs/interfaces/ISeededRandomSourceConstructorParams.counter.md +9 -0
- package/docs/interfaces/ISeededRandomSourceConstructorParams.lineage.md +9 -0
- package/docs/interfaces/ISeededRandomSourceConstructorParams.md +112 -0
- package/docs/interfaces/ISeededRandomSourceConstructorParams.seed.md +9 -0
- package/docs/interfaces/ISeededRandomSourceConstructorParams.state.md +9 -0
- package/docs/interfaces/ISeededRandomSourceConstructorParams.step.md +9 -0
- package/docs/interfaces/ISeededRandomSourceCreateParams.md +61 -0
- package/docs/interfaces/ISeededRandomSourceCreateParams.seed.md +9 -0
- package/docs/interfaces/ISeededRandomSourceCreateParams.step.md +9 -0
- package/docs/interfaces/ISequentialPickParams.candidates.md +9 -0
- package/docs/interfaces/ISequentialPickParams.count.md +9 -0
- package/docs/interfaces/ISequentialPickParams.how.md +9 -0
- package/docs/interfaces/ISequentialPickParams.md +79 -0
- package/docs/type-aliases/GeneratorGlobalThis.md +11 -0
- package/docs/type-aliases/RandomStepFunction.md +11 -0
- package/docs/type-aliases/SequencePickParams.md +11 -0
- package/docs/variables/Adjectives.md +7 -0
- package/docs/variables/Animals.md +7 -0
- package/docs/variables/Cities.md +7 -0
- package/docs/variables/Colors.md +7 -0
- package/docs/variables/Countries.md +7 -0
- package/docs/variables/Domains.md +7 -0
- package/docs/variables/FamilyNames.md +9 -0
- package/docs/variables/FirstNames.md +9 -0
- package/docs/variables/FirstNamesFemale.md +9 -0
- package/docs/variables/FirstNamesMale.md +9 -0
- package/docs/variables/Gerunds.md +7 -0
- package/docs/variables/all.md +9 -0
- package/docs/variables/alphanumeric.md +9 -0
- package/docs/variables/base64.md +9 -0
- package/docs/variables/base64Url.md +9 -0
- package/docs/variables/base64UrlNoPadding.md +9 -0
- package/docs/variables/digits.md +9 -0
- package/docs/variables/hex.md +9 -0
- package/docs/variables/hexDigits.md +9 -0
- package/docs/variables/hexDigitsUpper.md +9 -0
- package/docs/variables/jobs.md +7 -0
- package/docs/variables/letters.md +9 -0
- package/docs/variables/lowerCase.md +9 -0
- package/docs/variables/printable.md +9 -0
- package/docs/variables/symbols.md +9 -0
- package/docs/variables/upperCase.md +9 -0
- package/docs/variables/whitespace.md +9 -0
- package/lib/generator/generators.d.ts +142 -0
- package/lib/generator/generators.d.ts.map +1 -0
- package/lib/generator/generators.js +211 -0
- package/lib/generator/generators.js.map +1 -0
- package/lib/generator/index.d.ts +3 -0
- package/lib/generator/index.d.ts.map +1 -0
- package/lib/generator/index.js +38 -0
- package/lib/generator/index.js.map +1 -0
- package/lib/generator/randomSource.d.ts +115 -0
- package/lib/generator/randomSource.d.ts.map +1 -0
- package/lib/generator/randomSource.js +145 -0
- package/lib/generator/randomSource.js.map +1 -0
- package/lib/generator-data/charClasses.d.ts +76 -0
- package/lib/generator-data/charClasses.d.ts.map +1 -0
- package/lib/generator-data/charClasses.js +98 -0
- package/lib/generator-data/charClasses.js.map +1 -0
- package/lib/generator-data/index.d.ts +3 -0
- package/lib/generator-data/index.d.ts.map +1 -0
- package/lib/generator-data/index.js +58 -0
- package/lib/generator-data/index.js.map +1 -0
- package/lib/generator-data/words/adjectives.d.ts +2 -0
- package/lib/generator-data/words/adjectives.d.ts.map +1 -0
- package/lib/generator-data/words/adjectives.js +250 -0
- package/lib/generator-data/words/adjectives.js.map +1 -0
- package/lib/generator-data/words/animals.d.ts +2 -0
- package/lib/generator-data/words/animals.d.ts.map +1 -0
- package/lib/generator-data/words/animals.js +78 -0
- package/lib/generator-data/words/animals.js.map +1 -0
- package/lib/generator-data/words/cities.d.ts +2 -0
- package/lib/generator-data/words/cities.d.ts.map +1 -0
- package/lib/generator-data/words/cities.js +232 -0
- package/lib/generator-data/words/cities.js.map +1 -0
- package/lib/generator-data/words/colors.d.ts +2 -0
- package/lib/generator-data/words/colors.d.ts.map +1 -0
- package/lib/generator-data/words/colors.js +59 -0
- package/lib/generator-data/words/colors.js.map +1 -0
- package/lib/generator-data/words/countries.d.ts +2 -0
- package/lib/generator-data/words/countries.d.ts.map +1 -0
- package/lib/generator-data/words/countries.js +220 -0
- package/lib/generator-data/words/countries.js.map +1 -0
- package/lib/generator-data/words/domains.d.ts +2 -0
- package/lib/generator-data/words/domains.d.ts.map +1 -0
- package/lib/generator-data/words/domains.js +50 -0
- package/lib/generator-data/words/domains.js.map +1 -0
- package/lib/generator-data/words/gerunds.d.ts +2 -0
- package/lib/generator-data/words/gerunds.d.ts.map +1 -0
- package/lib/generator-data/words/gerunds.js +129 -0
- package/lib/generator-data/words/gerunds.js.map +1 -0
- package/lib/generator-data/words/index.d.ts +10 -0
- package/lib/generator-data/words/index.d.ts.map +1 -0
- package/lib/generator-data/words/index.js +45 -0
- package/lib/generator-data/words/index.js.map +1 -0
- package/lib/generator-data/words/jobs.d.ts +2 -0
- package/lib/generator-data/words/jobs.d.ts.map +1 -0
- package/lib/generator-data/words/jobs.js +178 -0
- package/lib/generator-data/words/jobs.js.map +1 -0
- package/lib/generator-data/words/names.d.ts +21 -0
- package/lib/generator-data/words/names.d.ts.map +1 -0
- package/lib/generator-data/words/names.js +717 -0
- package/lib/generator-data/words/names.js.map +1 -0
- package/lib/index.d.ts +7 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +43 -0
- package/lib/index.js.map +1 -0
- package/lib/test/unit/generators.test.d.ts +2 -0
- package/lib/test/unit/generators.test.d.ts.map +1 -0
- package/lib/test/unit/generators.test.js +598 -0
- package/lib/test/unit/generators.test.js.map +1 -0
- package/lib/test/unit/randomSource.test.d.ts +2 -0
- package/lib/test/unit/randomSource.test.d.ts.map +1 -0
- package/lib/test/unit/randomSource.test.js +454 -0
- package/lib/test/unit/randomSource.test.js.map +1 -0
- package/package.json +49 -0
- package/rush-logs/ts-random.build.cache.log +3 -0
- package/rush-logs/ts-random.build.log +6 -0
- package/src/generator/generators.ts +273 -0
- package/src/generator/index.ts +22 -0
- package/src/generator/randomSource.ts +224 -0
- package/src/generator-data/charClasses.ts +95 -0
- package/src/generator-data/index.ts +22 -0
- package/src/generator-data/words/adjectives.ts +247 -0
- package/src/generator-data/words/animals.ts +75 -0
- package/src/generator-data/words/cities.ts +229 -0
- package/src/generator-data/words/colors.ts +56 -0
- package/src/generator-data/words/countries.ts +217 -0
- package/src/generator-data/words/domains.ts +47 -0
- package/src/generator-data/words/gerunds.ts +126 -0
- package/src/generator-data/words/index.ts +29 -0
- package/src/generator-data/words/jobs.ts +175 -0
- package/src/generator-data/words/names.ts +717 -0
- package/src/index.ts +7 -0
- package/src/test/unit/generators.test.ts +697 -0
- package/src/test/unit/randomSource.test.ts +526 -0
- package/temp/build/typescript/ts_8nwakTlr.json +1 -0
- 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":"AAAA,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EAAsB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEzE;;;GAGG;AACH,MAAM,eAAe,GAAuB,CAAC,KAAa,EAAE,EAAE;IAC5D,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,KAAK,GAAG,CAAC;KACrB,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,YAAY,CAAC,IAAqB;IACzC,OAAO,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,UAAU,CAAC,MAA0B,EAAE,KAAa;IAC3D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACxC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACvC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,EAAE;gBACxE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,EAAE;oBACjE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAChC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;YACL,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,yEAAyE,EAAE,GAAG,EAAE;YACnF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;gBACpD,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;gBACrD,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kEAAkE,EAAE,GAAG,EAAE;YAC5E,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACpE,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAChE,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,EAAE;gBACpG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;YAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC1F,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAChC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;YACL,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACvD,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;YAC7C,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,uEAAuE,EAAE,GAAG,EAAE;YACjF,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACvD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;YAC3D,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/B,mEAAmE;YACnE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,IAAI,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC9D,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,EAAE,CAAC;YAEd,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC/C,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,EAAE,CAAC;YAEd,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAClD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,EAAE,CAAC;YAEd,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,EAAE,CAAC;YAEb,qEAAqE;YACrE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE9B,uEAAuE;YACvE,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;YACpD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,EAAE,CAAC;YAEb,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;YAC1C,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,EAAE,CAAC;YAEd,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAClD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,EAAE,CAAC;YAEd,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;YAC1C,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,EAAE,CAAC;YAEd,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,EAAE,CAAC;YAEb,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,+DAA+D,EAAE,GAAG,EAAE;YACzE,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,EAAE,CAAC;YAEf,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACtE,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,EAAE,CAAC;YAEd,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAChF,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,EAAE,CAAC;YAEb,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAClD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,EAAE,CAAC;YAEd,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACzC,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,EAAE,CAAC;YAEb,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACnD,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACxF,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,uBAAuB;YAEtC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACtC,uFAAuF;YACvF,8DAA8D;YAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC;QACpE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;YAC1D,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,EAAE,CAAC;YAEd,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,qCAAqC;YACrC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,IAAI,CAAC,iEAAiE,EAAE,GAAG,EAAE;YAC3E,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAChD,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;YAC3D,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACnD,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC7D,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAClE,MAAM,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;YAC3D,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7B,2EAA2E;YAC3E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACtD,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrC,uEAAuE;YACvE,MAAM,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;YACjD,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,oDAAoD;YACpD,MAAM,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACvD,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACzD,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;YAC1D,MAAM,MAAM,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACtE,wBAAwB;YACxB,MAAM,MAAM,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;YAC3C,MAAM,KAAK,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACjE,MAAM,MAAM,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACtD,MAAM,CAAC,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,CAAC,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACtD,MAAM,CAAC,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC5D,MAAM,CAAC,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC3D,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;YAC1D,MAAM,MAAM,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACzC,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC5C,MAAM,KAAK,GAAG,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACtD,MAAM,CAAC,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACnD,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACzC,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,sDAAsD;YACtD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;YACpD,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;gBAC/C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACrC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;YAC1C,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,EAAE;gBAClE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;YACjD,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;YAC3D,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,EAAE;gBACxF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACrD,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;YAC1D,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,EAAE;gBACrE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACvD,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,EAAE;gBACvE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","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,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<[PseudoRandomGenerator](../../classes/PseudoRandomGenerator.md)>
|
|
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.
|