@valkyriestudios/utils 5.2.0 → 5.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nyc_output/1a7d1a21-08be-4f94-911a-00cfdce52f8c.json +1 -0
- package/.nyc_output/4de4b713-79af-403d-b012-c25e5d50454d.json +1 -0
- package/.nyc_output/processinfo/1a7d1a21-08be-4f94-911a-00cfdce52f8c.json +1 -0
- package/.nyc_output/processinfo/4de4b713-79af-403d-b012-c25e5d50454d.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -1
- package/CHANGELOG.md +23 -0
- package/README.md +71 -55
- package/array/dedupe.js +3 -4
- package/array/is.js +0 -1
- package/array/isNotEmpty.js +0 -3
- package/array/join.js +1 -15
- package/array/mapFn.js +2 -15
- package/array/mapKey.js +1 -13
- package/array/mapPrimitive.js +1 -14
- package/array/shuffle.js +17 -0
- package/boolean/is.js +0 -1
- package/caching/memoize.js +14 -10
- package/codecov +0 -0
- package/codecov.sh +1 -1
- package/coverage/lcov-report/index.html +58 -58
- package/coverage/lcov-report/src/array/dedupe.js.html +7 -7
- package/coverage/lcov-report/src/array/index.html +50 -35
- package/coverage/lcov-report/src/array/is.js.html +5 -5
- package/coverage/lcov-report/src/array/isNotEmpty.js.html +8 -8
- package/coverage/lcov-report/src/array/join.js.html +10 -10
- package/coverage/lcov-report/src/array/mapFn.js.html +10 -10
- package/coverage/lcov-report/src/array/mapKey.js.html +10 -10
- package/coverage/lcov-report/src/array/mapPrimitive.js.html +10 -10
- package/coverage/lcov-report/src/array/shuffle.js.html +133 -0
- package/coverage/lcov-report/src/boolean/index.html +5 -5
- package/coverage/lcov-report/src/boolean/is.js.html +4 -4
- package/coverage/lcov-report/src/caching/index.html +9 -9
- package/coverage/lcov-report/src/caching/memoize.js.html +40 -22
- package/coverage/lcov-report/src/date/index.html +5 -5
- package/coverage/lcov-report/src/date/is.js.html +4 -4
- package/coverage/lcov-report/src/deep/define.js.html +8 -8
- package/coverage/lcov-report/src/deep/freeze.js.html +11 -11
- package/coverage/lcov-report/src/deep/get.js.html +9 -9
- package/coverage/lcov-report/src/deep/index.html +31 -31
- package/coverage/lcov-report/src/deep/seal.js.html +11 -11
- package/coverage/lcov-report/src/deep/set.js.html +9 -9
- package/coverage/lcov-report/src/equal.js.html +7 -7
- package/coverage/lcov-report/src/function/index.html +22 -22
- package/coverage/lcov-report/src/function/is.js.html +5 -5
- package/coverage/lcov-report/src/function/noop.js.html +9 -9
- package/coverage/lcov-report/src/function/noopresolve.js.html +4 -4
- package/coverage/lcov-report/src/function/noopreturn.js.html +4 -4
- package/coverage/lcov-report/src/function/sleep.js.html +4 -4
- package/coverage/lcov-report/src/hash/fnv1A.js.html +24 -24
- package/coverage/lcov-report/src/hash/guid.js.html +9 -9
- package/coverage/lcov-report/src/hash/index.html +23 -23
- package/coverage/lcov-report/src/index.html +13 -13
- package/coverage/lcov-report/src/is.js.html +7 -7
- package/coverage/lcov-report/src/number/index.html +50 -50
- package/coverage/lcov-report/src/number/is.js.html +8 -8
- package/coverage/lcov-report/src/number/isAbove.js.html +6 -6
- package/coverage/lcov-report/src/number/isBelow.js.html +6 -6
- package/coverage/lcov-report/src/number/isBetween.js.html +6 -6
- package/coverage/lcov-report/src/number/isInteger.js.html +6 -6
- package/coverage/lcov-report/src/number/isIntegerAbove.js.html +7 -7
- package/coverage/lcov-report/src/number/isIntegerBelow.js.html +7 -7
- package/coverage/lcov-report/src/number/isIntegerBetween.js.html +7 -7
- package/coverage/lcov-report/src/number/isNumericalNaN.js.html +5 -5
- package/coverage/lcov-report/src/number/randomBetween.js.html +11 -11
- package/coverage/lcov-report/src/number/round.js.html +7 -7
- package/coverage/lcov-report/src/number/toPercentage.js.html +7 -7
- package/coverage/lcov-report/src/object/define.js.html +6 -6
- package/coverage/lcov-report/src/object/defineFrozen.js.html +6 -6
- package/coverage/lcov-report/src/object/defineSealed.js.html +6 -6
- package/coverage/lcov-report/src/object/forValues.js.html +9 -9
- package/coverage/lcov-report/src/object/index.html +41 -41
- package/coverage/lcov-report/src/object/is.js.html +4 -4
- package/coverage/lcov-report/src/object/isNotEmpty.js.html +6 -6
- package/coverage/lcov-report/src/object/merge.js.html +10 -10
- package/coverage/lcov-report/src/object/pick.js.html +7 -7
- package/coverage/lcov-report/src/object/zip.js.html +6 -6
- package/coverage/lcov-report/src/regexp/index.html +5 -5
- package/coverage/lcov-report/src/regexp/is.js.html +4 -4
- package/coverage/lcov-report/src/string/index.html +19 -19
- package/coverage/lcov-report/src/string/is.js.html +5 -5
- package/coverage/lcov-report/src/string/isBetween.js.html +7 -7
- package/coverage/lcov-report/src/string/isNotEmpty.js.html +6 -6
- package/coverage/lcov-report/src/string/shorten.js.html +7 -7
- package/coverage/lcov.info +1044 -736
- package/date/is.js +0 -1
- package/deep/define.js +0 -3
- package/deep/freeze.js +0 -5
- package/deep/get.js +2 -12
- package/deep/seal.js +0 -5
- package/deep/set.js +2 -12
- package/equal.js +0 -13
- package/function/is.js +0 -1
- package/function/noop.js +2 -2
- package/function/noopresolve.js +0 -1
- package/function/noopreturn.js +0 -1
- package/function/sleep.js +0 -1
- package/hash/fnv1A.js +1 -10
- package/hash/guid.js +2 -2
- package/is.js +0 -21
- package/number/is.js +0 -3
- package/number/isAbove.js +0 -3
- package/number/isBelow.js +0 -3
- package/number/isBetween.js +0 -3
- package/number/isInteger.js +0 -3
- package/number/isIntegerAbove.js +0 -4
- package/number/isIntegerBelow.js +0 -4
- package/number/isIntegerBetween.js +0 -4
- package/number/randomBetween.js +1 -4
- package/number/round.js +1 -4
- package/number/toPercentage.js +0 -4
- package/object/define.js +0 -5
- package/object/defineFrozen.js +0 -3
- package/object/defineSealed.js +0 -3
- package/object/forValues.js +0 -7
- package/object/is.js +0 -1
- package/object/isNotEmpty.js +0 -3
- package/object/merge.js +0 -8
- package/object/pick.js +0 -9
- package/object/zip.js +0 -6
- package/package.json +7 -7
- package/regexp/is.js +0 -1
- package/string/is.js +0 -1
- package/string/isBetween.js +0 -4
- package/string/isNotEmpty.js +0 -3
- package/string/shorten.js +0 -5
- package/.nyc_output/58f73d7a-e507-4792-bfca-ebfb34732639.json +0 -1
- package/.nyc_output/86a24097-14b3-4c83-9aaf-69614f599a22.json +0 -1
- package/.nyc_output/processinfo/58f73d7a-e507-4792-bfca-ebfb34732639.json +0 -1
- package/.nyc_output/processinfo/86a24097-14b3-4c83-9aaf-69614f599a22.json +0 -1
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>2/2</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>2/2</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -68,10 +68,10 @@
|
|
|
68
68
|
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
69
|
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
70
|
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
-
<a name='L6'></a><a href='#L6'>6</a></td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
72
72
|
<span class="cline-any cline-neutral"> </span>
|
|
73
73
|
<span class="cline-any cline-neutral"> </span>
|
|
74
|
-
<span class="cline-any cline-yes">
|
|
74
|
+
<span class="cline-any cline-yes">3301516x</span>
|
|
75
75
|
<span class="cline-any cline-neutral"> </span>
|
|
76
76
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
|
|
77
77
|
|
|
@@ -85,7 +85,7 @@ export default function (val) {
|
|
|
85
85
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
86
86
|
Code coverage generated by
|
|
87
87
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
88
|
-
at
|
|
88
|
+
at Fri Mar 31 2023 20:18:40 GMT+0200 (Central European Summer Time)
|
|
89
89
|
</div>
|
|
90
90
|
<script src="../../prettify.js"></script>
|
|
91
91
|
<script>
|
|
@@ -25,28 +25,28 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>6/6</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">100% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>4/4</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>2/2</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>4/4</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -71,13 +71,13 @@
|
|
|
71
71
|
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
72
|
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
73
|
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
-
<a name='L9'></a><a href='#L9'>9</a></td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
75
75
|
<span class="cline-any cline-neutral"> </span>
|
|
76
76
|
<span class="cline-any cline-yes">1x</span>
|
|
77
77
|
<span class="cline-any cline-neutral"> </span>
|
|
78
78
|
<span class="cline-any cline-neutral"> </span>
|
|
79
|
-
<span class="cline-any cline-yes">
|
|
80
|
-
<span class="cline-any cline-yes">
|
|
79
|
+
<span class="cline-any cline-yes">3300600x</span>
|
|
80
|
+
<span class="cline-any cline-yes">3300418x</span>
|
|
81
81
|
<span class="cline-any cline-neutral"> </span>
|
|
82
82
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
|
|
83
83
|
|
|
@@ -94,7 +94,7 @@ export default function (val) {
|
|
|
94
94
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
95
95
|
Code coverage generated by
|
|
96
96
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
97
|
-
at
|
|
97
|
+
at Fri Mar 31 2023 20:18:40 GMT+0200 (Central European Summer Time)
|
|
98
98
|
</div>
|
|
99
99
|
<script src="../../prettify.js"></script>
|
|
100
100
|
<script>
|
|
@@ -25,28 +25,28 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>22/22</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">78.57% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>22/28</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>2/2</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>17/17</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -96,13 +96,13 @@
|
|
|
96
96
|
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
97
|
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
98
|
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
-
<a name='L34'></a><a href='#L34'>34</a></td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
100
100
|
<span class="cline-any cline-neutral"> </span>
|
|
101
101
|
<span class="cline-any cline-yes">1x</span>
|
|
102
102
|
<span class="cline-any cline-yes">1x</span>
|
|
103
103
|
<span class="cline-any cline-yes">1x</span>
|
|
104
104
|
<span class="cline-any cline-yes">1x</span>
|
|
105
|
-
<span class="cline-any cline-yes">
|
|
105
|
+
<span class="cline-any cline-yes">293x</span>
|
|
106
106
|
<span class="cline-any cline-neutral"> </span>
|
|
107
107
|
<span class="cline-any cline-neutral"> </span>
|
|
108
108
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
<span class="cline-any cline-yes">26x</span>
|
|
126
126
|
<span class="cline-any cline-yes">5x</span>
|
|
127
127
|
<span class="cline-any cline-neutral"> </span>
|
|
128
|
-
<span class="cline-any cline-
|
|
128
|
+
<span class="cline-any cline-yes">12x</span>
|
|
129
129
|
<span class="cline-any cline-neutral"> </span>
|
|
130
130
|
<span class="cline-any cline-yes">12x</span>
|
|
131
131
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -135,7 +135,7 @@ import isNotEmptyArray from './isNotEmpty';
|
|
|
135
135
|
import isNotEmptyString from '../string/isNotEmpty';
|
|
136
136
|
import isNumber from '../number/is';
|
|
137
137
|
import isNotEmptyObject from '../object/isNotEmpty';
|
|
138
|
-
import round from '../number/round'
|
|
138
|
+
import round from '../number/round';<span class="branch-2 cbranch-no" title="branch not covered" ></span>
|
|
139
139
|
|
|
140
140
|
// Join an array of values while autofiltering any non-string/non-number elements
|
|
141
141
|
//
|
|
@@ -169,7 +169,7 @@ export default function (arr, options = {}) {
|
|
|
169
169
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
170
170
|
Code coverage generated by
|
|
171
171
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
172
|
-
at
|
|
172
|
+
at Fri Mar 31 2023 20:18:40 GMT+0200 (Central European Summer Time)
|
|
173
173
|
</div>
|
|
174
174
|
<script src="../../prettify.js"></script>
|
|
175
175
|
<script>
|
|
@@ -25,28 +25,28 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>27/27</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">80% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>24/30</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>2/2</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>20/20</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -96,13 +96,13 @@
|
|
|
96
96
|
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
97
|
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
98
|
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
-
<a name='L34'></a><a href='#L34'>34</a></td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
100
100
|
<span class="cline-any cline-neutral"> </span>
|
|
101
101
|
<span class="cline-any cline-yes">1x</span>
|
|
102
102
|
<span class="cline-any cline-yes">1x</span>
|
|
103
103
|
<span class="cline-any cline-yes">1x</span>
|
|
104
104
|
<span class="cline-any cline-yes">1x</span>
|
|
105
|
-
<span class="cline-any cline-yes">
|
|
105
|
+
<span class="cline-any cline-yes">287x</span>
|
|
106
106
|
<span class="cline-any cline-neutral"> </span>
|
|
107
107
|
<span class="cline-any cline-yes">61x</span>
|
|
108
108
|
<span class="cline-any cline-yes">61x</span>
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
<span class="cline-any cline-neutral"> </span>
|
|
126
126
|
<span class="cline-any cline-yes">20x</span>
|
|
127
127
|
<span class="cline-any cline-neutral"> </span>
|
|
128
|
-
<span class="cline-any cline-
|
|
128
|
+
<span class="cline-any cline-yes">7x</span>
|
|
129
129
|
<span class="cline-any cline-neutral"> </span>
|
|
130
130
|
<span class="cline-any cline-yes">7x</span>
|
|
131
131
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -135,7 +135,7 @@ import isObject from '../object/is';
|
|
|
135
135
|
import isNotEmptyArray from './isNotEmpty';
|
|
136
136
|
import isFunction from '../function/is';
|
|
137
137
|
import isNotEmptyString from '../string/isNotEmpty';
|
|
138
|
-
import isNumber from '../number/is'
|
|
138
|
+
import isNumber from '../number/is';<span class="branch-2 cbranch-no" title="branch not covered" ></span>
|
|
139
139
|
|
|
140
140
|
export default function (arr, fn, opts = {}) {
|
|
141
141
|
if (!isNotEmptyArray(arr) || !isFunction(fn)) return {};
|
|
@@ -169,7 +169,7 @@ export default function (arr, fn, opts = {}) {
|
|
|
169
169
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
170
170
|
Code coverage generated by
|
|
171
171
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
172
|
-
at
|
|
172
|
+
at Fri Mar 31 2023 20:18:40 GMT+0200 (Central European Summer Time)
|
|
173
173
|
</div>
|
|
174
174
|
<script src="../../prettify.js"></script>
|
|
175
175
|
<script>
|
|
@@ -25,28 +25,28 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>21/21</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">78.57% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>22/28</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>2/2</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>15/15</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -88,11 +88,11 @@
|
|
|
88
88
|
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
89
|
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
90
|
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
-
<a name='L26'></a><a href='#L26'>26</a></td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
92
92
|
<span class="cline-any cline-neutral"> </span>
|
|
93
93
|
<span class="cline-any cline-yes">1x</span>
|
|
94
94
|
<span class="cline-any cline-yes">1x</span>
|
|
95
|
-
<span class="cline-any cline-yes">
|
|
95
|
+
<span class="cline-any cline-yes">234x</span>
|
|
96
96
|
<span class="cline-any cline-neutral"> </span>
|
|
97
97
|
<span class="cline-any cline-yes">60x</span>
|
|
98
98
|
<span class="cline-any cline-yes">60x</span>
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
<span class="cline-any cline-neutral"> </span>
|
|
110
110
|
<span class="cline-any cline-yes">20x</span>
|
|
111
111
|
<span class="cline-any cline-neutral"> </span>
|
|
112
|
-
<span class="cline-any cline-
|
|
112
|
+
<span class="cline-any cline-yes">6x</span>
|
|
113
113
|
<span class="cline-any cline-neutral"> </span>
|
|
114
114
|
<span class="cline-any cline-yes">6x</span>
|
|
115
115
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
|
|
118
118
|
import isObject from '../object/is';
|
|
119
119
|
import isNotEmptyArray from './isNotEmpty';
|
|
120
|
-
import isNotEmptyString from '../string/isNotEmpty'
|
|
120
|
+
import isNotEmptyString from '../string/isNotEmpty';<span class="branch-2 cbranch-no" title="branch not covered" ></span>
|
|
121
121
|
|
|
122
122
|
export default function (arr, key, opts = {}) {
|
|
123
123
|
if (!isNotEmptyArray(arr) || !isNotEmptyString(key)) return {};
|
|
@@ -145,7 +145,7 @@ export default function (arr, key, opts = {}) {
|
|
|
145
145
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
146
146
|
Code coverage generated by
|
|
147
147
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
148
|
-
at
|
|
148
|
+
at Fri Mar 31 2023 20:18:40 GMT+0200 (Central European Summer Time)
|
|
149
149
|
</div>
|
|
150
150
|
<script src="../../prettify.js"></script>
|
|
151
151
|
<script>
|
|
@@ -25,28 +25,28 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>25/25</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">79.41% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>27/34</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>2/2</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>20/20</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -99,12 +99,12 @@
|
|
|
99
99
|
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
100
|
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
101
|
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
-
<a name='L37'></a><a href='#L37'>37</a></td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
103
103
|
<span class="cline-any cline-neutral"> </span>
|
|
104
104
|
<span class="cline-any cline-yes">1x</span>
|
|
105
105
|
<span class="cline-any cline-yes">1x</span>
|
|
106
106
|
<span class="cline-any cline-yes">1x</span>
|
|
107
|
-
<span class="cline-any cline-yes">
|
|
107
|
+
<span class="cline-any cline-yes">361x</span>
|
|
108
108
|
<span class="cline-any cline-neutral"> </span>
|
|
109
109
|
<span class="cline-any cline-yes">41x</span>
|
|
110
110
|
<span class="cline-any cline-yes">41x</span>
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
<span class="cline-any cline-yes">8x</span>
|
|
132
132
|
<span class="cline-any cline-neutral"> </span>
|
|
133
133
|
<span class="cline-any cline-neutral"> </span>
|
|
134
|
-
<span class="cline-any cline-
|
|
134
|
+
<span class="cline-any cline-yes">13x</span>
|
|
135
135
|
<span class="cline-any cline-neutral"> </span>
|
|
136
136
|
<span class="cline-any cline-yes">13x</span>
|
|
137
137
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
import isNumber from '../number/is';
|
|
141
141
|
import isNotEmptyString from '../string/isNotEmpty';
|
|
142
142
|
import isNotEmptyArray from './isNotEmpty';
|
|
143
|
-
import isNotEmptyObject from '../object/isNotEmpty'
|
|
143
|
+
import isNotEmptyObject from '../object/isNotEmpty';<span class="branch-2 cbranch-no" title="branch not covered" ></span>
|
|
144
144
|
|
|
145
145
|
export default function (arr, opts = {}) {
|
|
146
146
|
if (!isNotEmptyArray(arr)) return {};
|
|
@@ -178,7 +178,7 @@ export default function (arr, opts = {}) {
|
|
|
178
178
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
179
179
|
Code coverage generated by
|
|
180
180
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
181
|
-
at
|
|
181
|
+
at Fri Mar 31 2023 20:18:40 GMT+0200 (Central European Summer Time)
|
|
182
182
|
</div>
|
|
183
183
|
<script src="../../prettify.js"></script>
|
|
184
184
|
<script>
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/array/shuffle.js</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/array</a> shuffle.js</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>11/11</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>4/4</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>2/2</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>6/6</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
83
|
+
<span class="cline-any cline-neutral"> </span>
|
|
84
|
+
<span class="cline-any cline-yes">1x</span>
|
|
85
|
+
<span class="cline-any cline-neutral"> </span>
|
|
86
|
+
<span class="cline-any cline-neutral"> </span>
|
|
87
|
+
<span class="cline-any cline-neutral"> </span>
|
|
88
|
+
<span class="cline-any cline-neutral"> </span>
|
|
89
|
+
<span class="cline-any cline-neutral"> </span>
|
|
90
|
+
<span class="cline-any cline-neutral"> </span>
|
|
91
|
+
<span class="cline-any cline-yes">3300327x</span>
|
|
92
|
+
<span class="cline-any cline-neutral"> </span>
|
|
93
|
+
<span class="cline-any cline-yes">3300301x</span>
|
|
94
|
+
<span class="cline-any cline-yes">57702709x</span>
|
|
95
|
+
<span class="cline-any cline-yes">57702709x</span>
|
|
96
|
+
<span class="cline-any cline-neutral"> </span>
|
|
97
|
+
<span class="cline-any cline-neutral"> </span>
|
|
98
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
|
|
99
|
+
|
|
100
|
+
import isNotEmptyArray from './isNotEmpty';
|
|
101
|
+
|
|
102
|
+
// Fisher - Yates shuffle O(n)
|
|
103
|
+
// https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle
|
|
104
|
+
//
|
|
105
|
+
// @param array arr Array to shuffle
|
|
106
|
+
export default function shuffle (arr) {
|
|
107
|
+
if (!isNotEmptyArray(arr)) return;
|
|
108
|
+
|
|
109
|
+
for (let i = arr.length - 1; i > 0; i--) {
|
|
110
|
+
const j = Math.floor(Math.random() * (i + 1)); // Random index from 0 to i
|
|
111
|
+
[arr[i], arr[j]] = [arr[j], arr[i]]; // Swap elements
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
</pre></td></tr></table></pre>
|
|
115
|
+
|
|
116
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
117
|
+
</div><!-- /wrapper -->
|
|
118
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
119
|
+
Code coverage generated by
|
|
120
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
121
|
+
at Fri Mar 31 2023 20:18:40 GMT+0200 (Central European Summer Time)
|
|
122
|
+
</div>
|
|
123
|
+
<script src="../../prettify.js"></script>
|
|
124
|
+
<script>
|
|
125
|
+
window.onload = function () {
|
|
126
|
+
prettyPrint();
|
|
127
|
+
};
|
|
128
|
+
</script>
|
|
129
|
+
<script src="../../sorter.js"></script>
|
|
130
|
+
<script src="../../block-navigation.js"></script>
|
|
131
|
+
</body>
|
|
132
|
+
</html>
|
|
133
|
+
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>2/2</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>2/2</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -84,13 +84,13 @@
|
|
|
84
84
|
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
|
85
85
|
</td>
|
|
86
86
|
<td data-value="100" class="pct high">100%</td>
|
|
87
|
-
<td data-value="
|
|
87
|
+
<td data-value="2" class="abs high">2/2</td>
|
|
88
88
|
<td data-value="100" class="pct high">100%</td>
|
|
89
89
|
<td data-value="4" class="abs high">4/4</td>
|
|
90
90
|
<td data-value="100" class="pct high">100%</td>
|
|
91
91
|
<td data-value="1" class="abs high">1/1</td>
|
|
92
92
|
<td data-value="100" class="pct high">100%</td>
|
|
93
|
-
<td data-value="
|
|
93
|
+
<td data-value="2" class="abs high">2/2</td>
|
|
94
94
|
</tr>
|
|
95
95
|
|
|
96
96
|
</tbody>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at
|
|
104
|
+
at Fri Mar 31 2023 20:18:40 GMT+0200 (Central European Summer Time)
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>2/2</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>2/2</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
69
|
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
70
|
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
-
<a name='L6'></a><a href='#L6'>6</a></td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
72
72
|
<span class="cline-any cline-neutral"> </span>
|
|
73
73
|
<span class="cline-any cline-neutral"> </span>
|
|
74
74
|
<span class="cline-any cline-yes">32x</span>
|
|
@@ -85,7 +85,7 @@ export default function (val) {
|
|
|
85
85
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
86
86
|
Code coverage generated by
|
|
87
87
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
88
|
-
at
|
|
88
|
+
at Fri Mar 31 2023 20:18:40 GMT+0200 (Central European Summer Time)
|
|
89
89
|
</div>
|
|
90
90
|
<script src="../../prettify.js"></script>
|
|
91
91
|
<script>
|