Really-amin commited on
Commit
c293798
·
verified ·
1 Parent(s): b82a4f9

Delete node_modules

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. node_modules/.package-lock.json +0 -48
  2. node_modules/fast-check/CHANGELOG.md +0 -1039
  3. node_modules/fast-check/LICENSE +0 -21
  4. node_modules/fast-check/README.md +0 -249
  5. node_modules/fast-check/lib/arbitrary/_internals/AdapterArbitrary.js +0 -41
  6. node_modules/fast-check/lib/arbitrary/_internals/AlwaysShrinkableArbitrary.js +0 -27
  7. node_modules/fast-check/lib/arbitrary/_internals/ArrayArbitrary.js +0 -223
  8. node_modules/fast-check/lib/arbitrary/_internals/ArrayInt64Arbitrary.js +0 -127
  9. node_modules/fast-check/lib/arbitrary/_internals/BigIntArbitrary.js +0 -71
  10. node_modules/fast-check/lib/arbitrary/_internals/CloneArbitrary.js +0 -84
  11. node_modules/fast-check/lib/arbitrary/_internals/CommandsArbitrary.js +0 -110
  12. node_modules/fast-check/lib/arbitrary/_internals/ConstantArbitrary.js +0 -65
  13. node_modules/fast-check/lib/arbitrary/_internals/FrequencyArbitrary.js +0 -166
  14. node_modules/fast-check/lib/arbitrary/_internals/GeneratorArbitrary.js +0 -44
  15. node_modules/fast-check/lib/arbitrary/_internals/IntegerArbitrary.js +0 -76
  16. node_modules/fast-check/lib/arbitrary/_internals/LazyArbitrary.js +0 -30
  17. node_modules/fast-check/lib/arbitrary/_internals/LimitedShrinkArbitrary.js +0 -54
  18. node_modules/fast-check/lib/arbitrary/_internals/MixedCaseArbitrary.js +0 -95
  19. node_modules/fast-check/lib/arbitrary/_internals/SchedulerArbitrary.js +0 -32
  20. node_modules/fast-check/lib/arbitrary/_internals/StreamArbitrary.js +0 -47
  21. node_modules/fast-check/lib/arbitrary/_internals/StringUnitArbitrary.js +0 -45
  22. node_modules/fast-check/lib/arbitrary/_internals/SubarrayArbitrary.js +0 -74
  23. node_modules/fast-check/lib/arbitrary/_internals/TupleArbitrary.js +0 -86
  24. node_modules/fast-check/lib/arbitrary/_internals/WithShrinkFromOtherArbitrary.js +0 -43
  25. node_modules/fast-check/lib/arbitrary/_internals/builders/AnyArbitraryBuilder.js +0 -69
  26. node_modules/fast-check/lib/arbitrary/_internals/builders/BoxedArbitraryBuilder.js +0 -7
  27. node_modules/fast-check/lib/arbitrary/_internals/builders/CharacterArbitraryBuilder.js +0 -8
  28. node_modules/fast-check/lib/arbitrary/_internals/builders/CharacterRangeArbitraryBuilder.js +0 -66
  29. node_modules/fast-check/lib/arbitrary/_internals/builders/CompareFunctionArbitraryBuilder.js +0 -46
  30. node_modules/fast-check/lib/arbitrary/_internals/builders/GeneratorValueBuilder.js +0 -41
  31. node_modules/fast-check/lib/arbitrary/_internals/builders/PaddedNumberArbitraryBuilder.js +0 -8
  32. node_modules/fast-check/lib/arbitrary/_internals/builders/PartialRecordArbitraryBuilder.js +0 -26
  33. node_modules/fast-check/lib/arbitrary/_internals/builders/RestrictedIntegerArbitraryBuilder.js +0 -13
  34. node_modules/fast-check/lib/arbitrary/_internals/builders/StableArbitraryGeneratorCache.js +0 -56
  35. node_modules/fast-check/lib/arbitrary/_internals/builders/StringifiedNatArbitraryBuilder.js +0 -10
  36. node_modules/fast-check/lib/arbitrary/_internals/builders/TypedIntArrayArbitraryBuilder.js +0 -33
  37. node_modules/fast-check/lib/arbitrary/_internals/builders/UriPathArbitraryBuilder.js +0 -31
  38. node_modules/fast-check/lib/arbitrary/_internals/builders/UriQueryOrFragmentArbitraryBuilder.js +0 -8
  39. node_modules/fast-check/lib/arbitrary/_internals/data/GraphemeRanges.js +0 -988
  40. node_modules/fast-check/lib/arbitrary/_internals/helpers/ArrayInt64.js +0 -100
  41. node_modules/fast-check/lib/arbitrary/_internals/helpers/BiasNumericRange.js +0 -36
  42. node_modules/fast-check/lib/arbitrary/_internals/helpers/BuildSchedulerFor.js +0 -24
  43. node_modules/fast-check/lib/arbitrary/_internals/helpers/BuildSlicedGenerator.js +0 -11
  44. node_modules/fast-check/lib/arbitrary/_internals/helpers/CustomEqualSet.js +0 -26
  45. node_modules/fast-check/lib/arbitrary/_internals/helpers/DepthContext.js +0 -25
  46. node_modules/fast-check/lib/arbitrary/_internals/helpers/DoubleHelpers.js +0 -90
  47. node_modules/fast-check/lib/arbitrary/_internals/helpers/DoubleOnlyHelpers.js +0 -31
  48. node_modules/fast-check/lib/arbitrary/_internals/helpers/EnumerableKeysExtractor.js +0 -18
  49. node_modules/fast-check/lib/arbitrary/_internals/helpers/FloatHelpers.js +0 -68
  50. 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
- }