Spaces:
Runtime error
Runtime error
Delete node_modules
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- node_modules/.package-lock.json +0 -48
- node_modules/fast-check/CHANGELOG.md +0 -1039
- node_modules/fast-check/LICENSE +0 -21
- node_modules/fast-check/README.md +0 -249
- node_modules/fast-check/lib/arbitrary/_internals/AdapterArbitrary.js +0 -41
- node_modules/fast-check/lib/arbitrary/_internals/AlwaysShrinkableArbitrary.js +0 -27
- node_modules/fast-check/lib/arbitrary/_internals/ArrayArbitrary.js +0 -223
- node_modules/fast-check/lib/arbitrary/_internals/ArrayInt64Arbitrary.js +0 -127
- node_modules/fast-check/lib/arbitrary/_internals/BigIntArbitrary.js +0 -71
- node_modules/fast-check/lib/arbitrary/_internals/CloneArbitrary.js +0 -84
- node_modules/fast-check/lib/arbitrary/_internals/CommandsArbitrary.js +0 -110
- node_modules/fast-check/lib/arbitrary/_internals/ConstantArbitrary.js +0 -65
- node_modules/fast-check/lib/arbitrary/_internals/FrequencyArbitrary.js +0 -166
- node_modules/fast-check/lib/arbitrary/_internals/GeneratorArbitrary.js +0 -44
- node_modules/fast-check/lib/arbitrary/_internals/IntegerArbitrary.js +0 -76
- node_modules/fast-check/lib/arbitrary/_internals/LazyArbitrary.js +0 -30
- node_modules/fast-check/lib/arbitrary/_internals/LimitedShrinkArbitrary.js +0 -54
- node_modules/fast-check/lib/arbitrary/_internals/MixedCaseArbitrary.js +0 -95
- node_modules/fast-check/lib/arbitrary/_internals/SchedulerArbitrary.js +0 -32
- node_modules/fast-check/lib/arbitrary/_internals/StreamArbitrary.js +0 -47
- node_modules/fast-check/lib/arbitrary/_internals/StringUnitArbitrary.js +0 -45
- node_modules/fast-check/lib/arbitrary/_internals/SubarrayArbitrary.js +0 -74
- node_modules/fast-check/lib/arbitrary/_internals/TupleArbitrary.js +0 -86
- node_modules/fast-check/lib/arbitrary/_internals/WithShrinkFromOtherArbitrary.js +0 -43
- node_modules/fast-check/lib/arbitrary/_internals/builders/AnyArbitraryBuilder.js +0 -69
- node_modules/fast-check/lib/arbitrary/_internals/builders/BoxedArbitraryBuilder.js +0 -7
- node_modules/fast-check/lib/arbitrary/_internals/builders/CharacterArbitraryBuilder.js +0 -8
- node_modules/fast-check/lib/arbitrary/_internals/builders/CharacterRangeArbitraryBuilder.js +0 -66
- node_modules/fast-check/lib/arbitrary/_internals/builders/CompareFunctionArbitraryBuilder.js +0 -46
- node_modules/fast-check/lib/arbitrary/_internals/builders/GeneratorValueBuilder.js +0 -41
- node_modules/fast-check/lib/arbitrary/_internals/builders/PaddedNumberArbitraryBuilder.js +0 -8
- node_modules/fast-check/lib/arbitrary/_internals/builders/PartialRecordArbitraryBuilder.js +0 -26
- node_modules/fast-check/lib/arbitrary/_internals/builders/RestrictedIntegerArbitraryBuilder.js +0 -13
- node_modules/fast-check/lib/arbitrary/_internals/builders/StableArbitraryGeneratorCache.js +0 -56
- node_modules/fast-check/lib/arbitrary/_internals/builders/StringifiedNatArbitraryBuilder.js +0 -10
- node_modules/fast-check/lib/arbitrary/_internals/builders/TypedIntArrayArbitraryBuilder.js +0 -33
- node_modules/fast-check/lib/arbitrary/_internals/builders/UriPathArbitraryBuilder.js +0 -31
- node_modules/fast-check/lib/arbitrary/_internals/builders/UriQueryOrFragmentArbitraryBuilder.js +0 -8
- node_modules/fast-check/lib/arbitrary/_internals/data/GraphemeRanges.js +0 -988
- node_modules/fast-check/lib/arbitrary/_internals/helpers/ArrayInt64.js +0 -100
- node_modules/fast-check/lib/arbitrary/_internals/helpers/BiasNumericRange.js +0 -36
- node_modules/fast-check/lib/arbitrary/_internals/helpers/BuildSchedulerFor.js +0 -24
- node_modules/fast-check/lib/arbitrary/_internals/helpers/BuildSlicedGenerator.js +0 -11
- node_modules/fast-check/lib/arbitrary/_internals/helpers/CustomEqualSet.js +0 -26
- node_modules/fast-check/lib/arbitrary/_internals/helpers/DepthContext.js +0 -25
- node_modules/fast-check/lib/arbitrary/_internals/helpers/DoubleHelpers.js +0 -90
- node_modules/fast-check/lib/arbitrary/_internals/helpers/DoubleOnlyHelpers.js +0 -31
- node_modules/fast-check/lib/arbitrary/_internals/helpers/EnumerableKeysExtractor.js +0 -18
- node_modules/fast-check/lib/arbitrary/_internals/helpers/FloatHelpers.js +0 -68
- node_modules/fast-check/lib/arbitrary/_internals/helpers/FloatOnlyHelpers.js +0 -32
node_modules/.package-lock.json
DELETED
|
@@ -1,48 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"name": "crypto-api-resource-monitor",
|
| 3 |
-
"version": "1.0.0",
|
| 4 |
-
"lockfileVersion": 3,
|
| 5 |
-
"requires": true,
|
| 6 |
-
"packages": {
|
| 7 |
-
"node_modules/fast-check": {
|
| 8 |
-
"version": "3.23.2",
|
| 9 |
-
"resolved": "https://registry.npmjs.org/fast-check/-/fast-check-3.23.2.tgz",
|
| 10 |
-
"integrity": "sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==",
|
| 11 |
-
"dev": true,
|
| 12 |
-
"funding": [
|
| 13 |
-
{
|
| 14 |
-
"type": "individual",
|
| 15 |
-
"url": "https://github.com/sponsors/dubzzz"
|
| 16 |
-
},
|
| 17 |
-
{
|
| 18 |
-
"type": "opencollective",
|
| 19 |
-
"url": "https://opencollective.com/fast-check"
|
| 20 |
-
}
|
| 21 |
-
],
|
| 22 |
-
"license": "MIT",
|
| 23 |
-
"dependencies": {
|
| 24 |
-
"pure-rand": "^6.1.0"
|
| 25 |
-
},
|
| 26 |
-
"engines": {
|
| 27 |
-
"node": ">=8.0.0"
|
| 28 |
-
}
|
| 29 |
-
},
|
| 30 |
-
"node_modules/pure-rand": {
|
| 31 |
-
"version": "6.1.0",
|
| 32 |
-
"resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz",
|
| 33 |
-
"integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==",
|
| 34 |
-
"dev": true,
|
| 35 |
-
"funding": [
|
| 36 |
-
{
|
| 37 |
-
"type": "individual",
|
| 38 |
-
"url": "https://github.com/sponsors/dubzzz"
|
| 39 |
-
},
|
| 40 |
-
{
|
| 41 |
-
"type": "opencollective",
|
| 42 |
-
"url": "https://opencollective.com/fast-check"
|
| 43 |
-
}
|
| 44 |
-
],
|
| 45 |
-
"license": "MIT"
|
| 46 |
-
}
|
| 47 |
-
}
|
| 48 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/CHANGELOG.md
DELETED
|
@@ -1,1039 +0,0 @@
|
|
| 1 |
-
# 3.23.2
|
| 2 |
-
|
| 3 |
-
_Increased resiliency to poisoning_
|
| 4 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.23.2)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.23.1...v3.23.2)]
|
| 5 |
-
|
| 6 |
-
## Fixes
|
| 7 |
-
|
| 8 |
-
- ([PR#5469](https://github.com/dubzzz/fast-check/pull/5469)) Bug: Make `subarray` a bit more resilient to poisoning
|
| 9 |
-
- ([PR#5468](https://github.com/dubzzz/fast-check/pull/5468)) Bug: Make `stringify` a bit more resilient to poisoning
|
| 10 |
-
- ([PR#5515](https://github.com/dubzzz/fast-check/pull/5515)) Bug: Make depth retrieval more resilient to poisoning
|
| 11 |
-
- ([PR#5516](https://github.com/dubzzz/fast-check/pull/5516)) Bug: Make `mapToConstant` a bit more resilient to poisoning
|
| 12 |
-
- ([PR#5517](https://github.com/dubzzz/fast-check/pull/5517)) Bug: Make run details printer a bit more resilient to poisoning
|
| 13 |
-
- ([PR#5518](https://github.com/dubzzz/fast-check/pull/5518)) Bug: Make `gen` a bit more resilient to poisoning
|
| 14 |
-
- ([PR#5456](https://github.com/dubzzz/fast-check/pull/5456)) CI: Allow Bluesky calls from the blog
|
| 15 |
-
- ([PR#5457](https://github.com/dubzzz/fast-check/pull/5457)) CI: Add Bluesky CDN as trustable source for images
|
| 16 |
-
- ([PR#5410](https://github.com/dubzzz/fast-check/pull/5410)) Doc: Release note for 3.23.0
|
| 17 |
-
- ([PR#5413](https://github.com/dubzzz/fast-check/pull/5413)) Doc: Update social links on footer
|
| 18 |
-
- ([PR#5414](https://github.com/dubzzz/fast-check/pull/5414)) Doc: Drop Twitter badge from README
|
| 19 |
-
- ([PR#5415](https://github.com/dubzzz/fast-check/pull/5415)) Doc: Add link to bluesky account in the header of the doc
|
| 20 |
-
- ([PR#5453](https://github.com/dubzzz/fast-check/pull/5453)) Doc: AdventOfPBT event Day 1
|
| 21 |
-
- ([PR#5454](https://github.com/dubzzz/fast-check/pull/5454)) Doc: Saving Christmas with nroken playground
|
| 22 |
-
- ([PR#5455](https://github.com/dubzzz/fast-check/pull/5455)) Doc: Add links towards Bluesky from the AdventOfPBT
|
| 23 |
-
- ([PR#5460](https://github.com/dubzzz/fast-check/pull/5460)) Doc: Advent Of PBT, day 2
|
| 24 |
-
- ([PR#5461](https://github.com/dubzzz/fast-check/pull/5461)) Doc: Add linkt towards Bluesky comments
|
| 25 |
-
- ([PR#5464](https://github.com/dubzzz/fast-check/pull/5464)) Doc: Add quick code snippet directly from the documentation
|
| 26 |
-
- ([PR#5465](https://github.com/dubzzz/fast-check/pull/5465)) Doc: Quick CTA to our Advent of PBT event
|
| 27 |
-
- ([PR#5467](https://github.com/dubzzz/fast-check/pull/5467)) Doc: Single line success message for the Advent of PBT
|
| 28 |
-
- ([PR#5470](https://github.com/dubzzz/fast-check/pull/5470)) Doc: Notify fast-check.dev account
|
| 29 |
-
- ([PR#5471](https://github.com/dubzzz/fast-check/pull/5471)) Doc: Advent of PBT, day 3
|
| 30 |
-
- ([PR#5472](https://github.com/dubzzz/fast-check/pull/5472)) Doc: Add comments section on Advent of PBT, Day 3
|
| 31 |
-
- ([PR#5474](https://github.com/dubzzz/fast-check/pull/5474)) Doc: Advent of PBT, day 4
|
| 32 |
-
- ([PR#5477](https://github.com/dubzzz/fast-check/pull/5477)) Doc: Add comments section on Advent of PBT, Day 4
|
| 33 |
-
- ([PR#5479](https://github.com/dubzzz/fast-check/pull/5479)) Doc: Advent of PBT Day 5
|
| 34 |
-
- ([PR#5480](https://github.com/dubzzz/fast-check/pull/5480)) Doc: Advent of PBT Day 5, link to comments on Bluesky
|
| 35 |
-
- ([PR#5481](https://github.com/dubzzz/fast-check/pull/5481)) Doc: Do not send new success pixels when advent solved once
|
| 36 |
-
- ([PR#5482](https://github.com/dubzzz/fast-check/pull/5482)) Doc: Add a counter showing the number of times the puzzle got solved
|
| 37 |
-
- ([PR#5489](https://github.com/dubzzz/fast-check/pull/5489)) Doc: Advent Of PBT, Day 6
|
| 38 |
-
- ([PR#5490](https://github.com/dubzzz/fast-check/pull/5490)) Doc: Advent of PBT, comments on Day 6
|
| 39 |
-
- ([PR#5493](https://github.com/dubzzz/fast-check/pull/5493)) Doc: Fix playground code of Day 6
|
| 40 |
-
- ([PR#5495](https://github.com/dubzzz/fast-check/pull/5495)) Doc: Advent of PBT Day 7
|
| 41 |
-
- ([PR#5496](https://github.com/dubzzz/fast-check/pull/5496)) Doc: Advent of PBT Day 7, comments section
|
| 42 |
-
- ([PR#5497](https://github.com/dubzzz/fast-check/pull/5497)) Doc: Advent of PBT Day 8
|
| 43 |
-
- ([PR#5498](https://github.com/dubzzz/fast-check/pull/5498)) Doc: Advent of PBT Day 8, comments section
|
| 44 |
-
- ([PR#5501](https://github.com/dubzzz/fast-check/pull/5501)) Doc: Drop buggy "solved times" at the end of each advent
|
| 45 |
-
- ([PR#5500](https://github.com/dubzzz/fast-check/pull/5500)) Doc: Advent of PBT Day 9
|
| 46 |
-
- ([PR#5503](https://github.com/dubzzz/fast-check/pull/5503)) Doc: Add back buggy "solved times" at the end of each advent
|
| 47 |
-
- ([PR#5505](https://github.com/dubzzz/fast-check/pull/5505)) Doc: Advent of PBT Day 10
|
| 48 |
-
- ([PR#5510](https://github.com/dubzzz/fast-check/pull/5510)) Doc: Advent Of PBT Day 10, comments section
|
| 49 |
-
- ([PR#5508](https://github.com/dubzzz/fast-check/pull/5508)) Doc: Advent Of PBT Day 11
|
| 50 |
-
- ([PR#5507](https://github.com/dubzzz/fast-check/pull/5507)) Doc: Advent Of PBT Day 12
|
| 51 |
-
- ([PR#5509](https://github.com/dubzzz/fast-check/pull/5509)) Doc: Advent Of PBT Day 13
|
| 52 |
-
- ([PR#5523](https://github.com/dubzzz/fast-check/pull/5523)) Doc: Advent of PBT add comments sections on days 11 to 13
|
| 53 |
-
|
| 54 |
-
# 3.23.1
|
| 55 |
-
|
| 56 |
-
_Faster instantiation of internet-related arbitraries_
|
| 57 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.23.1)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.23.0...v3.23.1)]
|
| 58 |
-
|
| 59 |
-
## Fixes
|
| 60 |
-
|
| 61 |
-
- ([PR#5402](https://github.com/dubzzz/fast-check/pull/5402)) Performance: Faster instantiation of internet-related arbitraries
|
| 62 |
-
|
| 63 |
-
# 3.23.0
|
| 64 |
-
|
| 65 |
-
_Extend usages of string-units and increased performance_
|
| 66 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.23.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.22.0...v3.23.0)]
|
| 67 |
-
|
| 68 |
-
## Features
|
| 69 |
-
|
| 70 |
-
- ([PR#5366](https://github.com/dubzzz/fast-check/pull/5366)) Add support for string-`unit` on `object`/`anything` arbitrary
|
| 71 |
-
- ([PR#5367](https://github.com/dubzzz/fast-check/pull/5367)) Add support for string-`unit` on `json` arbitrary
|
| 72 |
-
- ([PR#5390](https://github.com/dubzzz/fast-check/pull/5390)) Add back strong unmapping capabilities to `string`
|
| 73 |
-
|
| 74 |
-
## Fixes
|
| 75 |
-
|
| 76 |
-
- ([PR#5327](https://github.com/dubzzz/fast-check/pull/5327)) Bug: Resist even more to external poisoning for `string`
|
| 77 |
-
- ([PR#5368](https://github.com/dubzzz/fast-check/pull/5368)) Bug: Better support for poisoning on `stringMatching`
|
| 78 |
-
- ([PR#5344](https://github.com/dubzzz/fast-check/pull/5344)) CI: Adapt some tests for Node v23
|
| 79 |
-
- ([PR#5346](https://github.com/dubzzz/fast-check/pull/5346)) CI: Drop usages of `it.concurrent` due to Node 23 failing
|
| 80 |
-
- ([PR#5363](https://github.com/dubzzz/fast-check/pull/5363)) CI: Move to Vitest for `examples/`
|
| 81 |
-
- ([PR#5391](https://github.com/dubzzz/fast-check/pull/5391)) CI: Preview builds using `pkg.pr.new`
|
| 82 |
-
- ([PR#5392](https://github.com/dubzzz/fast-check/pull/5392)) CI: Connect custom templates to `pkg.pr.new` previews
|
| 83 |
-
- ([PR#5394](https://github.com/dubzzz/fast-check/pull/5394)) CI: Install dependencies before building changesets
|
| 84 |
-
- ([PR#5396](https://github.com/dubzzz/fast-check/pull/5396)) CI: Proper commit name on changelogs
|
| 85 |
-
- ([PR#5393](https://github.com/dubzzz/fast-check/pull/5393)) Clean: Drop unused `examples/jest.setup.js`
|
| 86 |
-
- ([PR#5249](https://github.com/dubzzz/fast-check/pull/5249)) Doc: Release note for fast-check 3.22.0
|
| 87 |
-
- ([PR#5369](https://github.com/dubzzz/fast-check/pull/5369)) Doc: Typo fix in model-based-testing.md
|
| 88 |
-
- ([PR#5370](https://github.com/dubzzz/fast-check/pull/5370)) Doc: Add new contributor jamesbvaughan
|
| 89 |
-
- ([PR#5383](https://github.com/dubzzz/fast-check/pull/5383)) Doc: Properly indent code snippets for the documentation
|
| 90 |
-
- ([PR#5372](https://github.com/dubzzz/fast-check/pull/5372)) Performance: Faster `canShrinkWithoutContext` for constants
|
| 91 |
-
- ([PR#5386](https://github.com/dubzzz/fast-check/pull/5386)) Performance: Faster generate process for `mapToConstant`
|
| 92 |
-
- ([PR#5387](https://github.com/dubzzz/fast-check/pull/5387)) Performance: Faster tokenizer of strings
|
| 93 |
-
- ([PR#5388](https://github.com/dubzzz/fast-check/pull/5388)) Performance: Faster initialization of `string` with faster slices
|
| 94 |
-
- ([PR#5389](https://github.com/dubzzz/fast-check/pull/5389)) Performance: Faster initialization of `string` with pre-cached slices
|
| 95 |
-
- ([PR#5371](https://github.com/dubzzz/fast-check/pull/5371)) Test: Add extra set of tests for `constant*`
|
| 96 |
-
|
| 97 |
-
---
|
| 98 |
-
|
| 99 |
-
# 3.22.0
|
| 100 |
-
|
| 101 |
-
_Graphemes support on `fc.string`_
|
| 102 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.22.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.21.0...v3.22.0)]
|
| 103 |
-
|
| 104 |
-
## Features
|
| 105 |
-
|
| 106 |
-
- ([PR#5222](https://github.com/dubzzz/fast-check/pull/5222)) Support for grapheme on `fc.string`
|
| 107 |
-
- ([PR#5233](https://github.com/dubzzz/fast-check/pull/5233)) Mark as deprecated most of char and string arbitraries
|
| 108 |
-
- ([PR#5238](https://github.com/dubzzz/fast-check/pull/5238)) Deprecate `bigInt`'s alternatives
|
| 109 |
-
|
| 110 |
-
## Fixes
|
| 111 |
-
|
| 112 |
-
- ([PR#5237](https://github.com/dubzzz/fast-check/pull/5237)) CI: Drop TypeScript rc release channel
|
| 113 |
-
- ([PR#5241](https://github.com/dubzzz/fast-check/pull/5241)) CI: Move to changeset
|
| 114 |
-
- ([PR#5199](https://github.com/dubzzz/fast-check/pull/5199)) Doc: Publish release note for 3.21.0
|
| 115 |
-
- ([PR#5240](https://github.com/dubzzz/fast-check/pull/5240)) Doc: Better `string`'s deprecation note in documentation
|
| 116 |
-
- ([PR#5203](https://github.com/dubzzz/fast-check/pull/5203)) Refactor: Add missing types on exported
|
| 117 |
-
|
| 118 |
-
---
|
| 119 |
-
|
| 120 |
-
# 3.21.0
|
| 121 |
-
|
| 122 |
-
_Support customisable versions on `uuid`_
|
| 123 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.21.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.20.0...v3.21.0)]
|
| 124 |
-
|
| 125 |
-
## Features
|
| 126 |
-
|
| 127 |
-
- ([PR#5172](https://github.com/dubzzz/fast-check/pull/5172)) Support UUID versions [1-15] on `uuidV`
|
| 128 |
-
- ([PR#5189](https://github.com/dubzzz/fast-check/pull/5189)) Deprecate `uuidV` in favor of `uuid`
|
| 129 |
-
- ([PR#5188](https://github.com/dubzzz/fast-check/pull/5188)) Customize versions directly from `uuid`
|
| 130 |
-
|
| 131 |
-
## Fixes
|
| 132 |
-
|
| 133 |
-
- ([PR#5190](https://github.com/dubzzz/fast-check/pull/5190)) CI: Support npm publish on other tags
|
| 134 |
-
- ([PR#5124](https://github.com/dubzzz/fast-check/pull/5124)) Doc: Publish release note for 3.20.0
|
| 135 |
-
- ([PR#5137](https://github.com/dubzzz/fast-check/pull/5137)) Doc: Add missing options in the documentation for `float` and `double`
|
| 136 |
-
- ([PR#5142](https://github.com/dubzzz/fast-check/pull/5142)) Doc: Better width for stargazer badge in the documentation
|
| 137 |
-
- ([PR#5143](https://github.com/dubzzz/fast-check/pull/5143)) Doc: Document Faker integration
|
| 138 |
-
- ([PR#5144](https://github.com/dubzzz/fast-check/pull/5144)) Doc: Add support us page in our documentation
|
| 139 |
-
|
| 140 |
-
---
|
| 141 |
-
|
| 142 |
-
# 3.20.0
|
| 143 |
-
|
| 144 |
-
_New arbitraries to alter shrinking capabilities_
|
| 145 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.20.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.19.0...v3.20.0)]
|
| 146 |
-
|
| 147 |
-
## Features
|
| 148 |
-
|
| 149 |
-
- ([PR#5047](https://github.com/dubzzz/fast-check/pull/5047)) Introduce new `fc.noShrink` arbitrary
|
| 150 |
-
- ([PR#5050](https://github.com/dubzzz/fast-check/pull/5050)) Introduce new `fc.noBias` arbitrary
|
| 151 |
-
- ([PR#5006](https://github.com/dubzzz/fast-check/pull/5006)) Add ability to limit shrink path
|
| 152 |
-
- ([PR#5112](https://github.com/dubzzz/fast-check/pull/5112)) Simplify `limitShrink` before releasing
|
| 153 |
-
|
| 154 |
-
## Fixes
|
| 155 |
-
|
| 156 |
-
- ([PR#5013](https://github.com/dubzzz/fast-check/pull/5013)) CI: Drop verbosity flag at unpack step in CI
|
| 157 |
-
- ([PR#5074](https://github.com/dubzzz/fast-check/pull/5074)) CI: Check types with multiple TypeScript
|
| 158 |
-
- ([PR#5015](https://github.com/dubzzz/fast-check/pull/5015)) Doc: Release note for 3.19.0
|
| 159 |
-
- ([PR#5016](https://github.com/dubzzz/fast-check/pull/5016)) Doc: Fix typo in the PR template
|
| 160 |
-
- ([PR#4858](https://github.com/dubzzz/fast-check/pull/4858)) Doc: Update Getting Started section in docs
|
| 161 |
-
- ([PR#5035](https://github.com/dubzzz/fast-check/pull/5035)) Doc: Remove duplicate paragraph in `your-first-race-condition-test.mdx`
|
| 162 |
-
- ([PR#5048](https://github.com/dubzzz/fast-check/pull/5048)) Doc: Add new contributors cindywu and nmay231
|
| 163 |
-
- ([PR#5097](https://github.com/dubzzz/fast-check/pull/5097)) Doc: Add warning on `noShrink`
|
| 164 |
-
- ([PR#5121](https://github.com/dubzzz/fast-check/pull/5121)) Doc: Document integration with other test runners
|
| 165 |
-
|
| 166 |
-
---
|
| 167 |
-
|
| 168 |
-
# 3.19.0
|
| 169 |
-
|
| 170 |
-
_New options to generate unicode strings on objects_
|
| 171 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.19.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.18.0...v3.19.0)]
|
| 172 |
-
|
| 173 |
-
## Features
|
| 174 |
-
|
| 175 |
-
- ([PR#5010](https://github.com/dubzzz/fast-check/pull/5010)) Add option to generate unicode values in `object`
|
| 176 |
-
- ([PR#5011](https://github.com/dubzzz/fast-check/pull/5011)) Add option to generate unicode values in `json`
|
| 177 |
-
|
| 178 |
-
## Fixes
|
| 179 |
-
|
| 180 |
-
- ([PR#4981](https://github.com/dubzzz/fast-check/pull/4981)) Bug: Better interrupt between multiple versions
|
| 181 |
-
- ([PR#4984](https://github.com/dubzzz/fast-check/pull/4984)) CI: Rework issue template
|
| 182 |
-
- ([PR#4941](https://github.com/dubzzz/fast-check/pull/4941)) Doc: Publish release note for 3.18.0
|
| 183 |
-
- ([PR#4982](https://github.com/dubzzz/fast-check/pull/4982)) Script: Shorter bump command
|
| 184 |
-
|
| 185 |
-
---
|
| 186 |
-
|
| 187 |
-
# 3.18.0
|
| 188 |
-
|
| 189 |
-
_New options for floating point arbitraries_
|
| 190 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.18.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.17.2...v3.18.0)]
|
| 191 |
-
|
| 192 |
-
## Features
|
| 193 |
-
|
| 194 |
-
- ([PR#4917](https://github.com/dubzzz/fast-check/pull/4917)) Add option to produce non-integer on `double`
|
| 195 |
-
- ([PR#4923](https://github.com/dubzzz/fast-check/pull/4923)) Add option to produce non-integer on `float`
|
| 196 |
-
- ([PR#4935](https://github.com/dubzzz/fast-check/pull/4935)) Produce "//" in web paths
|
| 197 |
-
|
| 198 |
-
## Fixes
|
| 199 |
-
|
| 200 |
-
- ([PR#4924](https://github.com/dubzzz/fast-check/pull/4924)) CI: Enable more advanced TS flags
|
| 201 |
-
- ([PR#4925](https://github.com/dubzzz/fast-check/pull/4925)) CI: Explicitly test against Node 22
|
| 202 |
-
- ([PR#4926](https://github.com/dubzzz/fast-check/pull/4926)) CI: Stabilize tests of `double` on small ranges
|
| 203 |
-
- ([PR#4921](https://github.com/dubzzz/fast-check/pull/4921)) Performance: More optimal `noInteger` on `double`
|
| 204 |
-
- ([PR#4933](https://github.com/dubzzz/fast-check/pull/4933)) Script: Switch on more eslint rules
|
| 205 |
-
- ([PR#4922](https://github.com/dubzzz/fast-check/pull/4922)) Test: Cover `noInteger` on `double` via integration layers
|
| 206 |
-
|
| 207 |
-
---
|
| 208 |
-
|
| 209 |
-
# 3.17.2
|
| 210 |
-
|
| 211 |
-
_Directly reference the official documentation from NPM_
|
| 212 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.17.2)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.17.1...v3.17.2)]
|
| 213 |
-
|
| 214 |
-
## Fixes
|
| 215 |
-
|
| 216 |
-
- ([PR#4853](https://github.com/dubzzz/fast-check/pull/4853)) CI: Build doc with full git history
|
| 217 |
-
- ([PR#4872](https://github.com/dubzzz/fast-check/pull/4872)) CI: Stop caching Jest on CI
|
| 218 |
-
- ([PR#4852](https://github.com/dubzzz/fast-check/pull/4852)) Doc: Show last update time on doc
|
| 219 |
-
- ([PR#4851](https://github.com/dubzzz/fast-check/pull/4851)) Doc: Add last modified date to sitemap
|
| 220 |
-
- ([PR#4868](https://github.com/dubzzz/fast-check/pull/4868)) Doc: Enhance SEO for homepage
|
| 221 |
-
- ([PR#4888](https://github.com/dubzzz/fast-check/pull/4888)) Doc: Add tutorial for PBT with Jest
|
| 222 |
-
- ([PR#4901](https://github.com/dubzzz/fast-check/pull/4901)) Doc: Use official doc for npm homepage
|
| 223 |
-
- ([PR#4866](https://github.com/dubzzz/fast-check/pull/4866)) Test: Safer rewrite of Poisoning E2E
|
| 224 |
-
- ([PR#4871](https://github.com/dubzzz/fast-check/pull/4871)) Test: Move tests to Vitest
|
| 225 |
-
- ([PR#4863](https://github.com/dubzzz/fast-check/pull/4863)) Test: Explicitely import from Vitest
|
| 226 |
-
- ([PR#4873](https://github.com/dubzzz/fast-check/pull/4873)) Test: Move to v8 for coverage
|
| 227 |
-
- ([PR#4875](https://github.com/dubzzz/fast-check/pull/4875)) Test: Better mock/spy cleaning
|
| 228 |
-
|
| 229 |
-
# 3.17.1
|
| 230 |
-
|
| 231 |
-
_Better interrupt CJS/MJS regarding types_
|
| 232 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.17.1)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.17.0...v3.17.1)]
|
| 233 |
-
|
| 234 |
-
## Fixes
|
| 235 |
-
|
| 236 |
-
- ([PR#4842](https://github.com/dubzzz/fast-check/pull/4842)) Bug: Fix dual-packages hazard and types incompatibility
|
| 237 |
-
- ([PR#4836](https://github.com/dubzzz/fast-check/pull/4836)) Doc: Release note for 3.17.0
|
| 238 |
-
- ([PR#4844](https://github.com/dubzzz/fast-check/pull/4844)) Doc: Add new contributor patroza
|
| 239 |
-
|
| 240 |
-
# 3.17.0
|
| 241 |
-
|
| 242 |
-
_Allow access to some internals details linked to the underlying random generator_
|
| 243 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.17.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.16.0...v3.17.0)]
|
| 244 |
-
|
| 245 |
-
## Features
|
| 246 |
-
|
| 247 |
-
- ([PR#4817](https://github.com/dubzzz/fast-check/pull/4817)) Expose internal state of the PRNG from `Random`
|
| 248 |
-
|
| 249 |
-
## Fixes
|
| 250 |
-
|
| 251 |
-
- ([PR#4781](https://github.com/dubzzz/fast-check/pull/4781)) Doc: Official release note of 3.16.0
|
| 252 |
-
- ([PR#4799](https://github.com/dubzzz/fast-check/pull/4799)) Doc: Add more links in the footer
|
| 253 |
-
- ([PR#4800](https://github.com/dubzzz/fast-check/pull/4800)) Doc: Better colors for footer and dark mode
|
| 254 |
-
|
| 255 |
-
---
|
| 256 |
-
|
| 257 |
-
# 3.16.0
|
| 258 |
-
|
| 259 |
-
_Type assert on assertions linked to `fc.pre`_
|
| 260 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.16.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.15.1...v3.16.0)]
|
| 261 |
-
|
| 262 |
-
## Features
|
| 263 |
-
|
| 264 |
-
- ([PR#4709](https://github.com/dubzzz/fast-check/pull/4709)) Make `fc.pre` an assertion function
|
| 265 |
-
|
| 266 |
-
## Fixes
|
| 267 |
-
|
| 268 |
-
- ([PR#4736](https://github.com/dubzzz/fast-check/pull/4736)) Bug: Wrong logo ratio on small screen
|
| 269 |
-
- ([PR#4747](https://github.com/dubzzz/fast-check/pull/4747)) CI: Deploy website on Netlify
|
| 270 |
-
- ([PR#4751](https://github.com/dubzzz/fast-check/pull/4751)) CI: Drop configuration of GitHub Pages
|
| 271 |
-
- ([PR#4756](https://github.com/dubzzz/fast-check/pull/4756)) CI: Make CI fail on invalid deploy
|
| 272 |
-
- ([PR#4776](https://github.com/dubzzz/fast-check/pull/4776)) CI: Drop Google Analytics
|
| 273 |
-
- ([PR#4769](https://github.com/dubzzz/fast-check/pull/4769)) Clean: Drop legacy patch on React 17
|
| 274 |
-
- ([PR#4677](https://github.com/dubzzz/fast-check/pull/4677)) Doc: Add `jsonwebtoken` to track record
|
| 275 |
-
- ([PR#4712](https://github.com/dubzzz/fast-check/pull/4712)) Doc: Fix console errors of website
|
| 276 |
-
- ([PR#4713](https://github.com/dubzzz/fast-check/pull/4713)) Doc: Add extra spacing on top of CTA
|
| 277 |
-
- ([PR#4730](https://github.com/dubzzz/fast-check/pull/4730)) Doc: Optimize image assets on homepage
|
| 278 |
-
- ([PR#4732](https://github.com/dubzzz/fast-check/pull/4732)) Doc: Optimize SVG assets
|
| 279 |
-
- ([PR#4735](https://github.com/dubzzz/fast-check/pull/4735)) Doc: Less layout shift with proper sizes
|
| 280 |
-
- ([PR#4750](https://github.com/dubzzz/fast-check/pull/4750)) Doc: Add link to Netlify
|
| 281 |
-
- ([PR#4754](https://github.com/dubzzz/fast-check/pull/4754)) Doc: Better assets on the homepage of the website
|
| 282 |
-
- ([PR#4768](https://github.com/dubzzz/fast-check/pull/4768)) Doc: Add new contributors ej-shafran and gruhn
|
| 283 |
-
- ([PR#4771](https://github.com/dubzzz/fast-check/pull/4771)) Doc: Blog post for 3.15.0
|
| 284 |
-
- ([PR#4753](https://github.com/dubzzz/fast-check/pull/4753)) Security: Configure CSP for fast-check.dev
|
| 285 |
-
- ([PR#4761](https://github.com/dubzzz/fast-check/pull/4761)) Security: Enforce Content-Security-Policy on our website
|
| 286 |
-
- ([PR#4772](https://github.com/dubzzz/fast-check/pull/4772)) Security: Relax CSP policy to support Algolia
|
| 287 |
-
|
| 288 |
-
---
|
| 289 |
-
|
| 290 |
-
# 3.15.1
|
| 291 |
-
|
| 292 |
-
_Prepare the monorepo for ESM build-chain_
|
| 293 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.15.1)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.15.0...v3.15.1)]
|
| 294 |
-
|
| 295 |
-
## Fixes
|
| 296 |
-
|
| 297 |
-
- ([PR#4591](https://github.com/dubzzz/fast-check/pull/4591)) CI: Move build chain to ESM for root of monorepo
|
| 298 |
-
- ([PR#4598](https://github.com/dubzzz/fast-check/pull/4598)) CI: Add `onBrokenAnchors`'check on Docusaurus
|
| 299 |
-
- ([PR#4606](https://github.com/dubzzz/fast-check/pull/4606)) CI: Configuration files for VSCode
|
| 300 |
-
- ([PR#4650](https://github.com/dubzzz/fast-check/pull/4650)) CI: Move examples build chain to ESM
|
| 301 |
-
- ([PR#4554](https://github.com/dubzzz/fast-check/pull/4554)) Doc: Add `idonttrustlikethat-fast-check` in ecosystem.md
|
| 302 |
-
- ([PR#4563](https://github.com/dubzzz/fast-check/pull/4563)) Doc: Add new contributor nielk
|
| 303 |
-
- ([PR#4669](https://github.com/dubzzz/fast-check/pull/4669)) Doc: Add `@effect/schema` in ecosystem
|
| 304 |
-
- ([PR#4665](https://github.com/dubzzz/fast-check/pull/4665)) Test: Fix `isCorrect` check on double
|
| 305 |
-
- ([PR#4666](https://github.com/dubzzz/fast-check/pull/4666)) Test: Stabilize flaky URL-related test
|
| 306 |
-
|
| 307 |
-
# 3.15.0
|
| 308 |
-
|
| 309 |
-
_Add support for `depthIdentifier` to `dictionary`_
|
| 310 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.15.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.14.0...v3.15.0)]
|
| 311 |
-
|
| 312 |
-
## Features
|
| 313 |
-
|
| 314 |
-
- ([PR#4548](https://github.com/dubzzz/fast-check/pull/4548)) Add support for `depthIdentifier` to `dictionary`
|
| 315 |
-
|
| 316 |
-
## Fixes
|
| 317 |
-
|
| 318 |
-
- ([PR#4502](https://github.com/dubzzz/fast-check/pull/4502)) Bug: Also produce null-prototype at root level of generated `object` when requested to
|
| 319 |
-
- ([PR#4481](https://github.com/dubzzz/fast-check/pull/4481)) CI: Migrate configuration of Docusaurus to TS
|
| 320 |
-
- ([PR#4463](https://github.com/dubzzz/fast-check/pull/4463)) Doc: Blog post for 3.14.0
|
| 321 |
-
- ([PR#4464](https://github.com/dubzzz/fast-check/pull/4464)) Doc: Prefer import notation over require for README
|
| 322 |
-
- ([PR#4482](https://github.com/dubzzz/fast-check/pull/4482)) Doc: Rework section on `waitAll` in the tutorial
|
| 323 |
-
- ([PR#4477](https://github.com/dubzzz/fast-check/pull/4477)) Doc: Fix typo in date.md
|
| 324 |
-
- ([PR#4494](https://github.com/dubzzz/fast-check/pull/4494)) Doc: Add new contributor bennettp123
|
| 325 |
-
- ([PR#4541](https://github.com/dubzzz/fast-check/pull/4541)) Refactor: Rely on `dictionary` for `object` instead of inlined reimplementation
|
| 326 |
-
- ([PR#4469](https://github.com/dubzzz/fast-check/pull/4469)) Test: More stable snapshot tests on stack traces
|
| 327 |
-
- ([PR#4470](https://github.com/dubzzz/fast-check/pull/4470)) Test: Add cause flag onto snapshot tests checking stack traces
|
| 328 |
-
- ([PR#4478](https://github.com/dubzzz/fast-check/pull/4478)) Test: Better snapshots tests implying stacktraces
|
| 329 |
-
- ([PR#4483](https://github.com/dubzzz/fast-check/pull/4483)) Test: Wrap async no-regression snapshots within a sanitizer for stacktraces
|
| 330 |
-
|
| 331 |
-
---
|
| 332 |
-
|
| 333 |
-
# 3.14.0
|
| 334 |
-
|
| 335 |
-
_Lighter import with less internals to load_
|
| 336 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.14.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.13.2...v3.14.0)]
|
| 337 |
-
|
| 338 |
-
## Features
|
| 339 |
-
|
| 340 |
-
- ([PR#4426](https://github.com/dubzzz/fast-check/pull/4426)) Prefer "import type" over raw "import"
|
| 341 |
-
|
| 342 |
-
## Fixes
|
| 343 |
-
|
| 344 |
-
- ([PR#4364](https://github.com/dubzzz/fast-check/pull/4364)) CI: Toggle more immutable on yarn
|
| 345 |
-
- ([PR#4369](https://github.com/dubzzz/fast-check/pull/4369)) CI: Do not override existing on untar
|
| 346 |
-
- ([PR#4372](https://github.com/dubzzz/fast-check/pull/4372)) CI: REVERT Do not override existing on untar
|
| 347 |
-
- ([PR#4371](https://github.com/dubzzz/fast-check/pull/4371)) CI: Mark final check as failed and not skipped
|
| 348 |
-
- ([PR#4375](https://github.com/dubzzz/fast-check/pull/4375)) CI: Attempt to patch untar step
|
| 349 |
-
- ([PR#4378](https://github.com/dubzzz/fast-check/pull/4378)) CI: Attempt to patch untar step
|
| 350 |
-
- ([PR#4380](https://github.com/dubzzz/fast-check/pull/4380)) CI: Add missing but directly called dependencies
|
| 351 |
-
- ([PR#4384](https://github.com/dubzzz/fast-check/pull/4384)) CI: Attempt to patch untar step
|
| 352 |
-
- ([PR#4368](https://github.com/dubzzz/fast-check/pull/4368)) CI: Attempt to switch to pnp linker
|
| 353 |
-
- ([PR#4407](https://github.com/dubzzz/fast-check/pull/4407)) CI: No parallel "git" command
|
| 354 |
-
- ([PR#4419](https://github.com/dubzzz/fast-check/pull/4419)) CI: Prefer "import type" via linter
|
| 355 |
-
- ([PR#4428](https://github.com/dubzzz/fast-check/pull/4428)) CI: Default to Node 20 for CI
|
| 356 |
-
- ([PR#4441](https://github.com/dubzzz/fast-check/pull/4441)) CI: Add support for PnP on VSCode
|
| 357 |
-
- ([PR#4345](https://github.com/dubzzz/fast-check/pull/4345)) Performance: Faster replay: drop loose compare
|
| 358 |
-
- ([PR#4381](https://github.com/dubzzz/fast-check/pull/4381)) Test: Import buffer via aliased name
|
| 359 |
-
|
| 360 |
-
---
|
| 361 |
-
|
| 362 |
-
# 3.13.2
|
| 363 |
-
|
| 364 |
-
_Better reporting for invalid paths_
|
| 365 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.13.2)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.13.1...v3.13.2)]
|
| 366 |
-
|
| 367 |
-
## Fixes
|
| 368 |
-
|
| 369 |
-
- ([PR#4344](https://github.com/dubzzz/fast-check/pull/4344)) Bug: Path wrongly reported when invalid
|
| 370 |
-
- ([PR#4279](https://github.com/dubzzz/fast-check/pull/4279)) CI: Better caching for yarn
|
| 371 |
-
- ([PR#4346](https://github.com/dubzzz/fast-check/pull/4346)) CI: Better yarn caching in CI
|
| 372 |
-
- ([PR#4347](https://github.com/dubzzz/fast-check/pull/4347)) CI: Avoid yarn install on "cache hit"
|
| 373 |
-
- ([PR#4348](https://github.com/dubzzz/fast-check/pull/4348)) CI: Create job to confirm all passed
|
| 374 |
-
- ([PR#4352](https://github.com/dubzzz/fast-check/pull/4352)) CI: Skip install on hot cache (win/mac)
|
| 375 |
-
- ([PR#4299](https://github.com/dubzzz/fast-check/pull/4299)) Doc: Article around Zod vulnerability
|
| 376 |
-
- ([PR#4306](https://github.com/dubzzz/fast-check/pull/4306)) Doc: Fixing a typos in Zod article
|
| 377 |
-
- ([PR#4307](https://github.com/dubzzz/fast-check/pull/4307)) Doc: Add missing robots.txt
|
| 378 |
-
- ([PR#4356](https://github.com/dubzzz/fast-check/pull/4356)) Doc: Better document limitations of `gen`
|
| 379 |
-
- ([PR#4338](https://github.com/dubzzz/fast-check/pull/4338)) Script: Faster tests execution with babel
|
| 380 |
-
- ([PR#4270](https://github.com/dubzzz/fast-check/pull/4270)) Test: Check tsc import and types of bundled package
|
| 381 |
-
- ([PR#4271](https://github.com/dubzzz/fast-check/pull/4271)) Test: Typecheck ESM bundle correctly
|
| 382 |
-
- ([PR#4269](https://github.com/dubzzz/fast-check/pull/4269)) Test: Rework checks against legacy node
|
| 383 |
-
|
| 384 |
-
# 3.13.1
|
| 385 |
-
|
| 386 |
-
_Fix typings for node native esm_
|
| 387 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.13.1)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.13.0...v3.13.1)]
|
| 388 |
-
|
| 389 |
-
## Fixes
|
| 390 |
-
|
| 391 |
-
- ([PR#4261](https://github.com/dubzzz/fast-check/pull/4261)) Bug: Fix typings for node native esm
|
| 392 |
-
- ([PR#4230](https://github.com/dubzzz/fast-check/pull/4230)) Doc: Release note for 3.13.0
|
| 393 |
-
- ([PR#4240](https://github.com/dubzzz/fast-check/pull/4240)) Doc: Some tips on prototype pollution
|
| 394 |
-
- ([PR#4246](https://github.com/dubzzz/fast-check/pull/4246)) Doc: Fix typo in "Detect prototype pollution automatically"
|
| 395 |
-
|
| 396 |
-
# 3.13.0
|
| 397 |
-
|
| 398 |
-
_New options for `date`, `record` and `dictionary`_
|
| 399 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.13.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.12.1...v3.13.0)]
|
| 400 |
-
|
| 401 |
-
## Features
|
| 402 |
-
|
| 403 |
-
- ([PR#4197](https://github.com/dubzzz/fast-check/pull/4197)) Add support for "Invalid Date" in `date`
|
| 404 |
-
- ([PR#4203](https://github.com/dubzzz/fast-check/pull/4203)) Deprecate `withDeletedKeys` on `record`
|
| 405 |
-
- ([PR#4204](https://github.com/dubzzz/fast-check/pull/4204)) Support null-proto in `dictionary`
|
| 406 |
-
- ([PR#4205](https://github.com/dubzzz/fast-check/pull/4205)) Support null-proto in `record`
|
| 407 |
-
|
| 408 |
-
## Fixes
|
| 409 |
-
|
| 410 |
-
- ([PR#4207](https://github.com/dubzzz/fast-check/pull/4207)) Bug: Better poisoning resiliency for `dictionary`
|
| 411 |
-
- ([PR#4194](https://github.com/dubzzz/fast-check/pull/4194)) CI: Add some more details onto the PWA
|
| 412 |
-
- ([PR#4211](https://github.com/dubzzz/fast-check/pull/4211)) CI: Rework broken test on `date`
|
| 413 |
-
- ([PR#4212](https://github.com/dubzzz/fast-check/pull/4212)) CI: Rework broken test on `date` (retry)
|
| 414 |
-
- ([PR#4214](https://github.com/dubzzz/fast-check/pull/4214)) CI: Rework another broken test on date
|
| 415 |
-
- ([PR#4186](https://github.com/dubzzz/fast-check/pull/4186)) Doc: Document our approach to dual package
|
| 416 |
-
- ([PR#4187](https://github.com/dubzzz/fast-check/pull/4187)) Doc: Expose website as PWA too
|
| 417 |
-
- ([PR#4190](https://github.com/dubzzz/fast-check/pull/4190)) Move: Move the manifest in /static
|
| 418 |
-
- ([PR#4206](https://github.com/dubzzz/fast-check/pull/4206)) Refactor: Re-use null-proto helpers of `dictionary` on `anything`
|
| 419 |
-
- ([PR#4189](https://github.com/dubzzz/fast-check/pull/4189)) Test: Drop Node 14.x from the test-chain
|
| 420 |
-
|
| 421 |
-
---
|
| 422 |
-
|
| 423 |
-
# 3.12.1
|
| 424 |
-
|
| 425 |
-
_Better support for types on ESM targets_
|
| 426 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.12.1)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.12.0...v3.12.1)]
|
| 427 |
-
|
| 428 |
-
## Fixes
|
| 429 |
-
|
| 430 |
-
- ([PR#4172](https://github.com/dubzzz/fast-check/pull/4172)) Bug: Better declare ESM's types
|
| 431 |
-
- ([PR#4177](https://github.com/dubzzz/fast-check/pull/4177)) Bug: Replace macros in published esm types
|
| 432 |
-
- ([PR#4156](https://github.com/dubzzz/fast-check/pull/4156)) CI: Stop formatting built website
|
| 433 |
-
- ([PR#4155](https://github.com/dubzzz/fast-check/pull/4155)) CI: Add TypeScript checks on website
|
| 434 |
-
- ([PR#4171](https://github.com/dubzzz/fast-check/pull/4171)) CI: Update Devcontainer settings
|
| 435 |
-
- ([PR#4181](https://github.com/dubzzz/fast-check/pull/4181)) CI: Add exempted labels for stale bot
|
| 436 |
-
- ([PR#4136](https://github.com/dubzzz/fast-check/pull/4136)) Clean: Drop dependency @testing-library/jest-dom
|
| 437 |
-
- ([PR#4107](https://github.com/dubzzz/fast-check/pull/4107)) Doc: What's new article for fast-check 3.12.0
|
| 438 |
-
- ([PR#4118](https://github.com/dubzzz/fast-check/pull/4118)) Doc: Drop raw bench results from release note
|
| 439 |
-
- ([PR#4117](https://github.com/dubzzz/fast-check/pull/4117)) Test: Stabilize test related to NaN in exclusive mode
|
| 440 |
-
- ([PR#4033](https://github.com/dubzzz/fast-check/pull/4033)) Tooling: Update formatting
|
| 441 |
-
|
| 442 |
-
# 3.12.0
|
| 443 |
-
|
| 444 |
-
_Faster `float`, `double` and `ulid` and excluded min/max_
|
| 445 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.12.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.11.0...v3.12.0)]
|
| 446 |
-
|
| 447 |
-
## Features
|
| 448 |
-
|
| 449 |
-
- ([PR#4100](https://github.com/dubzzz/fast-check/pull/4100)) Support excluded min/max in `double`
|
| 450 |
-
- ([PR#4105](https://github.com/dubzzz/fast-check/pull/4105)) Support excluded min/max in `float`
|
| 451 |
-
|
| 452 |
-
## Fixes
|
| 453 |
-
|
| 454 |
-
- ([PR#4094](https://github.com/dubzzz/fast-check/pull/4094)) Bug: Stop unwrapping `ulid` we cannot build
|
| 455 |
-
- ([PR#4095](https://github.com/dubzzz/fast-check/pull/4095)) Bug: Be resilient to poisoning with `ulid`
|
| 456 |
-
- ([PR#4041](https://github.com/dubzzz/fast-check/pull/4041)) CI: Ensure we use latest node in range
|
| 457 |
-
- ([PR#4062](https://github.com/dubzzz/fast-check/pull/4062)) CI: Update devcontainer configuration
|
| 458 |
-
- ([PR#4065](https://github.com/dubzzz/fast-check/pull/4065)) CI: Better configuration for renovate
|
| 459 |
-
- ([PR#4068](https://github.com/dubzzz/fast-check/pull/4068)) CI: Refine configuration of renovate
|
| 460 |
-
- ([PR#4073](https://github.com/dubzzz/fast-check/pull/4073)) CI: New attempt to configure renovate
|
| 461 |
-
- ([PR#4075](https://github.com/dubzzz/fast-check/pull/4075)) CI: Configure renovate to bump non-package
|
| 462 |
-
- ([PR#4078](https://github.com/dubzzz/fast-check/pull/4078)) CI: Disable nodenv bumps on renovate
|
| 463 |
-
- ([PR#4080](https://github.com/dubzzz/fast-check/pull/4080)) CI: Stop bumping node via renovate
|
| 464 |
-
- ([PR#4040](https://github.com/dubzzz/fast-check/pull/4040)) Doc: Prepare release note for 3.11.0
|
| 465 |
-
- ([PR#4087](https://github.com/dubzzz/fast-check/pull/4087)) Doc: Add new contributor zbjornson
|
| 466 |
-
- ([PR#4059](https://github.com/dubzzz/fast-check/pull/4059)) Performance: Faster `decomposeFloat/Double`
|
| 467 |
-
- ([PR#4088](https://github.com/dubzzz/fast-check/pull/4088)) Performance: Drop some unneeded allocs in `ulid`
|
| 468 |
-
- ([PR#4091](https://github.com/dubzzz/fast-check/pull/4091)) Performance: Faster unmap for `ulid`
|
| 469 |
-
- ([PR#4092](https://github.com/dubzzz/fast-check/pull/4092)) Performance: Faster generation of `ulid`
|
| 470 |
-
- ([PR#4098](https://github.com/dubzzz/fast-check/pull/4098)) Performance: Faster `ulid` mapper function
|
| 471 |
-
- ([PR#4039](https://github.com/dubzzz/fast-check/pull/4039)) Script: Add support for more gitmojis
|
| 472 |
-
|
| 473 |
-
---
|
| 474 |
-
|
| 475 |
-
# 3.11.0
|
| 476 |
-
|
| 477 |
-
_New arbitrary for ulid_
|
| 478 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.11.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.10.0...v3.11.0)]
|
| 479 |
-
|
| 480 |
-
## Features
|
| 481 |
-
|
| 482 |
-
- ([PR#4020](https://github.com/dubzzz/fast-check/pull/4020)) Implement arbitrary for ulid
|
| 483 |
-
|
| 484 |
-
## Fixes
|
| 485 |
-
|
| 486 |
-
- ([PR#3956](https://github.com/dubzzz/fast-check/pull/3956)) CI: Define code owners
|
| 487 |
-
- ([PR#3961](https://github.com/dubzzz/fast-check/pull/3961)) CI: Fix configuration of CodeQL
|
| 488 |
-
- ([PR#3973](https://github.com/dubzzz/fast-check/pull/3973)) CI: Make changelog workflow able to push
|
| 489 |
-
- ([PR#3975](https://github.com/dubzzz/fast-check/pull/3975)) CI: Add scorecard security workflow
|
| 490 |
-
- ([PR#3991](https://github.com/dubzzz/fast-check/pull/3991)) CI: Properly reference tags in GH Actions
|
| 491 |
-
- ([PR#3993](https://github.com/dubzzz/fast-check/pull/3993)) CI: Configure renovate for security bumps
|
| 492 |
-
- ([PR#3994](https://github.com/dubzzz/fast-check/pull/3994)) CI: Stop ignoring examples in renovate
|
| 493 |
-
- ([PR#3995](https://github.com/dubzzz/fast-check/pull/3995)) CI: Enable some more Scorecard's checks
|
| 494 |
-
- ([PR#4007](https://github.com/dubzzz/fast-check/pull/4007)) CI: Fix CI tests for types against next
|
| 495 |
-
- ([PR#4008](https://github.com/dubzzz/fast-check/pull/4008)) CI: Show vulnerabilities in renovate
|
| 496 |
-
- ([PR#3976](https://github.com/dubzzz/fast-check/pull/3976)) Doc: Add some OpenSSF badges
|
| 497 |
-
- ([PR#4034](https://github.com/dubzzz/fast-check/pull/4034)) Doc: Add new contributor vecerek
|
| 498 |
-
- ([PR#4010](https://github.com/dubzzz/fast-check/pull/4010)) Security: Move dockerfile content to devcontainer
|
| 499 |
-
- ([PR#4000](https://github.com/dubzzz/fast-check/pull/4000)) Security: Drop raw install of npm
|
| 500 |
-
- ([PR#3987](https://github.com/dubzzz/fast-check/pull/3987)) Security: Pin npm version for publish
|
| 501 |
-
- ([PR#3985](https://github.com/dubzzz/fast-check/pull/3985)) Security: Pin image in Dockerfile of devcontainer
|
| 502 |
-
- ([PR#3983](https://github.com/dubzzz/fast-check/pull/3983)) Security: Safer workflows' permissions
|
| 503 |
-
- ([PR#3957](https://github.com/dubzzz/fast-check/pull/3957)) Security: Lock GH-Actions dependencies
|
| 504 |
-
|
| 505 |
-
---
|
| 506 |
-
|
| 507 |
-
# 3.10.0
|
| 508 |
-
|
| 509 |
-
_New arbitrary generating strings matching the provided regex: `stringMatching`_
|
| 510 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.10.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.9.0...v3.10.0)]
|
| 511 |
-
|
| 512 |
-
## Features
|
| 513 |
-
|
| 514 |
-
- ([PR#3920](https://github.com/dubzzz/fast-check/pull/3920)) Prepare tokenizers for `stringMatching`
|
| 515 |
-
- ([PR#3921](https://github.com/dubzzz/fast-check/pull/3921)) Introduce `stringMatching`
|
| 516 |
-
- ([PR#3924](https://github.com/dubzzz/fast-check/pull/3924)) Add support for negate regex
|
| 517 |
-
- ([PR#3925](https://github.com/dubzzz/fast-check/pull/3925)) Explicit ban of unsupported regex flags in `stringMatching`
|
| 518 |
-
- ([PR#3926](https://github.com/dubzzz/fast-check/pull/3926)) Add support for capturing regexes
|
| 519 |
-
- ([PR#3927](https://github.com/dubzzz/fast-check/pull/3927)) Add support for disjunctions in regexes
|
| 520 |
-
- ([PR#3928](https://github.com/dubzzz/fast-check/pull/3928)) Correctly parse ^ and $ in regex
|
| 521 |
-
- ([PR#3929](https://github.com/dubzzz/fast-check/pull/3929)) Correctly parse numeric backreference
|
| 522 |
-
- ([PR#3930](https://github.com/dubzzz/fast-check/pull/3930)) Correctly parse look{ahead,behind} in regexes
|
| 523 |
-
- ([PR#3932](https://github.com/dubzzz/fast-check/pull/3932)) Support empty disjunctions in regexes
|
| 524 |
-
- ([PR#3933](https://github.com/dubzzz/fast-check/pull/3933)) Add parsing support for \p and \k
|
| 525 |
-
- ([PR#3935](https://github.com/dubzzz/fast-check/pull/3935)) Support generation of strings not constrained by ^ or $
|
| 526 |
-
- ([PR#3938](https://github.com/dubzzz/fast-check/pull/3938)) Support regex flags: d, m and s
|
| 527 |
-
- ([PR#3939](https://github.com/dubzzz/fast-check/pull/3939)) Support unicode regexes
|
| 528 |
-
|
| 529 |
-
## Fixes
|
| 530 |
-
|
| 531 |
-
- ([PR#3909](https://github.com/dubzzz/fast-check/pull/3909)) Clean: Drop bundle centric tests
|
| 532 |
-
- ([PR#3902](https://github.com/dubzzz/fast-check/pull/3902)) Doc: Release note page for 3.9.0
|
| 533 |
-
- ([PR#3904](https://github.com/dubzzz/fast-check/pull/3904)) Doc: Fix typo in What's new 3.9.0
|
| 534 |
-
- ([PR#3910](https://github.com/dubzzz/fast-check/pull/3910)) Doc: Lazy load image of sponsors
|
| 535 |
-
- ([PR#3911](https://github.com/dubzzz/fast-check/pull/3911)) Doc: Add alt labels on feature badges
|
| 536 |
-
- ([PR#3912](https://github.com/dubzzz/fast-check/pull/3912)) Doc: Stop lazy images in critical viewport
|
| 537 |
-
- ([PR#3913](https://github.com/dubzzz/fast-check/pull/3913)) Doc: Better a11y on feature badges
|
| 538 |
-
- ([PR#3898](https://github.com/dubzzz/fast-check/pull/3898)) Script: Run publint in strict mode
|
| 539 |
-
- ([PR#3903](https://github.com/dubzzz/fast-check/pull/3903)) Test: Rework race conditions specs in tutorial
|
| 540 |
-
- ([PR#3931](https://github.com/dubzzz/fast-check/pull/3931)) Test: Add some more checks on `stringMatching`
|
| 541 |
-
- ([PR#3936](https://github.com/dubzzz/fast-check/pull/3936)) Test: Test against more regexes in `stringMatching`
|
| 542 |
-
- ([PR#3940](https://github.com/dubzzz/fast-check/pull/3940)) Test: Add some more known regexes in our test suite
|
| 543 |
-
|
| 544 |
-
---
|
| 545 |
-
|
| 546 |
-
# 3.9.0
|
| 547 |
-
|
| 548 |
-
_Finer definition of `act` to detect race conditions_
|
| 549 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.9.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.8.3...v3.9.0)]
|
| 550 |
-
|
| 551 |
-
## Features
|
| 552 |
-
|
| 553 |
-
- ([PR#3889](https://github.com/dubzzz/fast-check/pull/3889)) Add ability to customize `act` per call
|
| 554 |
-
- ([PR#3890](https://github.com/dubzzz/fast-check/pull/3890)) Add ability to customize `act` per wait
|
| 555 |
-
|
| 556 |
-
## Fixes
|
| 557 |
-
|
| 558 |
-
- ([PR#3892](https://github.com/dubzzz/fast-check/pull/3892)) Bug: Cap timeout values to 0x7fff_ffff
|
| 559 |
-
|
| 560 |
-
---
|
| 561 |
-
|
| 562 |
-
# 3.8.3
|
| 563 |
-
|
| 564 |
-
_Ensure scheduled models can wait everything needed_
|
| 565 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.8.3)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.8.2...v3.8.3)]
|
| 566 |
-
|
| 567 |
-
## Fixes
|
| 568 |
-
|
| 569 |
-
- ([PR#3887](https://github.com/dubzzz/fast-check/pull/3887)) Bug: Always schedule models until the end
|
| 570 |
-
- ([PR#3880](https://github.com/dubzzz/fast-check/pull/3880)) CI: Stabilize tests on `jsonValue`
|
| 571 |
-
- ([PR#3876](https://github.com/dubzzz/fast-check/pull/3876)) Clean: Drop legacy documentation
|
| 572 |
-
- ([PR#3875](https://github.com/dubzzz/fast-check/pull/3875)) Doc: First blog post on docusaurus switch
|
| 573 |
-
|
| 574 |
-
# 3.8.2
|
| 575 |
-
|
| 576 |
-
_Rework documentation_
|
| 577 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.8.2)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.8.1...v3.8.2)]
|
| 578 |
-
|
| 579 |
-
## Fixes
|
| 580 |
-
|
| 581 |
-
- ([PR#3780](https://github.com/dubzzz/fast-check/pull/3780)) CI: Do not relaunch build on new tag
|
| 582 |
-
- ([PR#3792](https://github.com/dubzzz/fast-check/pull/3792)) CI: Remove parse5 when checking types
|
| 583 |
-
- ([PR#3804](https://github.com/dubzzz/fast-check/pull/3804)) CI: Build documentation with LFS enabled
|
| 584 |
-
- ([PR#3800](https://github.com/dubzzz/fast-check/pull/3800)) Doc: Add "advanced" part of the documentation
|
| 585 |
-
- ([PR#3803](https://github.com/dubzzz/fast-check/pull/3803)) Doc: Update our-first-property-based-test.md: typo, punctuation
|
| 586 |
-
- ([PR#3828](https://github.com/dubzzz/fast-check/pull/3828)) Doc: Fix typos in docs
|
| 587 |
-
- ([PR#3820](https://github.com/dubzzz/fast-check/pull/3820)) Doc: First iteration on race conditions tutorial
|
| 588 |
-
- ([PR#3834](https://github.com/dubzzz/fast-check/pull/3834)) Doc: Rework intro of race condition tutorial
|
| 589 |
-
- ([PR#3836](https://github.com/dubzzz/fast-check/pull/3836)) Doc: Merge category and intro for race condition
|
| 590 |
-
- ([PR#3837](https://github.com/dubzzz/fast-check/pull/3837)) Doc: Replace categories by real pages
|
| 591 |
-
- ([PR#3838](https://github.com/dubzzz/fast-check/pull/3838)) Doc: Add video explaining race condition in UI
|
| 592 |
-
- ([PR#3842](https://github.com/dubzzz/fast-check/pull/3842)) Doc: Note about solving race conditions
|
| 593 |
-
- ([PR#3843](https://github.com/dubzzz/fast-check/pull/3843)) Doc: Better colors for dark theme
|
| 594 |
-
- ([PR#3850](https://github.com/dubzzz/fast-check/pull/3850)) Doc: Points to projects in our ecosystem
|
| 595 |
-
- ([PR#3852](https://github.com/dubzzz/fast-check/pull/3852)) Doc: List some bugs found thanks to fast-check
|
| 596 |
-
- ([PR#3860](https://github.com/dubzzz/fast-check/pull/3860)) Doc: Use GitHub logo instead of label
|
| 597 |
-
- ([PR#3858](https://github.com/dubzzz/fast-check/pull/3858)) Doc: Rework homepage page of fast-check.dev
|
| 598 |
-
- ([PR#3863](https://github.com/dubzzz/fast-check/pull/3863)) Doc: Rework display of the homepage for small screens
|
| 599 |
-
- ([PR#3864](https://github.com/dubzzz/fast-check/pull/3864)) Doc: Properly display the quick nav buttons
|
| 600 |
-
- ([PR#3871](https://github.com/dubzzz/fast-check/pull/3871)) Doc: Update all links to new documentation
|
| 601 |
-
- ([PR#3867](https://github.com/dubzzz/fast-check/pull/3867)) Doc: Create proper images in website/
|
| 602 |
-
- ([PR#3872](https://github.com/dubzzz/fast-check/pull/3872)) Doc: Reference image from LFS in README
|
| 603 |
-
- ([PR#3835](https://github.com/dubzzz/fast-check/pull/3835)) Test: Add tests for snippets in the website
|
| 604 |
-
|
| 605 |
-
# 3.8.1
|
| 606 |
-
|
| 607 |
-
_New website for the documentation_
|
| 608 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.8.1)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.8.0...v3.8.1)]
|
| 609 |
-
|
| 610 |
-
## Fixes
|
| 611 |
-
|
| 612 |
-
- ([PR#3723](https://github.com/dubzzz/fast-check/pull/3723)) CI: Switch to docusaurus for the documentation
|
| 613 |
-
- ([PR#3729](https://github.com/dubzzz/fast-check/pull/3729)) CI: Pre-setup devcontainer with GH Actions
|
| 614 |
-
- ([PR#3728](https://github.com/dubzzz/fast-check/pull/3728)) CI: Change gh-pages deploy process
|
| 615 |
-
- ([PR#3732](https://github.com/dubzzz/fast-check/pull/3732)) CI: Move back to github-pages-deploy-action
|
| 616 |
-
- ([PR#3735](https://github.com/dubzzz/fast-check/pull/3735)) CI: Add gtag for analytics
|
| 617 |
-
- ([PR#3744](https://github.com/dubzzz/fast-check/pull/3744)) CI: Drop website build on `build:all`
|
| 618 |
-
- ([PR#3751](https://github.com/dubzzz/fast-check/pull/3751)) CI: Update `baseUrl` on the ain documentation
|
| 619 |
-
- ([PR#3754](https://github.com/dubzzz/fast-check/pull/3754)) CI: Drop version from website
|
| 620 |
-
- ([PR#3754](https://github.com/dubzzz/fast-check/pull/3754)) CI: Drop version from website
|
| 621 |
-
- ([PR#3759](https://github.com/dubzzz/fast-check/pull/3759)) CI: Drop the need for a branch on doc
|
| 622 |
-
- ([PR#3775](https://github.com/dubzzz/fast-check/pull/3775)) CI: Publish all packages in one workflow
|
| 623 |
-
- ([PR#3724](https://github.com/dubzzz/fast-check/pull/3724)) Doc: Add fuzz keywords
|
| 624 |
-
- ([PR#3734](https://github.com/dubzzz/fast-check/pull/3734)) Doc: Add search capability to the doc
|
| 625 |
-
- ([PR#3738](https://github.com/dubzzz/fast-check/pull/3738)) Doc: Fix broken links to api-reference
|
| 626 |
-
- ([PR#3745](https://github.com/dubzzz/fast-check/pull/3745)) Doc: Document core building blocks in new documentation
|
| 627 |
-
- ([PR#3750](https://github.com/dubzzz/fast-check/pull/3750)) Doc: More details into tips/larger-entries...
|
| 628 |
-
- ([PR#3753](https://github.com/dubzzz/fast-check/pull/3753)) Doc: Add some more configuration tips in the documentation
|
| 629 |
-
- ([PR#3755](https://github.com/dubzzz/fast-check/pull/3755)) Doc: Update all links to target fast-check.dev
|
| 630 |
-
- ([PR#3757](https://github.com/dubzzz/fast-check/pull/3757)) Doc: Quick a11y pass on the documentation
|
| 631 |
-
- ([PR#3758](https://github.com/dubzzz/fast-check/pull/3758)) Doc: Move missing configuration parts to new doc
|
| 632 |
-
- ([PR#3760](https://github.com/dubzzz/fast-check/pull/3760)) Doc: Link directly to the target page not to 30x ones
|
| 633 |
-
- ([PR#3761](https://github.com/dubzzz/fast-check/pull/3761)) Doc: Fix broken links in new doc
|
| 634 |
-
- ([PR#3774](https://github.com/dubzzz/fast-check/pull/3774)) Security: Attach provenance to the packages
|
| 635 |
-
- ([PR#3719](https://github.com/dubzzz/fast-check/pull/3719)) Script: Ensure proper package definition
|
| 636 |
-
|
| 637 |
-
# 3.8.0
|
| 638 |
-
|
| 639 |
-
_Introduce new `gen` arbitrary_
|
| 640 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.8.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.7.1...v3.8.0)]
|
| 641 |
-
|
| 642 |
-
## Features
|
| 643 |
-
|
| 644 |
-
- ([PR#3395](https://github.com/dubzzz/fast-check/pull/3395)) Introduce new `gen` arbitrary
|
| 645 |
-
|
| 646 |
-
## Fixes
|
| 647 |
-
|
| 648 |
-
- ([PR#3706](https://github.com/dubzzz/fast-check/pull/3706)) Doc: Document newly added `fc.gen()`
|
| 649 |
-
|
| 650 |
-
---
|
| 651 |
-
|
| 652 |
-
# 3.7.1
|
| 653 |
-
|
| 654 |
-
_Safer declaration of types in package.json_
|
| 655 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.7.1)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.7.0...v3.7.1)]
|
| 656 |
-
|
| 657 |
-
## Fixes
|
| 658 |
-
|
| 659 |
-
- ([PR#3671](https://github.com/dubzzz/fast-check/pull/3671)) Bug: Declare types field first in exports
|
| 660 |
-
- ([PR#3646](https://github.com/dubzzz/fast-check/pull/3646)) Doc: Fix a typo in Runners.md
|
| 661 |
-
|
| 662 |
-
# 3.7.0
|
| 663 |
-
|
| 664 |
-
_Better error reports without duplicated messages_
|
| 665 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.7.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.6.3...v3.7.0)]
|
| 666 |
-
|
| 667 |
-
## Features
|
| 668 |
-
|
| 669 |
-
- ([PR#3638](https://github.com/dubzzz/fast-check/pull/3638)) Stop repeating the error twice in reports
|
| 670 |
-
|
| 671 |
-
## Fixes
|
| 672 |
-
|
| 673 |
-
- ([PR#3637](https://github.com/dubzzz/fast-check/pull/3637)) CI: Update ts-jest configuration files
|
| 674 |
-
|
| 675 |
-
---
|
| 676 |
-
|
| 677 |
-
# 3.6.3
|
| 678 |
-
|
| 679 |
-
_Fix broken replay based on path_
|
| 680 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.6.3)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.6.2...v3.6.3)]
|
| 681 |
-
|
| 682 |
-
## Fixes
|
| 683 |
-
|
| 684 |
-
- ([PR#3617](https://github.com/dubzzz/fast-check/pull/3617)) Bug: Fix broken replay based on path
|
| 685 |
-
- ([PR#3583](https://github.com/dubzzz/fast-check/pull/3583)) CI: Do not run publish workflow of fast-check for vitest
|
| 686 |
-
- ([PR#3616](https://github.com/dubzzz/fast-check/pull/3616)) CI: Always build against latest node
|
| 687 |
-
|
| 688 |
-
# 3.6.2
|
| 689 |
-
|
| 690 |
-
_Still work in fake timer contexts_
|
| 691 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.6.2)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.6.1...v3.6.2)]
|
| 692 |
-
|
| 693 |
-
## Fixes
|
| 694 |
-
|
| 695 |
-
- ([PR#3571](https://github.com/dubzzz/fast-check/pull/3571)) Bug: Resist to fake timers in interruptAfterTimeLimit
|
| 696 |
-
- ([PR#3572](https://github.com/dubzzz/fast-check/pull/3572)) Bug: Resist to fake timers in timeout
|
| 697 |
-
- ([PR#3564](https://github.com/dubzzz/fast-check/pull/3564)) Performance: Drop bailout linked to toss
|
| 698 |
-
|
| 699 |
-
# 3.6.1
|
| 700 |
-
|
| 701 |
-
_Some more performance improvements_
|
| 702 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.6.1)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.6.0...v3.6.1)]
|
| 703 |
-
|
| 704 |
-
## Fixes
|
| 705 |
-
|
| 706 |
-
- ([PR#3563](https://github.com/dubzzz/fast-check/pull/3563)) Performance: Mutate rng inplace in tosser
|
| 707 |
-
|
| 708 |
-
# 3.6.0
|
| 709 |
-
|
| 710 |
-
_Slightly faster execution of properties_
|
| 711 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.6.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.5.0...v3.6.0)]
|
| 712 |
-
|
| 713 |
-
## Features
|
| 714 |
-
|
| 715 |
-
- ([PR#3547](https://github.com/dubzzz/fast-check/pull/3547)) Slightly faster thanks to pure-rand v6
|
| 716 |
-
- ([PR#3552](https://github.com/dubzzz/fast-check/pull/3552)) Do not wrap stream when dropping 0 items
|
| 717 |
-
- ([PR#3551](https://github.com/dubzzz/fast-check/pull/3551)) Faster implementation of internal function `runIdToFrequency`
|
| 718 |
-
- ([PR#3553](https://github.com/dubzzz/fast-check/pull/3553)) Drop useless internal stream conversions
|
| 719 |
-
- ([PR#3554](https://github.com/dubzzz/fast-check/pull/3554)) Tosser must immediately produce values
|
| 720 |
-
|
| 721 |
-
## Fixes
|
| 722 |
-
|
| 723 |
-
- ([PR#3556](https://github.com/dubzzz/fast-check/pull/3556)) CI: Enable sourceMap in unpublished for coverage
|
| 724 |
-
- ([PR#3512](https://github.com/dubzzz/fast-check/pull/3512)) Script: Add `--cache` option to Prettier
|
| 725 |
-
- ([PR#3523](https://github.com/dubzzz/fast-check/pull/3523)) Script: Initialize default devcontainer
|
| 726 |
-
- ([PR#3524](https://github.com/dubzzz/fast-check/pull/3524)) Script: Install and setup nvs inside Dockerfile
|
| 727 |
-
|
| 728 |
-
---
|
| 729 |
-
|
| 730 |
-
# 3.5.1
|
| 731 |
-
|
| 732 |
-
_Still work in fake timer contexts_
|
| 733 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.5.1)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.5.0...v3.5.1)]
|
| 734 |
-
|
| 735 |
-
## Fixes
|
| 736 |
-
|
| 737 |
-
- ([PR#3571](https://github.com/dubzzz/fast-check/pull/3571)) Bug: Resist to fake timers in interruptAfterTimeLimit
|
| 738 |
-
- ([PR#3572](https://github.com/dubzzz/fast-check/pull/3572)) Bug: Resist to fake timers in timeout
|
| 739 |
-
|
| 740 |
-
# 3.5.0
|
| 741 |
-
|
| 742 |
-
_Interrupt running tasks when `interruptAfterTimeLimit` exceeded_
|
| 743 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.5.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.4.0...v3.5.0)]
|
| 744 |
-
|
| 745 |
-
## Features
|
| 746 |
-
|
| 747 |
-
- ([PR#3507](https://github.com/dubzzz/fast-check/pull/3507)) Interrupt predicates when `interruptAfterTimeLimit`
|
| 748 |
-
- ([PR#3508](https://github.com/dubzzz/fast-check/pull/3508)) Mark interrupted runs without any success as failures
|
| 749 |
-
|
| 750 |
-
---
|
| 751 |
-
|
| 752 |
-
# 3.4.0
|
| 753 |
-
|
| 754 |
-
_Better handling of timeout with beforeEach and afterEach_
|
| 755 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.4.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.3.0...v3.4.0)]
|
| 756 |
-
|
| 757 |
-
## Features
|
| 758 |
-
|
| 759 |
-
- ([PR#3464](https://github.com/dubzzz/fast-check/pull/3464)) No timeout for beforeEach or afterEach
|
| 760 |
-
|
| 761 |
-
## Fixes
|
| 762 |
-
|
| 763 |
-
- ([PR#3428](https://github.com/dubzzz/fast-check/pull/3428)) Bug: Avoid stack overflow during shrinking of tuples
|
| 764 |
-
- ([PR#3432](https://github.com/dubzzz/fast-check/pull/3432)) Bug: Avoid stack overflow during shrinking of arrays
|
| 765 |
-
- ([PR#3354](https://github.com/dubzzz/fast-check/pull/3354)) CI: Ignore version bump checks on publish
|
| 766 |
-
- ([PR#3379](https://github.com/dubzzz/fast-check/pull/3379)) CI: Fix configuration for rollup esm tests
|
| 767 |
-
- ([PR#3394](https://github.com/dubzzz/fast-check/pull/3394)) CI: Limit scope of "All ...bump declared"
|
| 768 |
-
- ([PR#3393](https://github.com/dubzzz/fast-check/pull/3393)) CI: Run tests against Node 18.x
|
| 769 |
-
- ([PR#3446](https://github.com/dubzzz/fast-check/pull/3446)) CI: Drop circular deps for dev topo builds
|
| 770 |
-
- ([PR#3417](https://github.com/dubzzz/fast-check/pull/3417)) Clean: Drop v2 to v3 codemods from the repository
|
| 771 |
-
- ([PR#3351](https://github.com/dubzzz/fast-check/pull/3351)) Doc: Update changelogs following backports
|
| 772 |
-
- ([PR#3458](https://github.com/dubzzz/fast-check/pull/3458)) Doc: Document how to use `context` in `examples`
|
| 773 |
-
- ([PR#3476](https://github.com/dubzzz/fast-check/pull/3476)) Doc: Revamp sponsoring section to show GitHub Sponsors
|
| 774 |
-
- ([PR#3473](https://github.com/dubzzz/fast-check/pull/3473)) Funding: Re-order links in funding section
|
| 775 |
-
- ([PR#3427](https://github.com/dubzzz/fast-check/pull/3427)) Refactor: Expose shrinker of tuples internally
|
| 776 |
-
- ([PR#3468](https://github.com/dubzzz/fast-check/pull/3468)) Script: Ensure we don't release workspace-based packages
|
| 777 |
-
|
| 778 |
-
---
|
| 779 |
-
|
| 780 |
-
# 3.3.0
|
| 781 |
-
|
| 782 |
-
_Expose `webPath` arbitrary_
|
| 783 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.3.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.2.0...v3.3.0)]
|
| 784 |
-
|
| 785 |
-
## Features
|
| 786 |
-
|
| 787 |
-
- ([PR#3299](https://github.com/dubzzz/fast-check/pull/3299)) Explicitly declare typings for constraints on `date`
|
| 788 |
-
- ([PR#3300](https://github.com/dubzzz/fast-check/pull/3300)) Expose an url path builder called `webPath`
|
| 789 |
-
|
| 790 |
-
## Fixes
|
| 791 |
-
|
| 792 |
-
- ([PR#3328](https://github.com/dubzzz/fast-check/pull/3328)) CI: Drop netlify related code and "please <stuff>" actions
|
| 793 |
-
- ([PR#3298](https://github.com/dubzzz/fast-check/pull/3298)) Doc: Document default values in the JSDoc
|
| 794 |
-
- ([PR#3316](https://github.com/dubzzz/fast-check/pull/3316)) Funding: Add link to GitHub sponsors in funding
|
| 795 |
-
- ([PR#3301](https://github.com/dubzzz/fast-check/pull/3301)) Test: Poisoning checks compatible with watch mode
|
| 796 |
-
- ([PR#3330](https://github.com/dubzzz/fast-check/pull/3330)) Test: Make sure poisoning spec never forget one global
|
| 797 |
-
|
| 798 |
-
---
|
| 799 |
-
|
| 800 |
-
# 3.2.0
|
| 801 |
-
|
| 802 |
-
_Stop copying the Error into the thrown one but use cause when asked too_
|
| 803 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.2.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.1.4...v3.2.0)]
|
| 804 |
-
|
| 805 |
-
## Features
|
| 806 |
-
|
| 807 |
-
- ([PR#2965](https://github.com/dubzzz/fast-check/pull/2965)) Attach the original `Error` as a cause of thrown one
|
| 808 |
-
- ([PR#3224](https://github.com/dubzzz/fast-check/pull/3224)) Attach real errors to internal failures
|
| 809 |
-
|
| 810 |
-
## Fixes
|
| 811 |
-
|
| 812 |
-
- ([PR#3225](https://github.com/dubzzz/fast-check/pull/3225)) CI: Publish `@fast-check/poisoning` on CodeSandbox's builds
|
| 813 |
-
- ([PR#3260](https://github.com/dubzzz/fast-check/pull/3260)) Doc: Sync with current path
|
| 814 |
-
- ([PR#3264](https://github.com/dubzzz/fast-check/pull/3264)) Doc: Improve grammar in HowItWorks
|
| 815 |
-
- ([PR#3292](https://github.com/dubzzz/fast-check/pull/3292)) Test: Stabilize tests of `SlicedBasedGenerator`
|
| 816 |
-
|
| 817 |
-
---
|
| 818 |
-
|
| 819 |
-
# 3.1.4
|
| 820 |
-
|
| 821 |
-
_Increased resiliency to poisoned globals_
|
| 822 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.1.4)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.1.3...v3.1.4)]
|
| 823 |
-
|
| 824 |
-
## Fixes
|
| 825 |
-
|
| 826 |
-
- ([PR#3172](https://github.com/dubzzz/fast-check/pull/3172)) Bug: Fix some remaining accesses to global properties
|
| 827 |
-
- ([PR#3165](https://github.com/dubzzz/fast-check/pull/3165)) Bug: Resist to poisoning of top-level types
|
| 828 |
-
- ([PR#3184](https://github.com/dubzzz/fast-check/pull/3184)) CI: Require renovate to always try to dedupe
|
| 829 |
-
- ([PR#3186](https://github.com/dubzzz/fast-check/pull/3186)) CI: Adapt configuration for new ts-jest
|
| 830 |
-
- ([PR#3194](https://github.com/dubzzz/fast-check/pull/3194)) CI: Attempt to fix "please deploy"
|
| 831 |
-
- ([PR#3196](https://github.com/dubzzz/fast-check/pull/3196)) CI: Build every package for "please deploy"
|
| 832 |
-
- ([PR#3208](https://github.com/dubzzz/fast-check/pull/3208)) CI: Better PRs for changelogs cross packages
|
| 833 |
-
- ([PR#3156](https://github.com/dubzzz/fast-check/pull/3156)) Doc: Add missing changesets in changelog of 2.21.0
|
| 834 |
-
- ([PR#3185](https://github.com/dubzzz/fast-check/pull/3185)) Refactor: Attach a `depth` onto globals internally
|
| 835 |
-
- ([PR#3157](https://github.com/dubzzz/fast-check/pull/3157)) Script: Less verbose description for PRs of CHANGELOG
|
| 836 |
-
- ([PR#3174](https://github.com/dubzzz/fast-check/pull/3174)) Test: Add tests dropping all globals
|
| 837 |
-
- ([PR#3183](https://github.com/dubzzz/fast-check/pull/3183)) Test: Add some more type related tests for oneof
|
| 838 |
-
- ([PR#3076](https://github.com/dubzzz/fast-check/pull/3076)) Test: Check arbitraries do not cause any poisoning
|
| 839 |
-
- ([PR#3205](https://github.com/dubzzz/fast-check/pull/3205)) Test: Add missing "typecheck" scripts on packages
|
| 840 |
-
|
| 841 |
-
# 3.1.3
|
| 842 |
-
|
| 843 |
-
_More resilient to external poisoning on all arbitraries_
|
| 844 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.1.3)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.1.2...v3.1.3)]
|
| 845 |
-
|
| 846 |
-
## Fixes
|
| 847 |
-
|
| 848 |
-
- ([PR#3094](https://github.com/dubzzz/fast-check/pull/3094)) Bug: Make numeric arbitraries resistant to poisoning
|
| 849 |
-
- ([PR#3096](https://github.com/dubzzz/fast-check/pull/3096)) Bug: Make single char arbitraries resistant to poisoning
|
| 850 |
-
- ([PR#3097](https://github.com/dubzzz/fast-check/pull/3097)) Bug: Make simple combinators arbitraries resistant to poisoning
|
| 851 |
-
- ([PR#3098](https://github.com/dubzzz/fast-check/pull/3098)) Bug: Make array combinators arbitraries resistant to poisoning
|
| 852 |
-
- ([PR#3099](https://github.com/dubzzz/fast-check/pull/3099)) Bug: Make multi chars arbitraries resistant to poisoning
|
| 853 |
-
- ([PR#3102](https://github.com/dubzzz/fast-check/pull/3102)) Bug: Fix `safeApply` never calling original `apply`
|
| 854 |
-
- ([PR#3103](https://github.com/dubzzz/fast-check/pull/3103)) Bug: Make object arbitraries resistant to poisoning
|
| 855 |
-
- ([PR#3104](https://github.com/dubzzz/fast-check/pull/3104)) Bug: Make typed arrays arbitraries resistant to poisoning
|
| 856 |
-
- ([PR#3106](https://github.com/dubzzz/fast-check/pull/3106)) Bug: Make recursive arbitraries resistant to poisoning
|
| 857 |
-
- ([PR#3107](https://github.com/dubzzz/fast-check/pull/3107)) Bug: Make function arbitraries resistant to poisoning
|
| 858 |
-
- ([PR#3108](https://github.com/dubzzz/fast-check/pull/3108)) Bug: Make complex strings arbitraries resistant to poisoning
|
| 859 |
-
- ([PR#3143](https://github.com/dubzzz/fast-check/pull/3143)) Bug: Make `webFragments/Segment/QueryParameters` resistant to poisoning
|
| 860 |
-
- ([PR#3152](https://github.com/dubzzz/fast-check/pull/3152)) Bug: Protect string generators against poisoning
|
| 861 |
-
- ([PR#3101](https://github.com/dubzzz/fast-check/pull/3101)) CI: Do not suggest private packages during version bumps
|
| 862 |
-
- ([PR#3113](https://github.com/dubzzz/fast-check/pull/3113)) CI: Consider ⚡️ aka zap PRs as fixes for changelog
|
| 863 |
-
- ([PR#3111](https://github.com/dubzzz/fast-check/pull/3111)) CI: Try to configure renovate to open more PRs
|
| 864 |
-
- ([PR#3150](https://github.com/dubzzz/fast-check/pull/3150)) CI: Change update strategy for renovate
|
| 865 |
-
- ([PR#3151](https://github.com/dubzzz/fast-check/pull/3151)) CI: Update bump strategy of renovate
|
| 866 |
-
- ([PR#3141](https://github.com/dubzzz/fast-check/pull/3141)) Clean: Drop unused dependencies
|
| 867 |
-
- ([PR#3100](https://github.com/dubzzz/fast-check/pull/3100)) Performance: Drop unneeded copy for full custom `uniqueArray`
|
| 868 |
-
- ([PR#3105](https://github.com/dubzzz/fast-check/pull/3105)) Performance: Faster implementation for `safeApply`
|
| 869 |
-
- ([PR#3112](https://github.com/dubzzz/fast-check/pull/3112)) Performance: Speed-up all safe versions built-in methods
|
| 870 |
-
- ([PR#3109](https://github.com/dubzzz/fast-check/pull/3109)) Refactor: Extract and share code computing safe versions for built-ins
|
| 871 |
-
- ([PR#3154](https://github.com/dubzzz/fast-check/pull/3154)) Script: More verbose CHANGELOG script and continue on failure
|
| 872 |
-
|
| 873 |
-
# 3.1.2
|
| 874 |
-
|
| 875 |
-
_More resilient to external poisoning on `assert` and `property`_
|
| 876 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.1.2)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.1.1...v3.1.2)]
|
| 877 |
-
|
| 878 |
-
## Fixes
|
| 879 |
-
|
| 880 |
-
- ([PR#3082](https://github.com/dubzzz/fast-check/pull/3082)) Bug: Protect `assert` from poisoned `Math` or `Date`
|
| 881 |
-
- ([PR#3086](https://github.com/dubzzz/fast-check/pull/3086)) Bug: Resist to poisoning of `Object`
|
| 882 |
-
- ([PR#3087](https://github.com/dubzzz/fast-check/pull/3087)) Bug: Resist to poisoning of `Function`/`Array`/`String`
|
| 883 |
-
- ([PR#3089](https://github.com/dubzzz/fast-check/pull/3089)) Bug: Clear poisoning instability in `filter`, `map`, `chain`
|
| 884 |
-
- ([PR#3079](https://github.com/dubzzz/fast-check/pull/3079)) CI: Auto-cancel previous runs on new commits
|
| 885 |
-
- ([PR#3088](https://github.com/dubzzz/fast-check/pull/3088)) Script: Add script to run e2e tests in debug mode
|
| 886 |
-
- ([PR#3092](https://github.com/dubzzz/fast-check/pull/3092)) Script: Better handle new projects in changelog generator
|
| 887 |
-
- ([PR#3081](https://github.com/dubzzz/fast-check/pull/3081)) Test: Add some poisoning e2e for fast-check
|
| 888 |
-
- ([PR#3085](https://github.com/dubzzz/fast-check/pull/3085)) Test: Check poisoning against noop arbitrary (for now)
|
| 889 |
-
|
| 890 |
-
# 3.1.1
|
| 891 |
-
|
| 892 |
-
_Better package.json definition and `__proto__` related fixes_
|
| 893 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.1.1)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.1.0...v3.1.1)]
|
| 894 |
-
|
| 895 |
-
## Fixes
|
| 896 |
-
|
| 897 |
-
- ([PR#3066](https://github.com/dubzzz/fast-check/pull/3066)) Bug: Export package.json
|
| 898 |
-
- ([PR#3070](https://github.com/dubzzz/fast-check/pull/3070)) Bug: Support `__proto__` as key in `record`
|
| 899 |
-
- ([PR#3068](https://github.com/dubzzz/fast-check/pull/3068)) Test: Fix test comparing `stringify` and `JSON.stringify`
|
| 900 |
-
- ([PR#3069](https://github.com/dubzzz/fast-check/pull/3069)) Test: Fix tests on `record` wrongly manipulating `__proto__`
|
| 901 |
-
|
| 902 |
-
# 3.1.0
|
| 903 |
-
|
| 904 |
-
_Generate more dangerous strings by default_
|
| 905 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.1.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.0.1...v3.1.0)]
|
| 906 |
-
|
| 907 |
-
## Features
|
| 908 |
-
|
| 909 |
-
- ([PR#2975](https://github.com/dubzzz/fast-check/pull/2975)) Sanitize constraints used internally by "oneof" as much as possible
|
| 910 |
-
- ([PR#3048](https://github.com/dubzzz/fast-check/pull/3048)) Add experimental "custom slices" constraint on array
|
| 911 |
-
- ([PR#3043](https://github.com/dubzzz/fast-check/pull/3043)) Generate dangerous strings by default
|
| 912 |
-
|
| 913 |
-
## Fixes
|
| 914 |
-
|
| 915 |
-
- ([PR#3049](https://github.com/dubzzz/fast-check/pull/3049)) Bug: Fix out-of-range in `SlicedBasedGenerator`
|
| 916 |
-
- ([PR#3050](https://github.com/dubzzz/fast-check/pull/3050)) Bug: Allow strange keys as keys of dictionary
|
| 917 |
-
- ([PR#3051](https://github.com/dubzzz/fast-check/pull/3051)) Bug: Better rounding in `statistics`
|
| 918 |
-
- ([PR#3052](https://github.com/dubzzz/fast-check/pull/3052)) CI: Add missing Ubuntu env for e2e
|
| 919 |
-
- ([PR#3047](https://github.com/dubzzz/fast-check/pull/3047)) Refactor: Implement sliced based generator for arrays
|
| 920 |
-
- ([PR#3059](https://github.com/dubzzz/fast-check/pull/3059)) Script: Add links to buggy PRs in changelog PR
|
| 921 |
-
- ([PR#3060](https://github.com/dubzzz/fast-check/pull/3060)) Script: Only commit `package.json` corresponding to impacted CHANGELOGs
|
| 922 |
-
|
| 923 |
-
---
|
| 924 |
-
|
| 925 |
-
# 3.0.1
|
| 926 |
-
|
| 927 |
-
_Basic setup for monorepo_
|
| 928 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.0.1)][[Diff](https://github.com/dubzzz/fast-check/compare/v3.0.0...v3.0.1)]
|
| 929 |
-
|
| 930 |
-
## Fixes
|
| 931 |
-
|
| 932 |
-
- ([PR#2986](https://github.com/dubzzz/fast-check/pull/2986)) CI: Switch to Yarn 3 and simple monorepo
|
| 933 |
-
- ([PR#2987](https://github.com/dubzzz/fast-check/pull/2987)) CI: Simplify test-bundle script following merge of Yarn 3
|
| 934 |
-
- ([PR#2988](https://github.com/dubzzz/fast-check/pull/2988)) CI: Switch to `yarn workspace *` instead of `cd packages/*`
|
| 935 |
-
- ([PR#2990](https://github.com/dubzzz/fast-check/pull/2990)) CI: Replace `npx` by `yarn dlx`
|
| 936 |
-
- ([PR#2991](https://github.com/dubzzz/fast-check/pull/2991)) CI: Setup prettier at the root of the project
|
| 937 |
-
- ([PR#2992](https://github.com/dubzzz/fast-check/pull/2992)) CI: Drop unneeded benchmarks
|
| 938 |
-
- ([PR#2993](https://github.com/dubzzz/fast-check/pull/2993)) CI: Fix script not using the right path
|
| 939 |
-
- ([PR#2994](https://github.com/dubzzz/fast-check/pull/2994)) CI: Fix gh-pages publication follwoing move to monorepo
|
| 940 |
-
- ([PR#2995](https://github.com/dubzzz/fast-check/pull/2995)) CI: Clean-up `.gitignore`
|
| 941 |
-
- ([PR#2996](https://github.com/dubzzz/fast-check/pull/2996)) CI: Move eslint at top level
|
| 942 |
-
- ([PR#2989](https://github.com/dubzzz/fast-check/pull/2989)) CI: Make `fast-check` self reference itself as a dev dependency
|
| 943 |
-
- ([PR#2997](https://github.com/dubzzz/fast-check/pull/2997)) CI: Define top-level script to simplify build and test
|
| 944 |
-
- ([PR#2999](https://github.com/dubzzz/fast-check/pull/2999)) CI: Setup for `yarn version check`
|
| 945 |
-
- ([PR#3001](https://github.com/dubzzz/fast-check/pull/3001)) CI: Make use of `yarn version` for generate changelog
|
| 946 |
-
- ([PR#3003](https://github.com/dubzzz/fast-check/pull/3003)) CI: Fix usages of `yarn version` when generating changelog
|
| 947 |
-
- ([PR#3005](https://github.com/dubzzz/fast-check/pull/3005)) CI: Move anything package related next to its package
|
| 948 |
-
- ([PR#3008](https://github.com/dubzzz/fast-check/pull/3008)) CI: Check the need for `dedupe` for each run
|
| 949 |
-
- ([PR#3010](https://github.com/dubzzz/fast-check/pull/3010)) CI: Cross-jobs caching for yarn
|
| 950 |
-
- ([PR#3011](https://github.com/dubzzz/fast-check/pull/3011)) CI: Enhance and document version related rules for PRs
|
| 951 |
-
- ([PR#3014](https://github.com/dubzzz/fast-check/pull/3014)) CI: Run tests against trimmed versions of the packages
|
| 952 |
-
- ([PR#3015](https://github.com/dubzzz/fast-check/pull/3015)) CI: Make fast-check's tests rely on its own build
|
| 953 |
-
- ([PR#3017](https://github.com/dubzzz/fast-check/pull/3017)) CI: Faster workflow of GH Actions
|
| 954 |
-
- ([PR#3023](https://github.com/dubzzz/fast-check/pull/3023)) CI: Factorize test jobs via matrix of GH Actions
|
| 955 |
-
- ([PR#3024](https://github.com/dubzzz/fast-check/pull/3024)) CI: Drop es-check related jobs
|
| 956 |
-
- ([PR#3032](https://github.com/dubzzz/fast-check/pull/3032)) CI: Handle monorepo in generate changelog
|
| 957 |
-
- ([PR#3034](https://github.com/dubzzz/fast-check/pull/3034)) CI: Better links in PR generating changelog
|
| 958 |
-
- ([PR#3037](https://github.com/dubzzz/fast-check/pull/3037)) CI: Adapt build script to publish any package
|
| 959 |
-
- ([PR#3039](https://github.com/dubzzz/fast-check/pull/3039)) CI: Also commit `.yarn/versions` with changelogs
|
| 960 |
-
- ([PR#3000](https://github.com/dubzzz/fast-check/pull/3000)) Doc: Default to readme from `packages/fast-check`
|
| 961 |
-
- ([PR#3006](https://github.com/dubzzz/fast-check/pull/3006)) Doc: Start following all-contributors specification
|
| 962 |
-
- ([PR#3007](https://github.com/dubzzz/fast-check/pull/3007)) Doc: Rework the "bug discovered with fast-check" section of the README
|
| 963 |
-
- ([PR#3031](https://github.com/dubzzz/fast-check/pull/3031)) Doc: Add missing README files on bundle related tests
|
| 964 |
-
- ([PR#2982](https://github.com/dubzzz/fast-check/pull/2982)) Move: Move `example/` to `examples/`
|
| 965 |
-
- ([PR#2983](https://github.com/dubzzz/fast-check/pull/2983)) Move: Move part of `test/` into `packages/test-bundle-*`
|
| 966 |
-
- ([PR#2984](https://github.com/dubzzz/fast-check/pull/2984)) Move: Move part of source code into `packages/fast-check`
|
| 967 |
-
- ([PR#2977](https://github.com/dubzzz/fast-check/pull/2977)) Refactor: Simplify logic to read constraints for `commands`
|
| 968 |
-
- ([PR#3016](https://github.com/dubzzz/fast-check/pull/3016)) Test: Check SHA1 of produced bundle in E2E tests
|
| 969 |
-
|
| 970 |
-
# 3.0.0
|
| 971 |
-
|
| 972 |
-
_Easier and more expressive thanks to the full support of size and a new and extensible API for custom arbitraries_
|
| 973 |
-
[[Code](https://github.com/dubzzz/fast-check/tree/v3.0.0)][[Diff](https://github.com/dubzzz/fast-check/compare/v2.25.0...v3.0.0)]
|
| 974 |
-
|
| 975 |
-
This new major of fast-check is:
|
| 976 |
-
|
| 977 |
-
- **extensible**: extending the framework with custom arbitraries made easy
|
| 978 |
-
- **expressive properties**: write properties corresponding to specs without dealing with internals of the library ([more](https://github.com/dubzzz/fast-check/issues/2648))
|
| 979 |
-
- **recursive structures**: better native handling of recursive structures without any tweaks around internals
|
| 980 |
-
- **unified signatures**: unify signatures cross-arbitraries ([more](https://github.com/dubzzz/fast-check/pull/992))
|
| 981 |
-
|
| 982 |
-
## Breaking changes
|
| 983 |
-
|
| 984 |
-
- ([PR#2927](https://github.com/dubzzz/fast-check/pull/2927)) Remove deprecated signatures of `fc.array`
|
| 985 |
-
- ([PR#2929](https://github.com/dubzzz/fast-check/pull/2929)) Remove deprecated signatures of `fc.string`
|
| 986 |
-
- ([PR#2930](https://github.com/dubzzz/fast-check/pull/2930)) Remove deprecated signatures of `fc.*subarray`
|
| 987 |
-
- ([PR#2931](https://github.com/dubzzz/fast-check/pull/2931)) Remove deprecated signatures of `fc.commands`
|
| 988 |
-
- ([PR#2932](https://github.com/dubzzz/fast-check/pull/2932)) Remove deprecated signatures of `fc.option`
|
| 989 |
-
- ([PR#2933](https://github.com/dubzzz/fast-check/pull/2933)) Remove deprecated signatures of `fc.json`
|
| 990 |
-
- ([PR#2934](https://github.com/dubzzz/fast-check/pull/2934)) Remove deprecated signatures of `fc.lorem`
|
| 991 |
-
- ([PR#2935](https://github.com/dubzzz/fast-check/pull/2935)) Drop support for TypeScript 3.2 (min ≥4.1)
|
| 992 |
-
- ([PR#2928](https://github.com/dubzzz/fast-check/pull/2928)) Rely on new implementations and APIs for `fc.float`/`fc.double`
|
| 993 |
-
- ([PR#2938](https://github.com/dubzzz/fast-check/pull/2938)) Remove fully deprecated arbitraries
|
| 994 |
-
- ([PR#2939](https://github.com/dubzzz/fast-check/pull/2939)) Remove deprecated signatures of `fc.integer`
|
| 995 |
-
- ([PR#2940](https://github.com/dubzzz/fast-check/pull/2940)) Get rid off genericTuple (replaced by tuple)
|
| 996 |
-
- ([PR#2941](https://github.com/dubzzz/fast-check/pull/2941)) Remove forked typings for `pure-rand`
|
| 997 |
-
- ([PR#2942](https://github.com/dubzzz/fast-check/pull/2942)) Change the API of a property to rely on the modern one
|
| 998 |
-
- ([PR#2944](https://github.com/dubzzz/fast-check/pull/2944)) Switch to the new API of `Arbitrary` and remove old variants
|
| 999 |
-
- ([PR#2945](https://github.com/dubzzz/fast-check/pull/2945)) Rename `NextValue` into `Value`
|
| 1000 |
-
- ([PR#2949](https://github.com/dubzzz/fast-check/pull/2949)) No `depthFactor` specified means: use defaulted configuration
|
| 1001 |
-
- ([PR#2951](https://github.com/dubzzz/fast-check/pull/2951)) Stop defaulting `maxKeys` and `maxDepth` on `object` arbitraries
|
| 1002 |
-
- ([PR#2952](https://github.com/dubzzz/fast-check/pull/2952)) Stop defaulting `maxCount` on `lorem`
|
| 1003 |
-
- ([PR#2954](https://github.com/dubzzz/fast-check/pull/2954)) Stop defaulting `defaultSizeToMaxWhenMaxSpecified` to true
|
| 1004 |
-
- ([PR#2959](https://github.com/dubzzz/fast-check/pull/2959)) Change the output of `Property::run` to return the original error
|
| 1005 |
-
- ([PR#2960](https://github.com/dubzzz/fast-check/pull/2960)) Remove `frequency` now replaced by `oneof`
|
| 1006 |
-
- ([PR#2970](https://github.com/dubzzz/fast-check/pull/2970)) Rename `depthFactor` into `depthSize` and invert numeric
|
| 1007 |
-
|
| 1008 |
-
_You may refer to our migration guide in case of issue: https://github.com/dubzzz/fast-check/blob/main/MIGRATION_2.X_TO_3.X.md_
|
| 1009 |
-
|
| 1010 |
-
## Features
|
| 1011 |
-
|
| 1012 |
-
- ([PR#2937](https://github.com/dubzzz/fast-check/pull/2937)) Adopt variadic tuples for signatures of clone
|
| 1013 |
-
- ([PR#2936](https://github.com/dubzzz/fast-check/pull/2936)) Adopt variadic tuples for signatures of property
|
| 1014 |
-
- ([PR#2950](https://github.com/dubzzz/fast-check/pull/2950)) Add the ability to define use max as depth factor
|
| 1015 |
-
- ([PR#2953](https://github.com/dubzzz/fast-check/pull/2953)) Extend usage of `defaultSizeToMaxWhenMaxSpecified` to depth
|
| 1016 |
-
- ([PR#2955](https://github.com/dubzzz/fast-check/pull/2955)) Add support for weighted arbitraries in `oneof`
|
| 1017 |
-
- ([PR#2962](https://github.com/dubzzz/fast-check/pull/2962)) Forward the original `Error` into `RunDetails`
|
| 1018 |
-
- ([PR#2956](https://github.com/dubzzz/fast-check/pull/2956)) Add big int typed arrays arbitraries
|
| 1019 |
-
- ([PR#2968](https://github.com/dubzzz/fast-check/pull/2968)) Better typings for `letrec`
|
| 1020 |
-
|
| 1021 |
-
## Fixes
|
| 1022 |
-
|
| 1023 |
-
- ([PR#2963](https://github.com/dubzzz/fast-check/pull/2963)) Bug: Allow property to intercept thrown symbols
|
| 1024 |
-
- ([PR#2925](https://github.com/dubzzz/fast-check/pull/2925)) CI: Add type-checking only step and script
|
| 1025 |
-
- ([PR#2923](https://github.com/dubzzz/fast-check/pull/2923)) CI: Format all the files not only TS ones
|
| 1026 |
-
- ([PR#2964](https://github.com/dubzzz/fast-check/pull/2964)) CI: Check the generated lib against ES standard
|
| 1027 |
-
- ([PR#2918](https://github.com/dubzzz/fast-check/pull/2918)) Doc: Update "Question" template to request users to prefer "Discussions"
|
| 1028 |
-
- ([PR#2920](https://github.com/dubzzz/fast-check/pull/2920)) Doc: Add some statistics for `jsonValue` in the documentation
|
| 1029 |
-
- ([PR#2966](https://github.com/dubzzz/fast-check/pull/2966)) Doc: Fix link to timeout section in tips doc
|
| 1030 |
-
- ([PR#2919](https://github.com/dubzzz/fast-check/pull/2919)) Refactor: Replace usages of `set` by `uniqueArray`
|
| 1031 |
-
- ([PR#2921](https://github.com/dubzzz/fast-check/pull/2921)) Refactor: Replace deprecated usages of `integer` by constraint-based ones
|
| 1032 |
-
- ([PR#2924](https://github.com/dubzzz/fast-check/pull/2924)) Refactor: Move `ts-jest` types related helpers internally
|
| 1033 |
-
- ([PR#2946](https://github.com/dubzzz/fast-check/pull/2946)) Refactor: Clean src thanks to `NextArbitrary`
|
| 1034 |
-
- ([PR#2948](https://github.com/dubzzz/fast-check/pull/2948)) Refactor: Adapting some code in `anything` thanks to TODO
|
| 1035 |
-
- ([PR#2971](https://github.com/dubzzz/fast-check/pull/2971)) Script: Support breaking changes in generated CHANGELOG
|
| 1036 |
-
- ([PR#2973](https://github.com/dubzzz/fast-check/pull/2973)) Script: Support typing related PRs in CHANGELOG
|
| 1037 |
-
- ([PR#2943](https://github.com/dubzzz/fast-check/pull/2943)) Test: Rewrite tests on `commands` based on `NextArbitrary`
|
| 1038 |
-
- ([PR#2947](https://github.com/dubzzz/fast-check/pull/2947)) Test: Remove "Next" from test helpers
|
| 1039 |
-
- ([PR#2961](https://github.com/dubzzz/fast-check/pull/2961)) Test: Ensure `fc.sample` can run against properties and arbitraries
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
| 1 |
-
MIT License
|
| 2 |
-
|
| 3 |
-
Copyright (c) 2017 Nicolas DUBIEN
|
| 4 |
-
|
| 5 |
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
-
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
-
in the Software without restriction, including without limitation the rights
|
| 8 |
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
-
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
-
furnished to do so, subject to the following conditions:
|
| 11 |
-
|
| 12 |
-
The above copyright notice and this permission notice shall be included in all
|
| 13 |
-
copies or substantial portions of the Software.
|
| 14 |
-
|
| 15 |
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
-
SOFTWARE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/README.md
DELETED
|
@@ -1,249 +0,0 @@
|
|
| 1 |
-
<h1 align="center">
|
| 2 |
-
<img align="center" src="https://media.githubusercontent.com/media/dubzzz/fast-check/main/website/static/img/logo.png" alt="fast-check logo" />
|
| 3 |
-
</h1>
|
| 4 |
-
|
| 5 |
-
<p align="center">
|
| 6 |
-
Property based testing framework for JavaScript/TypeScript
|
| 7 |
-
</p>
|
| 8 |
-
|
| 9 |
-
<p align="center">
|
| 10 |
-
<a href="https://github.com/dubzzz/fast-check/actions?query=branch%3Amain+workflow%3A%22Build+Status%22"><img src="https://github.com/dubzzz/fast-check/workflows/Build%20Status/badge.svg?branch=main" alt="Build Status" /></a>
|
| 11 |
-
<a href="https://badge.fury.io/js/fast-check"><img src="https://badge.fury.io/js/fast-check.svg" alt="npm version" /></a>
|
| 12 |
-
<a href="https://www.npmjs.com/package/fast-check"><img src="https://img.shields.io/npm/dm/fast-check" alt="monthly downloads" /></a>
|
| 13 |
-
<a href="https://fast-check.dev/"><img src="https://img.shields.io/badge/-Documentation-%23282ea9.svg" title="Documentation" /></a>
|
| 14 |
-
</p>
|
| 15 |
-
<p align="center">
|
| 16 |
-
<a href="https://app.codecov.io/gh/dubzzz/fast-check/branch/main"><img src="https://codecov.io/gh/dubzzz/fast-check/branch/main/graph/badge.svg" alt="Coverage Status (unit tests)" /></a>
|
| 17 |
-
<a href="https://packagequality.com/#?package=fast-check"><img src="https://packagequality.com/shield/fast-check.svg" alt="Package quality" /></a>
|
| 18 |
-
<a href="https://snyk.io/advisor/npm-package/fast-check"><img src="https://snyk.io/advisor/npm-package/fast-check/badge.svg" alt="Snyk Package quality" /></a>
|
| 19 |
-
<a href="https://securityscorecards.dev/viewer/?platform=github.com&org=dubzzz&repo=fast-check"><img src="https://api.securityscorecards.dev/projects/github.com/dubzzz/fast-check/badge" alt="OpenSSF Scorecard" /></a>
|
| 20 |
-
<a href="https://bestpractices.coreinfrastructure.org/projects/7450"><img src="https://bestpractices.coreinfrastructure.org/projects/7450/badge" alt="OpenSSF Best Practices" /></a>
|
| 21 |
-
</p>
|
| 22 |
-
<p align="center">
|
| 23 |
-
<a href="https://github.com/dubzzz/fast-check/labels/good%20first%20issue"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" alt="PRs Welcome" /></a>
|
| 24 |
-
<a href="https://github.com/dubzzz/fast-check/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/fast-check.svg" alt="License" /></a>
|
| 25 |
-
</p>
|
| 26 |
-
|
| 27 |
-
## Getting started
|
| 28 |
-
|
| 29 |
-
Hands-on tutorial and definition of Property Based Testing: [🏁 see tutorial](https://fast-check.dev/docs/tutorials/quick-start/). Or directly try it online on our pre-configured [CodeSandbox](https://codesandbox.io/s/github/dubzzz/fast-check/tree/main/examples?previewwindow=tests).
|
| 30 |
-
|
| 31 |
-
Property based testing frameworks check the truthfulness of properties. A property is a statement like: _for all (x, y, ...) such that precondition(x, y, ...) holds predicate(x, y, ...) is true_.
|
| 32 |
-
|
| 33 |
-
Install the module with: `yarn add fast-check --dev` or `npm install fast-check --save-dev`
|
| 34 |
-
|
| 35 |
-
Example of integration in [mocha](http://mochajs.org/):
|
| 36 |
-
|
| 37 |
-
```js
|
| 38 |
-
import fc from 'fast-check';
|
| 39 |
-
|
| 40 |
-
// Code under test
|
| 41 |
-
const contains = (text, pattern) => text.indexOf(pattern) >= 0;
|
| 42 |
-
|
| 43 |
-
// Properties
|
| 44 |
-
describe('properties', () => {
|
| 45 |
-
// string text always contains itself
|
| 46 |
-
it('should always contain itself', () => {
|
| 47 |
-
fc.assert(fc.property(fc.string(), (text) => contains(text, text)));
|
| 48 |
-
});
|
| 49 |
-
// string a + b + c always contains b, whatever the values of a, b and c
|
| 50 |
-
it('should always contain its substrings', () => {
|
| 51 |
-
fc.assert(
|
| 52 |
-
fc.property(fc.string(), fc.string(), fc.string(), (a, b, c) => {
|
| 53 |
-
// Alternatively: no return statement and direct usage of expect or assert
|
| 54 |
-
return contains(a + b + c, b);
|
| 55 |
-
}),
|
| 56 |
-
);
|
| 57 |
-
});
|
| 58 |
-
});
|
| 59 |
-
```
|
| 60 |
-
|
| 61 |
-
In case of failure, the test raises a red flag. Its output should help you to diagnose what went wrong in your implementation. Example with a failing implementation of contain:
|
| 62 |
-
|
| 63 |
-
```
|
| 64 |
-
1) should always contain its substrings
|
| 65 |
-
Error: Property failed after 1 tests (seed: 1527422598337, path: 0:0): ["","",""]
|
| 66 |
-
Shrunk 1 time(s)
|
| 67 |
-
Got error: Property failed by returning false
|
| 68 |
-
|
| 69 |
-
Hint: Enable verbose mode in order to have the list of all failing values encountered during the run
|
| 70 |
-
```
|
| 71 |
-
|
| 72 |
-
Integration with other test frameworks: [ava](https://github.com/dubzzz/fast-check-examples/blob/main/test-ava/example.spec.js), [jasmine](https://github.com/dubzzz/fast-check-examples/blob/main/test-jasmine/example.spec.js), [jest](https://github.com/dubzzz/fast-check-examples/blob/main/test-jest/example.spec.js), [mocha](https://github.com/dubzzz/fast-check-examples/blob/main/test/longest%20common%20substr/test.js) and [tape](https://github.com/dubzzz/fast-check-examples/blob/main/test-tape/example.spec.js).
|
| 73 |
-
|
| 74 |
-
More examples: [simple examples](https://github.com/dubzzz/fast-check/tree/main/examples), [fuzzing](https://github.com/dubzzz/fuzz-rest-api) and [against various algorithms](https://github.com/dubzzz/fast-check-examples).
|
| 75 |
-
|
| 76 |
-
Useful documentations:
|
| 77 |
-
|
| 78 |
-
- [🏁 Introduction to Property Based & Hands On](https://fast-check.dev/docs/tutorials/quick-start/)
|
| 79 |
-
- [🐣 Built-in arbitraries](https://fast-check.dev/docs/core-blocks/arbitraries/)
|
| 80 |
-
- [🔧 Custom arbitraries](https://fast-check.dev/docs/core-blocks/arbitraries/combiners/)
|
| 81 |
-
- [🏃♂️ Property based runners](https://fast-check.dev/docs/core-blocks/runners/)
|
| 82 |
-
- [💥 Tips](https://fast-check.dev/docs/configuration/)
|
| 83 |
-
- [🔌 API Reference](https://fast-check.dev/api-reference/index.html)
|
| 84 |
-
- [⭐ Awesome fast-check](https://fast-check.dev/docs/ecosystem/)
|
| 85 |
-
|
| 86 |
-
## Why should I migrate to fast-check?
|
| 87 |
-
|
| 88 |
-
fast-check has initially been designed in an attempt to cope with limitations I encountered while using other property based testing frameworks designed for JavaScript:
|
| 89 |
-
|
| 90 |
-
- **Types:** strong and up-to-date types - _thanks to TypeScript_
|
| 91 |
-
- **Extendable:** easy `map` method to derive existing arbitraries while keeping shrink \[[more](https://fast-check.dev/docs/core-blocks/arbitraries/combiners/any/#map)\] - _some frameworks ask the user to provide both a->b and b->a mappings in order to keep a shrinker_
|
| 92 |
-
- **Extendable:** kind of flatMap-operation called `chain` \[[more](https://fast-check.dev/docs/core-blocks/arbitraries/combiners/any/#chain)\] - _able to bind the output of an arbitrary as input of another one while keeping the shrink working_
|
| 93 |
-
- **Extendable:** precondition checks with `fc.pre(...)` \[[more](https://fast-check.dev/docs/core-blocks/properties/#example)\] - _filtering invalid entries can be done directly inside the check function if needed_
|
| 94 |
-
- **Extendable:** easily switch from fake data in tests to property based with `fc.gen()` \[[more](https://fast-check.dev/docs/core-blocks/arbitraries/others/#gen)\] - _generate random values within your predicates_
|
| 95 |
-
- **Smart:** ability to shrink on `fc.oneof` \[[more](https://fast-check.dev/docs/core-blocks/arbitraries/combiners/any/#oneof)\] - _surprisingly some frameworks don't_
|
| 96 |
-
- **Smart:** biased by default - _by default it generates both small and large values, making it easier to dig into counterexamples without having to tweak a size parameter manually_
|
| 97 |
-
- **Debug:** verbose mode \[[more](https://fast-check.dev/docs/configuration/custom-reports/#verbosity)\]\[[tutorial](https://fast-check.dev/docs/tutorials/quick-start/read-test-reports/#how-to-increase-verbosity)\] - _easier troubleshooting with verbose mode enabled_
|
| 98 |
-
- **Debug:** replay directly on the minimal counterexample \[[tutorial](https://fast-check.dev/docs/tutorials/quick-start/read-test-reports/#how-to-re-run)\] - _no need to replay the whole sequence, you get directly the counterexample_
|
| 99 |
-
- **Debug:** custom examples in addition of generated ones \[[more](https://fast-check.dev/docs/configuration/user-definable-values/#run-against-custom-values)\] - _no need to duplicate the code to play the property on custom examples_
|
| 100 |
-
- **Debug:** logger per predicate run \[[more](https://fast-check.dev/docs/core-blocks/arbitraries/others/#context)\] - _simplify your troubleshoot with fc.context and its logging feature_
|
| 101 |
-
- **Unique:** model based approach \[[more](https://fast-check.dev/docs/advanced/model-based-testing/)\]\[[article](https://medium.com/criteo-labs/detecting-the-unexpected-in-web-ui-fuzzing-1f3822c8a3a5)\] - _use the power of property based testing to test UI, APIs or state machines_
|
| 102 |
-
- **Unique:** detect race conditions in your code \[[more](https://fast-check.dev/docs/advanced/race-conditions/)\]\[[tutorial](https://fast-check.dev/docs/tutorials/detect-race-conditions/)\] - _shuffle the way your promises and async calls resolve using the power of property based testing to detect races_
|
| 103 |
-
- **Unique:** simplify user definable corner cases \[[more](https://fast-check.dev/docs/configuration/user-definable-values/#shrink-custom-values)\] - _simplify bug resolution by asking fast-check if it can find an even simpler corner case_
|
| 104 |
-
|
| 105 |
-
For more details, refer to the documentation in the links above.
|
| 106 |
-
|
| 107 |
-
### Trusted
|
| 108 |
-
|
| 109 |
-
fast-check has been trusted for years by big projects like: [jest](https://github.com/jestjs/jest), [jasmine](https://github.com/jasmine/jasmine), [fp-ts](https://github.com/gcanti/fp-ts), [io-ts](https://github.com/gcanti/io-ts), [ramda](https://github.com/ramda/ramda), [js-yaml](https://github.com/nodeca/js-yaml), [query-string](https://github.com/sindresorhus/query-string)...
|
| 110 |
-
|
| 111 |
-
### Powerful
|
| 112 |
-
|
| 113 |
-
It also proved useful in finding bugs among major open source projects such as [jest](https://github.com/jestjs/jest), [query-string](https://github.com/sindresorhus/query-string)... and [many others](https://fast-check.dev/docs/introduction/track-record/).
|
| 114 |
-
|
| 115 |
-
## Compatibility
|
| 116 |
-
|
| 117 |
-
Here are the minimal requirements to use fast-check properly without any polyfills:
|
| 118 |
-
|
| 119 |
-
| fast-check | node | ECMAScript version | _TypeScript (optional)_ |
|
| 120 |
-
| ---------- | ------------------- | ------------------ | ----------------------- |
|
| 121 |
-
| **3.x** | ≥8<sup>(1)</sup> | ES2017 | ≥4.1<sup>(2)</sup> |
|
| 122 |
-
| **2.x** | ≥8<sup>(1)</sup> | ES2017 | ≥3.2<sup>(3)</sup> |
|
| 123 |
-
| **1.x** | ≥0.12<sup>(1)</sup> | ES3 | ≥3.0<sup>(3)</sup> |
|
| 124 |
-
|
| 125 |
-
<details>
|
| 126 |
-
<summary>More details...</summary>
|
| 127 |
-
|
| 128 |
-
1. Except for features that cannot be polyfilled - such as `bigint`-related ones - all the capabilities of fast-check should be usable given you use at least the minimal recommended version of node associated to your major of fast-check.
|
| 129 |
-
2. Require either lib or target ≥ ES2020 or `@types/node` to be installed.
|
| 130 |
-
3. Require either lib or target ≥ ES2015 or `@types/node` to be installed.
|
| 131 |
-
|
| 132 |
-
</details>
|
| 133 |
-
|
| 134 |
-
### ReScript bindings
|
| 135 |
-
|
| 136 |
-
Bindings to use fast-check in [ReScript](https://rescript-lang.org) are available in package [rescript-fast-check](https://www.npmjs.com/rescript-fast-check). They are maintained by [@TheSpyder](https://github.com/TheSpyder) as an external project.
|
| 137 |
-
|
| 138 |
-
## Contributors ✨
|
| 139 |
-
|
| 140 |
-
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
|
| 141 |
-
|
| 142 |
-
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
| 143 |
-
<!-- prettier-ignore-start -->
|
| 144 |
-
<!-- markdownlint-disable -->
|
| 145 |
-
<table>
|
| 146 |
-
<tbody>
|
| 147 |
-
<tr>
|
| 148 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/dubzzz"><img src="https://avatars.githubusercontent.com/u/5300235?v=4?s=100" width="100px;" alt="Nicolas DUBIEN"/><br /><sub><b>Nicolas DUBIEN</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=dubzzz" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=dubzzz" title="Documentation">📖</a> <a href="https://github.com/dubzzz/fast-check/commits?author=dubzzz" title="Tests">⚠️</a> <a href="#infra-dubzzz" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#design-dubzzz" title="Design">🎨</a> <a href="#maintenance-dubzzz" title="Maintenance">🚧</a></td>
|
| 149 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/hath995"><img src="https://avatars.githubusercontent.com/u/381037?v=4?s=100" width="100px;" alt="Aaron Elligsen"/><br /><sub><b>Aaron Elligsen</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=hath995" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=hath995" title="Documentation">📖</a> <a href="https://github.com/dubzzz/fast-check/commits?author=hath995" title="Tests">⚠️</a></td>
|
| 150 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/willheslam"><img src="https://avatars.githubusercontent.com/u/5377213?v=4?s=100" width="100px;" alt="Will Heslam"/><br /><sub><b>Will Heslam</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=willheslam" title="Documentation">📖</a></td>
|
| 151 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kazchimo"><img src="https://avatars.githubusercontent.com/u/31263328?v=4?s=100" width="100px;" alt="kazchimo"/><br /><sub><b>kazchimo</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=kazchimo" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=kazchimo" title="Documentation">📖</a></td>
|
| 152 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/brandon-leapyear"><img src="https://avatars.githubusercontent.com/u/27799541?v=4?s=100" width="100px;" alt="Brandon Chinn"/><br /><sub><b>Brandon Chinn</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=brandon-leapyear" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=brandon-leapyear" title="Documentation">📖</a></td>
|
| 153 |
-
<td align="center" valign="top" width="14.28%"><a href="http://safareli.github.io/resume/"><img src="https://avatars.githubusercontent.com/u/1932383?v=4?s=100" width="100px;" alt="Irakli Safareli"/><br /><sub><b>Irakli Safareli</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=safareli" title="Documentation">📖</a></td>
|
| 154 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/TheSpyder"><img src="https://avatars.githubusercontent.com/u/298292?v=4?s=100" width="100px;" alt="Andrew Herron"/><br /><sub><b>Andrew Herron</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=TheSpyder" title="Documentation">📖</a> <a href="#plugin-TheSpyder" title="Plugin/utility libraries">🔌</a></td>
|
| 155 |
-
</tr>
|
| 156 |
-
<tr>
|
| 157 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/EricCrosson"><img src="https://avatars.githubusercontent.com/u/1596818?v=4?s=100" width="100px;" alt="Eric Crosson"/><br /><sub><b>Eric Crosson</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=EricCrosson" title="Documentation">📖</a> <a href="https://github.com/dubzzz/fast-check/commits?author=EricCrosson" title="Code">💻</a></td>
|
| 158 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/burrscurr"><img src="https://avatars.githubusercontent.com/u/23213508?v=4?s=100" width="100px;" alt="burrscurr"/><br /><sub><b>burrscurr</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=burrscurr" title="Documentation">📖</a></td>
|
| 159 |
-
<td align="center" valign="top" width="14.28%"><a href="https://www.dijonkitchen.org/"><img src="https://avatars.githubusercontent.com/u/11434205?v=4?s=100" width="100px;" alt="JC (Jonathan Chen)"/><br /><sub><b>JC (Jonathan Chen)</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=dijonkitchen" title="Documentation">📖</a></td>
|
| 160 |
-
<td align="center" valign="top" width="14.28%"><a href="http://fixate.it/"><img src="https://avatars.githubusercontent.com/u/1510520?v=4?s=100" width="100px;" alt="Larry Botha"/><br /><sub><b>Larry Botha</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=larrybotha" title="Documentation">📖</a> <a href="https://github.com/dubzzz/fast-check/commits?author=larrybotha" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=larrybotha" title="Tests">⚠️</a></td>
|
| 161 |
-
<td align="center" valign="top" width="14.28%"><a href="https://epa.ms/RomanGusev"><img src="https://avatars.githubusercontent.com/u/5839225?v=4?s=100" width="100px;" alt="Roman Gusev"/><br /><sub><b>Roman Gusev</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=102" title="Documentation">📖</a></td>
|
| 162 |
-
<td align="center" valign="top" width="14.28%"><a href="https://timwis.com/"><img src="https://avatars.githubusercontent.com/u/761444?v=4?s=100" width="100px;" alt="Tim Wisniewski"/><br /><sub><b>Tim Wisniewski</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=timwis" title="Documentation">📖</a></td>
|
| 163 |
-
<td align="center" valign="top" width="14.28%"><a href="https://world.hey.com/brais"><img src="https://avatars.githubusercontent.com/u/17855450?v=4?s=100" width="100px;" alt="Brais Piñeiro"/><br /><sub><b>Brais Piñeiro</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=brapifra" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=brapifra" title="Tests">⚠️</a></td>
|
| 164 |
-
</tr>
|
| 165 |
-
<tr>
|
| 166 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/brds"><img src="https://avatars.githubusercontent.com/u/118620?v=4?s=100" width="100px;" alt="Renaud-Pierre Bordes"/><br /><sub><b>Renaud-Pierre Bordes</b></sub></a><br /><a href="#design-brds" title="Design">🎨</a></td>
|
| 167 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/fwip"><img src="https://avatars.githubusercontent.com/u/190414?v=4?s=100" width="100px;" alt="Jemma Nelson"/><br /><sub><b>Jemma Nelson</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=fwip" title="Documentation">📖</a></td>
|
| 168 |
-
<td align="center" valign="top" width="14.28%"><a href="http://fullof.bs/"><img src="https://avatars.githubusercontent.com/u/77482?v=4?s=100" width="100px;" alt="John Haugeland"/><br /><sub><b>John Haugeland</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=StoneCypher" title="Documentation">📖</a></td>
|
| 169 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/treydavis"><img src="https://avatars.githubusercontent.com/u/1691239?v=4?s=100" width="100px;" alt="Trey Davis"/><br /><sub><b>Trey Davis</b></sub></a><br /><a href="#design-treydavis" title="Design">🎨</a></td>
|
| 170 |
-
<td align="center" valign="top" width="14.28%"><a href="https://leonzalion.com/"><img src="https://avatars.githubusercontent.com/u/36966635?v=4?s=100" width="100px;" alt="Leon Si"/><br /><sub><b>Leon Si</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=leonzalion" title="Documentation">📖</a></td>
|
| 171 |
-
<td align="center" valign="top" width="14.28%"><a href="http://spion.github.io/"><img src="https://avatars.githubusercontent.com/u/502412?v=4?s=100" width="100px;" alt="Gorgi Kosev"/><br /><sub><b>Gorgi Kosev</b></sub></a><br /><a href="#infra-spion" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
| 172 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mayconsacht"><img src="https://avatars.githubusercontent.com/u/5214042?v=4?s=100" width="100px;" alt="mayconsacht"/><br /><sub><b>mayconsacht</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=mayconsacht" title="Code">💻</a></td>
|
| 173 |
-
</tr>
|
| 174 |
-
<tr>
|
| 175 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/paldepind"><img src="https://avatars.githubusercontent.com/u/521604?v=4?s=100" width="100px;" alt="Simon Friis Vindum"/><br /><sub><b>Simon Friis Vindum</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=paldepind" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=paldepind" title="Tests">⚠️</a></td>
|
| 176 |
-
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/gibson042"><img src="https://avatars.githubusercontent.com/u/1199584?v=4?s=100" width="100px;" alt="Richard Gibson"/><br /><sub><b>Richard Gibson</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=gibson042" title="Documentation">📖</a></td>
|
| 177 |
-
<td align="center" valign="top" width="14.28%"><a href="https://alanharper.com.au/"><img src="https://avatars.githubusercontent.com/u/475?v=4?s=100" width="100px;" alt="Alan Harper"/><br /><sub><b>Alan Harper</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=aussiegeek" title="Documentation">📖</a></td>
|
| 178 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Osman-Sodefa"><img src="https://avatars.githubusercontent.com/u/90332566?v=4?s=100" width="100px;" alt="Makien Osman"/><br /><sub><b>Makien Osman</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=Osman-Sodefa" title="Code">💻</a></td>
|
| 179 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/sommd"><img src="https://avatars.githubusercontent.com/u/7817485?v=4?s=100" width="100px;" alt="David Sommerich"/><br /><sub><b>David Sommerich</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=sommd" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=sommd" title="Tests">⚠️</a></td>
|
| 180 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/diegopedro94"><img src="https://avatars.githubusercontent.com/u/7157796?v=4?s=100" width="100px;" alt="Diego Pedro"/><br /><sub><b>Diego Pedro</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=diegopedro94" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=diegopedro94" title="Tests">⚠️</a></td>
|
| 181 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/BoruiGu"><img src="https://avatars.githubusercontent.com/u/8686167?v=4?s=100" width="100px;" alt="Borui Gu"/><br /><sub><b>Borui Gu</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=BoruiGu" title="Documentation">📖</a></td>
|
| 182 |
-
</tr>
|
| 183 |
-
<tr>
|
| 184 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/eventualbuddha"><img src="https://avatars.githubusercontent.com/u/1938?v=4?s=100" width="100px;" alt="Brian Donovan"/><br /><sub><b>Brian Donovan</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=eventualbuddha" title="Documentation">📖</a></td>
|
| 185 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/volrk"><img src="https://avatars.githubusercontent.com/u/32265974?v=4?s=100" width="100px;" alt="volrk"/><br /><sub><b>volrk</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=volrk" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=volrk" title="Documentation">📖</a> <a href="https://github.com/dubzzz/fast-check/commits?author=volrk" title="Tests">⚠️</a></td>
|
| 186 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tinydylan"><img src="https://avatars.githubusercontent.com/u/41112113?v=4?s=100" width="100px;" alt="tinydylan"/><br /><sub><b>tinydylan</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=tinydylan" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=tinydylan" title="Tests">⚠️</a></td>
|
| 187 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jasikpark"><img src="https://avatars.githubusercontent.com/u/10626596?v=4?s=100" width="100px;" alt="Caleb Jasik"/><br /><sub><b>Caleb Jasik</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=jasikpark" title="Documentation">📖</a></td>
|
| 188 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/rulai-hu"><img src="https://avatars.githubusercontent.com/u/2570932?v=4?s=100" width="100px;" alt="Rulai Hu"/><br /><sub><b>Rulai Hu</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=rulai-hu" title="Documentation">📖</a></td>
|
| 189 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/afonsojramos"><img src="https://avatars.githubusercontent.com/u/19473034?v=4?s=100" width="100px;" alt="Afonso Jorge Ramos"/><br /><sub><b>Afonso Jorge Ramos</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=afonsojramos" title="Documentation">📖</a></td>
|
| 190 |
-
<td align="center" valign="top" width="14.28%"><a href="https://tjenkinson.me/"><img src="https://avatars.githubusercontent.com/u/3259993?v=4?s=100" width="100px;" alt="Tom Jenkinson"/><br /><sub><b>Tom Jenkinson</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=tjenkinson" title="Documentation">📖</a></td>
|
| 191 |
-
</tr>
|
| 192 |
-
<tr>
|
| 193 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/phormio"><img src="https://avatars.githubusercontent.com/u/28146332?v=4?s=100" width="100px;" alt="phormio"/><br /><sub><b>phormio</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=phormio" title="Documentation">📖</a></td>
|
| 194 |
-
<td align="center" valign="top" width="14.28%"><a href="http://buildo.io/"><img src="https://avatars.githubusercontent.com/u/2643520?v=4?s=100" width="100px;" alt="Giovanni Gonzaga"/><br /><sub><b>Giovanni Gonzaga</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=giogonzo" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=giogonzo" title="Tests">⚠️</a></td>
|
| 195 |
-
<td align="center" valign="top" width="14.28%"><a href="https://caurea.org/"><img src="https://avatars.githubusercontent.com/u/34538?v=4?s=100" width="100px;" alt="Tomas Carnecky"/><br /><sub><b>Tomas Carnecky</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=wereHamster" title="Code">💻</a></td>
|
| 196 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Djaler"><img src="https://avatars.githubusercontent.com/u/7964583?v=4?s=100" width="100px;" alt="Kirill Romanov"/><br /><sub><b>Kirill Romanov</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=Djaler" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=Djaler" title="Documentation">📖</a> <a href="https://github.com/dubzzz/fast-check/commits?author=Djaler" title="Tests">⚠️</a></td>
|
| 197 |
-
<td align="center" valign="top" width="14.28%"><a href="https://giovannyg.github.io/"><img src="https://avatars.githubusercontent.com/u/5326411?v=4?s=100" width="100px;" alt="Giovanny González"/><br /><sub><b>Giovanny González</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=giovannyg" title="Documentation">📖</a></td>
|
| 198 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/markkulube"><img src="https://avatars.githubusercontent.com/u/34955942?v=4?s=100" width="100px;" alt="Mark Kulube"/><br /><sub><b>Mark Kulube</b></sub></a><br /><a href="#infra-markkulube" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
| 199 |
-
<td align="center" valign="top" width="14.28%"><a href="http://www.undiscoveredfeatures.com/"><img src="https://avatars.githubusercontent.com/u/354848?v=4?s=100" width="100px;" alt="Peter Hamilton"/><br /><sub><b>Peter Hamilton</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=hamiltop" title="Code">💻</a></td>
|
| 200 |
-
</tr>
|
| 201 |
-
<tr>
|
| 202 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ChineduOzodi"><img src="https://avatars.githubusercontent.com/u/11678369?v=4?s=100" width="100px;" alt="Chinedu Ozodi"/><br /><sub><b>Chinedu Ozodi</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=ChineduOzodi" title="Documentation">📖</a></td>
|
| 203 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/gunar"><img src="https://avatars.githubusercontent.com/u/7684574?v=4?s=100" width="100px;" alt="Gunar Gessner"/><br /><sub><b>Gunar Gessner</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=gunar" title="Documentation">📖</a></td>
|
| 204 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/CSBatchelor"><img src="https://avatars.githubusercontent.com/u/18668440?v=4?s=100" width="100px;" alt="Christian Batchelor"/><br /><sub><b>Christian Batchelor</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=CSBatchelor" title="Tests">⚠️</a></td>
|
| 205 |
-
<td align="center" valign="top" width="14.28%"><a href="https://tomeraberba.ch/"><img src="https://avatars.githubusercontent.com/u/23299544?v=4?s=100" width="100px;" alt="Tomer Aberbach"/><br /><sub><b>Tomer Aberbach</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=TomerAberbach" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=TomerAberbach" title="Documentation">📖</a> <a href="https://github.com/dubzzz/fast-check/commits?author=TomerAberbach" title="Tests">⚠️</a></td>
|
| 206 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/0xflotus"><img src="https://avatars.githubusercontent.com/u/26602940?v=4?s=100" width="100px;" alt="0xflotus"/><br /><sub><b>0xflotus</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=0xflotus" title="Documentation">📖</a></td>
|
| 207 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/CodeLenny"><img src="https://avatars.githubusercontent.com/u/9272847?v=4?s=100" width="100px;" alt="Ryan Leonard"/><br /><sub><b>Ryan Leonard</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=CodeLenny" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=CodeLenny" title="Documentation">📖</a> <a href="https://github.com/dubzzz/fast-check/commits?author=CodeLenny" title="Tests">⚠️</a></td>
|
| 208 |
-
<td align="center" valign="top" width="14.28%"><a href="https://blog.bitjson.com/"><img src="https://avatars.githubusercontent.com/u/904007?v=4?s=100" width="100px;" alt="Jason Dreyzehner"/><br /><sub><b>Jason Dreyzehner</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=bitjson" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=bitjson" title="Tests">⚠️</a></td>
|
| 209 |
-
</tr>
|
| 210 |
-
<tr>
|
| 211 |
-
<td align="center" valign="top" width="14.28%"><a href="https://matinzd.dev/"><img src="https://avatars.githubusercontent.com/u/24797481?v=4?s=100" width="100px;" alt="Matin Zadeh Dolatabad"/><br /><sub><b>Matin Zadeh Dolatabad</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=matinzd" title="Code">💻</a></td>
|
| 212 |
-
<td align="center" valign="top" width="14.28%"><a href="http://goo.gl/IlWG8U"><img src="https://avatars.githubusercontent.com/u/500?v=4?s=100" width="100px;" alt="Juan Julián Merelo Guervós"/><br /><sub><b>Juan Julián Merelo Guervós</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=JJ" title="Documentation">📖</a></td>
|
| 213 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/SimenB"><img src="https://avatars.githubusercontent.com/u/1404810?v=4?s=100" width="100px;" alt="Simen Bekkhus"/><br /><sub><b>Simen Bekkhus</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=SimenB" title="Documentation">📖</a></td>
|
| 214 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tskj"><img src="https://avatars.githubusercontent.com/u/25415972?v=4?s=100" width="100px;" alt="Tarjei Skjærset"/><br /><sub><b>Tarjei Skjærset</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=tskj" title="Documentation">📖</a></td>
|
| 215 |
-
<td align="center" valign="top" width="14.28%"><a href="http://denisgorbachev.com/"><img src="https://avatars.githubusercontent.com/u/829578?v=4?s=100" width="100px;" alt="Denis Gorbachev"/><br /><sub><b>Denis Gorbachev</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=DenisGorbachev" title="Documentation">📖</a></td>
|
| 216 |
-
<td align="center" valign="top" width="14.28%"><a href="http://senocular.github.io/"><img src="https://avatars.githubusercontent.com/u/3536716?v=4?s=100" width="100px;" alt="Trevor McCauley"/><br /><sub><b>Trevor McCauley</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=senocular" title="Documentation">📖</a></td>
|
| 217 |
-
<td align="center" valign="top" width="14.28%"><a href="http://grantkiely.com/"><img src="https://avatars.githubusercontent.com/u/1948935?v=4?s=100" width="100px;" alt="Grant Kiely"/><br /><sub><b>Grant Kiely</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=gkiely" title="Documentation">📖</a></td>
|
| 218 |
-
</tr>
|
| 219 |
-
<tr>
|
| 220 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/vecerek"><img src="https://avatars.githubusercontent.com/u/5737996?v=4?s=100" width="100px;" alt="Attila Večerek"/><br /><sub><b>Attila Večerek</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=vecerek" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=vecerek" title="Documentation">📖</a> <a href="https://github.com/dubzzz/fast-check/commits?author=vecerek" title="Tests">⚠️</a></td>
|
| 221 |
-
<td align="center" valign="top" width="14.28%"><a href="http://www.zachbjornson.com/"><img src="https://avatars.githubusercontent.com/u/469365?v=4?s=100" width="100px;" alt="Zach Bjornson"/><br /><sub><b>Zach Bjornson</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=zbjornson" title="Code">💻</a> <a href="https://github.com/dubzzz/fast-check/commits?author=zbjornson" title="Documentation">📖</a></td>
|
| 222 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bennettp123"><img src="https://avatars.githubusercontent.com/u/1610227?v=4?s=100" width="100px;" alt="Bennett Perkins"/><br /><sub><b>Bennett Perkins</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=bennettp123" title="Documentation">📖</a></td>
|
| 223 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nielk"><img src="https://avatars.githubusercontent.com/u/4980521?v=4?s=100" width="100px;" alt="Alexandre Oger"/><br /><sub><b>Alexandre Oger</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=nielk" title="Documentation">📖</a></td>
|
| 224 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ej-shafran"><img src="https://avatars.githubusercontent.com/u/116496520?v=4?s=100" width="100px;" alt="ej shafran"/><br /><sub><b>ej shafran</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=ej-shafran" title="Documentation">📖</a></td>
|
| 225 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/gruhn"><img src="https://avatars.githubusercontent.com/u/26570572?v=4?s=100" width="100px;" alt="Niklas Gruhn"/><br /><sub><b>Niklas Gruhn</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=gruhn" title="Code">💻</a></td>
|
| 226 |
-
<td align="center" valign="top" width="14.28%"><a href="https://patrickroza.com/"><img src="https://avatars.githubusercontent.com/u/42661?v=4?s=100" width="100px;" alt="Patrick Roza"/><br /><sub><b>Patrick Roza</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=patroza" title="Code">💻</a></td>
|
| 227 |
-
</tr>
|
| 228 |
-
<tr>
|
| 229 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/cindywu"><img src="https://avatars.githubusercontent.com/u/1177031?v=4?s=100" width="100px;" alt="Cindy Wu"/><br /><sub><b>Cindy Wu</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=cindywu" title="Documentation">📖</a></td>
|
| 230 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nmay231"><img src="https://avatars.githubusercontent.com/u/35386821?v=4?s=100" width="100px;" alt="Noah"/><br /><sub><b>Noah</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=nmay231" title="Documentation">📖</a></td>
|
| 231 |
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jamesbvaughan"><img src="https://avatars.githubusercontent.com/u/2906913?v=4?s=100" width="100px;" alt="James Vaughan"/><br /><sub><b>James Vaughan</b></sub></a><br /><a href="https://github.com/dubzzz/fast-check/commits?author=jamesbvaughan" title="Documentation">📖</a></td>
|
| 232 |
-
</tr>
|
| 233 |
-
</tbody>
|
| 234 |
-
</table>
|
| 235 |
-
|
| 236 |
-
<!-- markdownlint-restore -->
|
| 237 |
-
<!-- prettier-ignore-end -->
|
| 238 |
-
|
| 239 |
-
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
| 240 |
-
|
| 241 |
-
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! [Become one of them](CONTRIBUTING.md)
|
| 242 |
-
|
| 243 |
-
## Sponsors 💸
|
| 244 |
-
|
| 245 |
-
Many individuals and companies offer their financial support to the project, a huge thanks to all of them too 💓
|
| 246 |
-
|
| 247 |
-
<a href="https://github.com/sponsors/dubzzz"><img align="center" src="https://raw.githubusercontent.com/dubzzz/sponsors-svg/main/sponsorkit/sponsors.svg" alt="all sponsors" /></a>
|
| 248 |
-
|
| 249 |
-
You can also become one of them by contributing via [GitHub Sponsors](https://github.com/sponsors/dubzzz) or [OpenCollective](https://opencollective.com/fast-check/contribute).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/AdapterArbitrary.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.adapter = adapter;
|
| 4 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 5 |
-
const Value_1 = require("../../check/arbitrary/definition/Value");
|
| 6 |
-
const Stream_1 = require("../../stream/Stream");
|
| 7 |
-
const AdaptedValue = Symbol('adapted-value');
|
| 8 |
-
function toAdapterValue(rawValue, adapter) {
|
| 9 |
-
const adapted = adapter(rawValue.value_);
|
| 10 |
-
if (!adapted.adapted) {
|
| 11 |
-
return rawValue;
|
| 12 |
-
}
|
| 13 |
-
return new Value_1.Value(adapted.value, AdaptedValue);
|
| 14 |
-
}
|
| 15 |
-
class AdapterArbitrary extends Arbitrary_1.Arbitrary {
|
| 16 |
-
constructor(sourceArb, adapter) {
|
| 17 |
-
super();
|
| 18 |
-
this.sourceArb = sourceArb;
|
| 19 |
-
this.adapter = adapter;
|
| 20 |
-
this.adaptValue = (rawValue) => toAdapterValue(rawValue, adapter);
|
| 21 |
-
}
|
| 22 |
-
generate(mrng, biasFactor) {
|
| 23 |
-
const rawValue = this.sourceArb.generate(mrng, biasFactor);
|
| 24 |
-
return this.adaptValue(rawValue);
|
| 25 |
-
}
|
| 26 |
-
canShrinkWithoutContext(value) {
|
| 27 |
-
return this.sourceArb.canShrinkWithoutContext(value) && !this.adapter(value).adapted;
|
| 28 |
-
}
|
| 29 |
-
shrink(value, context) {
|
| 30 |
-
if (context === AdaptedValue) {
|
| 31 |
-
if (!this.sourceArb.canShrinkWithoutContext(value)) {
|
| 32 |
-
return Stream_1.Stream.nil();
|
| 33 |
-
}
|
| 34 |
-
return this.sourceArb.shrink(value, undefined).map(this.adaptValue);
|
| 35 |
-
}
|
| 36 |
-
return this.sourceArb.shrink(value, context).map(this.adaptValue);
|
| 37 |
-
}
|
| 38 |
-
}
|
| 39 |
-
function adapter(sourceArb, adapter) {
|
| 40 |
-
return new AdapterArbitrary(sourceArb, adapter);
|
| 41 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/AlwaysShrinkableArbitrary.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.AlwaysShrinkableArbitrary = void 0;
|
| 4 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 5 |
-
const Stream_1 = require("../../stream/Stream");
|
| 6 |
-
const NoUndefinedAsContext_1 = require("./helpers/NoUndefinedAsContext");
|
| 7 |
-
class AlwaysShrinkableArbitrary extends Arbitrary_1.Arbitrary {
|
| 8 |
-
constructor(arb) {
|
| 9 |
-
super();
|
| 10 |
-
this.arb = arb;
|
| 11 |
-
}
|
| 12 |
-
generate(mrng, biasFactor) {
|
| 13 |
-
const value = this.arb.generate(mrng, biasFactor);
|
| 14 |
-
return (0, NoUndefinedAsContext_1.noUndefinedAsContext)(value);
|
| 15 |
-
}
|
| 16 |
-
canShrinkWithoutContext(value) {
|
| 17 |
-
return true;
|
| 18 |
-
}
|
| 19 |
-
shrink(value, context) {
|
| 20 |
-
if (context === undefined && !this.arb.canShrinkWithoutContext(value)) {
|
| 21 |
-
return Stream_1.Stream.nil();
|
| 22 |
-
}
|
| 23 |
-
const safeContext = context !== NoUndefinedAsContext_1.UndefinedContextPlaceholder ? context : undefined;
|
| 24 |
-
return this.arb.shrink(value, safeContext).map(NoUndefinedAsContext_1.noUndefinedAsContext);
|
| 25 |
-
}
|
| 26 |
-
}
|
| 27 |
-
exports.AlwaysShrinkableArbitrary = AlwaysShrinkableArbitrary;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/ArrayArbitrary.js
DELETED
|
@@ -1,223 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.ArrayArbitrary = void 0;
|
| 4 |
-
const Stream_1 = require("../../stream/Stream");
|
| 5 |
-
const symbols_1 = require("../../check/symbols");
|
| 6 |
-
const integer_1 = require("../integer");
|
| 7 |
-
const LazyIterableIterator_1 = require("../../stream/LazyIterableIterator");
|
| 8 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 9 |
-
const Value_1 = require("../../check/arbitrary/definition/Value");
|
| 10 |
-
const DepthContext_1 = require("./helpers/DepthContext");
|
| 11 |
-
const BuildSlicedGenerator_1 = require("./helpers/BuildSlicedGenerator");
|
| 12 |
-
const globals_1 = require("../../utils/globals");
|
| 13 |
-
const safeMathFloor = Math.floor;
|
| 14 |
-
const safeMathLog = Math.log;
|
| 15 |
-
const safeMathMax = Math.max;
|
| 16 |
-
const safeArrayIsArray = Array.isArray;
|
| 17 |
-
function biasedMaxLength(minLength, maxLength) {
|
| 18 |
-
if (minLength === maxLength) {
|
| 19 |
-
return minLength;
|
| 20 |
-
}
|
| 21 |
-
return minLength + safeMathFloor(safeMathLog(maxLength - minLength) / safeMathLog(2));
|
| 22 |
-
}
|
| 23 |
-
class ArrayArbitrary extends Arbitrary_1.Arbitrary {
|
| 24 |
-
constructor(arb, minLength, maxGeneratedLength, maxLength, depthIdentifier, setBuilder, customSlices) {
|
| 25 |
-
super();
|
| 26 |
-
this.arb = arb;
|
| 27 |
-
this.minLength = minLength;
|
| 28 |
-
this.maxGeneratedLength = maxGeneratedLength;
|
| 29 |
-
this.maxLength = maxLength;
|
| 30 |
-
this.setBuilder = setBuilder;
|
| 31 |
-
this.customSlices = customSlices;
|
| 32 |
-
this.lengthArb = (0, integer_1.integer)({ min: minLength, max: maxGeneratedLength });
|
| 33 |
-
this.depthContext = (0, DepthContext_1.getDepthContextFor)(depthIdentifier);
|
| 34 |
-
}
|
| 35 |
-
preFilter(tab) {
|
| 36 |
-
if (this.setBuilder === undefined) {
|
| 37 |
-
return tab;
|
| 38 |
-
}
|
| 39 |
-
const s = this.setBuilder();
|
| 40 |
-
for (let index = 0; index !== tab.length; ++index) {
|
| 41 |
-
s.tryAdd(tab[index]);
|
| 42 |
-
}
|
| 43 |
-
return s.getData();
|
| 44 |
-
}
|
| 45 |
-
static makeItCloneable(vs, shrinkables) {
|
| 46 |
-
vs[symbols_1.cloneMethod] = () => {
|
| 47 |
-
const cloned = [];
|
| 48 |
-
for (let idx = 0; idx !== shrinkables.length; ++idx) {
|
| 49 |
-
(0, globals_1.safePush)(cloned, shrinkables[idx].value);
|
| 50 |
-
}
|
| 51 |
-
this.makeItCloneable(cloned, shrinkables);
|
| 52 |
-
return cloned;
|
| 53 |
-
};
|
| 54 |
-
return vs;
|
| 55 |
-
}
|
| 56 |
-
generateNItemsNoDuplicates(setBuilder, N, mrng, biasFactorItems) {
|
| 57 |
-
let numSkippedInRow = 0;
|
| 58 |
-
const s = setBuilder();
|
| 59 |
-
const slicedGenerator = (0, BuildSlicedGenerator_1.buildSlicedGenerator)(this.arb, mrng, this.customSlices, biasFactorItems);
|
| 60 |
-
while (s.size() < N && numSkippedInRow < this.maxGeneratedLength) {
|
| 61 |
-
const current = slicedGenerator.next();
|
| 62 |
-
if (s.tryAdd(current)) {
|
| 63 |
-
numSkippedInRow = 0;
|
| 64 |
-
}
|
| 65 |
-
else {
|
| 66 |
-
numSkippedInRow += 1;
|
| 67 |
-
}
|
| 68 |
-
}
|
| 69 |
-
return s.getData();
|
| 70 |
-
}
|
| 71 |
-
safeGenerateNItemsNoDuplicates(setBuilder, N, mrng, biasFactorItems) {
|
| 72 |
-
const depthImpact = safeMathMax(0, N - biasedMaxLength(this.minLength, this.maxGeneratedLength));
|
| 73 |
-
this.depthContext.depth += depthImpact;
|
| 74 |
-
try {
|
| 75 |
-
return this.generateNItemsNoDuplicates(setBuilder, N, mrng, biasFactorItems);
|
| 76 |
-
}
|
| 77 |
-
finally {
|
| 78 |
-
this.depthContext.depth -= depthImpact;
|
| 79 |
-
}
|
| 80 |
-
}
|
| 81 |
-
generateNItems(N, mrng, biasFactorItems) {
|
| 82 |
-
const items = [];
|
| 83 |
-
const slicedGenerator = (0, BuildSlicedGenerator_1.buildSlicedGenerator)(this.arb, mrng, this.customSlices, biasFactorItems);
|
| 84 |
-
slicedGenerator.attemptExact(N);
|
| 85 |
-
for (let index = 0; index !== N; ++index) {
|
| 86 |
-
const current = slicedGenerator.next();
|
| 87 |
-
(0, globals_1.safePush)(items, current);
|
| 88 |
-
}
|
| 89 |
-
return items;
|
| 90 |
-
}
|
| 91 |
-
safeGenerateNItems(N, mrng, biasFactorItems) {
|
| 92 |
-
const depthImpact = safeMathMax(0, N - biasedMaxLength(this.minLength, this.maxGeneratedLength));
|
| 93 |
-
this.depthContext.depth += depthImpact;
|
| 94 |
-
try {
|
| 95 |
-
return this.generateNItems(N, mrng, biasFactorItems);
|
| 96 |
-
}
|
| 97 |
-
finally {
|
| 98 |
-
this.depthContext.depth -= depthImpact;
|
| 99 |
-
}
|
| 100 |
-
}
|
| 101 |
-
wrapper(itemsRaw, shrunkOnce, itemsRawLengthContext, startIndex) {
|
| 102 |
-
const items = shrunkOnce ? this.preFilter(itemsRaw) : itemsRaw;
|
| 103 |
-
let cloneable = false;
|
| 104 |
-
const vs = [];
|
| 105 |
-
const itemsContexts = [];
|
| 106 |
-
for (let idx = 0; idx !== items.length; ++idx) {
|
| 107 |
-
const s = items[idx];
|
| 108 |
-
cloneable = cloneable || s.hasToBeCloned;
|
| 109 |
-
(0, globals_1.safePush)(vs, s.value);
|
| 110 |
-
(0, globals_1.safePush)(itemsContexts, s.context);
|
| 111 |
-
}
|
| 112 |
-
if (cloneable) {
|
| 113 |
-
ArrayArbitrary.makeItCloneable(vs, items);
|
| 114 |
-
}
|
| 115 |
-
const context = {
|
| 116 |
-
shrunkOnce,
|
| 117 |
-
lengthContext: itemsRaw.length === items.length && itemsRawLengthContext !== undefined
|
| 118 |
-
? itemsRawLengthContext
|
| 119 |
-
: undefined,
|
| 120 |
-
itemsContexts,
|
| 121 |
-
startIndex,
|
| 122 |
-
};
|
| 123 |
-
return new Value_1.Value(vs, context);
|
| 124 |
-
}
|
| 125 |
-
generate(mrng, biasFactor) {
|
| 126 |
-
const biasMeta = this.applyBias(mrng, biasFactor);
|
| 127 |
-
const targetSize = biasMeta.size;
|
| 128 |
-
const items = this.setBuilder !== undefined
|
| 129 |
-
? this.safeGenerateNItemsNoDuplicates(this.setBuilder, targetSize, mrng, biasMeta.biasFactorItems)
|
| 130 |
-
: this.safeGenerateNItems(targetSize, mrng, biasMeta.biasFactorItems);
|
| 131 |
-
return this.wrapper(items, false, undefined, 0);
|
| 132 |
-
}
|
| 133 |
-
applyBias(mrng, biasFactor) {
|
| 134 |
-
if (biasFactor === undefined) {
|
| 135 |
-
return { size: this.lengthArb.generate(mrng, undefined).value };
|
| 136 |
-
}
|
| 137 |
-
if (this.minLength === this.maxGeneratedLength) {
|
| 138 |
-
return { size: this.lengthArb.generate(mrng, undefined).value, biasFactorItems: biasFactor };
|
| 139 |
-
}
|
| 140 |
-
if (mrng.nextInt(1, biasFactor) !== 1) {
|
| 141 |
-
return { size: this.lengthArb.generate(mrng, undefined).value };
|
| 142 |
-
}
|
| 143 |
-
if (mrng.nextInt(1, biasFactor) !== 1 || this.minLength === this.maxGeneratedLength) {
|
| 144 |
-
return { size: this.lengthArb.generate(mrng, undefined).value, biasFactorItems: biasFactor };
|
| 145 |
-
}
|
| 146 |
-
const maxBiasedLength = biasedMaxLength(this.minLength, this.maxGeneratedLength);
|
| 147 |
-
const targetSizeValue = (0, integer_1.integer)({ min: this.minLength, max: maxBiasedLength }).generate(mrng, undefined);
|
| 148 |
-
return { size: targetSizeValue.value, biasFactorItems: biasFactor };
|
| 149 |
-
}
|
| 150 |
-
canShrinkWithoutContext(value) {
|
| 151 |
-
if (!safeArrayIsArray(value) || this.minLength > value.length || value.length > this.maxLength) {
|
| 152 |
-
return false;
|
| 153 |
-
}
|
| 154 |
-
for (let index = 0; index !== value.length; ++index) {
|
| 155 |
-
if (!(index in value)) {
|
| 156 |
-
return false;
|
| 157 |
-
}
|
| 158 |
-
if (!this.arb.canShrinkWithoutContext(value[index])) {
|
| 159 |
-
return false;
|
| 160 |
-
}
|
| 161 |
-
}
|
| 162 |
-
const filtered = this.preFilter((0, globals_1.safeMap)(value, (item) => new Value_1.Value(item, undefined)));
|
| 163 |
-
return filtered.length === value.length;
|
| 164 |
-
}
|
| 165 |
-
shrinkItemByItem(value, safeContext, endIndex) {
|
| 166 |
-
const shrinks = [];
|
| 167 |
-
for (let index = safeContext.startIndex; index < endIndex; ++index) {
|
| 168 |
-
(0, globals_1.safePush)(shrinks, (0, LazyIterableIterator_1.makeLazy)(() => this.arb.shrink(value[index], safeContext.itemsContexts[index]).map((v) => {
|
| 169 |
-
const beforeCurrent = (0, globals_1.safeMap)((0, globals_1.safeSlice)(value, 0, index), (v, i) => new Value_1.Value((0, symbols_1.cloneIfNeeded)(v), safeContext.itemsContexts[i]));
|
| 170 |
-
const afterCurrent = (0, globals_1.safeMap)((0, globals_1.safeSlice)(value, index + 1), (v, i) => new Value_1.Value((0, symbols_1.cloneIfNeeded)(v), safeContext.itemsContexts[i + index + 1]));
|
| 171 |
-
return [
|
| 172 |
-
[...beforeCurrent, v, ...afterCurrent],
|
| 173 |
-
undefined,
|
| 174 |
-
index,
|
| 175 |
-
];
|
| 176 |
-
})));
|
| 177 |
-
}
|
| 178 |
-
return Stream_1.Stream.nil().join(...shrinks);
|
| 179 |
-
}
|
| 180 |
-
shrinkImpl(value, context) {
|
| 181 |
-
if (value.length === 0) {
|
| 182 |
-
return Stream_1.Stream.nil();
|
| 183 |
-
}
|
| 184 |
-
const safeContext = context !== undefined
|
| 185 |
-
? context
|
| 186 |
-
: { shrunkOnce: false, lengthContext: undefined, itemsContexts: [], startIndex: 0 };
|
| 187 |
-
return (this.lengthArb
|
| 188 |
-
.shrink(value.length, safeContext.lengthContext)
|
| 189 |
-
.drop(safeContext.shrunkOnce && safeContext.lengthContext === undefined && value.length > this.minLength + 1
|
| 190 |
-
? 1
|
| 191 |
-
: 0)
|
| 192 |
-
.map((lengthValue) => {
|
| 193 |
-
const sliceStart = value.length - lengthValue.value;
|
| 194 |
-
return [
|
| 195 |
-
(0, globals_1.safeMap)((0, globals_1.safeSlice)(value, sliceStart), (v, index) => new Value_1.Value((0, symbols_1.cloneIfNeeded)(v), safeContext.itemsContexts[index + sliceStart])),
|
| 196 |
-
lengthValue.context,
|
| 197 |
-
0,
|
| 198 |
-
];
|
| 199 |
-
})
|
| 200 |
-
.join((0, LazyIterableIterator_1.makeLazy)(() => value.length > this.minLength
|
| 201 |
-
? this.shrinkItemByItem(value, safeContext, 1)
|
| 202 |
-
: this.shrinkItemByItem(value, safeContext, value.length)))
|
| 203 |
-
.join(value.length > this.minLength
|
| 204 |
-
? (0, LazyIterableIterator_1.makeLazy)(() => {
|
| 205 |
-
const subContext = {
|
| 206 |
-
shrunkOnce: false,
|
| 207 |
-
lengthContext: undefined,
|
| 208 |
-
itemsContexts: (0, globals_1.safeSlice)(safeContext.itemsContexts, 1),
|
| 209 |
-
startIndex: 0,
|
| 210 |
-
};
|
| 211 |
-
return this.shrinkImpl((0, globals_1.safeSlice)(value, 1), subContext)
|
| 212 |
-
.filter((v) => this.minLength <= v[0].length + 1)
|
| 213 |
-
.map((v) => {
|
| 214 |
-
return [[new Value_1.Value((0, symbols_1.cloneIfNeeded)(value[0]), safeContext.itemsContexts[0]), ...v[0]], undefined, 0];
|
| 215 |
-
});
|
| 216 |
-
})
|
| 217 |
-
: Stream_1.Stream.nil()));
|
| 218 |
-
}
|
| 219 |
-
shrink(value, context) {
|
| 220 |
-
return this.shrinkImpl(value, context).map((contextualValue) => this.wrapper(contextualValue[0], true, contextualValue[1], contextualValue[2]));
|
| 221 |
-
}
|
| 222 |
-
}
|
| 223 |
-
exports.ArrayArbitrary = ArrayArbitrary;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/ArrayInt64Arbitrary.js
DELETED
|
@@ -1,127 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.arrayInt64 = arrayInt64;
|
| 4 |
-
const Stream_1 = require("../../stream/Stream");
|
| 5 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 6 |
-
const Value_1 = require("../../check/arbitrary/definition/Value");
|
| 7 |
-
const ArrayInt64_1 = require("./helpers/ArrayInt64");
|
| 8 |
-
class ArrayInt64Arbitrary extends Arbitrary_1.Arbitrary {
|
| 9 |
-
constructor(min, max) {
|
| 10 |
-
super();
|
| 11 |
-
this.min = min;
|
| 12 |
-
this.max = max;
|
| 13 |
-
this.biasedRanges = null;
|
| 14 |
-
}
|
| 15 |
-
generate(mrng, biasFactor) {
|
| 16 |
-
const range = this.computeGenerateRange(mrng, biasFactor);
|
| 17 |
-
const uncheckedValue = mrng.nextArrayInt(range.min, range.max);
|
| 18 |
-
if (uncheckedValue.data.length === 1) {
|
| 19 |
-
uncheckedValue.data.unshift(0);
|
| 20 |
-
}
|
| 21 |
-
return new Value_1.Value(uncheckedValue, undefined);
|
| 22 |
-
}
|
| 23 |
-
computeGenerateRange(mrng, biasFactor) {
|
| 24 |
-
if (biasFactor === undefined || mrng.nextInt(1, biasFactor) !== 1) {
|
| 25 |
-
return { min: this.min, max: this.max };
|
| 26 |
-
}
|
| 27 |
-
const ranges = this.retrieveBiasedRanges();
|
| 28 |
-
if (ranges.length === 1) {
|
| 29 |
-
return ranges[0];
|
| 30 |
-
}
|
| 31 |
-
const id = mrng.nextInt(-2 * (ranges.length - 1), ranges.length - 2);
|
| 32 |
-
return id < 0 ? ranges[0] : ranges[id + 1];
|
| 33 |
-
}
|
| 34 |
-
canShrinkWithoutContext(value) {
|
| 35 |
-
const unsafeValue = value;
|
| 36 |
-
return (typeof value === 'object' &&
|
| 37 |
-
value !== null &&
|
| 38 |
-
(unsafeValue.sign === -1 || unsafeValue.sign === 1) &&
|
| 39 |
-
Array.isArray(unsafeValue.data) &&
|
| 40 |
-
unsafeValue.data.length === 2 &&
|
| 41 |
-
(((0, ArrayInt64_1.isStrictlySmaller64)(this.min, unsafeValue) && (0, ArrayInt64_1.isStrictlySmaller64)(unsafeValue, this.max)) ||
|
| 42 |
-
(0, ArrayInt64_1.isEqual64)(this.min, unsafeValue) ||
|
| 43 |
-
(0, ArrayInt64_1.isEqual64)(this.max, unsafeValue)));
|
| 44 |
-
}
|
| 45 |
-
shrinkArrayInt64(value, target, tryTargetAsap) {
|
| 46 |
-
const realGap = (0, ArrayInt64_1.substract64)(value, target);
|
| 47 |
-
function* shrinkGen() {
|
| 48 |
-
let previous = tryTargetAsap ? undefined : target;
|
| 49 |
-
const gap = tryTargetAsap ? realGap : (0, ArrayInt64_1.halve64)(realGap);
|
| 50 |
-
for (let toremove = gap; !(0, ArrayInt64_1.isZero64)(toremove); toremove = (0, ArrayInt64_1.halve64)(toremove)) {
|
| 51 |
-
const next = (0, ArrayInt64_1.substract64)(value, toremove);
|
| 52 |
-
yield new Value_1.Value(next, previous);
|
| 53 |
-
previous = next;
|
| 54 |
-
}
|
| 55 |
-
}
|
| 56 |
-
return (0, Stream_1.stream)(shrinkGen());
|
| 57 |
-
}
|
| 58 |
-
shrink(current, context) {
|
| 59 |
-
if (!ArrayInt64Arbitrary.isValidContext(current, context)) {
|
| 60 |
-
const target = this.defaultTarget();
|
| 61 |
-
return this.shrinkArrayInt64(current, target, true);
|
| 62 |
-
}
|
| 63 |
-
if (this.isLastChanceTry(current, context)) {
|
| 64 |
-
return Stream_1.Stream.of(new Value_1.Value(context, undefined));
|
| 65 |
-
}
|
| 66 |
-
return this.shrinkArrayInt64(current, context, false);
|
| 67 |
-
}
|
| 68 |
-
defaultTarget() {
|
| 69 |
-
if (!(0, ArrayInt64_1.isStrictlyPositive64)(this.min) && !(0, ArrayInt64_1.isStrictlyNegative64)(this.max)) {
|
| 70 |
-
return ArrayInt64_1.Zero64;
|
| 71 |
-
}
|
| 72 |
-
return (0, ArrayInt64_1.isStrictlyNegative64)(this.min) ? this.max : this.min;
|
| 73 |
-
}
|
| 74 |
-
isLastChanceTry(current, context) {
|
| 75 |
-
if ((0, ArrayInt64_1.isZero64)(current)) {
|
| 76 |
-
return false;
|
| 77 |
-
}
|
| 78 |
-
if (current.sign === 1) {
|
| 79 |
-
return (0, ArrayInt64_1.isEqual64)(current, (0, ArrayInt64_1.add64)(context, ArrayInt64_1.Unit64)) && (0, ArrayInt64_1.isStrictlyPositive64)((0, ArrayInt64_1.substract64)(current, this.min));
|
| 80 |
-
}
|
| 81 |
-
else {
|
| 82 |
-
return (0, ArrayInt64_1.isEqual64)(current, (0, ArrayInt64_1.substract64)(context, ArrayInt64_1.Unit64)) && (0, ArrayInt64_1.isStrictlyNegative64)((0, ArrayInt64_1.substract64)(current, this.max));
|
| 83 |
-
}
|
| 84 |
-
}
|
| 85 |
-
static isValidContext(_current, context) {
|
| 86 |
-
if (context === undefined) {
|
| 87 |
-
return false;
|
| 88 |
-
}
|
| 89 |
-
if (typeof context !== 'object' || context === null || !('sign' in context) || !('data' in context)) {
|
| 90 |
-
throw new Error(`Invalid context type passed to ArrayInt64Arbitrary (#1)`);
|
| 91 |
-
}
|
| 92 |
-
return true;
|
| 93 |
-
}
|
| 94 |
-
retrieveBiasedRanges() {
|
| 95 |
-
if (this.biasedRanges != null) {
|
| 96 |
-
return this.biasedRanges;
|
| 97 |
-
}
|
| 98 |
-
if ((0, ArrayInt64_1.isEqual64)(this.min, this.max)) {
|
| 99 |
-
this.biasedRanges = [{ min: this.min, max: this.max }];
|
| 100 |
-
return this.biasedRanges;
|
| 101 |
-
}
|
| 102 |
-
const minStrictlySmallerZero = (0, ArrayInt64_1.isStrictlyNegative64)(this.min);
|
| 103 |
-
const maxStrictlyGreaterZero = (0, ArrayInt64_1.isStrictlyPositive64)(this.max);
|
| 104 |
-
if (minStrictlySmallerZero && maxStrictlyGreaterZero) {
|
| 105 |
-
const logMin = (0, ArrayInt64_1.logLike64)(this.min);
|
| 106 |
-
const logMax = (0, ArrayInt64_1.logLike64)(this.max);
|
| 107 |
-
this.biasedRanges = [
|
| 108 |
-
{ min: logMin, max: logMax },
|
| 109 |
-
{ min: (0, ArrayInt64_1.substract64)(this.max, logMax), max: this.max },
|
| 110 |
-
{ min: this.min, max: (0, ArrayInt64_1.substract64)(this.min, logMin) },
|
| 111 |
-
];
|
| 112 |
-
}
|
| 113 |
-
else {
|
| 114 |
-
const logGap = (0, ArrayInt64_1.logLike64)((0, ArrayInt64_1.substract64)(this.max, this.min));
|
| 115 |
-
const arbCloseToMin = { min: this.min, max: (0, ArrayInt64_1.add64)(this.min, logGap) };
|
| 116 |
-
const arbCloseToMax = { min: (0, ArrayInt64_1.substract64)(this.max, logGap), max: this.max };
|
| 117 |
-
this.biasedRanges = minStrictlySmallerZero
|
| 118 |
-
? [arbCloseToMax, arbCloseToMin]
|
| 119 |
-
: [arbCloseToMin, arbCloseToMax];
|
| 120 |
-
}
|
| 121 |
-
return this.biasedRanges;
|
| 122 |
-
}
|
| 123 |
-
}
|
| 124 |
-
function arrayInt64(min, max) {
|
| 125 |
-
const arb = new ArrayInt64Arbitrary(min, max);
|
| 126 |
-
return arb;
|
| 127 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/BigIntArbitrary.js
DELETED
|
@@ -1,71 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.BigIntArbitrary = void 0;
|
| 4 |
-
const Stream_1 = require("../../stream/Stream");
|
| 5 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 6 |
-
const Value_1 = require("../../check/arbitrary/definition/Value");
|
| 7 |
-
const BiasNumericRange_1 = require("./helpers/BiasNumericRange");
|
| 8 |
-
const ShrinkBigInt_1 = require("./helpers/ShrinkBigInt");
|
| 9 |
-
const globals_1 = require("../../utils/globals");
|
| 10 |
-
class BigIntArbitrary extends Arbitrary_1.Arbitrary {
|
| 11 |
-
constructor(min, max) {
|
| 12 |
-
super();
|
| 13 |
-
this.min = min;
|
| 14 |
-
this.max = max;
|
| 15 |
-
}
|
| 16 |
-
generate(mrng, biasFactor) {
|
| 17 |
-
const range = this.computeGenerateRange(mrng, biasFactor);
|
| 18 |
-
return new Value_1.Value(mrng.nextBigInt(range.min, range.max), undefined);
|
| 19 |
-
}
|
| 20 |
-
computeGenerateRange(mrng, biasFactor) {
|
| 21 |
-
if (biasFactor === undefined || mrng.nextInt(1, biasFactor) !== 1) {
|
| 22 |
-
return { min: this.min, max: this.max };
|
| 23 |
-
}
|
| 24 |
-
const ranges = (0, BiasNumericRange_1.biasNumericRange)(this.min, this.max, BiasNumericRange_1.bigIntLogLike);
|
| 25 |
-
if (ranges.length === 1) {
|
| 26 |
-
return ranges[0];
|
| 27 |
-
}
|
| 28 |
-
const id = mrng.nextInt(-2 * (ranges.length - 1), ranges.length - 2);
|
| 29 |
-
return id < 0 ? ranges[0] : ranges[id + 1];
|
| 30 |
-
}
|
| 31 |
-
canShrinkWithoutContext(value) {
|
| 32 |
-
return typeof value === 'bigint' && this.min <= value && value <= this.max;
|
| 33 |
-
}
|
| 34 |
-
shrink(current, context) {
|
| 35 |
-
if (!BigIntArbitrary.isValidContext(current, context)) {
|
| 36 |
-
const target = this.defaultTarget();
|
| 37 |
-
return (0, ShrinkBigInt_1.shrinkBigInt)(current, target, true);
|
| 38 |
-
}
|
| 39 |
-
if (this.isLastChanceTry(current, context)) {
|
| 40 |
-
return Stream_1.Stream.of(new Value_1.Value(context, undefined));
|
| 41 |
-
}
|
| 42 |
-
return (0, ShrinkBigInt_1.shrinkBigInt)(current, context, false);
|
| 43 |
-
}
|
| 44 |
-
defaultTarget() {
|
| 45 |
-
if (this.min <= 0 && this.max >= 0) {
|
| 46 |
-
return (0, globals_1.BigInt)(0);
|
| 47 |
-
}
|
| 48 |
-
return this.min < 0 ? this.max : this.min;
|
| 49 |
-
}
|
| 50 |
-
isLastChanceTry(current, context) {
|
| 51 |
-
if (current > 0)
|
| 52 |
-
return current === context + (0, globals_1.BigInt)(1) && current > this.min;
|
| 53 |
-
if (current < 0)
|
| 54 |
-
return current === context - (0, globals_1.BigInt)(1) && current < this.max;
|
| 55 |
-
return false;
|
| 56 |
-
}
|
| 57 |
-
static isValidContext(current, context) {
|
| 58 |
-
if (context === undefined) {
|
| 59 |
-
return false;
|
| 60 |
-
}
|
| 61 |
-
if (typeof context !== 'bigint') {
|
| 62 |
-
throw new Error(`Invalid context type passed to BigIntArbitrary (#1)`);
|
| 63 |
-
}
|
| 64 |
-
const differentSigns = (current > 0 && context < 0) || (current < 0 && context > 0);
|
| 65 |
-
if (context !== (0, globals_1.BigInt)(0) && differentSigns) {
|
| 66 |
-
throw new Error(`Invalid context value passed to BigIntArbitrary (#2)`);
|
| 67 |
-
}
|
| 68 |
-
return true;
|
| 69 |
-
}
|
| 70 |
-
}
|
| 71 |
-
exports.BigIntArbitrary = BigIntArbitrary;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/CloneArbitrary.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.CloneArbitrary = void 0;
|
| 4 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 5 |
-
const Value_1 = require("../../check/arbitrary/definition/Value");
|
| 6 |
-
const symbols_1 = require("../../check/symbols");
|
| 7 |
-
const Stream_1 = require("../../stream/Stream");
|
| 8 |
-
const globals_1 = require("../../utils/globals");
|
| 9 |
-
const safeSymbolIterator = Symbol.iterator;
|
| 10 |
-
const safeIsArray = Array.isArray;
|
| 11 |
-
const safeObjectIs = Object.is;
|
| 12 |
-
class CloneArbitrary extends Arbitrary_1.Arbitrary {
|
| 13 |
-
constructor(arb, numValues) {
|
| 14 |
-
super();
|
| 15 |
-
this.arb = arb;
|
| 16 |
-
this.numValues = numValues;
|
| 17 |
-
}
|
| 18 |
-
generate(mrng, biasFactor) {
|
| 19 |
-
const items = [];
|
| 20 |
-
if (this.numValues <= 0) {
|
| 21 |
-
return this.wrapper(items);
|
| 22 |
-
}
|
| 23 |
-
for (let idx = 0; idx !== this.numValues - 1; ++idx) {
|
| 24 |
-
(0, globals_1.safePush)(items, this.arb.generate(mrng.clone(), biasFactor));
|
| 25 |
-
}
|
| 26 |
-
(0, globals_1.safePush)(items, this.arb.generate(mrng, biasFactor));
|
| 27 |
-
return this.wrapper(items);
|
| 28 |
-
}
|
| 29 |
-
canShrinkWithoutContext(value) {
|
| 30 |
-
if (!safeIsArray(value) || value.length !== this.numValues) {
|
| 31 |
-
return false;
|
| 32 |
-
}
|
| 33 |
-
if (value.length === 0) {
|
| 34 |
-
return true;
|
| 35 |
-
}
|
| 36 |
-
for (let index = 1; index < value.length; ++index) {
|
| 37 |
-
if (!safeObjectIs(value[0], value[index])) {
|
| 38 |
-
return false;
|
| 39 |
-
}
|
| 40 |
-
}
|
| 41 |
-
return this.arb.canShrinkWithoutContext(value[0]);
|
| 42 |
-
}
|
| 43 |
-
shrink(value, context) {
|
| 44 |
-
if (value.length === 0) {
|
| 45 |
-
return Stream_1.Stream.nil();
|
| 46 |
-
}
|
| 47 |
-
return new Stream_1.Stream(this.shrinkImpl(value, context !== undefined ? context : [])).map((v) => this.wrapper(v));
|
| 48 |
-
}
|
| 49 |
-
*shrinkImpl(value, contexts) {
|
| 50 |
-
const its = (0, globals_1.safeMap)(value, (v, idx) => this.arb.shrink(v, contexts[idx])[safeSymbolIterator]());
|
| 51 |
-
let cur = (0, globals_1.safeMap)(its, (it) => it.next());
|
| 52 |
-
while (!cur[0].done) {
|
| 53 |
-
yield (0, globals_1.safeMap)(cur, (c) => c.value);
|
| 54 |
-
cur = (0, globals_1.safeMap)(its, (it) => it.next());
|
| 55 |
-
}
|
| 56 |
-
}
|
| 57 |
-
static makeItCloneable(vs, shrinkables) {
|
| 58 |
-
vs[symbols_1.cloneMethod] = () => {
|
| 59 |
-
const cloned = [];
|
| 60 |
-
for (let idx = 0; idx !== shrinkables.length; ++idx) {
|
| 61 |
-
(0, globals_1.safePush)(cloned, shrinkables[idx].value);
|
| 62 |
-
}
|
| 63 |
-
this.makeItCloneable(cloned, shrinkables);
|
| 64 |
-
return cloned;
|
| 65 |
-
};
|
| 66 |
-
return vs;
|
| 67 |
-
}
|
| 68 |
-
wrapper(items) {
|
| 69 |
-
let cloneable = false;
|
| 70 |
-
const vs = [];
|
| 71 |
-
const contexts = [];
|
| 72 |
-
for (let idx = 0; idx !== items.length; ++idx) {
|
| 73 |
-
const s = items[idx];
|
| 74 |
-
cloneable = cloneable || s.hasToBeCloned;
|
| 75 |
-
(0, globals_1.safePush)(vs, s.value);
|
| 76 |
-
(0, globals_1.safePush)(contexts, s.context);
|
| 77 |
-
}
|
| 78 |
-
if (cloneable) {
|
| 79 |
-
CloneArbitrary.makeItCloneable(vs, items);
|
| 80 |
-
}
|
| 81 |
-
return new Value_1.Value(vs, contexts);
|
| 82 |
-
}
|
| 83 |
-
}
|
| 84 |
-
exports.CloneArbitrary = CloneArbitrary;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/CommandsArbitrary.js
DELETED
|
@@ -1,110 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.CommandsArbitrary = void 0;
|
| 4 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 5 |
-
const Value_1 = require("../../check/arbitrary/definition/Value");
|
| 6 |
-
const CommandsIterable_1 = require("../../check/model/commands/CommandsIterable");
|
| 7 |
-
const CommandWrapper_1 = require("../../check/model/commands/CommandWrapper");
|
| 8 |
-
const ReplayPath_1 = require("../../check/model/ReplayPath");
|
| 9 |
-
const LazyIterableIterator_1 = require("../../stream/LazyIterableIterator");
|
| 10 |
-
const Stream_1 = require("../../stream/Stream");
|
| 11 |
-
const oneof_1 = require("../oneof");
|
| 12 |
-
const RestrictedIntegerArbitraryBuilder_1 = require("./builders/RestrictedIntegerArbitraryBuilder");
|
| 13 |
-
class CommandsArbitrary extends Arbitrary_1.Arbitrary {
|
| 14 |
-
constructor(commandArbs, maxGeneratedCommands, maxCommands, sourceReplayPath, disableReplayLog) {
|
| 15 |
-
super();
|
| 16 |
-
this.sourceReplayPath = sourceReplayPath;
|
| 17 |
-
this.disableReplayLog = disableReplayLog;
|
| 18 |
-
this.oneCommandArb = (0, oneof_1.oneof)(...commandArbs).map((c) => new CommandWrapper_1.CommandWrapper(c));
|
| 19 |
-
this.lengthArb = (0, RestrictedIntegerArbitraryBuilder_1.restrictedIntegerArbitraryBuilder)(0, maxGeneratedCommands, maxCommands);
|
| 20 |
-
this.replayPath = [];
|
| 21 |
-
this.replayPathPosition = 0;
|
| 22 |
-
}
|
| 23 |
-
metadataForReplay() {
|
| 24 |
-
return this.disableReplayLog ? '' : `replayPath=${JSON.stringify(ReplayPath_1.ReplayPath.stringify(this.replayPath))}`;
|
| 25 |
-
}
|
| 26 |
-
buildValueFor(items, shrunkOnce) {
|
| 27 |
-
const commands = items.map((item) => item.value_);
|
| 28 |
-
const context = { shrunkOnce, items };
|
| 29 |
-
return new Value_1.Value(new CommandsIterable_1.CommandsIterable(commands, () => this.metadataForReplay()), context);
|
| 30 |
-
}
|
| 31 |
-
generate(mrng) {
|
| 32 |
-
const size = this.lengthArb.generate(mrng, undefined);
|
| 33 |
-
const sizeValue = size.value;
|
| 34 |
-
const items = Array(sizeValue);
|
| 35 |
-
for (let idx = 0; idx !== sizeValue; ++idx) {
|
| 36 |
-
const item = this.oneCommandArb.generate(mrng, undefined);
|
| 37 |
-
items[idx] = item;
|
| 38 |
-
}
|
| 39 |
-
this.replayPathPosition = 0;
|
| 40 |
-
return this.buildValueFor(items, false);
|
| 41 |
-
}
|
| 42 |
-
canShrinkWithoutContext(value) {
|
| 43 |
-
return false;
|
| 44 |
-
}
|
| 45 |
-
filterOnExecution(itemsRaw) {
|
| 46 |
-
const items = [];
|
| 47 |
-
for (const c of itemsRaw) {
|
| 48 |
-
if (c.value_.hasRan) {
|
| 49 |
-
this.replayPath.push(true);
|
| 50 |
-
items.push(c);
|
| 51 |
-
}
|
| 52 |
-
else
|
| 53 |
-
this.replayPath.push(false);
|
| 54 |
-
}
|
| 55 |
-
return items;
|
| 56 |
-
}
|
| 57 |
-
filterOnReplay(itemsRaw) {
|
| 58 |
-
return itemsRaw.filter((c, idx) => {
|
| 59 |
-
const state = this.replayPath[this.replayPathPosition + idx];
|
| 60 |
-
if (state === undefined)
|
| 61 |
-
throw new Error(`Too short replayPath`);
|
| 62 |
-
if (!state && c.value_.hasRan)
|
| 63 |
-
throw new Error(`Mismatch between replayPath and real execution`);
|
| 64 |
-
return state;
|
| 65 |
-
});
|
| 66 |
-
}
|
| 67 |
-
filterForShrinkImpl(itemsRaw) {
|
| 68 |
-
if (this.replayPathPosition === 0) {
|
| 69 |
-
this.replayPath = this.sourceReplayPath !== null ? ReplayPath_1.ReplayPath.parse(this.sourceReplayPath) : [];
|
| 70 |
-
}
|
| 71 |
-
const items = this.replayPathPosition < this.replayPath.length
|
| 72 |
-
? this.filterOnReplay(itemsRaw)
|
| 73 |
-
: this.filterOnExecution(itemsRaw);
|
| 74 |
-
this.replayPathPosition += itemsRaw.length;
|
| 75 |
-
return items;
|
| 76 |
-
}
|
| 77 |
-
shrink(_value, context) {
|
| 78 |
-
if (context === undefined) {
|
| 79 |
-
return Stream_1.Stream.nil();
|
| 80 |
-
}
|
| 81 |
-
const safeContext = context;
|
| 82 |
-
const shrunkOnce = safeContext.shrunkOnce;
|
| 83 |
-
const itemsRaw = safeContext.items;
|
| 84 |
-
const items = this.filterForShrinkImpl(itemsRaw);
|
| 85 |
-
if (items.length === 0) {
|
| 86 |
-
return Stream_1.Stream.nil();
|
| 87 |
-
}
|
| 88 |
-
const rootShrink = shrunkOnce
|
| 89 |
-
? Stream_1.Stream.nil()
|
| 90 |
-
: new Stream_1.Stream([[]][Symbol.iterator]());
|
| 91 |
-
const nextShrinks = [];
|
| 92 |
-
for (let numToKeep = 0; numToKeep !== items.length; ++numToKeep) {
|
| 93 |
-
nextShrinks.push((0, LazyIterableIterator_1.makeLazy)(() => {
|
| 94 |
-
const fixedStart = items.slice(0, numToKeep);
|
| 95 |
-
return this.lengthArb
|
| 96 |
-
.shrink(items.length - 1 - numToKeep, undefined)
|
| 97 |
-
.map((l) => fixedStart.concat(items.slice(items.length - (l.value + 1))));
|
| 98 |
-
}));
|
| 99 |
-
}
|
| 100 |
-
for (let itemAt = 0; itemAt !== items.length; ++itemAt) {
|
| 101 |
-
nextShrinks.push((0, LazyIterableIterator_1.makeLazy)(() => this.oneCommandArb
|
| 102 |
-
.shrink(items[itemAt].value_, items[itemAt].context)
|
| 103 |
-
.map((v) => items.slice(0, itemAt).concat([v], items.slice(itemAt + 1)))));
|
| 104 |
-
}
|
| 105 |
-
return rootShrink.join(...nextShrinks).map((shrinkables) => {
|
| 106 |
-
return this.buildValueFor(shrinkables.map((c) => new Value_1.Value(c.value_.clone(), c.context)), true);
|
| 107 |
-
});
|
| 108 |
-
}
|
| 109 |
-
}
|
| 110 |
-
exports.CommandsArbitrary = CommandsArbitrary;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/ConstantArbitrary.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.ConstantArbitrary = void 0;
|
| 4 |
-
const Stream_1 = require("../../stream/Stream");
|
| 5 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 6 |
-
const Value_1 = require("../../check/arbitrary/definition/Value");
|
| 7 |
-
const symbols_1 = require("../../check/symbols");
|
| 8 |
-
const globals_1 = require("../../utils/globals");
|
| 9 |
-
const safeObjectIs = Object.is;
|
| 10 |
-
class ConstantArbitrary extends Arbitrary_1.Arbitrary {
|
| 11 |
-
constructor(values) {
|
| 12 |
-
super();
|
| 13 |
-
this.values = values;
|
| 14 |
-
}
|
| 15 |
-
generate(mrng, _biasFactor) {
|
| 16 |
-
const idx = this.values.length === 1 ? 0 : mrng.nextInt(0, this.values.length - 1);
|
| 17 |
-
const value = this.values[idx];
|
| 18 |
-
if (!(0, symbols_1.hasCloneMethod)(value)) {
|
| 19 |
-
return new Value_1.Value(value, idx);
|
| 20 |
-
}
|
| 21 |
-
return new Value_1.Value(value, idx, () => value[symbols_1.cloneMethod]());
|
| 22 |
-
}
|
| 23 |
-
canShrinkWithoutContext(value) {
|
| 24 |
-
if (this.values.length === 1) {
|
| 25 |
-
return safeObjectIs(this.values[0], value);
|
| 26 |
-
}
|
| 27 |
-
if (this.fastValues === undefined) {
|
| 28 |
-
this.fastValues = new FastConstantValuesLookup(this.values);
|
| 29 |
-
}
|
| 30 |
-
return this.fastValues.has(value);
|
| 31 |
-
}
|
| 32 |
-
shrink(value, context) {
|
| 33 |
-
if (context === 0 || safeObjectIs(value, this.values[0])) {
|
| 34 |
-
return Stream_1.Stream.nil();
|
| 35 |
-
}
|
| 36 |
-
return Stream_1.Stream.of(new Value_1.Value(this.values[0], 0));
|
| 37 |
-
}
|
| 38 |
-
}
|
| 39 |
-
exports.ConstantArbitrary = ConstantArbitrary;
|
| 40 |
-
class FastConstantValuesLookup {
|
| 41 |
-
constructor(values) {
|
| 42 |
-
this.values = values;
|
| 43 |
-
this.fastValues = new globals_1.Set(this.values);
|
| 44 |
-
let hasMinusZero = false;
|
| 45 |
-
let hasPlusZero = false;
|
| 46 |
-
if ((0, globals_1.safeHas)(this.fastValues, 0)) {
|
| 47 |
-
for (let idx = 0; idx !== this.values.length; ++idx) {
|
| 48 |
-
const value = this.values[idx];
|
| 49 |
-
hasMinusZero = hasMinusZero || safeObjectIs(value, -0);
|
| 50 |
-
hasPlusZero = hasPlusZero || safeObjectIs(value, 0);
|
| 51 |
-
}
|
| 52 |
-
}
|
| 53 |
-
this.hasMinusZero = hasMinusZero;
|
| 54 |
-
this.hasPlusZero = hasPlusZero;
|
| 55 |
-
}
|
| 56 |
-
has(value) {
|
| 57 |
-
if (value === 0) {
|
| 58 |
-
if (safeObjectIs(value, 0)) {
|
| 59 |
-
return this.hasPlusZero;
|
| 60 |
-
}
|
| 61 |
-
return this.hasMinusZero;
|
| 62 |
-
}
|
| 63 |
-
return (0, globals_1.safeHas)(this.fastValues, value);
|
| 64 |
-
}
|
| 65 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/FrequencyArbitrary.js
DELETED
|
@@ -1,166 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.FrequencyArbitrary = void 0;
|
| 4 |
-
const Stream_1 = require("../../stream/Stream");
|
| 5 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 6 |
-
const Value_1 = require("../../check/arbitrary/definition/Value");
|
| 7 |
-
const DepthContext_1 = require("./helpers/DepthContext");
|
| 8 |
-
const MaxLengthFromMinLength_1 = require("./helpers/MaxLengthFromMinLength");
|
| 9 |
-
const globals_1 = require("../../utils/globals");
|
| 10 |
-
const safePositiveInfinity = Number.POSITIVE_INFINITY;
|
| 11 |
-
const safeMaxSafeInteger = Number.MAX_SAFE_INTEGER;
|
| 12 |
-
const safeNumberIsInteger = Number.isInteger;
|
| 13 |
-
const safeMathFloor = Math.floor;
|
| 14 |
-
const safeMathPow = Math.pow;
|
| 15 |
-
const safeMathMin = Math.min;
|
| 16 |
-
class FrequencyArbitrary extends Arbitrary_1.Arbitrary {
|
| 17 |
-
static from(warbs, constraints, label) {
|
| 18 |
-
if (warbs.length === 0) {
|
| 19 |
-
throw new Error(`${label} expects at least one weighted arbitrary`);
|
| 20 |
-
}
|
| 21 |
-
let totalWeight = 0;
|
| 22 |
-
for (let idx = 0; idx !== warbs.length; ++idx) {
|
| 23 |
-
const currentArbitrary = warbs[idx].arbitrary;
|
| 24 |
-
if (currentArbitrary === undefined) {
|
| 25 |
-
throw new Error(`${label} expects arbitraries to be specified`);
|
| 26 |
-
}
|
| 27 |
-
const currentWeight = warbs[idx].weight;
|
| 28 |
-
totalWeight += currentWeight;
|
| 29 |
-
if (!safeNumberIsInteger(currentWeight)) {
|
| 30 |
-
throw new Error(`${label} expects weights to be integer values`);
|
| 31 |
-
}
|
| 32 |
-
if (currentWeight < 0) {
|
| 33 |
-
throw new Error(`${label} expects weights to be superior or equal to 0`);
|
| 34 |
-
}
|
| 35 |
-
}
|
| 36 |
-
if (totalWeight <= 0) {
|
| 37 |
-
throw new Error(`${label} expects the sum of weights to be strictly superior to 0`);
|
| 38 |
-
}
|
| 39 |
-
const sanitizedConstraints = {
|
| 40 |
-
depthBias: (0, MaxLengthFromMinLength_1.depthBiasFromSizeForArbitrary)(constraints.depthSize, constraints.maxDepth !== undefined),
|
| 41 |
-
maxDepth: constraints.maxDepth != undefined ? constraints.maxDepth : safePositiveInfinity,
|
| 42 |
-
withCrossShrink: !!constraints.withCrossShrink,
|
| 43 |
-
};
|
| 44 |
-
return new FrequencyArbitrary(warbs, sanitizedConstraints, (0, DepthContext_1.getDepthContextFor)(constraints.depthIdentifier));
|
| 45 |
-
}
|
| 46 |
-
constructor(warbs, constraints, context) {
|
| 47 |
-
super();
|
| 48 |
-
this.warbs = warbs;
|
| 49 |
-
this.constraints = constraints;
|
| 50 |
-
this.context = context;
|
| 51 |
-
let currentWeight = 0;
|
| 52 |
-
this.cumulatedWeights = [];
|
| 53 |
-
for (let idx = 0; idx !== warbs.length; ++idx) {
|
| 54 |
-
currentWeight += warbs[idx].weight;
|
| 55 |
-
(0, globals_1.safePush)(this.cumulatedWeights, currentWeight);
|
| 56 |
-
}
|
| 57 |
-
this.totalWeight = currentWeight;
|
| 58 |
-
}
|
| 59 |
-
generate(mrng, biasFactor) {
|
| 60 |
-
if (this.mustGenerateFirst()) {
|
| 61 |
-
return this.safeGenerateForIndex(mrng, 0, biasFactor);
|
| 62 |
-
}
|
| 63 |
-
const selected = mrng.nextInt(this.computeNegDepthBenefit(), this.totalWeight - 1);
|
| 64 |
-
for (let idx = 0; idx !== this.cumulatedWeights.length; ++idx) {
|
| 65 |
-
if (selected < this.cumulatedWeights[idx]) {
|
| 66 |
-
return this.safeGenerateForIndex(mrng, idx, biasFactor);
|
| 67 |
-
}
|
| 68 |
-
}
|
| 69 |
-
throw new Error(`Unable to generate from fc.frequency`);
|
| 70 |
-
}
|
| 71 |
-
canShrinkWithoutContext(value) {
|
| 72 |
-
return this.canShrinkWithoutContextIndex(value) !== -1;
|
| 73 |
-
}
|
| 74 |
-
shrink(value, context) {
|
| 75 |
-
if (context !== undefined) {
|
| 76 |
-
const safeContext = context;
|
| 77 |
-
const selectedIndex = safeContext.selectedIndex;
|
| 78 |
-
const originalBias = safeContext.originalBias;
|
| 79 |
-
const originalArbitrary = this.warbs[selectedIndex].arbitrary;
|
| 80 |
-
const originalShrinks = originalArbitrary
|
| 81 |
-
.shrink(value, safeContext.originalContext)
|
| 82 |
-
.map((v) => this.mapIntoValue(selectedIndex, v, null, originalBias));
|
| 83 |
-
if (safeContext.clonedMrngForFallbackFirst !== null) {
|
| 84 |
-
if (safeContext.cachedGeneratedForFirst === undefined) {
|
| 85 |
-
safeContext.cachedGeneratedForFirst = this.safeGenerateForIndex(safeContext.clonedMrngForFallbackFirst, 0, originalBias);
|
| 86 |
-
}
|
| 87 |
-
const valueFromFirst = safeContext.cachedGeneratedForFirst;
|
| 88 |
-
return Stream_1.Stream.of(valueFromFirst).join(originalShrinks);
|
| 89 |
-
}
|
| 90 |
-
return originalShrinks;
|
| 91 |
-
}
|
| 92 |
-
const potentialSelectedIndex = this.canShrinkWithoutContextIndex(value);
|
| 93 |
-
if (potentialSelectedIndex === -1) {
|
| 94 |
-
return Stream_1.Stream.nil();
|
| 95 |
-
}
|
| 96 |
-
return this.defaultShrinkForFirst(potentialSelectedIndex).join(this.warbs[potentialSelectedIndex].arbitrary
|
| 97 |
-
.shrink(value, undefined)
|
| 98 |
-
.map((v) => this.mapIntoValue(potentialSelectedIndex, v, null, undefined)));
|
| 99 |
-
}
|
| 100 |
-
defaultShrinkForFirst(selectedIndex) {
|
| 101 |
-
++this.context.depth;
|
| 102 |
-
try {
|
| 103 |
-
if (!this.mustFallbackToFirstInShrink(selectedIndex) || this.warbs[0].fallbackValue === undefined) {
|
| 104 |
-
return Stream_1.Stream.nil();
|
| 105 |
-
}
|
| 106 |
-
}
|
| 107 |
-
finally {
|
| 108 |
-
--this.context.depth;
|
| 109 |
-
}
|
| 110 |
-
const rawShrinkValue = new Value_1.Value(this.warbs[0].fallbackValue.default, undefined);
|
| 111 |
-
return Stream_1.Stream.of(this.mapIntoValue(0, rawShrinkValue, null, undefined));
|
| 112 |
-
}
|
| 113 |
-
canShrinkWithoutContextIndex(value) {
|
| 114 |
-
if (this.mustGenerateFirst()) {
|
| 115 |
-
return this.warbs[0].arbitrary.canShrinkWithoutContext(value) ? 0 : -1;
|
| 116 |
-
}
|
| 117 |
-
try {
|
| 118 |
-
++this.context.depth;
|
| 119 |
-
for (let idx = 0; idx !== this.warbs.length; ++idx) {
|
| 120 |
-
const warb = this.warbs[idx];
|
| 121 |
-
if (warb.weight !== 0 && warb.arbitrary.canShrinkWithoutContext(value)) {
|
| 122 |
-
return idx;
|
| 123 |
-
}
|
| 124 |
-
}
|
| 125 |
-
return -1;
|
| 126 |
-
}
|
| 127 |
-
finally {
|
| 128 |
-
--this.context.depth;
|
| 129 |
-
}
|
| 130 |
-
}
|
| 131 |
-
mapIntoValue(idx, value, clonedMrngForFallbackFirst, biasFactor) {
|
| 132 |
-
const context = {
|
| 133 |
-
selectedIndex: idx,
|
| 134 |
-
originalBias: biasFactor,
|
| 135 |
-
originalContext: value.context,
|
| 136 |
-
clonedMrngForFallbackFirst,
|
| 137 |
-
};
|
| 138 |
-
return new Value_1.Value(value.value, context);
|
| 139 |
-
}
|
| 140 |
-
safeGenerateForIndex(mrng, idx, biasFactor) {
|
| 141 |
-
++this.context.depth;
|
| 142 |
-
try {
|
| 143 |
-
const value = this.warbs[idx].arbitrary.generate(mrng, biasFactor);
|
| 144 |
-
const clonedMrngForFallbackFirst = this.mustFallbackToFirstInShrink(idx) ? mrng.clone() : null;
|
| 145 |
-
return this.mapIntoValue(idx, value, clonedMrngForFallbackFirst, biasFactor);
|
| 146 |
-
}
|
| 147 |
-
finally {
|
| 148 |
-
--this.context.depth;
|
| 149 |
-
}
|
| 150 |
-
}
|
| 151 |
-
mustGenerateFirst() {
|
| 152 |
-
return this.constraints.maxDepth <= this.context.depth;
|
| 153 |
-
}
|
| 154 |
-
mustFallbackToFirstInShrink(idx) {
|
| 155 |
-
return idx !== 0 && this.constraints.withCrossShrink && this.warbs[0].weight !== 0;
|
| 156 |
-
}
|
| 157 |
-
computeNegDepthBenefit() {
|
| 158 |
-
const depthBias = this.constraints.depthBias;
|
| 159 |
-
if (depthBias <= 0 || this.warbs[0].weight === 0) {
|
| 160 |
-
return 0;
|
| 161 |
-
}
|
| 162 |
-
const depthBenefit = safeMathFloor(safeMathPow(1 + depthBias, this.context.depth)) - 1;
|
| 163 |
-
return -safeMathMin(this.totalWeight * depthBenefit, safeMaxSafeInteger) || 0;
|
| 164 |
-
}
|
| 165 |
-
}
|
| 166 |
-
exports.FrequencyArbitrary = FrequencyArbitrary;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/GeneratorArbitrary.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.GeneratorArbitrary = void 0;
|
| 4 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 5 |
-
const Stream_1 = require("../../stream/Stream");
|
| 6 |
-
const globals_1 = require("../../utils/globals");
|
| 7 |
-
const GeneratorValueBuilder_1 = require("./builders/GeneratorValueBuilder");
|
| 8 |
-
const StableArbitraryGeneratorCache_1 = require("./builders/StableArbitraryGeneratorCache");
|
| 9 |
-
const TupleArbitrary_1 = require("./TupleArbitrary");
|
| 10 |
-
class GeneratorArbitrary extends Arbitrary_1.Arbitrary {
|
| 11 |
-
constructor() {
|
| 12 |
-
super(...arguments);
|
| 13 |
-
this.arbitraryCache = (0, StableArbitraryGeneratorCache_1.buildStableArbitraryGeneratorCache)(StableArbitraryGeneratorCache_1.naiveIsEqual);
|
| 14 |
-
}
|
| 15 |
-
generate(mrng, biasFactor) {
|
| 16 |
-
return (0, GeneratorValueBuilder_1.buildGeneratorValue)(mrng, biasFactor, () => [], this.arbitraryCache);
|
| 17 |
-
}
|
| 18 |
-
canShrinkWithoutContext(value) {
|
| 19 |
-
return false;
|
| 20 |
-
}
|
| 21 |
-
shrink(_value, context) {
|
| 22 |
-
if (context === undefined) {
|
| 23 |
-
return Stream_1.Stream.nil();
|
| 24 |
-
}
|
| 25 |
-
const safeContext = context;
|
| 26 |
-
const mrng = safeContext.mrng;
|
| 27 |
-
const biasFactor = safeContext.biasFactor;
|
| 28 |
-
const history = safeContext.history;
|
| 29 |
-
return (0, TupleArbitrary_1.tupleShrink)(history.map((c) => c.arb), history.map((c) => c.value), history.map((c) => c.context)).map((shrink) => {
|
| 30 |
-
function computePreBuiltValues() {
|
| 31 |
-
const subValues = shrink.value;
|
| 32 |
-
const subContexts = shrink.context;
|
| 33 |
-
return (0, globals_1.safeMap)(history, (entry, index) => ({
|
| 34 |
-
arb: entry.arb,
|
| 35 |
-
value: subValues[index],
|
| 36 |
-
context: subContexts[index],
|
| 37 |
-
mrng: entry.mrng,
|
| 38 |
-
}));
|
| 39 |
-
}
|
| 40 |
-
return (0, GeneratorValueBuilder_1.buildGeneratorValue)(mrng, biasFactor, computePreBuiltValues, this.arbitraryCache);
|
| 41 |
-
});
|
| 42 |
-
}
|
| 43 |
-
}
|
| 44 |
-
exports.GeneratorArbitrary = GeneratorArbitrary;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/IntegerArbitrary.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.IntegerArbitrary = void 0;
|
| 4 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 5 |
-
const Value_1 = require("../../check/arbitrary/definition/Value");
|
| 6 |
-
const Stream_1 = require("../../stream/Stream");
|
| 7 |
-
const BiasNumericRange_1 = require("./helpers/BiasNumericRange");
|
| 8 |
-
const ShrinkInteger_1 = require("./helpers/ShrinkInteger");
|
| 9 |
-
const safeMathSign = Math.sign;
|
| 10 |
-
const safeNumberIsInteger = Number.isInteger;
|
| 11 |
-
const safeObjectIs = Object.is;
|
| 12 |
-
class IntegerArbitrary extends Arbitrary_1.Arbitrary {
|
| 13 |
-
constructor(min, max) {
|
| 14 |
-
super();
|
| 15 |
-
this.min = min;
|
| 16 |
-
this.max = max;
|
| 17 |
-
}
|
| 18 |
-
generate(mrng, biasFactor) {
|
| 19 |
-
const range = this.computeGenerateRange(mrng, biasFactor);
|
| 20 |
-
return new Value_1.Value(mrng.nextInt(range.min, range.max), undefined);
|
| 21 |
-
}
|
| 22 |
-
canShrinkWithoutContext(value) {
|
| 23 |
-
return (typeof value === 'number' &&
|
| 24 |
-
safeNumberIsInteger(value) &&
|
| 25 |
-
!safeObjectIs(value, -0) &&
|
| 26 |
-
this.min <= value &&
|
| 27 |
-
value <= this.max);
|
| 28 |
-
}
|
| 29 |
-
shrink(current, context) {
|
| 30 |
-
if (!IntegerArbitrary.isValidContext(current, context)) {
|
| 31 |
-
const target = this.defaultTarget();
|
| 32 |
-
return (0, ShrinkInteger_1.shrinkInteger)(current, target, true);
|
| 33 |
-
}
|
| 34 |
-
if (this.isLastChanceTry(current, context)) {
|
| 35 |
-
return Stream_1.Stream.of(new Value_1.Value(context, undefined));
|
| 36 |
-
}
|
| 37 |
-
return (0, ShrinkInteger_1.shrinkInteger)(current, context, false);
|
| 38 |
-
}
|
| 39 |
-
defaultTarget() {
|
| 40 |
-
if (this.min <= 0 && this.max >= 0) {
|
| 41 |
-
return 0;
|
| 42 |
-
}
|
| 43 |
-
return this.min < 0 ? this.max : this.min;
|
| 44 |
-
}
|
| 45 |
-
computeGenerateRange(mrng, biasFactor) {
|
| 46 |
-
if (biasFactor === undefined || mrng.nextInt(1, biasFactor) !== 1) {
|
| 47 |
-
return { min: this.min, max: this.max };
|
| 48 |
-
}
|
| 49 |
-
const ranges = (0, BiasNumericRange_1.biasNumericRange)(this.min, this.max, BiasNumericRange_1.integerLogLike);
|
| 50 |
-
if (ranges.length === 1) {
|
| 51 |
-
return ranges[0];
|
| 52 |
-
}
|
| 53 |
-
const id = mrng.nextInt(-2 * (ranges.length - 1), ranges.length - 2);
|
| 54 |
-
return id < 0 ? ranges[0] : ranges[id + 1];
|
| 55 |
-
}
|
| 56 |
-
isLastChanceTry(current, context) {
|
| 57 |
-
if (current > 0)
|
| 58 |
-
return current === context + 1 && current > this.min;
|
| 59 |
-
if (current < 0)
|
| 60 |
-
return current === context - 1 && current < this.max;
|
| 61 |
-
return false;
|
| 62 |
-
}
|
| 63 |
-
static isValidContext(current, context) {
|
| 64 |
-
if (context === undefined) {
|
| 65 |
-
return false;
|
| 66 |
-
}
|
| 67 |
-
if (typeof context !== 'number') {
|
| 68 |
-
throw new Error(`Invalid context type passed to IntegerArbitrary (#1)`);
|
| 69 |
-
}
|
| 70 |
-
if (context !== 0 && safeMathSign(current) !== safeMathSign(context)) {
|
| 71 |
-
throw new Error(`Invalid context value passed to IntegerArbitrary (#2)`);
|
| 72 |
-
}
|
| 73 |
-
return true;
|
| 74 |
-
}
|
| 75 |
-
}
|
| 76 |
-
exports.IntegerArbitrary = IntegerArbitrary;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/LazyArbitrary.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.LazyArbitrary = void 0;
|
| 4 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 5 |
-
class LazyArbitrary extends Arbitrary_1.Arbitrary {
|
| 6 |
-
constructor(name) {
|
| 7 |
-
super();
|
| 8 |
-
this.name = name;
|
| 9 |
-
this.underlying = null;
|
| 10 |
-
}
|
| 11 |
-
generate(mrng, biasFactor) {
|
| 12 |
-
if (!this.underlying) {
|
| 13 |
-
throw new Error(`Lazy arbitrary ${JSON.stringify(this.name)} not correctly initialized`);
|
| 14 |
-
}
|
| 15 |
-
return this.underlying.generate(mrng, biasFactor);
|
| 16 |
-
}
|
| 17 |
-
canShrinkWithoutContext(value) {
|
| 18 |
-
if (!this.underlying) {
|
| 19 |
-
throw new Error(`Lazy arbitrary ${JSON.stringify(this.name)} not correctly initialized`);
|
| 20 |
-
}
|
| 21 |
-
return this.underlying.canShrinkWithoutContext(value);
|
| 22 |
-
}
|
| 23 |
-
shrink(value, context) {
|
| 24 |
-
if (!this.underlying) {
|
| 25 |
-
throw new Error(`Lazy arbitrary ${JSON.stringify(this.name)} not correctly initialized`);
|
| 26 |
-
}
|
| 27 |
-
return this.underlying.shrink(value, context);
|
| 28 |
-
}
|
| 29 |
-
}
|
| 30 |
-
exports.LazyArbitrary = LazyArbitrary;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/LimitedShrinkArbitrary.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.LimitedShrinkArbitrary = void 0;
|
| 4 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 5 |
-
const Value_1 = require("../../check/arbitrary/definition/Value");
|
| 6 |
-
const Stream_1 = require("../../stream/Stream");
|
| 7 |
-
const ZipIterableIterators_1 = require("./helpers/ZipIterableIterators");
|
| 8 |
-
function* iotaFrom(startValue) {
|
| 9 |
-
let value = startValue;
|
| 10 |
-
while (true) {
|
| 11 |
-
yield value;
|
| 12 |
-
++value;
|
| 13 |
-
}
|
| 14 |
-
}
|
| 15 |
-
class LimitedShrinkArbitrary extends Arbitrary_1.Arbitrary {
|
| 16 |
-
constructor(arb, maxShrinks) {
|
| 17 |
-
super();
|
| 18 |
-
this.arb = arb;
|
| 19 |
-
this.maxShrinks = maxShrinks;
|
| 20 |
-
}
|
| 21 |
-
generate(mrng, biasFactor) {
|
| 22 |
-
const value = this.arb.generate(mrng, biasFactor);
|
| 23 |
-
return this.valueMapper(value, 0);
|
| 24 |
-
}
|
| 25 |
-
canShrinkWithoutContext(value) {
|
| 26 |
-
return this.arb.canShrinkWithoutContext(value);
|
| 27 |
-
}
|
| 28 |
-
shrink(value, context) {
|
| 29 |
-
if (this.isSafeContext(context)) {
|
| 30 |
-
return this.safeShrink(value, context.originalContext, context.length);
|
| 31 |
-
}
|
| 32 |
-
return this.safeShrink(value, undefined, 0);
|
| 33 |
-
}
|
| 34 |
-
safeShrink(value, originalContext, currentLength) {
|
| 35 |
-
const remaining = this.maxShrinks - currentLength;
|
| 36 |
-
if (remaining <= 0) {
|
| 37 |
-
return Stream_1.Stream.nil();
|
| 38 |
-
}
|
| 39 |
-
return new Stream_1.Stream((0, ZipIterableIterators_1.zipIterableIterators)(this.arb.shrink(value, originalContext), iotaFrom(currentLength + 1)))
|
| 40 |
-
.take(remaining)
|
| 41 |
-
.map((valueAndLength) => this.valueMapper(valueAndLength[0], valueAndLength[1]));
|
| 42 |
-
}
|
| 43 |
-
valueMapper(v, newLength) {
|
| 44 |
-
const context = { originalContext: v.context, length: newLength };
|
| 45 |
-
return new Value_1.Value(v.value, context);
|
| 46 |
-
}
|
| 47 |
-
isSafeContext(context) {
|
| 48 |
-
return (context != null &&
|
| 49 |
-
typeof context === 'object' &&
|
| 50 |
-
'originalContext' in context &&
|
| 51 |
-
'length' in context);
|
| 52 |
-
}
|
| 53 |
-
}
|
| 54 |
-
exports.LimitedShrinkArbitrary = LimitedShrinkArbitrary;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/MixedCaseArbitrary.js
DELETED
|
@@ -1,95 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.MixedCaseArbitrary = void 0;
|
| 4 |
-
const bigUintN_1 = require("../bigUintN");
|
| 5 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 6 |
-
const Value_1 = require("../../check/arbitrary/definition/Value");
|
| 7 |
-
const LazyIterableIterator_1 = require("../../stream/LazyIterableIterator");
|
| 8 |
-
const ToggleFlags_1 = require("./helpers/ToggleFlags");
|
| 9 |
-
const globals_1 = require("../../utils/globals");
|
| 10 |
-
const globals_2 = require("../../utils/globals");
|
| 11 |
-
class MixedCaseArbitrary extends Arbitrary_1.Arbitrary {
|
| 12 |
-
constructor(stringArb, toggleCase, untoggleAll) {
|
| 13 |
-
super();
|
| 14 |
-
this.stringArb = stringArb;
|
| 15 |
-
this.toggleCase = toggleCase;
|
| 16 |
-
this.untoggleAll = untoggleAll;
|
| 17 |
-
}
|
| 18 |
-
buildContextFor(rawStringValue, flagsValue) {
|
| 19 |
-
return {
|
| 20 |
-
rawString: rawStringValue.value,
|
| 21 |
-
rawStringContext: rawStringValue.context,
|
| 22 |
-
flags: flagsValue.value,
|
| 23 |
-
flagsContext: flagsValue.context,
|
| 24 |
-
};
|
| 25 |
-
}
|
| 26 |
-
generate(mrng, biasFactor) {
|
| 27 |
-
const rawStringValue = this.stringArb.generate(mrng, biasFactor);
|
| 28 |
-
const chars = [...rawStringValue.value];
|
| 29 |
-
const togglePositions = (0, ToggleFlags_1.computeTogglePositions)(chars, this.toggleCase);
|
| 30 |
-
const flagsArb = (0, bigUintN_1.bigUintN)(togglePositions.length);
|
| 31 |
-
const flagsValue = flagsArb.generate(mrng, undefined);
|
| 32 |
-
(0, ToggleFlags_1.applyFlagsOnChars)(chars, flagsValue.value, togglePositions, this.toggleCase);
|
| 33 |
-
return new Value_1.Value((0, globals_1.safeJoin)(chars, ''), this.buildContextFor(rawStringValue, flagsValue));
|
| 34 |
-
}
|
| 35 |
-
canShrinkWithoutContext(value) {
|
| 36 |
-
if (typeof value !== 'string') {
|
| 37 |
-
return false;
|
| 38 |
-
}
|
| 39 |
-
return this.untoggleAll !== undefined
|
| 40 |
-
? this.stringArb.canShrinkWithoutContext(this.untoggleAll(value))
|
| 41 |
-
:
|
| 42 |
-
this.stringArb.canShrinkWithoutContext(value);
|
| 43 |
-
}
|
| 44 |
-
shrink(value, context) {
|
| 45 |
-
let contextSafe;
|
| 46 |
-
if (context !== undefined) {
|
| 47 |
-
contextSafe = context;
|
| 48 |
-
}
|
| 49 |
-
else {
|
| 50 |
-
if (this.untoggleAll !== undefined) {
|
| 51 |
-
const untoggledValue = this.untoggleAll(value);
|
| 52 |
-
const valueChars = [...value];
|
| 53 |
-
const untoggledValueChars = [...untoggledValue];
|
| 54 |
-
const togglePositions = (0, ToggleFlags_1.computeTogglePositions)(untoggledValueChars, this.toggleCase);
|
| 55 |
-
contextSafe = {
|
| 56 |
-
rawString: untoggledValue,
|
| 57 |
-
rawStringContext: undefined,
|
| 58 |
-
flags: (0, ToggleFlags_1.computeFlagsFromChars)(untoggledValueChars, valueChars, togglePositions),
|
| 59 |
-
flagsContext: undefined,
|
| 60 |
-
};
|
| 61 |
-
}
|
| 62 |
-
else {
|
| 63 |
-
contextSafe = {
|
| 64 |
-
rawString: value,
|
| 65 |
-
rawStringContext: undefined,
|
| 66 |
-
flags: (0, globals_2.BigInt)(0),
|
| 67 |
-
flagsContext: undefined,
|
| 68 |
-
};
|
| 69 |
-
}
|
| 70 |
-
}
|
| 71 |
-
const rawString = contextSafe.rawString;
|
| 72 |
-
const flags = contextSafe.flags;
|
| 73 |
-
return this.stringArb
|
| 74 |
-
.shrink(rawString, contextSafe.rawStringContext)
|
| 75 |
-
.map((nRawStringValue) => {
|
| 76 |
-
const nChars = [...nRawStringValue.value];
|
| 77 |
-
const nTogglePositions = (0, ToggleFlags_1.computeTogglePositions)(nChars, this.toggleCase);
|
| 78 |
-
const nFlags = (0, ToggleFlags_1.computeNextFlags)(flags, nTogglePositions.length);
|
| 79 |
-
(0, ToggleFlags_1.applyFlagsOnChars)(nChars, nFlags, nTogglePositions, this.toggleCase);
|
| 80 |
-
return new Value_1.Value((0, globals_1.safeJoin)(nChars, ''), this.buildContextFor(nRawStringValue, new Value_1.Value(nFlags, undefined)));
|
| 81 |
-
})
|
| 82 |
-
.join((0, LazyIterableIterator_1.makeLazy)(() => {
|
| 83 |
-
const chars = [...rawString];
|
| 84 |
-
const togglePositions = (0, ToggleFlags_1.computeTogglePositions)(chars, this.toggleCase);
|
| 85 |
-
return (0, bigUintN_1.bigUintN)(togglePositions.length)
|
| 86 |
-
.shrink(flags, contextSafe.flagsContext)
|
| 87 |
-
.map((nFlagsValue) => {
|
| 88 |
-
const nChars = (0, globals_1.safeSlice)(chars);
|
| 89 |
-
(0, ToggleFlags_1.applyFlagsOnChars)(nChars, nFlagsValue.value, togglePositions, this.toggleCase);
|
| 90 |
-
return new Value_1.Value((0, globals_1.safeJoin)(nChars, ''), this.buildContextFor(new Value_1.Value(rawString, contextSafe.rawStringContext), nFlagsValue));
|
| 91 |
-
});
|
| 92 |
-
}));
|
| 93 |
-
}
|
| 94 |
-
}
|
| 95 |
-
exports.MixedCaseArbitrary = MixedCaseArbitrary;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/SchedulerArbitrary.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.SchedulerArbitrary = void 0;
|
| 4 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 5 |
-
const Value_1 = require("../../check/arbitrary/definition/Value");
|
| 6 |
-
const Stream_1 = require("../../stream/Stream");
|
| 7 |
-
const SchedulerImplem_1 = require("./implementations/SchedulerImplem");
|
| 8 |
-
function buildNextTaskIndex(mrng) {
|
| 9 |
-
const clonedMrng = mrng.clone();
|
| 10 |
-
return {
|
| 11 |
-
clone: () => buildNextTaskIndex(clonedMrng),
|
| 12 |
-
nextTaskIndex: (scheduledTasks) => {
|
| 13 |
-
return mrng.nextInt(0, scheduledTasks.length - 1);
|
| 14 |
-
},
|
| 15 |
-
};
|
| 16 |
-
}
|
| 17 |
-
class SchedulerArbitrary extends Arbitrary_1.Arbitrary {
|
| 18 |
-
constructor(act) {
|
| 19 |
-
super();
|
| 20 |
-
this.act = act;
|
| 21 |
-
}
|
| 22 |
-
generate(mrng, _biasFactor) {
|
| 23 |
-
return new Value_1.Value(new SchedulerImplem_1.SchedulerImplem(this.act, buildNextTaskIndex(mrng.clone())), undefined);
|
| 24 |
-
}
|
| 25 |
-
canShrinkWithoutContext(value) {
|
| 26 |
-
return false;
|
| 27 |
-
}
|
| 28 |
-
shrink(_value, _context) {
|
| 29 |
-
return Stream_1.Stream.nil();
|
| 30 |
-
}
|
| 31 |
-
}
|
| 32 |
-
exports.SchedulerArbitrary = SchedulerArbitrary;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/StreamArbitrary.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.StreamArbitrary = void 0;
|
| 4 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 5 |
-
const Value_1 = require("../../check/arbitrary/definition/Value");
|
| 6 |
-
const symbols_1 = require("../../check/symbols");
|
| 7 |
-
const Stream_1 = require("../../stream/Stream");
|
| 8 |
-
const globals_1 = require("../../utils/globals");
|
| 9 |
-
const stringify_1 = require("../../utils/stringify");
|
| 10 |
-
const safeObjectDefineProperties = Object.defineProperties;
|
| 11 |
-
function prettyPrint(seenValuesStrings) {
|
| 12 |
-
return `Stream(${(0, globals_1.safeJoin)(seenValuesStrings, ',')}…)`;
|
| 13 |
-
}
|
| 14 |
-
class StreamArbitrary extends Arbitrary_1.Arbitrary {
|
| 15 |
-
constructor(arb) {
|
| 16 |
-
super();
|
| 17 |
-
this.arb = arb;
|
| 18 |
-
}
|
| 19 |
-
generate(mrng, biasFactor) {
|
| 20 |
-
const appliedBiasFactor = biasFactor !== undefined && mrng.nextInt(1, biasFactor) === 1 ? biasFactor : undefined;
|
| 21 |
-
const enrichedProducer = () => {
|
| 22 |
-
const seenValues = [];
|
| 23 |
-
const g = function* (arb, clonedMrng) {
|
| 24 |
-
while (true) {
|
| 25 |
-
const value = arb.generate(clonedMrng, appliedBiasFactor).value;
|
| 26 |
-
(0, globals_1.safePush)(seenValues, value);
|
| 27 |
-
yield value;
|
| 28 |
-
}
|
| 29 |
-
};
|
| 30 |
-
const s = new Stream_1.Stream(g(this.arb, mrng.clone()));
|
| 31 |
-
return safeObjectDefineProperties(s, {
|
| 32 |
-
toString: { value: () => prettyPrint(seenValues.map(stringify_1.stringify)) },
|
| 33 |
-
[stringify_1.toStringMethod]: { value: () => prettyPrint(seenValues.map(stringify_1.stringify)) },
|
| 34 |
-
[stringify_1.asyncToStringMethod]: { value: async () => prettyPrint(await Promise.all(seenValues.map(stringify_1.asyncStringify))) },
|
| 35 |
-
[symbols_1.cloneMethod]: { value: enrichedProducer, enumerable: true },
|
| 36 |
-
});
|
| 37 |
-
};
|
| 38 |
-
return new Value_1.Value(enrichedProducer(), undefined);
|
| 39 |
-
}
|
| 40 |
-
canShrinkWithoutContext(value) {
|
| 41 |
-
return false;
|
| 42 |
-
}
|
| 43 |
-
shrink(_value, _context) {
|
| 44 |
-
return Stream_1.Stream.nil();
|
| 45 |
-
}
|
| 46 |
-
}
|
| 47 |
-
exports.StreamArbitrary = StreamArbitrary;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/StringUnitArbitrary.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.stringUnit = stringUnit;
|
| 4 |
-
const globals_1 = require("../../utils/globals");
|
| 5 |
-
const mapToConstant_1 = require("../mapToConstant");
|
| 6 |
-
const GraphemeRanges_1 = require("./data/GraphemeRanges");
|
| 7 |
-
const GraphemeRangesHelpers_1 = require("./helpers/GraphemeRangesHelpers");
|
| 8 |
-
const registeredStringUnitInstancesMap = Object.create(null);
|
| 9 |
-
function getAlphabetRanges(alphabet) {
|
| 10 |
-
switch (alphabet) {
|
| 11 |
-
case 'full':
|
| 12 |
-
return GraphemeRanges_1.fullAlphabetRanges;
|
| 13 |
-
case 'ascii':
|
| 14 |
-
return GraphemeRanges_1.asciiAlphabetRanges;
|
| 15 |
-
}
|
| 16 |
-
}
|
| 17 |
-
function getOrCreateStringUnitInstance(type, alphabet) {
|
| 18 |
-
const key = `${type}:${alphabet}`;
|
| 19 |
-
const registered = registeredStringUnitInstancesMap[key];
|
| 20 |
-
if (registered !== undefined) {
|
| 21 |
-
return registered;
|
| 22 |
-
}
|
| 23 |
-
const alphabetRanges = getAlphabetRanges(alphabet);
|
| 24 |
-
const ranges = type === 'binary' ? alphabetRanges : (0, GraphemeRangesHelpers_1.intersectGraphemeRanges)(alphabetRanges, GraphemeRanges_1.autonomousGraphemeRanges);
|
| 25 |
-
const entries = [];
|
| 26 |
-
for (const range of ranges) {
|
| 27 |
-
(0, globals_1.safePush)(entries, (0, GraphemeRangesHelpers_1.convertGraphemeRangeToMapToConstantEntry)(range));
|
| 28 |
-
}
|
| 29 |
-
if (type === 'grapheme') {
|
| 30 |
-
const decomposedRanges = (0, GraphemeRangesHelpers_1.intersectGraphemeRanges)(alphabetRanges, GraphemeRanges_1.autonomousDecomposableGraphemeRanges);
|
| 31 |
-
for (const range of decomposedRanges) {
|
| 32 |
-
const rawEntry = (0, GraphemeRangesHelpers_1.convertGraphemeRangeToMapToConstantEntry)(range);
|
| 33 |
-
(0, globals_1.safePush)(entries, {
|
| 34 |
-
num: rawEntry.num,
|
| 35 |
-
build: (idInGroup) => (0, globals_1.safeNormalize)(rawEntry.build(idInGroup), 'NFD'),
|
| 36 |
-
});
|
| 37 |
-
}
|
| 38 |
-
}
|
| 39 |
-
const stringUnitInstance = (0, mapToConstant_1.mapToConstant)(...entries);
|
| 40 |
-
registeredStringUnitInstancesMap[key] = stringUnitInstance;
|
| 41 |
-
return stringUnitInstance;
|
| 42 |
-
}
|
| 43 |
-
function stringUnit(type, alphabet) {
|
| 44 |
-
return getOrCreateStringUnitInstance(type, alphabet);
|
| 45 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/SubarrayArbitrary.js
DELETED
|
@@ -1,74 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.SubarrayArbitrary = void 0;
|
| 4 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 5 |
-
const Value_1 = require("../../check/arbitrary/definition/Value");
|
| 6 |
-
const LazyIterableIterator_1 = require("../../stream/LazyIterableIterator");
|
| 7 |
-
const Stream_1 = require("../../stream/Stream");
|
| 8 |
-
const globals_1 = require("../../utils/globals");
|
| 9 |
-
const IsSubarrayOf_1 = require("./helpers/IsSubarrayOf");
|
| 10 |
-
const IntegerArbitrary_1 = require("./IntegerArbitrary");
|
| 11 |
-
const safeMathFloor = Math.floor;
|
| 12 |
-
const safeMathLog = Math.log;
|
| 13 |
-
const safeArrayIsArray = Array.isArray;
|
| 14 |
-
class SubarrayArbitrary extends Arbitrary_1.Arbitrary {
|
| 15 |
-
constructor(originalArray, isOrdered, minLength, maxLength) {
|
| 16 |
-
super();
|
| 17 |
-
this.originalArray = originalArray;
|
| 18 |
-
this.isOrdered = isOrdered;
|
| 19 |
-
this.minLength = minLength;
|
| 20 |
-
this.maxLength = maxLength;
|
| 21 |
-
if (minLength < 0 || minLength > originalArray.length)
|
| 22 |
-
throw new Error('fc.*{s|S}ubarrayOf expects the minimal length to be between 0 and the size of the original array');
|
| 23 |
-
if (maxLength < 0 || maxLength > originalArray.length)
|
| 24 |
-
throw new Error('fc.*{s|S}ubarrayOf expects the maximal length to be between 0 and the size of the original array');
|
| 25 |
-
if (minLength > maxLength)
|
| 26 |
-
throw new Error('fc.*{s|S}ubarrayOf expects the minimal length to be inferior or equal to the maximal length');
|
| 27 |
-
this.lengthArb = new IntegerArbitrary_1.IntegerArbitrary(minLength, maxLength);
|
| 28 |
-
this.biasedLengthArb =
|
| 29 |
-
minLength !== maxLength
|
| 30 |
-
? new IntegerArbitrary_1.IntegerArbitrary(minLength, minLength + safeMathFloor(safeMathLog(maxLength - minLength) / safeMathLog(2)))
|
| 31 |
-
: this.lengthArb;
|
| 32 |
-
}
|
| 33 |
-
generate(mrng, biasFactor) {
|
| 34 |
-
const lengthArb = biasFactor !== undefined && mrng.nextInt(1, biasFactor) === 1 ? this.biasedLengthArb : this.lengthArb;
|
| 35 |
-
const size = lengthArb.generate(mrng, undefined);
|
| 36 |
-
const sizeValue = size.value;
|
| 37 |
-
const remainingElements = (0, globals_1.safeMap)(this.originalArray, (_v, idx) => idx);
|
| 38 |
-
const ids = [];
|
| 39 |
-
for (let index = 0; index !== sizeValue; ++index) {
|
| 40 |
-
const selectedIdIndex = mrng.nextInt(0, remainingElements.length - 1);
|
| 41 |
-
(0, globals_1.safePush)(ids, remainingElements[selectedIdIndex]);
|
| 42 |
-
(0, globals_1.safeSplice)(remainingElements, selectedIdIndex, 1);
|
| 43 |
-
}
|
| 44 |
-
if (this.isOrdered) {
|
| 45 |
-
(0, globals_1.safeSort)(ids, (a, b) => a - b);
|
| 46 |
-
}
|
| 47 |
-
return new Value_1.Value((0, globals_1.safeMap)(ids, (i) => this.originalArray[i]), size.context);
|
| 48 |
-
}
|
| 49 |
-
canShrinkWithoutContext(value) {
|
| 50 |
-
if (!safeArrayIsArray(value)) {
|
| 51 |
-
return false;
|
| 52 |
-
}
|
| 53 |
-
if (!this.lengthArb.canShrinkWithoutContext(value.length)) {
|
| 54 |
-
return false;
|
| 55 |
-
}
|
| 56 |
-
return (0, IsSubarrayOf_1.isSubarrayOf)(this.originalArray, value);
|
| 57 |
-
}
|
| 58 |
-
shrink(value, context) {
|
| 59 |
-
if (value.length === 0) {
|
| 60 |
-
return Stream_1.Stream.nil();
|
| 61 |
-
}
|
| 62 |
-
return this.lengthArb
|
| 63 |
-
.shrink(value.length, context)
|
| 64 |
-
.map((newSize) => {
|
| 65 |
-
return new Value_1.Value((0, globals_1.safeSlice)(value, value.length - newSize.value), newSize.context);
|
| 66 |
-
})
|
| 67 |
-
.join(value.length > this.minLength
|
| 68 |
-
? (0, LazyIterableIterator_1.makeLazy)(() => this.shrink((0, globals_1.safeSlice)(value, 1), undefined)
|
| 69 |
-
.filter((newValue) => this.minLength <= newValue.value.length + 1)
|
| 70 |
-
.map((newValue) => new Value_1.Value([value[0], ...newValue.value], undefined)))
|
| 71 |
-
: Stream_1.Stream.nil());
|
| 72 |
-
}
|
| 73 |
-
}
|
| 74 |
-
exports.SubarrayArbitrary = SubarrayArbitrary;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/TupleArbitrary.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.TupleArbitrary = void 0;
|
| 4 |
-
exports.tupleShrink = tupleShrink;
|
| 5 |
-
const Stream_1 = require("../../stream/Stream");
|
| 6 |
-
const symbols_1 = require("../../check/symbols");
|
| 7 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 8 |
-
const Value_1 = require("../../check/arbitrary/definition/Value");
|
| 9 |
-
const globals_1 = require("../../utils/globals");
|
| 10 |
-
const LazyIterableIterator_1 = require("../../stream/LazyIterableIterator");
|
| 11 |
-
const safeArrayIsArray = Array.isArray;
|
| 12 |
-
const safeObjectDefineProperty = Object.defineProperty;
|
| 13 |
-
function tupleMakeItCloneable(vs, values) {
|
| 14 |
-
return safeObjectDefineProperty(vs, symbols_1.cloneMethod, {
|
| 15 |
-
value: () => {
|
| 16 |
-
const cloned = [];
|
| 17 |
-
for (let idx = 0; idx !== values.length; ++idx) {
|
| 18 |
-
(0, globals_1.safePush)(cloned, values[idx].value);
|
| 19 |
-
}
|
| 20 |
-
tupleMakeItCloneable(cloned, values);
|
| 21 |
-
return cloned;
|
| 22 |
-
},
|
| 23 |
-
});
|
| 24 |
-
}
|
| 25 |
-
function tupleWrapper(values) {
|
| 26 |
-
let cloneable = false;
|
| 27 |
-
const vs = [];
|
| 28 |
-
const ctxs = [];
|
| 29 |
-
for (let idx = 0; idx !== values.length; ++idx) {
|
| 30 |
-
const v = values[idx];
|
| 31 |
-
cloneable = cloneable || v.hasToBeCloned;
|
| 32 |
-
(0, globals_1.safePush)(vs, v.value);
|
| 33 |
-
(0, globals_1.safePush)(ctxs, v.context);
|
| 34 |
-
}
|
| 35 |
-
if (cloneable) {
|
| 36 |
-
tupleMakeItCloneable(vs, values);
|
| 37 |
-
}
|
| 38 |
-
return new Value_1.Value(vs, ctxs);
|
| 39 |
-
}
|
| 40 |
-
function tupleShrink(arbs, value, context) {
|
| 41 |
-
const shrinks = [];
|
| 42 |
-
const safeContext = safeArrayIsArray(context) ? context : [];
|
| 43 |
-
for (let idx = 0; idx !== arbs.length; ++idx) {
|
| 44 |
-
(0, globals_1.safePush)(shrinks, (0, LazyIterableIterator_1.makeLazy)(() => arbs[idx]
|
| 45 |
-
.shrink(value[idx], safeContext[idx])
|
| 46 |
-
.map((v) => {
|
| 47 |
-
const nextValues = (0, globals_1.safeMap)(value, (v, idx) => new Value_1.Value((0, symbols_1.cloneIfNeeded)(v), safeContext[idx]));
|
| 48 |
-
return [...(0, globals_1.safeSlice)(nextValues, 0, idx), v, ...(0, globals_1.safeSlice)(nextValues, idx + 1)];
|
| 49 |
-
})
|
| 50 |
-
.map(tupleWrapper)));
|
| 51 |
-
}
|
| 52 |
-
return Stream_1.Stream.nil().join(...shrinks);
|
| 53 |
-
}
|
| 54 |
-
class TupleArbitrary extends Arbitrary_1.Arbitrary {
|
| 55 |
-
constructor(arbs) {
|
| 56 |
-
super();
|
| 57 |
-
this.arbs = arbs;
|
| 58 |
-
for (let idx = 0; idx !== arbs.length; ++idx) {
|
| 59 |
-
const arb = arbs[idx];
|
| 60 |
-
if (arb == null || arb.generate == null)
|
| 61 |
-
throw new Error(`Invalid parameter encountered at index ${idx}: expecting an Arbitrary`);
|
| 62 |
-
}
|
| 63 |
-
}
|
| 64 |
-
generate(mrng, biasFactor) {
|
| 65 |
-
const mapped = [];
|
| 66 |
-
for (let idx = 0; idx !== this.arbs.length; ++idx) {
|
| 67 |
-
(0, globals_1.safePush)(mapped, this.arbs[idx].generate(mrng, biasFactor));
|
| 68 |
-
}
|
| 69 |
-
return tupleWrapper(mapped);
|
| 70 |
-
}
|
| 71 |
-
canShrinkWithoutContext(value) {
|
| 72 |
-
if (!safeArrayIsArray(value) || value.length !== this.arbs.length) {
|
| 73 |
-
return false;
|
| 74 |
-
}
|
| 75 |
-
for (let index = 0; index !== this.arbs.length; ++index) {
|
| 76 |
-
if (!this.arbs[index].canShrinkWithoutContext(value[index])) {
|
| 77 |
-
return false;
|
| 78 |
-
}
|
| 79 |
-
}
|
| 80 |
-
return true;
|
| 81 |
-
}
|
| 82 |
-
shrink(value, context) {
|
| 83 |
-
return tupleShrink(this.arbs, value, context);
|
| 84 |
-
}
|
| 85 |
-
}
|
| 86 |
-
exports.TupleArbitrary = TupleArbitrary;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/WithShrinkFromOtherArbitrary.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.WithShrinkFromOtherArbitrary = void 0;
|
| 4 |
-
const Arbitrary_1 = require("../../check/arbitrary/definition/Arbitrary");
|
| 5 |
-
const Value_1 = require("../../check/arbitrary/definition/Value");
|
| 6 |
-
function isSafeContext(context) {
|
| 7 |
-
return context !== undefined;
|
| 8 |
-
}
|
| 9 |
-
function toGeneratorValue(value) {
|
| 10 |
-
if (value.hasToBeCloned) {
|
| 11 |
-
return new Value_1.Value(value.value_, { generatorContext: value.context }, () => value.value);
|
| 12 |
-
}
|
| 13 |
-
return new Value_1.Value(value.value_, { generatorContext: value.context });
|
| 14 |
-
}
|
| 15 |
-
function toShrinkerValue(value) {
|
| 16 |
-
if (value.hasToBeCloned) {
|
| 17 |
-
return new Value_1.Value(value.value_, { shrinkerContext: value.context }, () => value.value);
|
| 18 |
-
}
|
| 19 |
-
return new Value_1.Value(value.value_, { shrinkerContext: value.context });
|
| 20 |
-
}
|
| 21 |
-
class WithShrinkFromOtherArbitrary extends Arbitrary_1.Arbitrary {
|
| 22 |
-
constructor(generatorArbitrary, shrinkerArbitrary) {
|
| 23 |
-
super();
|
| 24 |
-
this.generatorArbitrary = generatorArbitrary;
|
| 25 |
-
this.shrinkerArbitrary = shrinkerArbitrary;
|
| 26 |
-
}
|
| 27 |
-
generate(mrng, biasFactor) {
|
| 28 |
-
return toGeneratorValue(this.generatorArbitrary.generate(mrng, biasFactor));
|
| 29 |
-
}
|
| 30 |
-
canShrinkWithoutContext(value) {
|
| 31 |
-
return this.shrinkerArbitrary.canShrinkWithoutContext(value);
|
| 32 |
-
}
|
| 33 |
-
shrink(value, context) {
|
| 34 |
-
if (!isSafeContext(context)) {
|
| 35 |
-
return this.shrinkerArbitrary.shrink(value, undefined).map(toShrinkerValue);
|
| 36 |
-
}
|
| 37 |
-
if ('generatorContext' in context) {
|
| 38 |
-
return this.generatorArbitrary.shrink(value, context.generatorContext).map(toGeneratorValue);
|
| 39 |
-
}
|
| 40 |
-
return this.shrinkerArbitrary.shrink(value, context.shrinkerContext).map(toShrinkerValue);
|
| 41 |
-
}
|
| 42 |
-
}
|
| 43 |
-
exports.WithShrinkFromOtherArbitrary = WithShrinkFromOtherArbitrary;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/builders/AnyArbitraryBuilder.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.anyArbitraryBuilder = anyArbitraryBuilder;
|
| 4 |
-
const stringify_1 = require("../../../utils/stringify");
|
| 5 |
-
const array_1 = require("../../array");
|
| 6 |
-
const oneof_1 = require("../../oneof");
|
| 7 |
-
const tuple_1 = require("../../tuple");
|
| 8 |
-
const bigInt_1 = require("../../bigInt");
|
| 9 |
-
const date_1 = require("../../date");
|
| 10 |
-
const float32Array_1 = require("../../float32Array");
|
| 11 |
-
const float64Array_1 = require("../../float64Array");
|
| 12 |
-
const int16Array_1 = require("../../int16Array");
|
| 13 |
-
const int32Array_1 = require("../../int32Array");
|
| 14 |
-
const int8Array_1 = require("../../int8Array");
|
| 15 |
-
const uint16Array_1 = require("../../uint16Array");
|
| 16 |
-
const uint32Array_1 = require("../../uint32Array");
|
| 17 |
-
const uint8Array_1 = require("../../uint8Array");
|
| 18 |
-
const uint8ClampedArray_1 = require("../../uint8ClampedArray");
|
| 19 |
-
const sparseArray_1 = require("../../sparseArray");
|
| 20 |
-
const ArrayToMap_1 = require("../mappers/ArrayToMap");
|
| 21 |
-
const ArrayToSet_1 = require("../mappers/ArrayToSet");
|
| 22 |
-
const letrec_1 = require("../../letrec");
|
| 23 |
-
const uniqueArray_1 = require("../../uniqueArray");
|
| 24 |
-
const DepthContext_1 = require("../helpers/DepthContext");
|
| 25 |
-
const dictionary_1 = require("../../dictionary");
|
| 26 |
-
function mapOf(ka, va, maxKeys, size, depthIdentifier) {
|
| 27 |
-
return (0, uniqueArray_1.uniqueArray)((0, tuple_1.tuple)(ka, va), {
|
| 28 |
-
maxLength: maxKeys,
|
| 29 |
-
size,
|
| 30 |
-
comparator: 'SameValueZero',
|
| 31 |
-
selector: (t) => t[0],
|
| 32 |
-
depthIdentifier,
|
| 33 |
-
}).map(ArrayToMap_1.arrayToMapMapper, ArrayToMap_1.arrayToMapUnmapper);
|
| 34 |
-
}
|
| 35 |
-
function dictOf(ka, va, maxKeys, size, depthIdentifier, withNullPrototype) {
|
| 36 |
-
return (0, dictionary_1.dictionary)(ka, va, {
|
| 37 |
-
maxKeys,
|
| 38 |
-
noNullPrototype: !withNullPrototype,
|
| 39 |
-
size,
|
| 40 |
-
depthIdentifier,
|
| 41 |
-
});
|
| 42 |
-
}
|
| 43 |
-
function setOf(va, maxKeys, size, depthIdentifier) {
|
| 44 |
-
return (0, uniqueArray_1.uniqueArray)(va, { maxLength: maxKeys, size, comparator: 'SameValueZero', depthIdentifier }).map(ArrayToSet_1.arrayToSetMapper, ArrayToSet_1.arrayToSetUnmapper);
|
| 45 |
-
}
|
| 46 |
-
function typedArray(constraints) {
|
| 47 |
-
return (0, oneof_1.oneof)((0, int8Array_1.int8Array)(constraints), (0, uint8Array_1.uint8Array)(constraints), (0, uint8ClampedArray_1.uint8ClampedArray)(constraints), (0, int16Array_1.int16Array)(constraints), (0, uint16Array_1.uint16Array)(constraints), (0, int32Array_1.int32Array)(constraints), (0, uint32Array_1.uint32Array)(constraints), (0, float32Array_1.float32Array)(constraints), (0, float64Array_1.float64Array)(constraints));
|
| 48 |
-
}
|
| 49 |
-
function anyArbitraryBuilder(constraints) {
|
| 50 |
-
const arbitrariesForBase = constraints.values;
|
| 51 |
-
const depthSize = constraints.depthSize;
|
| 52 |
-
const depthIdentifier = (0, DepthContext_1.createDepthIdentifier)();
|
| 53 |
-
const maxDepth = constraints.maxDepth;
|
| 54 |
-
const maxKeys = constraints.maxKeys;
|
| 55 |
-
const size = constraints.size;
|
| 56 |
-
const baseArb = (0, oneof_1.oneof)(...arbitrariesForBase, ...(constraints.withBigInt ? [(0, bigInt_1.bigInt)()] : []), ...(constraints.withDate ? [(0, date_1.date)()] : []));
|
| 57 |
-
return (0, letrec_1.letrec)((tie) => ({
|
| 58 |
-
anything: (0, oneof_1.oneof)({ maxDepth, depthSize, depthIdentifier }, baseArb, tie('array'), tie('object'), ...(constraints.withMap ? [tie('map')] : []), ...(constraints.withSet ? [tie('set')] : []), ...(constraints.withObjectString ? [tie('anything').map((o) => (0, stringify_1.stringify)(o))] : []), ...(constraints.withTypedArray ? [typedArray({ maxLength: maxKeys, size })] : []), ...(constraints.withSparseArray
|
| 59 |
-
? [(0, sparseArray_1.sparseArray)(tie('anything'), { maxNumElements: maxKeys, size, depthIdentifier })]
|
| 60 |
-
: [])),
|
| 61 |
-
keys: constraints.withObjectString
|
| 62 |
-
? (0, oneof_1.oneof)({ arbitrary: constraints.key, weight: 10 }, { arbitrary: tie('anything').map((o) => (0, stringify_1.stringify)(o)), weight: 1 })
|
| 63 |
-
: constraints.key,
|
| 64 |
-
array: (0, array_1.array)(tie('anything'), { maxLength: maxKeys, size, depthIdentifier }),
|
| 65 |
-
set: setOf(tie('anything'), maxKeys, size, depthIdentifier),
|
| 66 |
-
map: (0, oneof_1.oneof)(mapOf(tie('keys'), tie('anything'), maxKeys, size, depthIdentifier), mapOf(tie('anything'), tie('anything'), maxKeys, size, depthIdentifier)),
|
| 67 |
-
object: dictOf(tie('keys'), tie('anything'), maxKeys, size, depthIdentifier, constraints.withNullPrototype),
|
| 68 |
-
})).anything;
|
| 69 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/builders/BoxedArbitraryBuilder.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.boxedArbitraryBuilder = boxedArbitraryBuilder;
|
| 4 |
-
const UnboxedToBoxed_1 = require("../mappers/UnboxedToBoxed");
|
| 5 |
-
function boxedArbitraryBuilder(arb) {
|
| 6 |
-
return arb.map(UnboxedToBoxed_1.unboxedToBoxedMapper, UnboxedToBoxed_1.unboxedToBoxedUnmapper);
|
| 7 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/builders/CharacterArbitraryBuilder.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.buildCharacterArbitrary = buildCharacterArbitrary;
|
| 4 |
-
const integer_1 = require("../../integer");
|
| 5 |
-
const IndexToCharString_1 = require("../mappers/IndexToCharString");
|
| 6 |
-
function buildCharacterArbitrary(min, max, mapToCode, unmapFromCode) {
|
| 7 |
-
return (0, integer_1.integer)({ min, max }).map((n) => (0, IndexToCharString_1.indexToCharStringMapper)(mapToCode(n)), (c) => unmapFromCode((0, IndexToCharString_1.indexToCharStringUnmapper)(c)));
|
| 8 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/builders/CharacterRangeArbitraryBuilder.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.getOrCreateLowerAlphaArbitrary = getOrCreateLowerAlphaArbitrary;
|
| 4 |
-
exports.getOrCreateLowerAlphaNumericArbitrary = getOrCreateLowerAlphaNumericArbitrary;
|
| 5 |
-
exports.getOrCreateAlphaNumericPercentArbitrary = getOrCreateAlphaNumericPercentArbitrary;
|
| 6 |
-
const fullUnicode_1 = require("../../fullUnicode");
|
| 7 |
-
const oneof_1 = require("../../oneof");
|
| 8 |
-
const mapToConstant_1 = require("../../mapToConstant");
|
| 9 |
-
const globals_1 = require("../../../utils/globals");
|
| 10 |
-
const SMap = Map;
|
| 11 |
-
const safeStringFromCharCode = String.fromCharCode;
|
| 12 |
-
const lowerCaseMapper = { num: 26, build: (v) => safeStringFromCharCode(v + 0x61) };
|
| 13 |
-
const upperCaseMapper = { num: 26, build: (v) => safeStringFromCharCode(v + 0x41) };
|
| 14 |
-
const numericMapper = { num: 10, build: (v) => safeStringFromCharCode(v + 0x30) };
|
| 15 |
-
function percentCharArbMapper(c) {
|
| 16 |
-
const encoded = (0, globals_1.encodeURIComponent)(c);
|
| 17 |
-
return c !== encoded ? encoded : `%${(0, globals_1.safeNumberToString)((0, globals_1.safeCharCodeAt)(c, 0), 16)}`;
|
| 18 |
-
}
|
| 19 |
-
function percentCharArbUnmapper(value) {
|
| 20 |
-
if (typeof value !== 'string') {
|
| 21 |
-
throw new Error('Unsupported');
|
| 22 |
-
}
|
| 23 |
-
const decoded = decodeURIComponent(value);
|
| 24 |
-
return decoded;
|
| 25 |
-
}
|
| 26 |
-
const percentCharArb = (0, fullUnicode_1.fullUnicode)().map(percentCharArbMapper, percentCharArbUnmapper);
|
| 27 |
-
let lowerAlphaArbitrary = undefined;
|
| 28 |
-
function getOrCreateLowerAlphaArbitrary() {
|
| 29 |
-
if (lowerAlphaArbitrary === undefined) {
|
| 30 |
-
lowerAlphaArbitrary = (0, mapToConstant_1.mapToConstant)(lowerCaseMapper);
|
| 31 |
-
}
|
| 32 |
-
return lowerAlphaArbitrary;
|
| 33 |
-
}
|
| 34 |
-
let lowerAlphaNumericArbitraries = undefined;
|
| 35 |
-
function getOrCreateLowerAlphaNumericArbitrary(others) {
|
| 36 |
-
if (lowerAlphaNumericArbitraries === undefined) {
|
| 37 |
-
lowerAlphaNumericArbitraries = new SMap();
|
| 38 |
-
}
|
| 39 |
-
let match = (0, globals_1.safeMapGet)(lowerAlphaNumericArbitraries, others);
|
| 40 |
-
if (match === undefined) {
|
| 41 |
-
match = (0, mapToConstant_1.mapToConstant)(lowerCaseMapper, numericMapper, {
|
| 42 |
-
num: others.length,
|
| 43 |
-
build: (v) => others[v],
|
| 44 |
-
});
|
| 45 |
-
(0, globals_1.safeMapSet)(lowerAlphaNumericArbitraries, others, match);
|
| 46 |
-
}
|
| 47 |
-
return match;
|
| 48 |
-
}
|
| 49 |
-
function buildAlphaNumericArbitrary(others) {
|
| 50 |
-
return (0, mapToConstant_1.mapToConstant)(lowerCaseMapper, upperCaseMapper, numericMapper, {
|
| 51 |
-
num: others.length,
|
| 52 |
-
build: (v) => others[v],
|
| 53 |
-
});
|
| 54 |
-
}
|
| 55 |
-
let alphaNumericPercentArbitraries = undefined;
|
| 56 |
-
function getOrCreateAlphaNumericPercentArbitrary(others) {
|
| 57 |
-
if (alphaNumericPercentArbitraries === undefined) {
|
| 58 |
-
alphaNumericPercentArbitraries = new SMap();
|
| 59 |
-
}
|
| 60 |
-
let match = (0, globals_1.safeMapGet)(alphaNumericPercentArbitraries, others);
|
| 61 |
-
if (match === undefined) {
|
| 62 |
-
match = (0, oneof_1.oneof)({ weight: 10, arbitrary: buildAlphaNumericArbitrary(others) }, { weight: 1, arbitrary: percentCharArb });
|
| 63 |
-
(0, globals_1.safeMapSet)(alphaNumericPercentArbitraries, others, match);
|
| 64 |
-
}
|
| 65 |
-
return match;
|
| 66 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/builders/CompareFunctionArbitraryBuilder.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.buildCompareFunctionArbitrary = buildCompareFunctionArbitrary;
|
| 4 |
-
const TextEscaper_1 = require("../helpers/TextEscaper");
|
| 5 |
-
const symbols_1 = require("../../../check/symbols");
|
| 6 |
-
const hash_1 = require("../../../utils/hash");
|
| 7 |
-
const stringify_1 = require("../../../utils/stringify");
|
| 8 |
-
const integer_1 = require("../../integer");
|
| 9 |
-
const noShrink_1 = require("../../noShrink");
|
| 10 |
-
const tuple_1 = require("../../tuple");
|
| 11 |
-
const globals_1 = require("../../../utils/globals");
|
| 12 |
-
const safeObjectAssign = Object.assign;
|
| 13 |
-
const safeObjectKeys = Object.keys;
|
| 14 |
-
function buildCompareFunctionArbitrary(cmp) {
|
| 15 |
-
return (0, tuple_1.tuple)((0, noShrink_1.noShrink)((0, integer_1.integer)()), (0, noShrink_1.noShrink)((0, integer_1.integer)({ min: 1, max: 0xffffffff }))).map(([seed, hashEnvSize]) => {
|
| 16 |
-
const producer = () => {
|
| 17 |
-
const recorded = {};
|
| 18 |
-
const f = (a, b) => {
|
| 19 |
-
const reprA = (0, stringify_1.stringify)(a);
|
| 20 |
-
const reprB = (0, stringify_1.stringify)(b);
|
| 21 |
-
const hA = (0, hash_1.hash)(`${seed}${reprA}`) % hashEnvSize;
|
| 22 |
-
const hB = (0, hash_1.hash)(`${seed}${reprB}`) % hashEnvSize;
|
| 23 |
-
const val = cmp(hA, hB);
|
| 24 |
-
recorded[`[${reprA},${reprB}]`] = val;
|
| 25 |
-
return val;
|
| 26 |
-
};
|
| 27 |
-
return safeObjectAssign(f, {
|
| 28 |
-
toString: () => {
|
| 29 |
-
const seenValues = safeObjectKeys(recorded)
|
| 30 |
-
.sort()
|
| 31 |
-
.map((k) => `${k} => ${(0, stringify_1.stringify)(recorded[k])}`)
|
| 32 |
-
.map((line) => `/* ${(0, TextEscaper_1.escapeForMultilineComments)(line)} */`);
|
| 33 |
-
return `function(a, b) {
|
| 34 |
-
// With hash and stringify coming from fast-check${seenValues.length !== 0 ? `\n ${(0, globals_1.safeJoin)(seenValues, '\n ')}` : ''}
|
| 35 |
-
const cmp = ${cmp};
|
| 36 |
-
const hA = hash('${seed}' + stringify(a)) % ${hashEnvSize};
|
| 37 |
-
const hB = hash('${seed}' + stringify(b)) % ${hashEnvSize};
|
| 38 |
-
return cmp(hA, hB);
|
| 39 |
-
}`;
|
| 40 |
-
},
|
| 41 |
-
[symbols_1.cloneMethod]: producer,
|
| 42 |
-
});
|
| 43 |
-
};
|
| 44 |
-
return producer();
|
| 45 |
-
});
|
| 46 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/builders/GeneratorValueBuilder.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.buildGeneratorValue = buildGeneratorValue;
|
| 4 |
-
const Value_1 = require("../../../check/arbitrary/definition/Value");
|
| 5 |
-
const symbols_1 = require("../../../check/symbols");
|
| 6 |
-
const globals_1 = require("../../../utils/globals");
|
| 7 |
-
const stringify_1 = require("../../../utils/stringify");
|
| 8 |
-
const safeObjectAssign = Object.assign;
|
| 9 |
-
function buildGeneratorValue(mrng, biasFactor, computePreBuiltValues, arbitraryCache) {
|
| 10 |
-
const preBuiltValues = computePreBuiltValues();
|
| 11 |
-
let localMrng = mrng.clone();
|
| 12 |
-
const context = { mrng: mrng.clone(), biasFactor, history: [] };
|
| 13 |
-
const valueFunction = (arb) => {
|
| 14 |
-
const preBuiltValue = preBuiltValues[context.history.length];
|
| 15 |
-
if (preBuiltValue !== undefined && preBuiltValue.arb === arb) {
|
| 16 |
-
const value = preBuiltValue.value;
|
| 17 |
-
(0, globals_1.safePush)(context.history, { arb, value, context: preBuiltValue.context, mrng: preBuiltValue.mrng });
|
| 18 |
-
localMrng = preBuiltValue.mrng.clone();
|
| 19 |
-
return value;
|
| 20 |
-
}
|
| 21 |
-
const g = arb.generate(localMrng, biasFactor);
|
| 22 |
-
(0, globals_1.safePush)(context.history, { arb, value: g.value_, context: g.context, mrng: localMrng.clone() });
|
| 23 |
-
return g.value;
|
| 24 |
-
};
|
| 25 |
-
const memoedValueFunction = (arb, ...args) => {
|
| 26 |
-
return valueFunction(arbitraryCache(arb, args));
|
| 27 |
-
};
|
| 28 |
-
const valueMethods = {
|
| 29 |
-
values() {
|
| 30 |
-
return (0, globals_1.safeMap)(context.history, (c) => c.value);
|
| 31 |
-
},
|
| 32 |
-
[symbols_1.cloneMethod]() {
|
| 33 |
-
return buildGeneratorValue(mrng, biasFactor, computePreBuiltValues, arbitraryCache).value;
|
| 34 |
-
},
|
| 35 |
-
[stringify_1.toStringMethod]() {
|
| 36 |
-
return (0, stringify_1.stringify)((0, globals_1.safeMap)(context.history, (c) => c.value));
|
| 37 |
-
},
|
| 38 |
-
};
|
| 39 |
-
const value = safeObjectAssign(memoedValueFunction, valueMethods);
|
| 40 |
-
return new Value_1.Value(value, context);
|
| 41 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/builders/PaddedNumberArbitraryBuilder.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.buildPaddedNumberArbitrary = buildPaddedNumberArbitrary;
|
| 4 |
-
const integer_1 = require("../../integer");
|
| 5 |
-
const NumberToPaddedEight_1 = require("../mappers/NumberToPaddedEight");
|
| 6 |
-
function buildPaddedNumberArbitrary(min, max) {
|
| 7 |
-
return (0, integer_1.integer)({ min, max }).map(NumberToPaddedEight_1.numberToPaddedEightMapper, NumberToPaddedEight_1.numberToPaddedEightUnmapper);
|
| 8 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/builders/PartialRecordArbitraryBuilder.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.buildPartialRecordArbitrary = buildPartialRecordArbitrary;
|
| 4 |
-
const globals_1 = require("../../../utils/globals");
|
| 5 |
-
const boolean_1 = require("../../boolean");
|
| 6 |
-
const constant_1 = require("../../constant");
|
| 7 |
-
const option_1 = require("../../option");
|
| 8 |
-
const tuple_1 = require("../../tuple");
|
| 9 |
-
const EnumerableKeysExtractor_1 = require("../helpers/EnumerableKeysExtractor");
|
| 10 |
-
const ValuesAndSeparateKeysToObject_1 = require("../mappers/ValuesAndSeparateKeysToObject");
|
| 11 |
-
const noKeyValue = Symbol('no-key');
|
| 12 |
-
function buildPartialRecordArbitrary(recordModel, requiredKeys, noNullPrototype) {
|
| 13 |
-
const keys = (0, EnumerableKeysExtractor_1.extractEnumerableKeys)(recordModel);
|
| 14 |
-
const arbs = [];
|
| 15 |
-
for (let index = 0; index !== keys.length; ++index) {
|
| 16 |
-
const k = keys[index];
|
| 17 |
-
const requiredArbitrary = recordModel[k];
|
| 18 |
-
if (requiredKeys === undefined || (0, globals_1.safeIndexOf)(requiredKeys, k) !== -1) {
|
| 19 |
-
(0, globals_1.safePush)(arbs, requiredArbitrary);
|
| 20 |
-
}
|
| 21 |
-
else {
|
| 22 |
-
(0, globals_1.safePush)(arbs, (0, option_1.option)(requiredArbitrary, { nil: noKeyValue }));
|
| 23 |
-
}
|
| 24 |
-
}
|
| 25 |
-
return (0, tuple_1.tuple)((0, tuple_1.tuple)(...arbs), noNullPrototype ? (0, constant_1.constant)(false) : (0, boolean_1.boolean)()).map((0, ValuesAndSeparateKeysToObject_1.buildValuesAndSeparateKeysToObjectMapper)(keys, noKeyValue), (0, ValuesAndSeparateKeysToObject_1.buildValuesAndSeparateKeysToObjectUnmapper)(keys, noKeyValue));
|
| 26 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/builders/RestrictedIntegerArbitraryBuilder.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.restrictedIntegerArbitraryBuilder = restrictedIntegerArbitraryBuilder;
|
| 4 |
-
const integer_1 = require("../../integer");
|
| 5 |
-
const WithShrinkFromOtherArbitrary_1 = require("../WithShrinkFromOtherArbitrary");
|
| 6 |
-
function restrictedIntegerArbitraryBuilder(min, maxGenerated, max) {
|
| 7 |
-
const generatorArbitrary = (0, integer_1.integer)({ min, max: maxGenerated });
|
| 8 |
-
if (maxGenerated === max) {
|
| 9 |
-
return generatorArbitrary;
|
| 10 |
-
}
|
| 11 |
-
const shrinkerArbitrary = (0, integer_1.integer)({ min, max });
|
| 12 |
-
return new WithShrinkFromOtherArbitrary_1.WithShrinkFromOtherArbitrary(generatorArbitrary, shrinkerArbitrary);
|
| 13 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/builders/StableArbitraryGeneratorCache.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.buildStableArbitraryGeneratorCache = buildStableArbitraryGeneratorCache;
|
| 4 |
-
exports.naiveIsEqual = naiveIsEqual;
|
| 5 |
-
const globals_1 = require("../../../utils/globals");
|
| 6 |
-
const safeArrayIsArray = Array.isArray;
|
| 7 |
-
const safeObjectKeys = Object.keys;
|
| 8 |
-
const safeObjectIs = Object.is;
|
| 9 |
-
function buildStableArbitraryGeneratorCache(isEqual) {
|
| 10 |
-
const previousCallsPerBuilder = new globals_1.Map();
|
| 11 |
-
return function stableArbitraryGeneratorCache(builder, args) {
|
| 12 |
-
const entriesForBuilder = (0, globals_1.safeMapGet)(previousCallsPerBuilder, builder);
|
| 13 |
-
if (entriesForBuilder === undefined) {
|
| 14 |
-
const newValue = builder(...args);
|
| 15 |
-
(0, globals_1.safeMapSet)(previousCallsPerBuilder, builder, [{ args, value: newValue }]);
|
| 16 |
-
return newValue;
|
| 17 |
-
}
|
| 18 |
-
const safeEntriesForBuilder = entriesForBuilder;
|
| 19 |
-
for (const entry of safeEntriesForBuilder) {
|
| 20 |
-
if (isEqual(args, entry.args)) {
|
| 21 |
-
return entry.value;
|
| 22 |
-
}
|
| 23 |
-
}
|
| 24 |
-
const newValue = builder(...args);
|
| 25 |
-
(0, globals_1.safePush)(safeEntriesForBuilder, { args, value: newValue });
|
| 26 |
-
return newValue;
|
| 27 |
-
};
|
| 28 |
-
}
|
| 29 |
-
function naiveIsEqual(v1, v2) {
|
| 30 |
-
if (v1 !== null && typeof v1 === 'object' && v2 !== null && typeof v2 === 'object') {
|
| 31 |
-
if (safeArrayIsArray(v1)) {
|
| 32 |
-
if (!safeArrayIsArray(v2))
|
| 33 |
-
return false;
|
| 34 |
-
if (v1.length !== v2.length)
|
| 35 |
-
return false;
|
| 36 |
-
}
|
| 37 |
-
else if (safeArrayIsArray(v2)) {
|
| 38 |
-
return false;
|
| 39 |
-
}
|
| 40 |
-
if (safeObjectKeys(v1).length !== safeObjectKeys(v2).length) {
|
| 41 |
-
return false;
|
| 42 |
-
}
|
| 43 |
-
for (const index in v1) {
|
| 44 |
-
if (!(index in v2)) {
|
| 45 |
-
return false;
|
| 46 |
-
}
|
| 47 |
-
if (!naiveIsEqual(v1[index], v2[index])) {
|
| 48 |
-
return false;
|
| 49 |
-
}
|
| 50 |
-
}
|
| 51 |
-
return true;
|
| 52 |
-
}
|
| 53 |
-
else {
|
| 54 |
-
return safeObjectIs(v1, v2);
|
| 55 |
-
}
|
| 56 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/builders/StringifiedNatArbitraryBuilder.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.buildStringifiedNatArbitrary = buildStringifiedNatArbitrary;
|
| 4 |
-
const constantFrom_1 = require("../../constantFrom");
|
| 5 |
-
const nat_1 = require("../../nat");
|
| 6 |
-
const tuple_1 = require("../../tuple");
|
| 7 |
-
const NatToStringifiedNat_1 = require("../mappers/NatToStringifiedNat");
|
| 8 |
-
function buildStringifiedNatArbitrary(maxValue) {
|
| 9 |
-
return (0, tuple_1.tuple)((0, constantFrom_1.constantFrom)('dec', 'oct', 'hex'), (0, nat_1.nat)(maxValue)).map(NatToStringifiedNat_1.natToStringifiedNatMapper, NatToStringifiedNat_1.natToStringifiedNatUnmapper);
|
| 10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/builders/TypedIntArrayArbitraryBuilder.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
var __rest = (this && this.__rest) || function (s, e) {
|
| 3 |
-
var t = {};
|
| 4 |
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
| 5 |
-
t[p] = s[p];
|
| 6 |
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
| 7 |
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
| 8 |
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
| 9 |
-
t[p[i]] = s[p[i]];
|
| 10 |
-
}
|
| 11 |
-
return t;
|
| 12 |
-
};
|
| 13 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 14 |
-
exports.typedIntArrayArbitraryArbitraryBuilder = typedIntArrayArbitraryArbitraryBuilder;
|
| 15 |
-
const array_1 = require("../../array");
|
| 16 |
-
function typedIntArrayArbitraryArbitraryBuilder(constraints, defaultMin, defaultMax, TypedArrayClass, arbitraryBuilder) {
|
| 17 |
-
const generatorName = TypedArrayClass.name;
|
| 18 |
-
const { min = defaultMin, max = defaultMax } = constraints, arrayConstraints = __rest(constraints, ["min", "max"]);
|
| 19 |
-
if (min > max) {
|
| 20 |
-
throw new Error(`Invalid range passed to ${generatorName}: min must be lower than or equal to max`);
|
| 21 |
-
}
|
| 22 |
-
if (min < defaultMin) {
|
| 23 |
-
throw new Error(`Invalid min value passed to ${generatorName}: min must be greater than or equal to ${defaultMin}`);
|
| 24 |
-
}
|
| 25 |
-
if (max > defaultMax) {
|
| 26 |
-
throw new Error(`Invalid max value passed to ${generatorName}: max must be lower than or equal to ${defaultMax}`);
|
| 27 |
-
}
|
| 28 |
-
return (0, array_1.array)(arbitraryBuilder({ min, max }), arrayConstraints).map((data) => TypedArrayClass.from(data), (value) => {
|
| 29 |
-
if (!(value instanceof TypedArrayClass))
|
| 30 |
-
throw new Error('Invalid type');
|
| 31 |
-
return [...value];
|
| 32 |
-
});
|
| 33 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/builders/UriPathArbitraryBuilder.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.buildUriPathArbitrary = buildUriPathArbitrary;
|
| 4 |
-
const webSegment_1 = require("../../webSegment");
|
| 5 |
-
const array_1 = require("../../array");
|
| 6 |
-
const SegmentsToPath_1 = require("../mappers/SegmentsToPath");
|
| 7 |
-
const oneof_1 = require("../../oneof");
|
| 8 |
-
function sqrtSize(size) {
|
| 9 |
-
switch (size) {
|
| 10 |
-
case 'xsmall':
|
| 11 |
-
return ['xsmall', 'xsmall'];
|
| 12 |
-
case 'small':
|
| 13 |
-
return ['small', 'xsmall'];
|
| 14 |
-
case 'medium':
|
| 15 |
-
return ['small', 'small'];
|
| 16 |
-
case 'large':
|
| 17 |
-
return ['medium', 'small'];
|
| 18 |
-
case 'xlarge':
|
| 19 |
-
return ['medium', 'medium'];
|
| 20 |
-
}
|
| 21 |
-
}
|
| 22 |
-
function buildUriPathArbitraryInternal(segmentSize, numSegmentSize) {
|
| 23 |
-
return (0, array_1.array)((0, webSegment_1.webSegment)({ size: segmentSize }), { size: numSegmentSize }).map(SegmentsToPath_1.segmentsToPathMapper, SegmentsToPath_1.segmentsToPathUnmapper);
|
| 24 |
-
}
|
| 25 |
-
function buildUriPathArbitrary(resolvedSize) {
|
| 26 |
-
const [segmentSize, numSegmentSize] = sqrtSize(resolvedSize);
|
| 27 |
-
if (segmentSize === numSegmentSize) {
|
| 28 |
-
return buildUriPathArbitraryInternal(segmentSize, numSegmentSize);
|
| 29 |
-
}
|
| 30 |
-
return (0, oneof_1.oneof)(buildUriPathArbitraryInternal(segmentSize, numSegmentSize), buildUriPathArbitraryInternal(numSegmentSize, segmentSize));
|
| 31 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/builders/UriQueryOrFragmentArbitraryBuilder.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.buildUriQueryOrFragmentArbitrary = buildUriQueryOrFragmentArbitrary;
|
| 4 |
-
const CharacterRangeArbitraryBuilder_1 = require("./CharacterRangeArbitraryBuilder");
|
| 5 |
-
const string_1 = require("../../string");
|
| 6 |
-
function buildUriQueryOrFragmentArbitrary(size) {
|
| 7 |
-
return (0, string_1.string)({ unit: (0, CharacterRangeArbitraryBuilder_1.getOrCreateAlphaNumericPercentArbitrary)("-._~!$&'()*+,;=:@/?"), size });
|
| 8 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/data/GraphemeRanges.js
DELETED
|
@@ -1,988 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.autonomousDecomposableGraphemeRanges = exports.autonomousGraphemeRanges = exports.fullAlphabetRanges = exports.asciiAlphabetRanges = void 0;
|
| 4 |
-
exports.asciiAlphabetRanges = [[0x00, 0x7f]];
|
| 5 |
-
exports.fullAlphabetRanges = [
|
| 6 |
-
[0x0000, 0xd7ff],
|
| 7 |
-
[0xe000, 0x10ffff],
|
| 8 |
-
];
|
| 9 |
-
exports.autonomousGraphemeRanges = [
|
| 10 |
-
[0x20, 0x7e],
|
| 11 |
-
[0xa0, 0xac],
|
| 12 |
-
[0xae, 0x2ff],
|
| 13 |
-
[0x370, 0x377],
|
| 14 |
-
[0x37a, 0x37f],
|
| 15 |
-
[0x384, 0x38a],
|
| 16 |
-
[0x38c],
|
| 17 |
-
[0x38e, 0x3a1],
|
| 18 |
-
[0x3a3, 0x482],
|
| 19 |
-
[0x48a, 0x52f],
|
| 20 |
-
[0x531, 0x556],
|
| 21 |
-
[0x559, 0x58a],
|
| 22 |
-
[0x58d, 0x58f],
|
| 23 |
-
[0x5be],
|
| 24 |
-
[0x5c0],
|
| 25 |
-
[0x5c3],
|
| 26 |
-
[0x5c6],
|
| 27 |
-
[0x5d0, 0x5ea],
|
| 28 |
-
[0x5ef, 0x5f4],
|
| 29 |
-
[0x606, 0x60f],
|
| 30 |
-
[0x61b],
|
| 31 |
-
[0x61d, 0x64a],
|
| 32 |
-
[0x660, 0x66f],
|
| 33 |
-
[0x671, 0x6d5],
|
| 34 |
-
[0x6de],
|
| 35 |
-
[0x6e5, 0x6e6],
|
| 36 |
-
[0x6e9],
|
| 37 |
-
[0x6ee, 0x70d],
|
| 38 |
-
[0x710],
|
| 39 |
-
[0x712, 0x72f],
|
| 40 |
-
[0x74d, 0x7a5],
|
| 41 |
-
[0x7b1],
|
| 42 |
-
[0x7c0, 0x7ea],
|
| 43 |
-
[0x7f4, 0x7fa],
|
| 44 |
-
[0x7fe, 0x815],
|
| 45 |
-
[0x81a],
|
| 46 |
-
[0x824],
|
| 47 |
-
[0x828],
|
| 48 |
-
[0x830, 0x83e],
|
| 49 |
-
[0x840, 0x858],
|
| 50 |
-
[0x85e],
|
| 51 |
-
[0x860, 0x86a],
|
| 52 |
-
[0x870, 0x88e],
|
| 53 |
-
[0x8a0, 0x8c9],
|
| 54 |
-
[0x904, 0x939],
|
| 55 |
-
[0x93d],
|
| 56 |
-
[0x950],
|
| 57 |
-
[0x958, 0x961],
|
| 58 |
-
[0x964, 0x980],
|
| 59 |
-
[0x985, 0x98c],
|
| 60 |
-
[0x98f, 0x990],
|
| 61 |
-
[0x993, 0x9a8],
|
| 62 |
-
[0x9aa, 0x9b0],
|
| 63 |
-
[0x9b2],
|
| 64 |
-
[0x9b6, 0x9b9],
|
| 65 |
-
[0x9bd],
|
| 66 |
-
[0x9ce],
|
| 67 |
-
[0x9dc, 0x9dd],
|
| 68 |
-
[0x9df, 0x9e1],
|
| 69 |
-
[0x9e6, 0x9fd],
|
| 70 |
-
[0xa05, 0xa0a],
|
| 71 |
-
[0xa0f, 0xa10],
|
| 72 |
-
[0xa13, 0xa28],
|
| 73 |
-
[0xa2a, 0xa30],
|
| 74 |
-
[0xa32, 0xa33],
|
| 75 |
-
[0xa35, 0xa36],
|
| 76 |
-
[0xa38, 0xa39],
|
| 77 |
-
[0xa59, 0xa5c],
|
| 78 |
-
[0xa5e],
|
| 79 |
-
[0xa66, 0xa6f],
|
| 80 |
-
[0xa72, 0xa74],
|
| 81 |
-
[0xa76],
|
| 82 |
-
[0xa85, 0xa8d],
|
| 83 |
-
[0xa8f, 0xa91],
|
| 84 |
-
[0xa93, 0xaa8],
|
| 85 |
-
[0xaaa, 0xab0],
|
| 86 |
-
[0xab2, 0xab3],
|
| 87 |
-
[0xab5, 0xab9],
|
| 88 |
-
[0xabd],
|
| 89 |
-
[0xad0],
|
| 90 |
-
[0xae0, 0xae1],
|
| 91 |
-
[0xae6, 0xaf1],
|
| 92 |
-
[0xaf9],
|
| 93 |
-
[0xb05, 0xb0c],
|
| 94 |
-
[0xb0f, 0xb10],
|
| 95 |
-
[0xb13, 0xb28],
|
| 96 |
-
[0xb2a, 0xb30],
|
| 97 |
-
[0xb32, 0xb33],
|
| 98 |
-
[0xb35, 0xb39],
|
| 99 |
-
[0xb3d],
|
| 100 |
-
[0xb5c, 0xb5d],
|
| 101 |
-
[0xb5f, 0xb61],
|
| 102 |
-
[0xb66, 0xb77],
|
| 103 |
-
[0xb83],
|
| 104 |
-
[0xb85, 0xb8a],
|
| 105 |
-
[0xb8e, 0xb90],
|
| 106 |
-
[0xb92, 0xb95],
|
| 107 |
-
[0xb99, 0xb9a],
|
| 108 |
-
[0xb9c],
|
| 109 |
-
[0xb9e, 0xb9f],
|
| 110 |
-
[0xba3, 0xba4],
|
| 111 |
-
[0xba8, 0xbaa],
|
| 112 |
-
[0xbae, 0xbb9],
|
| 113 |
-
[0xbd0],
|
| 114 |
-
[0xbe6, 0xbfa],
|
| 115 |
-
[0xc05, 0xc0c],
|
| 116 |
-
[0xc0e, 0xc10],
|
| 117 |
-
[0xc12, 0xc28],
|
| 118 |
-
[0xc2a, 0xc39],
|
| 119 |
-
[0xc3d],
|
| 120 |
-
[0xc58, 0xc5a],
|
| 121 |
-
[0xc5d],
|
| 122 |
-
[0xc60, 0xc61],
|
| 123 |
-
[0xc66, 0xc6f],
|
| 124 |
-
[0xc77, 0xc80],
|
| 125 |
-
[0xc84, 0xc8c],
|
| 126 |
-
[0xc8e, 0xc90],
|
| 127 |
-
[0xc92, 0xca8],
|
| 128 |
-
[0xcaa, 0xcb3],
|
| 129 |
-
[0xcb5, 0xcb9],
|
| 130 |
-
[0xcbd],
|
| 131 |
-
[0xcdd, 0xcde],
|
| 132 |
-
[0xce0, 0xce1],
|
| 133 |
-
[0xce6, 0xcef],
|
| 134 |
-
[0xcf1, 0xcf2],
|
| 135 |
-
[0xd04, 0xd0c],
|
| 136 |
-
[0xd0e, 0xd10],
|
| 137 |
-
[0xd12, 0xd3a],
|
| 138 |
-
[0xd3d],
|
| 139 |
-
[0xd4f],
|
| 140 |
-
[0xd54, 0xd56],
|
| 141 |
-
[0xd58, 0xd61],
|
| 142 |
-
[0xd66, 0xd7f],
|
| 143 |
-
[0xd85, 0xd96],
|
| 144 |
-
[0xd9a, 0xdb1],
|
| 145 |
-
[0xdb3, 0xdbb],
|
| 146 |
-
[0xdbd],
|
| 147 |
-
[0xdc0, 0xdc6],
|
| 148 |
-
[0xde6, 0xdef],
|
| 149 |
-
[0xdf4],
|
| 150 |
-
[0xe01, 0xe30],
|
| 151 |
-
[0xe32],
|
| 152 |
-
[0xe3f, 0xe46],
|
| 153 |
-
[0xe4f, 0xe5b],
|
| 154 |
-
[0xe81, 0xe82],
|
| 155 |
-
[0xe84],
|
| 156 |
-
[0xe86, 0xe8a],
|
| 157 |
-
[0xe8c, 0xea3],
|
| 158 |
-
[0xea5],
|
| 159 |
-
[0xea7, 0xeb0],
|
| 160 |
-
[0xeb2],
|
| 161 |
-
[0xebd],
|
| 162 |
-
[0xec0, 0xec4],
|
| 163 |
-
[0xec6],
|
| 164 |
-
[0xed0, 0xed9],
|
| 165 |
-
[0xedc, 0xedf],
|
| 166 |
-
[0xf00, 0xf17],
|
| 167 |
-
[0xf1a, 0xf34],
|
| 168 |
-
[0xf36],
|
| 169 |
-
[0xf38],
|
| 170 |
-
[0xf3a, 0xf3d],
|
| 171 |
-
[0xf40, 0xf47],
|
| 172 |
-
[0xf49, 0xf6c],
|
| 173 |
-
[0xf85],
|
| 174 |
-
[0xf88, 0xf8c],
|
| 175 |
-
[0xfbe, 0xfc5],
|
| 176 |
-
[0xfc7, 0xfcc],
|
| 177 |
-
[0xfce, 0xfda],
|
| 178 |
-
[0x1000, 0x102a],
|
| 179 |
-
[0x103f, 0x1055],
|
| 180 |
-
[0x105a, 0x105d],
|
| 181 |
-
[0x1061],
|
| 182 |
-
[0x1065, 0x1066],
|
| 183 |
-
[0x106e, 0x1070],
|
| 184 |
-
[0x1075, 0x1081],
|
| 185 |
-
[0x108e],
|
| 186 |
-
[0x1090, 0x1099],
|
| 187 |
-
[0x109e, 0x10c5],
|
| 188 |
-
[0x10c7],
|
| 189 |
-
[0x10cd],
|
| 190 |
-
[0x10d0, 0x10ff],
|
| 191 |
-
[0x1200, 0x1248],
|
| 192 |
-
[0x124a, 0x124d],
|
| 193 |
-
[0x1250, 0x1256],
|
| 194 |
-
[0x1258],
|
| 195 |
-
[0x125a, 0x125d],
|
| 196 |
-
[0x1260, 0x1288],
|
| 197 |
-
[0x128a, 0x128d],
|
| 198 |
-
[0x1290, 0x12b0],
|
| 199 |
-
[0x12b2, 0x12b5],
|
| 200 |
-
[0x12b8, 0x12be],
|
| 201 |
-
[0x12c0],
|
| 202 |
-
[0x12c2, 0x12c5],
|
| 203 |
-
[0x12c8, 0x12d6],
|
| 204 |
-
[0x12d8, 0x1310],
|
| 205 |
-
[0x1312, 0x1315],
|
| 206 |
-
[0x1318, 0x135a],
|
| 207 |
-
[0x1360, 0x137c],
|
| 208 |
-
[0x1380, 0x1399],
|
| 209 |
-
[0x13a0, 0x13f5],
|
| 210 |
-
[0x13f8, 0x13fd],
|
| 211 |
-
[0x1400, 0x169c],
|
| 212 |
-
[0x16a0, 0x16f8],
|
| 213 |
-
[0x1700, 0x1711],
|
| 214 |
-
[0x171f, 0x1731],
|
| 215 |
-
[0x1735, 0x1736],
|
| 216 |
-
[0x1740, 0x1751],
|
| 217 |
-
[0x1760, 0x176c],
|
| 218 |
-
[0x176e, 0x1770],
|
| 219 |
-
[0x1780, 0x17b3],
|
| 220 |
-
[0x17d4, 0x17dc],
|
| 221 |
-
[0x17e0, 0x17e9],
|
| 222 |
-
[0x17f0, 0x17f9],
|
| 223 |
-
[0x1800, 0x180a],
|
| 224 |
-
[0x1810, 0x1819],
|
| 225 |
-
[0x1820, 0x1878],
|
| 226 |
-
[0x1880, 0x1884],
|
| 227 |
-
[0x1887, 0x18a8],
|
| 228 |
-
[0x18aa],
|
| 229 |
-
[0x18b0, 0x18f5],
|
| 230 |
-
[0x1900, 0x191e],
|
| 231 |
-
[0x1940],
|
| 232 |
-
[0x1944, 0x196d],
|
| 233 |
-
[0x1970, 0x1974],
|
| 234 |
-
[0x1980, 0x19ab],
|
| 235 |
-
[0x19b0, 0x19c9],
|
| 236 |
-
[0x19d0, 0x19da],
|
| 237 |
-
[0x19de, 0x1a16],
|
| 238 |
-
[0x1a1e, 0x1a54],
|
| 239 |
-
[0x1a80, 0x1a89],
|
| 240 |
-
[0x1a90, 0x1a99],
|
| 241 |
-
[0x1aa0, 0x1aad],
|
| 242 |
-
[0x1b05, 0x1b33],
|
| 243 |
-
[0x1b45, 0x1b4c],
|
| 244 |
-
[0x1b50, 0x1b6a],
|
| 245 |
-
[0x1b74, 0x1b7e],
|
| 246 |
-
[0x1b83, 0x1ba0],
|
| 247 |
-
[0x1bae, 0x1be5],
|
| 248 |
-
[0x1bfc, 0x1c23],
|
| 249 |
-
[0x1c3b, 0x1c49],
|
| 250 |
-
[0x1c4d, 0x1c88],
|
| 251 |
-
[0x1c90, 0x1cba],
|
| 252 |
-
[0x1cbd, 0x1cc7],
|
| 253 |
-
[0x1cd3],
|
| 254 |
-
[0x1ce9, 0x1cec],
|
| 255 |
-
[0x1cee, 0x1cf3],
|
| 256 |
-
[0x1cf5, 0x1cf6],
|
| 257 |
-
[0x1cfa],
|
| 258 |
-
[0x1d00, 0x1dbf],
|
| 259 |
-
[0x1e00, 0x1f15],
|
| 260 |
-
[0x1f18, 0x1f1d],
|
| 261 |
-
[0x1f20, 0x1f45],
|
| 262 |
-
[0x1f48, 0x1f4d],
|
| 263 |
-
[0x1f50, 0x1f57],
|
| 264 |
-
[0x1f59],
|
| 265 |
-
[0x1f5b],
|
| 266 |
-
[0x1f5d],
|
| 267 |
-
[0x1f5f, 0x1f7d],
|
| 268 |
-
[0x1f80, 0x1fb4],
|
| 269 |
-
[0x1fb6, 0x1fc4],
|
| 270 |
-
[0x1fc6, 0x1fd3],
|
| 271 |
-
[0x1fd6, 0x1fdb],
|
| 272 |
-
[0x1fdd, 0x1fef],
|
| 273 |
-
[0x1ff2, 0x1ff4],
|
| 274 |
-
[0x1ff6, 0x1ffe],
|
| 275 |
-
[0x2000, 0x200a],
|
| 276 |
-
[0x2010, 0x2029],
|
| 277 |
-
[0x202f, 0x205f],
|
| 278 |
-
[0x2070, 0x2071],
|
| 279 |
-
[0x2074, 0x208e],
|
| 280 |
-
[0x2090, 0x209c],
|
| 281 |
-
[0x20a0, 0x20c0],
|
| 282 |
-
[0x2100, 0x218b],
|
| 283 |
-
[0x2190, 0x2426],
|
| 284 |
-
[0x2440, 0x244a],
|
| 285 |
-
[0x2460, 0x2b73],
|
| 286 |
-
[0x2b76, 0x2b95],
|
| 287 |
-
[0x2b97, 0x2cee],
|
| 288 |
-
[0x2cf2, 0x2cf3],
|
| 289 |
-
[0x2cf9, 0x2d25],
|
| 290 |
-
[0x2d27],
|
| 291 |
-
[0x2d2d],
|
| 292 |
-
[0x2d30, 0x2d67],
|
| 293 |
-
[0x2d6f, 0x2d70],
|
| 294 |
-
[0x2d80, 0x2d96],
|
| 295 |
-
[0x2da0, 0x2da6],
|
| 296 |
-
[0x2da8, 0x2dae],
|
| 297 |
-
[0x2db0, 0x2db6],
|
| 298 |
-
[0x2db8, 0x2dbe],
|
| 299 |
-
[0x2dc0, 0x2dc6],
|
| 300 |
-
[0x2dc8, 0x2dce],
|
| 301 |
-
[0x2dd0, 0x2dd6],
|
| 302 |
-
[0x2dd8, 0x2dde],
|
| 303 |
-
[0x2e00, 0x2e5d],
|
| 304 |
-
[0x2e80, 0x2e99],
|
| 305 |
-
[0x2e9b, 0x2ef3],
|
| 306 |
-
[0x2f00, 0x2fd5],
|
| 307 |
-
[0x2ff0, 0x3029],
|
| 308 |
-
[0x3030, 0x303f],
|
| 309 |
-
[0x3041, 0x3096],
|
| 310 |
-
[0x309b, 0x30ff],
|
| 311 |
-
[0x3105, 0x312f],
|
| 312 |
-
[0x3131, 0x318e],
|
| 313 |
-
[0x3190, 0x31e3],
|
| 314 |
-
[0x31ef, 0x321e],
|
| 315 |
-
[0x3220, 0x3400],
|
| 316 |
-
[0x4dbf, 0x4e00],
|
| 317 |
-
[0x9fff, 0xa48c],
|
| 318 |
-
[0xa490, 0xa4c6],
|
| 319 |
-
[0xa4d0, 0xa62b],
|
| 320 |
-
[0xa640, 0xa66e],
|
| 321 |
-
[0xa673],
|
| 322 |
-
[0xa67e, 0xa69d],
|
| 323 |
-
[0xa6a0, 0xa6ef],
|
| 324 |
-
[0xa6f2, 0xa6f7],
|
| 325 |
-
[0xa700, 0xa7ca],
|
| 326 |
-
[0xa7d0, 0xa7d1],
|
| 327 |
-
[0xa7d3],
|
| 328 |
-
[0xa7d5, 0xa7d9],
|
| 329 |
-
[0xa7f2, 0xa801],
|
| 330 |
-
[0xa803, 0xa805],
|
| 331 |
-
[0xa807, 0xa80a],
|
| 332 |
-
[0xa80c, 0xa822],
|
| 333 |
-
[0xa828, 0xa82b],
|
| 334 |
-
[0xa830, 0xa839],
|
| 335 |
-
[0xa840, 0xa877],
|
| 336 |
-
[0xa882, 0xa8b3],
|
| 337 |
-
[0xa8ce, 0xa8d9],
|
| 338 |
-
[0xa8f2, 0xa8fe],
|
| 339 |
-
[0xa900, 0xa925],
|
| 340 |
-
[0xa92e, 0xa946],
|
| 341 |
-
[0xa95f],
|
| 342 |
-
[0xa984, 0xa9b2],
|
| 343 |
-
[0xa9c1, 0xa9cd],
|
| 344 |
-
[0xa9cf, 0xa9d9],
|
| 345 |
-
[0xa9de, 0xa9e4],
|
| 346 |
-
[0xa9e6, 0xa9fe],
|
| 347 |
-
[0xaa00, 0xaa28],
|
| 348 |
-
[0xaa40, 0xaa42],
|
| 349 |
-
[0xaa44, 0xaa4b],
|
| 350 |
-
[0xaa50, 0xaa59],
|
| 351 |
-
[0xaa5c, 0xaa7a],
|
| 352 |
-
[0xaa7e, 0xaaaf],
|
| 353 |
-
[0xaab1],
|
| 354 |
-
[0xaab5, 0xaab6],
|
| 355 |
-
[0xaab9, 0xaabd],
|
| 356 |
-
[0xaac0],
|
| 357 |
-
[0xaac2],
|
| 358 |
-
[0xaadb, 0xaaea],
|
| 359 |
-
[0xaaf0, 0xaaf4],
|
| 360 |
-
[0xab01, 0xab06],
|
| 361 |
-
[0xab09, 0xab0e],
|
| 362 |
-
[0xab11, 0xab16],
|
| 363 |
-
[0xab20, 0xab26],
|
| 364 |
-
[0xab28, 0xab2e],
|
| 365 |
-
[0xab30, 0xab6b],
|
| 366 |
-
[0xab70, 0xabe2],
|
| 367 |
-
[0xabeb],
|
| 368 |
-
[0xabf0, 0xabf9],
|
| 369 |
-
[0xac00],
|
| 370 |
-
[0xd7a3],
|
| 371 |
-
[0xf900, 0xfa6d],
|
| 372 |
-
[0xfa70, 0xfad9],
|
| 373 |
-
[0xfb00, 0xfb06],
|
| 374 |
-
[0xfb13, 0xfb17],
|
| 375 |
-
[0xfb1d],
|
| 376 |
-
[0xfb1f, 0xfb36],
|
| 377 |
-
[0xfb38, 0xfb3c],
|
| 378 |
-
[0xfb3e],
|
| 379 |
-
[0xfb40, 0xfb41],
|
| 380 |
-
[0xfb43, 0xfb44],
|
| 381 |
-
[0xfb46, 0xfbc2],
|
| 382 |
-
[0xfbd3, 0xfd8f],
|
| 383 |
-
[0xfd92, 0xfdc7],
|
| 384 |
-
[0xfdcf],
|
| 385 |
-
[0xfdf0, 0xfdff],
|
| 386 |
-
[0xfe10, 0xfe19],
|
| 387 |
-
[0xfe30, 0xfe52],
|
| 388 |
-
[0xfe54, 0xfe66],
|
| 389 |
-
[0xfe68, 0xfe6b],
|
| 390 |
-
[0xfe70, 0xfe74],
|
| 391 |
-
[0xfe76, 0xfefc],
|
| 392 |
-
[0xff01, 0xff9d],
|
| 393 |
-
[0xffa0, 0xffbe],
|
| 394 |
-
[0xffc2, 0xffc7],
|
| 395 |
-
[0xffca, 0xffcf],
|
| 396 |
-
[0xffd2, 0xffd7],
|
| 397 |
-
[0xffda, 0xffdc],
|
| 398 |
-
[0xffe0, 0xffe6],
|
| 399 |
-
[0xffe8, 0xffee],
|
| 400 |
-
[0xfffc, 0xfffd],
|
| 401 |
-
[0x10000, 0x1000b],
|
| 402 |
-
[0x1000d, 0x10026],
|
| 403 |
-
[0x10028, 0x1003a],
|
| 404 |
-
[0x1003c, 0x1003d],
|
| 405 |
-
[0x1003f, 0x1004d],
|
| 406 |
-
[0x10050, 0x1005d],
|
| 407 |
-
[0x10080, 0x100fa],
|
| 408 |
-
[0x10100, 0x10102],
|
| 409 |
-
[0x10107, 0x10133],
|
| 410 |
-
[0x10137, 0x1018e],
|
| 411 |
-
[0x10190, 0x1019c],
|
| 412 |
-
[0x101a0],
|
| 413 |
-
[0x101d0, 0x101fc],
|
| 414 |
-
[0x10280, 0x1029c],
|
| 415 |
-
[0x102a0, 0x102d0],
|
| 416 |
-
[0x102e1, 0x102fb],
|
| 417 |
-
[0x10300, 0x10323],
|
| 418 |
-
[0x1032d, 0x1034a],
|
| 419 |
-
[0x10350, 0x10375],
|
| 420 |
-
[0x10380, 0x1039d],
|
| 421 |
-
[0x1039f, 0x103c3],
|
| 422 |
-
[0x103c8, 0x103d5],
|
| 423 |
-
[0x10400, 0x1049d],
|
| 424 |
-
[0x104a0, 0x104a9],
|
| 425 |
-
[0x104b0, 0x104d3],
|
| 426 |
-
[0x104d8, 0x104fb],
|
| 427 |
-
[0x10500, 0x10527],
|
| 428 |
-
[0x10530, 0x10563],
|
| 429 |
-
[0x1056f, 0x1057a],
|
| 430 |
-
[0x1057c, 0x1058a],
|
| 431 |
-
[0x1058c, 0x10592],
|
| 432 |
-
[0x10594, 0x10595],
|
| 433 |
-
[0x10597, 0x105a1],
|
| 434 |
-
[0x105a3, 0x105b1],
|
| 435 |
-
[0x105b3, 0x105b9],
|
| 436 |
-
[0x105bb, 0x105bc],
|
| 437 |
-
[0x10600, 0x10736],
|
| 438 |
-
[0x10740, 0x10755],
|
| 439 |
-
[0x10760, 0x10767],
|
| 440 |
-
[0x10780, 0x10785],
|
| 441 |
-
[0x10787, 0x107b0],
|
| 442 |
-
[0x107b2, 0x107ba],
|
| 443 |
-
[0x10800, 0x10805],
|
| 444 |
-
[0x10808],
|
| 445 |
-
[0x1080a, 0x10835],
|
| 446 |
-
[0x10837, 0x10838],
|
| 447 |
-
[0x1083c],
|
| 448 |
-
[0x1083f, 0x10855],
|
| 449 |
-
[0x10857, 0x1089e],
|
| 450 |
-
[0x108a7, 0x108af],
|
| 451 |
-
[0x108e0, 0x108f2],
|
| 452 |
-
[0x108f4, 0x108f5],
|
| 453 |
-
[0x108fb, 0x1091b],
|
| 454 |
-
[0x1091f, 0x10939],
|
| 455 |
-
[0x1093f],
|
| 456 |
-
[0x10980, 0x109b7],
|
| 457 |
-
[0x109bc, 0x109cf],
|
| 458 |
-
[0x109d2, 0x10a00],
|
| 459 |
-
[0x10a10, 0x10a13],
|
| 460 |
-
[0x10a15, 0x10a17],
|
| 461 |
-
[0x10a19, 0x10a35],
|
| 462 |
-
[0x10a40, 0x10a48],
|
| 463 |
-
[0x10a50, 0x10a58],
|
| 464 |
-
[0x10a60, 0x10a9f],
|
| 465 |
-
[0x10ac0, 0x10ae4],
|
| 466 |
-
[0x10aeb, 0x10af6],
|
| 467 |
-
[0x10b00, 0x10b35],
|
| 468 |
-
[0x10b39, 0x10b55],
|
| 469 |
-
[0x10b58, 0x10b72],
|
| 470 |
-
[0x10b78, 0x10b91],
|
| 471 |
-
[0x10b99, 0x10b9c],
|
| 472 |
-
[0x10ba9, 0x10baf],
|
| 473 |
-
[0x10c00, 0x10c48],
|
| 474 |
-
[0x10c80, 0x10cb2],
|
| 475 |
-
[0x10cc0, 0x10cf2],
|
| 476 |
-
[0x10cfa, 0x10d23],
|
| 477 |
-
[0x10d30, 0x10d39],
|
| 478 |
-
[0x10e60, 0x10e7e],
|
| 479 |
-
[0x10e80, 0x10ea9],
|
| 480 |
-
[0x10ead],
|
| 481 |
-
[0x10eb0, 0x10eb1],
|
| 482 |
-
[0x10f00, 0x10f27],
|
| 483 |
-
[0x10f30, 0x10f45],
|
| 484 |
-
[0x10f51, 0x10f59],
|
| 485 |
-
[0x10f70, 0x10f81],
|
| 486 |
-
[0x10f86, 0x10f89],
|
| 487 |
-
[0x10fb0, 0x10fcb],
|
| 488 |
-
[0x10fe0, 0x10ff6],
|
| 489 |
-
[0x11003, 0x11037],
|
| 490 |
-
[0x11047, 0x1104d],
|
| 491 |
-
[0x11052, 0x1106f],
|
| 492 |
-
[0x11071, 0x11072],
|
| 493 |
-
[0x11075],
|
| 494 |
-
[0x11083, 0x110af],
|
| 495 |
-
[0x110bb, 0x110bc],
|
| 496 |
-
[0x110be, 0x110c1],
|
| 497 |
-
[0x110d0, 0x110e8],
|
| 498 |
-
[0x110f0, 0x110f9],
|
| 499 |
-
[0x11103, 0x11126],
|
| 500 |
-
[0x11136, 0x11144],
|
| 501 |
-
[0x11147],
|
| 502 |
-
[0x11150, 0x11172],
|
| 503 |
-
[0x11174, 0x11176],
|
| 504 |
-
[0x11183, 0x111b2],
|
| 505 |
-
[0x111c1],
|
| 506 |
-
[0x111c4, 0x111c8],
|
| 507 |
-
[0x111cd],
|
| 508 |
-
[0x111d0, 0x111df],
|
| 509 |
-
[0x111e1, 0x111f4],
|
| 510 |
-
[0x11200, 0x11211],
|
| 511 |
-
[0x11213, 0x1122b],
|
| 512 |
-
[0x11238, 0x1123d],
|
| 513 |
-
[0x1123f, 0x11240],
|
| 514 |
-
[0x11280, 0x11286],
|
| 515 |
-
[0x11288],
|
| 516 |
-
[0x1128a, 0x1128d],
|
| 517 |
-
[0x1128f, 0x1129d],
|
| 518 |
-
[0x1129f, 0x112a9],
|
| 519 |
-
[0x112b0, 0x112de],
|
| 520 |
-
[0x112f0, 0x112f9],
|
| 521 |
-
[0x11305, 0x1130c],
|
| 522 |
-
[0x1130f, 0x11310],
|
| 523 |
-
[0x11313, 0x11328],
|
| 524 |
-
[0x1132a, 0x11330],
|
| 525 |
-
[0x11332, 0x11333],
|
| 526 |
-
[0x11335, 0x11339],
|
| 527 |
-
[0x1133d],
|
| 528 |
-
[0x11350],
|
| 529 |
-
[0x1135d, 0x11361],
|
| 530 |
-
[0x11400, 0x11434],
|
| 531 |
-
[0x11447, 0x1145b],
|
| 532 |
-
[0x1145d],
|
| 533 |
-
[0x1145f, 0x11461],
|
| 534 |
-
[0x11480, 0x114af],
|
| 535 |
-
[0x114c4, 0x114c7],
|
| 536 |
-
[0x114d0, 0x114d9],
|
| 537 |
-
[0x11580, 0x115ae],
|
| 538 |
-
[0x115c1, 0x115db],
|
| 539 |
-
[0x11600, 0x1162f],
|
| 540 |
-
[0x11641, 0x11644],
|
| 541 |
-
[0x11650, 0x11659],
|
| 542 |
-
[0x11660, 0x1166c],
|
| 543 |
-
[0x11680, 0x116aa],
|
| 544 |
-
[0x116b8, 0x116b9],
|
| 545 |
-
[0x116c0, 0x116c9],
|
| 546 |
-
[0x11700, 0x1171a],
|
| 547 |
-
[0x11730, 0x11746],
|
| 548 |
-
[0x11800, 0x1182b],
|
| 549 |
-
[0x1183b],
|
| 550 |
-
[0x118a0, 0x118f2],
|
| 551 |
-
[0x118ff, 0x11906],
|
| 552 |
-
[0x11909],
|
| 553 |
-
[0x1190c, 0x11913],
|
| 554 |
-
[0x11915, 0x11916],
|
| 555 |
-
[0x11918, 0x1192f],
|
| 556 |
-
[0x11944, 0x11946],
|
| 557 |
-
[0x11950, 0x11959],
|
| 558 |
-
[0x119a0, 0x119a7],
|
| 559 |
-
[0x119aa, 0x119d0],
|
| 560 |
-
[0x119e1, 0x119e3],
|
| 561 |
-
[0x11a00],
|
| 562 |
-
[0x11a0b, 0x11a32],
|
| 563 |
-
[0x11a3f, 0x11a46],
|
| 564 |
-
[0x11a50],
|
| 565 |
-
[0x11a5c, 0x11a83],
|
| 566 |
-
[0x11a9a, 0x11aa2],
|
| 567 |
-
[0x11ab0, 0x11af8],
|
| 568 |
-
[0x11b00, 0x11b09],
|
| 569 |
-
[0x11c00, 0x11c08],
|
| 570 |
-
[0x11c0a, 0x11c2e],
|
| 571 |
-
[0x11c40, 0x11c45],
|
| 572 |
-
[0x11c50, 0x11c6c],
|
| 573 |
-
[0x11c70, 0x11c8f],
|
| 574 |
-
[0x11d00, 0x11d06],
|
| 575 |
-
[0x11d08, 0x11d09],
|
| 576 |
-
[0x11d0b, 0x11d30],
|
| 577 |
-
[0x11d50, 0x11d59],
|
| 578 |
-
[0x11d60, 0x11d65],
|
| 579 |
-
[0x11d67, 0x11d68],
|
| 580 |
-
[0x11d6a, 0x11d89],
|
| 581 |
-
[0x11d98],
|
| 582 |
-
[0x11da0, 0x11da9],
|
| 583 |
-
[0x11ee0, 0x11ef2],
|
| 584 |
-
[0x11ef7, 0x11ef8],
|
| 585 |
-
[0x11f04, 0x11f10],
|
| 586 |
-
[0x11f12, 0x11f33],
|
| 587 |
-
[0x11f43, 0x11f59],
|
| 588 |
-
[0x11fb0],
|
| 589 |
-
[0x11fc0, 0x11ff1],
|
| 590 |
-
[0x11fff, 0x12399],
|
| 591 |
-
[0x12400, 0x1246e],
|
| 592 |
-
[0x12470, 0x12474],
|
| 593 |
-
[0x12480, 0x12543],
|
| 594 |
-
[0x12f90, 0x12ff2],
|
| 595 |
-
[0x13000, 0x1342f],
|
| 596 |
-
[0x13441, 0x13446],
|
| 597 |
-
[0x14400, 0x14646],
|
| 598 |
-
[0x16800, 0x16a38],
|
| 599 |
-
[0x16a40, 0x16a5e],
|
| 600 |
-
[0x16a60, 0x16a69],
|
| 601 |
-
[0x16a6e, 0x16abe],
|
| 602 |
-
[0x16ac0, 0x16ac9],
|
| 603 |
-
[0x16ad0, 0x16aed],
|
| 604 |
-
[0x16af5],
|
| 605 |
-
[0x16b00, 0x16b2f],
|
| 606 |
-
[0x16b37, 0x16b45],
|
| 607 |
-
[0x16b50, 0x16b59],
|
| 608 |
-
[0x16b5b, 0x16b61],
|
| 609 |
-
[0x16b63, 0x16b77],
|
| 610 |
-
[0x16b7d, 0x16b8f],
|
| 611 |
-
[0x16e40, 0x16e9a],
|
| 612 |
-
[0x16f00, 0x16f4a],
|
| 613 |
-
[0x16f50],
|
| 614 |
-
[0x16f93, 0x16f9f],
|
| 615 |
-
[0x16fe0, 0x16fe3],
|
| 616 |
-
[0x17000],
|
| 617 |
-
[0x187f7],
|
| 618 |
-
[0x18800, 0x18cd5],
|
| 619 |
-
[0x18d00],
|
| 620 |
-
[0x18d08],
|
| 621 |
-
[0x1aff0, 0x1aff3],
|
| 622 |
-
[0x1aff5, 0x1affb],
|
| 623 |
-
[0x1affd, 0x1affe],
|
| 624 |
-
[0x1b000, 0x1b122],
|
| 625 |
-
[0x1b132],
|
| 626 |
-
[0x1b150, 0x1b152],
|
| 627 |
-
[0x1b155],
|
| 628 |
-
[0x1b164, 0x1b167],
|
| 629 |
-
[0x1b170, 0x1b2fb],
|
| 630 |
-
[0x1bc00, 0x1bc6a],
|
| 631 |
-
[0x1bc70, 0x1bc7c],
|
| 632 |
-
[0x1bc80, 0x1bc88],
|
| 633 |
-
[0x1bc90, 0x1bc99],
|
| 634 |
-
[0x1bc9c],
|
| 635 |
-
[0x1bc9f],
|
| 636 |
-
[0x1cf50, 0x1cfc3],
|
| 637 |
-
[0x1d000, 0x1d0f5],
|
| 638 |
-
[0x1d100, 0x1d126],
|
| 639 |
-
[0x1d129, 0x1d164],
|
| 640 |
-
[0x1d16a, 0x1d16c],
|
| 641 |
-
[0x1d183, 0x1d184],
|
| 642 |
-
[0x1d18c, 0x1d1a9],
|
| 643 |
-
[0x1d1ae, 0x1d1ea],
|
| 644 |
-
[0x1d200, 0x1d241],
|
| 645 |
-
[0x1d245],
|
| 646 |
-
[0x1d2c0, 0x1d2d3],
|
| 647 |
-
[0x1d2e0, 0x1d2f3],
|
| 648 |
-
[0x1d300, 0x1d356],
|
| 649 |
-
[0x1d360, 0x1d378],
|
| 650 |
-
[0x1d400, 0x1d454],
|
| 651 |
-
[0x1d456, 0x1d49c],
|
| 652 |
-
[0x1d49e, 0x1d49f],
|
| 653 |
-
[0x1d4a2],
|
| 654 |
-
[0x1d4a5, 0x1d4a6],
|
| 655 |
-
[0x1d4a9, 0x1d4ac],
|
| 656 |
-
[0x1d4ae, 0x1d4b9],
|
| 657 |
-
[0x1d4bb],
|
| 658 |
-
[0x1d4bd, 0x1d4c3],
|
| 659 |
-
[0x1d4c5, 0x1d505],
|
| 660 |
-
[0x1d507, 0x1d50a],
|
| 661 |
-
[0x1d50d, 0x1d514],
|
| 662 |
-
[0x1d516, 0x1d51c],
|
| 663 |
-
[0x1d51e, 0x1d539],
|
| 664 |
-
[0x1d53b, 0x1d53e],
|
| 665 |
-
[0x1d540, 0x1d544],
|
| 666 |
-
[0x1d546],
|
| 667 |
-
[0x1d54a, 0x1d550],
|
| 668 |
-
[0x1d552, 0x1d6a5],
|
| 669 |
-
[0x1d6a8, 0x1d7cb],
|
| 670 |
-
[0x1d7ce, 0x1d9ff],
|
| 671 |
-
[0x1da37, 0x1da3a],
|
| 672 |
-
[0x1da6d, 0x1da74],
|
| 673 |
-
[0x1da76, 0x1da83],
|
| 674 |
-
[0x1da85, 0x1da8b],
|
| 675 |
-
[0x1df00, 0x1df1e],
|
| 676 |
-
[0x1df25, 0x1df2a],
|
| 677 |
-
[0x1e030, 0x1e06d],
|
| 678 |
-
[0x1e100, 0x1e12c],
|
| 679 |
-
[0x1e137, 0x1e13d],
|
| 680 |
-
[0x1e140, 0x1e149],
|
| 681 |
-
[0x1e14e, 0x1e14f],
|
| 682 |
-
[0x1e290, 0x1e2ad],
|
| 683 |
-
[0x1e2c0, 0x1e2eb],
|
| 684 |
-
[0x1e2f0, 0x1e2f9],
|
| 685 |
-
[0x1e2ff],
|
| 686 |
-
[0x1e4d0, 0x1e4eb],
|
| 687 |
-
[0x1e4f0, 0x1e4f9],
|
| 688 |
-
[0x1e7e0, 0x1e7e6],
|
| 689 |
-
[0x1e7e8, 0x1e7eb],
|
| 690 |
-
[0x1e7ed, 0x1e7ee],
|
| 691 |
-
[0x1e7f0, 0x1e7fe],
|
| 692 |
-
[0x1e800, 0x1e8c4],
|
| 693 |
-
[0x1e8c7, 0x1e8cf],
|
| 694 |
-
[0x1e900, 0x1e943],
|
| 695 |
-
[0x1e94b],
|
| 696 |
-
[0x1e950, 0x1e959],
|
| 697 |
-
[0x1e95e, 0x1e95f],
|
| 698 |
-
[0x1ec71, 0x1ecb4],
|
| 699 |
-
[0x1ed01, 0x1ed3d],
|
| 700 |
-
[0x1ee00, 0x1ee03],
|
| 701 |
-
[0x1ee05, 0x1ee1f],
|
| 702 |
-
[0x1ee21, 0x1ee22],
|
| 703 |
-
[0x1ee24],
|
| 704 |
-
[0x1ee27],
|
| 705 |
-
[0x1ee29, 0x1ee32],
|
| 706 |
-
[0x1ee34, 0x1ee37],
|
| 707 |
-
[0x1ee39],
|
| 708 |
-
[0x1ee3b],
|
| 709 |
-
[0x1ee42],
|
| 710 |
-
[0x1ee47],
|
| 711 |
-
[0x1ee49],
|
| 712 |
-
[0x1ee4b],
|
| 713 |
-
[0x1ee4d, 0x1ee4f],
|
| 714 |
-
[0x1ee51, 0x1ee52],
|
| 715 |
-
[0x1ee54],
|
| 716 |
-
[0x1ee57],
|
| 717 |
-
[0x1ee59],
|
| 718 |
-
[0x1ee5b],
|
| 719 |
-
[0x1ee5d],
|
| 720 |
-
[0x1ee5f],
|
| 721 |
-
[0x1ee61, 0x1ee62],
|
| 722 |
-
[0x1ee64],
|
| 723 |
-
[0x1ee67, 0x1ee6a],
|
| 724 |
-
[0x1ee6c, 0x1ee72],
|
| 725 |
-
[0x1ee74, 0x1ee77],
|
| 726 |
-
[0x1ee79, 0x1ee7c],
|
| 727 |
-
[0x1ee7e],
|
| 728 |
-
[0x1ee80, 0x1ee89],
|
| 729 |
-
[0x1ee8b, 0x1ee9b],
|
| 730 |
-
[0x1eea1, 0x1eea3],
|
| 731 |
-
[0x1eea5, 0x1eea9],
|
| 732 |
-
[0x1eeab, 0x1eebb],
|
| 733 |
-
[0x1eef0, 0x1eef1],
|
| 734 |
-
[0x1f000, 0x1f02b],
|
| 735 |
-
[0x1f030, 0x1f093],
|
| 736 |
-
[0x1f0a0, 0x1f0ae],
|
| 737 |
-
[0x1f0b1, 0x1f0bf],
|
| 738 |
-
[0x1f0c1, 0x1f0cf],
|
| 739 |
-
[0x1f0d1, 0x1f0f5],
|
| 740 |
-
[0x1f100, 0x1f1ad],
|
| 741 |
-
[0x1f200, 0x1f202],
|
| 742 |
-
[0x1f210, 0x1f23b],
|
| 743 |
-
[0x1f240, 0x1f248],
|
| 744 |
-
[0x1f250, 0x1f251],
|
| 745 |
-
[0x1f260, 0x1f265],
|
| 746 |
-
[0x1f300, 0x1f3fa],
|
| 747 |
-
[0x1f400, 0x1f6d7],
|
| 748 |
-
[0x1f6dc, 0x1f6ec],
|
| 749 |
-
[0x1f6f0, 0x1f6fc],
|
| 750 |
-
[0x1f700, 0x1f776],
|
| 751 |
-
[0x1f77b, 0x1f7d9],
|
| 752 |
-
[0x1f7e0, 0x1f7eb],
|
| 753 |
-
[0x1f7f0],
|
| 754 |
-
[0x1f800, 0x1f80b],
|
| 755 |
-
[0x1f810, 0x1f847],
|
| 756 |
-
[0x1f850, 0x1f859],
|
| 757 |
-
[0x1f860, 0x1f887],
|
| 758 |
-
[0x1f890, 0x1f8ad],
|
| 759 |
-
[0x1f8b0, 0x1f8b1],
|
| 760 |
-
[0x1f900, 0x1fa53],
|
| 761 |
-
[0x1fa60, 0x1fa6d],
|
| 762 |
-
[0x1fa70, 0x1fa7c],
|
| 763 |
-
[0x1fa80, 0x1fa88],
|
| 764 |
-
[0x1fa90, 0x1fabd],
|
| 765 |
-
[0x1fabf, 0x1fac5],
|
| 766 |
-
[0x1face, 0x1fadb],
|
| 767 |
-
[0x1fae0, 0x1fae8],
|
| 768 |
-
[0x1faf0, 0x1faf8],
|
| 769 |
-
[0x1fb00, 0x1fb92],
|
| 770 |
-
[0x1fb94, 0x1fbca],
|
| 771 |
-
[0x1fbf0, 0x1fbf9],
|
| 772 |
-
[0x20000],
|
| 773 |
-
[0x2a6df],
|
| 774 |
-
[0x2a700],
|
| 775 |
-
[0x2b739],
|
| 776 |
-
[0x2b740],
|
| 777 |
-
[0x2b81d],
|
| 778 |
-
[0x2b820],
|
| 779 |
-
[0x2cea1],
|
| 780 |
-
[0x2ceb0],
|
| 781 |
-
[0x2ebe0],
|
| 782 |
-
[0x2ebf0],
|
| 783 |
-
[0x2ee5d],
|
| 784 |
-
[0x2f800, 0x2fa1d],
|
| 785 |
-
[0x30000],
|
| 786 |
-
[0x3134a],
|
| 787 |
-
[0x31350],
|
| 788 |
-
[0x323af],
|
| 789 |
-
];
|
| 790 |
-
exports.autonomousDecomposableGraphemeRanges = [
|
| 791 |
-
[0xc0, 0xc5],
|
| 792 |
-
[0xc7, 0xcf],
|
| 793 |
-
[0xd1, 0xd6],
|
| 794 |
-
[0xd9, 0xdd],
|
| 795 |
-
[0xe0, 0xe5],
|
| 796 |
-
[0xe7, 0xef],
|
| 797 |
-
[0xf1, 0xf6],
|
| 798 |
-
[0xf9, 0xfd],
|
| 799 |
-
[0xff, 0x10f],
|
| 800 |
-
[0x112, 0x125],
|
| 801 |
-
[0x128, 0x130],
|
| 802 |
-
[0x134, 0x137],
|
| 803 |
-
[0x139, 0x13e],
|
| 804 |
-
[0x143, 0x148],
|
| 805 |
-
[0x14c, 0x151],
|
| 806 |
-
[0x154, 0x165],
|
| 807 |
-
[0x168, 0x17e],
|
| 808 |
-
[0x1a0, 0x1a1],
|
| 809 |
-
[0x1af, 0x1b0],
|
| 810 |
-
[0x1cd, 0x1dc],
|
| 811 |
-
[0x1de, 0x1e3],
|
| 812 |
-
[0x1e6, 0x1f0],
|
| 813 |
-
[0x1f4, 0x1f5],
|
| 814 |
-
[0x1f8, 0x21b],
|
| 815 |
-
[0x21e, 0x21f],
|
| 816 |
-
[0x226, 0x233],
|
| 817 |
-
[0x385, 0x386],
|
| 818 |
-
[0x388, 0x38a],
|
| 819 |
-
[0x38c],
|
| 820 |
-
[0x38e, 0x390],
|
| 821 |
-
[0x3aa, 0x3b0],
|
| 822 |
-
[0x3ca, 0x3ce],
|
| 823 |
-
[0x3d3, 0x3d4],
|
| 824 |
-
[0x400, 0x401],
|
| 825 |
-
[0x403],
|
| 826 |
-
[0x407],
|
| 827 |
-
[0x40c, 0x40e],
|
| 828 |
-
[0x419],
|
| 829 |
-
[0x439],
|
| 830 |
-
[0x450, 0x451],
|
| 831 |
-
[0x453],
|
| 832 |
-
[0x457],
|
| 833 |
-
[0x45c, 0x45e],
|
| 834 |
-
[0x476, 0x477],
|
| 835 |
-
[0x4c1, 0x4c2],
|
| 836 |
-
[0x4d0, 0x4d3],
|
| 837 |
-
[0x4d6, 0x4d7],
|
| 838 |
-
[0x4da, 0x4df],
|
| 839 |
-
[0x4e2, 0x4e7],
|
| 840 |
-
[0x4ea, 0x4f5],
|
| 841 |
-
[0x4f8, 0x4f9],
|
| 842 |
-
[0x622, 0x626],
|
| 843 |
-
[0x6c0],
|
| 844 |
-
[0x6c2],
|
| 845 |
-
[0x6d3],
|
| 846 |
-
[0x929],
|
| 847 |
-
[0x931],
|
| 848 |
-
[0x934],
|
| 849 |
-
[0x958, 0x95f],
|
| 850 |
-
[0x9dc, 0x9dd],
|
| 851 |
-
[0x9df],
|
| 852 |
-
[0xa33],
|
| 853 |
-
[0xa36],
|
| 854 |
-
[0xa59, 0xa5b],
|
| 855 |
-
[0xa5e],
|
| 856 |
-
[0xb5c, 0xb5d],
|
| 857 |
-
[0xb94],
|
| 858 |
-
[0xf43],
|
| 859 |
-
[0xf4d],
|
| 860 |
-
[0xf52],
|
| 861 |
-
[0xf57],
|
| 862 |
-
[0xf5c],
|
| 863 |
-
[0xf69],
|
| 864 |
-
[0x1026],
|
| 865 |
-
[0x1b06],
|
| 866 |
-
[0x1b08],
|
| 867 |
-
[0x1b0a],
|
| 868 |
-
[0x1b0c],
|
| 869 |
-
[0x1b0e],
|
| 870 |
-
[0x1b12],
|
| 871 |
-
[0x1e00, 0x1e99],
|
| 872 |
-
[0x1e9b],
|
| 873 |
-
[0x1ea0, 0x1ef9],
|
| 874 |
-
[0x1f00, 0x1f15],
|
| 875 |
-
[0x1f18, 0x1f1d],
|
| 876 |
-
[0x1f20, 0x1f45],
|
| 877 |
-
[0x1f48, 0x1f4d],
|
| 878 |
-
[0x1f50, 0x1f57],
|
| 879 |
-
[0x1f59],
|
| 880 |
-
[0x1f5b],
|
| 881 |
-
[0x1f5d],
|
| 882 |
-
[0x1f5f, 0x1f70],
|
| 883 |
-
[0x1f72],
|
| 884 |
-
[0x1f74],
|
| 885 |
-
[0x1f76],
|
| 886 |
-
[0x1f78],
|
| 887 |
-
[0x1f7a],
|
| 888 |
-
[0x1f7c],
|
| 889 |
-
[0x1f80, 0x1fb4],
|
| 890 |
-
[0x1fb6, 0x1fba],
|
| 891 |
-
[0x1fbc],
|
| 892 |
-
[0x1fc1, 0x1fc4],
|
| 893 |
-
[0x1fc6, 0x1fc8],
|
| 894 |
-
[0x1fca],
|
| 895 |
-
[0x1fcc, 0x1fd2],
|
| 896 |
-
[0x1fd6, 0x1fda],
|
| 897 |
-
[0x1fdd, 0x1fe2],
|
| 898 |
-
[0x1fe4, 0x1fea],
|
| 899 |
-
[0x1fec, 0x1fed],
|
| 900 |
-
[0x1ff2, 0x1ff4],
|
| 901 |
-
[0x1ff6, 0x1ff8],
|
| 902 |
-
[0x1ffa],
|
| 903 |
-
[0x1ffc],
|
| 904 |
-
[0x219a, 0x219b],
|
| 905 |
-
[0x21ae],
|
| 906 |
-
[0x21cd, 0x21cf],
|
| 907 |
-
[0x2204],
|
| 908 |
-
[0x2209],
|
| 909 |
-
[0x220c],
|
| 910 |
-
[0x2224],
|
| 911 |
-
[0x2226],
|
| 912 |
-
[0x2241],
|
| 913 |
-
[0x2244],
|
| 914 |
-
[0x2247],
|
| 915 |
-
[0x2249],
|
| 916 |
-
[0x2260],
|
| 917 |
-
[0x2262],
|
| 918 |
-
[0x226d, 0x2271],
|
| 919 |
-
[0x2274, 0x2275],
|
| 920 |
-
[0x2278, 0x2279],
|
| 921 |
-
[0x2280, 0x2281],
|
| 922 |
-
[0x2284, 0x2285],
|
| 923 |
-
[0x2288, 0x2289],
|
| 924 |
-
[0x22ac, 0x22af],
|
| 925 |
-
[0x22e0, 0x22e3],
|
| 926 |
-
[0x22ea, 0x22ed],
|
| 927 |
-
[0x2adc],
|
| 928 |
-
[0x304c],
|
| 929 |
-
[0x304e],
|
| 930 |
-
[0x3050],
|
| 931 |
-
[0x3052],
|
| 932 |
-
[0x3054],
|
| 933 |
-
[0x3056],
|
| 934 |
-
[0x3058],
|
| 935 |
-
[0x305a],
|
| 936 |
-
[0x305c],
|
| 937 |
-
[0x305e],
|
| 938 |
-
[0x3060],
|
| 939 |
-
[0x3062],
|
| 940 |
-
[0x3065],
|
| 941 |
-
[0x3067],
|
| 942 |
-
[0x3069],
|
| 943 |
-
[0x3070, 0x3071],
|
| 944 |
-
[0x3073, 0x3074],
|
| 945 |
-
[0x3076, 0x3077],
|
| 946 |
-
[0x3079, 0x307a],
|
| 947 |
-
[0x307c, 0x307d],
|
| 948 |
-
[0x3094],
|
| 949 |
-
[0x309e],
|
| 950 |
-
[0x30ac],
|
| 951 |
-
[0x30ae],
|
| 952 |
-
[0x30b0],
|
| 953 |
-
[0x30b2],
|
| 954 |
-
[0x30b4],
|
| 955 |
-
[0x30b6],
|
| 956 |
-
[0x30b8],
|
| 957 |
-
[0x30ba],
|
| 958 |
-
[0x30bc],
|
| 959 |
-
[0x30be],
|
| 960 |
-
[0x30c0],
|
| 961 |
-
[0x30c2],
|
| 962 |
-
[0x30c5],
|
| 963 |
-
[0x30c7],
|
| 964 |
-
[0x30c9],
|
| 965 |
-
[0x30d0, 0x30d1],
|
| 966 |
-
[0x30d3, 0x30d4],
|
| 967 |
-
[0x30d6, 0x30d7],
|
| 968 |
-
[0x30d9, 0x30da],
|
| 969 |
-
[0x30dc, 0x30dd],
|
| 970 |
-
[0x30f4],
|
| 971 |
-
[0x30f7, 0x30fa],
|
| 972 |
-
[0x30fe],
|
| 973 |
-
[0xac00],
|
| 974 |
-
[0xd7a3],
|
| 975 |
-
[0xfb1d],
|
| 976 |
-
[0xfb1f],
|
| 977 |
-
[0xfb2a, 0xfb36],
|
| 978 |
-
[0xfb38, 0xfb3c],
|
| 979 |
-
[0xfb3e],
|
| 980 |
-
[0xfb40, 0xfb41],
|
| 981 |
-
[0xfb43, 0xfb44],
|
| 982 |
-
[0xfb46, 0xfb4e],
|
| 983 |
-
[0x1109a],
|
| 984 |
-
[0x1109c],
|
| 985 |
-
[0x110ab],
|
| 986 |
-
[0x1d15e, 0x1d164],
|
| 987 |
-
[0x1d1bb, 0x1d1c0],
|
| 988 |
-
];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/helpers/ArrayInt64.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.Unit64 = exports.Zero64 = void 0;
|
| 4 |
-
exports.isZero64 = isZero64;
|
| 5 |
-
exports.isStrictlyNegative64 = isStrictlyNegative64;
|
| 6 |
-
exports.isStrictlyPositive64 = isStrictlyPositive64;
|
| 7 |
-
exports.isEqual64 = isEqual64;
|
| 8 |
-
exports.isStrictlySmaller64 = isStrictlySmaller64;
|
| 9 |
-
exports.clone64 = clone64;
|
| 10 |
-
exports.substract64 = substract64;
|
| 11 |
-
exports.negative64 = negative64;
|
| 12 |
-
exports.add64 = add64;
|
| 13 |
-
exports.halve64 = halve64;
|
| 14 |
-
exports.logLike64 = logLike64;
|
| 15 |
-
exports.Zero64 = { sign: 1, data: [0, 0] };
|
| 16 |
-
exports.Unit64 = { sign: 1, data: [0, 1] };
|
| 17 |
-
function isZero64(a) {
|
| 18 |
-
return a.data[0] === 0 && a.data[1] === 0;
|
| 19 |
-
}
|
| 20 |
-
function isStrictlyNegative64(a) {
|
| 21 |
-
return a.sign === -1 && !isZero64(a);
|
| 22 |
-
}
|
| 23 |
-
function isStrictlyPositive64(a) {
|
| 24 |
-
return a.sign === 1 && !isZero64(a);
|
| 25 |
-
}
|
| 26 |
-
function isEqual64(a, b) {
|
| 27 |
-
if (a.data[0] === b.data[0] && a.data[1] === b.data[1]) {
|
| 28 |
-
return a.sign === b.sign || (a.data[0] === 0 && a.data[1] === 0);
|
| 29 |
-
}
|
| 30 |
-
return false;
|
| 31 |
-
}
|
| 32 |
-
function isStrictlySmaller64Internal(a, b) {
|
| 33 |
-
return a[0] < b[0] || (a[0] === b[0] && a[1] < b[1]);
|
| 34 |
-
}
|
| 35 |
-
function isStrictlySmaller64(a, b) {
|
| 36 |
-
if (a.sign === b.sign) {
|
| 37 |
-
return a.sign === 1
|
| 38 |
-
? isStrictlySmaller64Internal(a.data, b.data)
|
| 39 |
-
: isStrictlySmaller64Internal(b.data, a.data);
|
| 40 |
-
}
|
| 41 |
-
return a.sign === -1 && (!isZero64(a) || !isZero64(b));
|
| 42 |
-
}
|
| 43 |
-
function clone64(a) {
|
| 44 |
-
return { sign: a.sign, data: [a.data[0], a.data[1]] };
|
| 45 |
-
}
|
| 46 |
-
function substract64DataInternal(a, b) {
|
| 47 |
-
let reminderLow = 0;
|
| 48 |
-
let low = a[1] - b[1];
|
| 49 |
-
if (low < 0) {
|
| 50 |
-
reminderLow = 1;
|
| 51 |
-
low = low >>> 0;
|
| 52 |
-
}
|
| 53 |
-
return [a[0] - b[0] - reminderLow, low];
|
| 54 |
-
}
|
| 55 |
-
function substract64Internal(a, b) {
|
| 56 |
-
if (a.sign === 1 && b.sign === -1) {
|
| 57 |
-
const low = a.data[1] + b.data[1];
|
| 58 |
-
const high = a.data[0] + b.data[0] + (low > 0xffffffff ? 1 : 0);
|
| 59 |
-
return { sign: 1, data: [high >>> 0, low >>> 0] };
|
| 60 |
-
}
|
| 61 |
-
return {
|
| 62 |
-
sign: 1,
|
| 63 |
-
data: a.sign === 1 ? substract64DataInternal(a.data, b.data) : substract64DataInternal(b.data, a.data),
|
| 64 |
-
};
|
| 65 |
-
}
|
| 66 |
-
function substract64(arrayIntA, arrayIntB) {
|
| 67 |
-
if (isStrictlySmaller64(arrayIntA, arrayIntB)) {
|
| 68 |
-
const out = substract64Internal(arrayIntB, arrayIntA);
|
| 69 |
-
out.sign = -1;
|
| 70 |
-
return out;
|
| 71 |
-
}
|
| 72 |
-
return substract64Internal(arrayIntA, arrayIntB);
|
| 73 |
-
}
|
| 74 |
-
function negative64(arrayIntA) {
|
| 75 |
-
return {
|
| 76 |
-
sign: -arrayIntA.sign,
|
| 77 |
-
data: [arrayIntA.data[0], arrayIntA.data[1]],
|
| 78 |
-
};
|
| 79 |
-
}
|
| 80 |
-
function add64(arrayIntA, arrayIntB) {
|
| 81 |
-
if (isZero64(arrayIntB)) {
|
| 82 |
-
if (isZero64(arrayIntA)) {
|
| 83 |
-
return clone64(exports.Zero64);
|
| 84 |
-
}
|
| 85 |
-
return clone64(arrayIntA);
|
| 86 |
-
}
|
| 87 |
-
return substract64(arrayIntA, negative64(arrayIntB));
|
| 88 |
-
}
|
| 89 |
-
function halve64(a) {
|
| 90 |
-
return {
|
| 91 |
-
sign: a.sign,
|
| 92 |
-
data: [Math.floor(a.data[0] / 2), (a.data[0] % 2 === 1 ? 0x80000000 : 0) + Math.floor(a.data[1] / 2)],
|
| 93 |
-
};
|
| 94 |
-
}
|
| 95 |
-
function logLike64(a) {
|
| 96 |
-
return {
|
| 97 |
-
sign: a.sign,
|
| 98 |
-
data: [0, Math.floor(Math.log(a.data[0] * 0x100000000 + a.data[1]) / Math.log(2))],
|
| 99 |
-
};
|
| 100 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/helpers/BiasNumericRange.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.integerLogLike = integerLogLike;
|
| 4 |
-
exports.bigIntLogLike = bigIntLogLike;
|
| 5 |
-
exports.biasNumericRange = biasNumericRange;
|
| 6 |
-
const globals_1 = require("../../../utils/globals");
|
| 7 |
-
const safeMathFloor = Math.floor;
|
| 8 |
-
const safeMathLog = Math.log;
|
| 9 |
-
function integerLogLike(v) {
|
| 10 |
-
return safeMathFloor(safeMathLog(v) / safeMathLog(2));
|
| 11 |
-
}
|
| 12 |
-
function bigIntLogLike(v) {
|
| 13 |
-
if (v === (0, globals_1.BigInt)(0))
|
| 14 |
-
return (0, globals_1.BigInt)(0);
|
| 15 |
-
return (0, globals_1.BigInt)((0, globals_1.String)(v).length);
|
| 16 |
-
}
|
| 17 |
-
function biasNumericRange(min, max, logLike) {
|
| 18 |
-
if (min === max) {
|
| 19 |
-
return [{ min: min, max: max }];
|
| 20 |
-
}
|
| 21 |
-
if (min < 0 && max > 0) {
|
| 22 |
-
const logMin = logLike(-min);
|
| 23 |
-
const logMax = logLike(max);
|
| 24 |
-
return [
|
| 25 |
-
{ min: -logMin, max: logMax },
|
| 26 |
-
{ min: (max - logMax), max: max },
|
| 27 |
-
{ min: min, max: min + logMin },
|
| 28 |
-
];
|
| 29 |
-
}
|
| 30 |
-
const logGap = logLike((max - min));
|
| 31 |
-
const arbCloseToMin = { min: min, max: min + logGap };
|
| 32 |
-
const arbCloseToMax = { min: (max - logGap), max: max };
|
| 33 |
-
return min < 0
|
| 34 |
-
? [arbCloseToMax, arbCloseToMin]
|
| 35 |
-
: [arbCloseToMin, arbCloseToMax];
|
| 36 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/helpers/BuildSchedulerFor.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.buildSchedulerFor = buildSchedulerFor;
|
| 4 |
-
const SchedulerImplem_1 = require("../implementations/SchedulerImplem");
|
| 5 |
-
function buildNextTaskIndex(ordering) {
|
| 6 |
-
let numTasks = 0;
|
| 7 |
-
return {
|
| 8 |
-
clone: () => buildNextTaskIndex(ordering),
|
| 9 |
-
nextTaskIndex: (scheduledTasks) => {
|
| 10 |
-
if (ordering.length <= numTasks) {
|
| 11 |
-
throw new Error(`Invalid schedulerFor defined: too many tasks have been scheduled`);
|
| 12 |
-
}
|
| 13 |
-
const taskIndex = scheduledTasks.findIndex((t) => t.taskId === ordering[numTasks]);
|
| 14 |
-
if (taskIndex === -1) {
|
| 15 |
-
throw new Error(`Invalid schedulerFor defined: unable to find next task`);
|
| 16 |
-
}
|
| 17 |
-
++numTasks;
|
| 18 |
-
return taskIndex;
|
| 19 |
-
},
|
| 20 |
-
};
|
| 21 |
-
}
|
| 22 |
-
function buildSchedulerFor(act, ordering) {
|
| 23 |
-
return new SchedulerImplem_1.SchedulerImplem(act, buildNextTaskIndex(ordering));
|
| 24 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/helpers/BuildSlicedGenerator.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.buildSlicedGenerator = buildSlicedGenerator;
|
| 4 |
-
const NoopSlicedGenerator_1 = require("../implementations/NoopSlicedGenerator");
|
| 5 |
-
const SlicedBasedGenerator_1 = require("../implementations/SlicedBasedGenerator");
|
| 6 |
-
function buildSlicedGenerator(arb, mrng, slices, biasFactor) {
|
| 7 |
-
if (biasFactor === undefined || slices.length === 0 || mrng.nextInt(1, biasFactor) !== 1) {
|
| 8 |
-
return new NoopSlicedGenerator_1.NoopSlicedGenerator(arb, mrng, biasFactor);
|
| 9 |
-
}
|
| 10 |
-
return new SlicedBasedGenerator_1.SlicedBasedGenerator(arb, mrng, slices, biasFactor);
|
| 11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/helpers/CustomEqualSet.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.CustomEqualSet = void 0;
|
| 4 |
-
const globals_1 = require("../../../utils/globals");
|
| 5 |
-
class CustomEqualSet {
|
| 6 |
-
constructor(isEqual) {
|
| 7 |
-
this.isEqual = isEqual;
|
| 8 |
-
this.data = [];
|
| 9 |
-
}
|
| 10 |
-
tryAdd(value) {
|
| 11 |
-
for (let idx = 0; idx !== this.data.length; ++idx) {
|
| 12 |
-
if (this.isEqual(this.data[idx], value)) {
|
| 13 |
-
return false;
|
| 14 |
-
}
|
| 15 |
-
}
|
| 16 |
-
(0, globals_1.safePush)(this.data, value);
|
| 17 |
-
return true;
|
| 18 |
-
}
|
| 19 |
-
size() {
|
| 20 |
-
return this.data.length;
|
| 21 |
-
}
|
| 22 |
-
getData() {
|
| 23 |
-
return this.data;
|
| 24 |
-
}
|
| 25 |
-
}
|
| 26 |
-
exports.CustomEqualSet = CustomEqualSet;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/helpers/DepthContext.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.getDepthContextFor = getDepthContextFor;
|
| 4 |
-
exports.createDepthIdentifier = createDepthIdentifier;
|
| 5 |
-
const globals_1 = require("../../../utils/globals");
|
| 6 |
-
const depthContextCache = new Map();
|
| 7 |
-
function getDepthContextFor(contextMeta) {
|
| 8 |
-
if (contextMeta === undefined) {
|
| 9 |
-
return { depth: 0 };
|
| 10 |
-
}
|
| 11 |
-
if (typeof contextMeta !== 'string') {
|
| 12 |
-
return contextMeta;
|
| 13 |
-
}
|
| 14 |
-
const cachedContext = (0, globals_1.safeMapGet)(depthContextCache, contextMeta);
|
| 15 |
-
if (cachedContext !== undefined) {
|
| 16 |
-
return cachedContext;
|
| 17 |
-
}
|
| 18 |
-
const context = { depth: 0 };
|
| 19 |
-
(0, globals_1.safeMapSet)(depthContextCache, contextMeta, context);
|
| 20 |
-
return context;
|
| 21 |
-
}
|
| 22 |
-
function createDepthIdentifier() {
|
| 23 |
-
const identifier = { depth: 0 };
|
| 24 |
-
return identifier;
|
| 25 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/helpers/DoubleHelpers.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.decomposeDouble = decomposeDouble;
|
| 4 |
-
exports.doubleToIndex = doubleToIndex;
|
| 5 |
-
exports.indexToDouble = indexToDouble;
|
| 6 |
-
const ArrayInt64_1 = require("./ArrayInt64");
|
| 7 |
-
const safeNegativeInfinity = Number.NEGATIVE_INFINITY;
|
| 8 |
-
const safePositiveInfinity = Number.POSITIVE_INFINITY;
|
| 9 |
-
const safeEpsilon = Number.EPSILON;
|
| 10 |
-
const INDEX_POSITIVE_INFINITY = { sign: 1, data: [2146435072, 0] };
|
| 11 |
-
const INDEX_NEGATIVE_INFINITY = { sign: -1, data: [2146435072, 1] };
|
| 12 |
-
const f64 = new Float64Array(1);
|
| 13 |
-
const u32 = new Uint32Array(f64.buffer, f64.byteOffset);
|
| 14 |
-
function bitCastDoubleToUInt64(f) {
|
| 15 |
-
f64[0] = f;
|
| 16 |
-
return [u32[1], u32[0]];
|
| 17 |
-
}
|
| 18 |
-
function decomposeDouble(d) {
|
| 19 |
-
const { 0: hi, 1: lo } = bitCastDoubleToUInt64(d);
|
| 20 |
-
const signBit = hi >>> 31;
|
| 21 |
-
const exponentBits = (hi >>> 20) & 0x7ff;
|
| 22 |
-
const significandBits = (hi & 0xfffff) * 0x100000000 + lo;
|
| 23 |
-
const exponent = exponentBits === 0 ? -1022 : exponentBits - 1023;
|
| 24 |
-
let significand = exponentBits === 0 ? 0 : 1;
|
| 25 |
-
significand += significandBits / 2 ** 52;
|
| 26 |
-
significand *= signBit === 0 ? 1 : -1;
|
| 27 |
-
return { exponent, significand };
|
| 28 |
-
}
|
| 29 |
-
function positiveNumberToInt64(n) {
|
| 30 |
-
return [~~(n / 0x100000000), n >>> 0];
|
| 31 |
-
}
|
| 32 |
-
function indexInDoubleFromDecomp(exponent, significand) {
|
| 33 |
-
if (exponent === -1022) {
|
| 34 |
-
const rescaledSignificand = significand * 2 ** 52;
|
| 35 |
-
return positiveNumberToInt64(rescaledSignificand);
|
| 36 |
-
}
|
| 37 |
-
const rescaledSignificand = (significand - 1) * 2 ** 52;
|
| 38 |
-
const exponentOnlyHigh = (exponent + 1023) * 2 ** 20;
|
| 39 |
-
const index = positiveNumberToInt64(rescaledSignificand);
|
| 40 |
-
index[0] += exponentOnlyHigh;
|
| 41 |
-
return index;
|
| 42 |
-
}
|
| 43 |
-
function doubleToIndex(d) {
|
| 44 |
-
if (d === safePositiveInfinity) {
|
| 45 |
-
return (0, ArrayInt64_1.clone64)(INDEX_POSITIVE_INFINITY);
|
| 46 |
-
}
|
| 47 |
-
if (d === safeNegativeInfinity) {
|
| 48 |
-
return (0, ArrayInt64_1.clone64)(INDEX_NEGATIVE_INFINITY);
|
| 49 |
-
}
|
| 50 |
-
const decomp = decomposeDouble(d);
|
| 51 |
-
const exponent = decomp.exponent;
|
| 52 |
-
const significand = decomp.significand;
|
| 53 |
-
if (d > 0 || (d === 0 && 1 / d === safePositiveInfinity)) {
|
| 54 |
-
return { sign: 1, data: indexInDoubleFromDecomp(exponent, significand) };
|
| 55 |
-
}
|
| 56 |
-
else {
|
| 57 |
-
const indexOpposite = indexInDoubleFromDecomp(exponent, -significand);
|
| 58 |
-
if (indexOpposite[1] === 0xffffffff) {
|
| 59 |
-
indexOpposite[0] += 1;
|
| 60 |
-
indexOpposite[1] = 0;
|
| 61 |
-
}
|
| 62 |
-
else {
|
| 63 |
-
indexOpposite[1] += 1;
|
| 64 |
-
}
|
| 65 |
-
return { sign: -1, data: indexOpposite };
|
| 66 |
-
}
|
| 67 |
-
}
|
| 68 |
-
function indexToDouble(index) {
|
| 69 |
-
if (index.sign === -1) {
|
| 70 |
-
const indexOpposite = { sign: 1, data: [index.data[0], index.data[1]] };
|
| 71 |
-
if (indexOpposite.data[1] === 0) {
|
| 72 |
-
indexOpposite.data[0] -= 1;
|
| 73 |
-
indexOpposite.data[1] = 0xffffffff;
|
| 74 |
-
}
|
| 75 |
-
else {
|
| 76 |
-
indexOpposite.data[1] -= 1;
|
| 77 |
-
}
|
| 78 |
-
return -indexToDouble(indexOpposite);
|
| 79 |
-
}
|
| 80 |
-
if ((0, ArrayInt64_1.isEqual64)(index, INDEX_POSITIVE_INFINITY)) {
|
| 81 |
-
return safePositiveInfinity;
|
| 82 |
-
}
|
| 83 |
-
if (index.data[0] < 0x200000) {
|
| 84 |
-
return (index.data[0] * 0x100000000 + index.data[1]) * 2 ** -1074;
|
| 85 |
-
}
|
| 86 |
-
const postIndexHigh = index.data[0] - 0x200000;
|
| 87 |
-
const exponent = -1021 + (postIndexHigh >> 20);
|
| 88 |
-
const significand = 1 + ((postIndexHigh & 0xfffff) * 2 ** 32 + index.data[1]) * safeEpsilon;
|
| 89 |
-
return significand * 2 ** exponent;
|
| 90 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/helpers/DoubleOnlyHelpers.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.onlyIntegersAfterThisValue = exports.maxNonIntegerValue = void 0;
|
| 4 |
-
exports.refineConstraintsForDoubleOnly = refineConstraintsForDoubleOnly;
|
| 5 |
-
exports.doubleOnlyMapper = doubleOnlyMapper;
|
| 6 |
-
exports.doubleOnlyUnmapper = doubleOnlyUnmapper;
|
| 7 |
-
const FloatingOnlyHelpers_1 = require("./FloatingOnlyHelpers");
|
| 8 |
-
const safeNegativeInfinity = Number.NEGATIVE_INFINITY;
|
| 9 |
-
const safePositiveInfinity = Number.POSITIVE_INFINITY;
|
| 10 |
-
const safeMaxValue = Number.MAX_VALUE;
|
| 11 |
-
exports.maxNonIntegerValue = 4503599627370495.5;
|
| 12 |
-
exports.onlyIntegersAfterThisValue = 4503599627370496;
|
| 13 |
-
function refineConstraintsForDoubleOnly(constraints) {
|
| 14 |
-
return (0, FloatingOnlyHelpers_1.refineConstraintsForFloatingOnly)(constraints, safeMaxValue, exports.maxNonIntegerValue, exports.onlyIntegersAfterThisValue);
|
| 15 |
-
}
|
| 16 |
-
function doubleOnlyMapper(value) {
|
| 17 |
-
return value === exports.onlyIntegersAfterThisValue
|
| 18 |
-
? safePositiveInfinity
|
| 19 |
-
: value === -exports.onlyIntegersAfterThisValue
|
| 20 |
-
? safeNegativeInfinity
|
| 21 |
-
: value;
|
| 22 |
-
}
|
| 23 |
-
function doubleOnlyUnmapper(value) {
|
| 24 |
-
if (typeof value !== 'number')
|
| 25 |
-
throw new Error('Unsupported type');
|
| 26 |
-
return value === safePositiveInfinity
|
| 27 |
-
? exports.onlyIntegersAfterThisValue
|
| 28 |
-
: value === safeNegativeInfinity
|
| 29 |
-
? -exports.onlyIntegersAfterThisValue
|
| 30 |
-
: value;
|
| 31 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/helpers/EnumerableKeysExtractor.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.extractEnumerableKeys = extractEnumerableKeys;
|
| 4 |
-
const safeObjectKeys = Object.keys;
|
| 5 |
-
const safeObjectGetOwnPropertySymbols = Object.getOwnPropertySymbols;
|
| 6 |
-
const safeObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
| 7 |
-
function extractEnumerableKeys(instance) {
|
| 8 |
-
const keys = safeObjectKeys(instance);
|
| 9 |
-
const symbols = safeObjectGetOwnPropertySymbols(instance);
|
| 10 |
-
for (let index = 0; index !== symbols.length; ++index) {
|
| 11 |
-
const symbol = symbols[index];
|
| 12 |
-
const descriptor = safeObjectGetOwnPropertyDescriptor(instance, symbol);
|
| 13 |
-
if (descriptor && descriptor.enumerable) {
|
| 14 |
-
keys.push(symbol);
|
| 15 |
-
}
|
| 16 |
-
}
|
| 17 |
-
return keys;
|
| 18 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/helpers/FloatHelpers.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.EPSILON_32 = exports.MAX_VALUE_32 = exports.MIN_VALUE_32 = void 0;
|
| 4 |
-
exports.decomposeFloat = decomposeFloat;
|
| 5 |
-
exports.floatToIndex = floatToIndex;
|
| 6 |
-
exports.indexToFloat = indexToFloat;
|
| 7 |
-
const safeNegativeInfinity = Number.NEGATIVE_INFINITY;
|
| 8 |
-
const safePositiveInfinity = Number.POSITIVE_INFINITY;
|
| 9 |
-
exports.MIN_VALUE_32 = 2 ** -126 * 2 ** -23;
|
| 10 |
-
exports.MAX_VALUE_32 = 2 ** 127 * (1 + (2 ** 23 - 1) / 2 ** 23);
|
| 11 |
-
exports.EPSILON_32 = 2 ** -23;
|
| 12 |
-
const INDEX_POSITIVE_INFINITY = 2139095040;
|
| 13 |
-
const INDEX_NEGATIVE_INFINITY = -2139095041;
|
| 14 |
-
const f32 = new Float32Array(1);
|
| 15 |
-
const u32 = new Uint32Array(f32.buffer, f32.byteOffset);
|
| 16 |
-
function bitCastFloatToUInt32(f) {
|
| 17 |
-
f32[0] = f;
|
| 18 |
-
return u32[0];
|
| 19 |
-
}
|
| 20 |
-
function decomposeFloat(f) {
|
| 21 |
-
const bits = bitCastFloatToUInt32(f);
|
| 22 |
-
const signBit = bits >>> 31;
|
| 23 |
-
const exponentBits = (bits >>> 23) & 0xff;
|
| 24 |
-
const significandBits = bits & 0x7fffff;
|
| 25 |
-
const exponent = exponentBits === 0 ? -126 : exponentBits - 127;
|
| 26 |
-
let significand = exponentBits === 0 ? 0 : 1;
|
| 27 |
-
significand += significandBits / 2 ** 23;
|
| 28 |
-
significand *= signBit === 0 ? 1 : -1;
|
| 29 |
-
return { exponent, significand };
|
| 30 |
-
}
|
| 31 |
-
function indexInFloatFromDecomp(exponent, significand) {
|
| 32 |
-
if (exponent === -126) {
|
| 33 |
-
return significand * 0x800000;
|
| 34 |
-
}
|
| 35 |
-
return (exponent + 127) * 0x800000 + (significand - 1) * 0x800000;
|
| 36 |
-
}
|
| 37 |
-
function floatToIndex(f) {
|
| 38 |
-
if (f === safePositiveInfinity) {
|
| 39 |
-
return INDEX_POSITIVE_INFINITY;
|
| 40 |
-
}
|
| 41 |
-
if (f === safeNegativeInfinity) {
|
| 42 |
-
return INDEX_NEGATIVE_INFINITY;
|
| 43 |
-
}
|
| 44 |
-
const decomp = decomposeFloat(f);
|
| 45 |
-
const exponent = decomp.exponent;
|
| 46 |
-
const significand = decomp.significand;
|
| 47 |
-
if (f > 0 || (f === 0 && 1 / f === safePositiveInfinity)) {
|
| 48 |
-
return indexInFloatFromDecomp(exponent, significand);
|
| 49 |
-
}
|
| 50 |
-
else {
|
| 51 |
-
return -indexInFloatFromDecomp(exponent, -significand) - 1;
|
| 52 |
-
}
|
| 53 |
-
}
|
| 54 |
-
function indexToFloat(index) {
|
| 55 |
-
if (index < 0) {
|
| 56 |
-
return -indexToFloat(-index - 1);
|
| 57 |
-
}
|
| 58 |
-
if (index === INDEX_POSITIVE_INFINITY) {
|
| 59 |
-
return safePositiveInfinity;
|
| 60 |
-
}
|
| 61 |
-
if (index < 0x1000000) {
|
| 62 |
-
return index * 2 ** -149;
|
| 63 |
-
}
|
| 64 |
-
const postIndex = index - 0x1000000;
|
| 65 |
-
const exponent = -125 + (postIndex >> 23);
|
| 66 |
-
const significand = 1 + (postIndex & 0x7fffff) / 0x800000;
|
| 67 |
-
return significand * 2 ** exponent;
|
| 68 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
node_modules/fast-check/lib/arbitrary/_internals/helpers/FloatOnlyHelpers.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
| 1 |
-
"use strict";
|
| 2 |
-
Object.defineProperty(exports, "__esModule", { value: true });
|
| 3 |
-
exports.onlyIntegersAfterThisValue = exports.maxNonIntegerValue = void 0;
|
| 4 |
-
exports.refineConstraintsForFloatOnly = refineConstraintsForFloatOnly;
|
| 5 |
-
exports.floatOnlyMapper = floatOnlyMapper;
|
| 6 |
-
exports.floatOnlyUnmapper = floatOnlyUnmapper;
|
| 7 |
-
const FloatHelpers_1 = require("./FloatHelpers");
|
| 8 |
-
const FloatingOnlyHelpers_1 = require("./FloatingOnlyHelpers");
|
| 9 |
-
const safeNegativeInfinity = Number.NEGATIVE_INFINITY;
|
| 10 |
-
const safePositiveInfinity = Number.POSITIVE_INFINITY;
|
| 11 |
-
const safeMaxValue = FloatHelpers_1.MAX_VALUE_32;
|
| 12 |
-
exports.maxNonIntegerValue = 8388607.5;
|
| 13 |
-
exports.onlyIntegersAfterThisValue = 8388608;
|
| 14 |
-
function refineConstraintsForFloatOnly(constraints) {
|
| 15 |
-
return (0, FloatingOnlyHelpers_1.refineConstraintsForFloatingOnly)(constraints, safeMaxValue, exports.maxNonIntegerValue, exports.onlyIntegersAfterThisValue);
|
| 16 |
-
}
|
| 17 |
-
function floatOnlyMapper(value) {
|
| 18 |
-
return value === exports.onlyIntegersAfterThisValue
|
| 19 |
-
? safePositiveInfinity
|
| 20 |
-
: value === -exports.onlyIntegersAfterThisValue
|
| 21 |
-
? safeNegativeInfinity
|
| 22 |
-
: value;
|
| 23 |
-
}
|
| 24 |
-
function floatOnlyUnmapper(value) {
|
| 25 |
-
if (typeof value !== 'number')
|
| 26 |
-
throw new Error('Unsupported type');
|
| 27 |
-
return value === safePositiveInfinity
|
| 28 |
-
? exports.onlyIntegersAfterThisValue
|
| 29 |
-
: value === safeNegativeInfinity
|
| 30 |
-
? -exports.onlyIntegersAfterThisValue
|
| 31 |
-
: value;
|
| 32 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|