@valkyriestudios/utils 6.0.0 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +7 -1
  3. package/date/nowUnix.js +9 -0
  4. package/date/nowUnixMs.js +9 -0
  5. package/number/round.js +3 -2
  6. package/package.json +3 -3
  7. package/.nyc_output/41b22c1d-c8f3-46f1-b61e-896e1840025c.json +0 -1
  8. package/.nyc_output/a1d9de97-3f93-432f-9582-56743151511c.json +0 -1
  9. package/.nyc_output/processinfo/41b22c1d-c8f3-46f1-b61e-896e1840025c.json +0 -1
  10. package/.nyc_output/processinfo/a1d9de97-3f93-432f-9582-56743151511c.json +0 -1
  11. package/.nyc_output/processinfo/index.json +0 -1
  12. package/codecov +0 -0
  13. package/codecov.sh +0 -2
  14. package/coverage/lcov-report/base.css +0 -224
  15. package/coverage/lcov-report/block-navigation.js +0 -87
  16. package/coverage/lcov-report/favicon.png +0 -0
  17. package/coverage/lcov-report/index.html +0 -281
  18. package/coverage/lcov-report/prettify.css +0 -1
  19. package/coverage/lcov-report/prettify.js +0 -2
  20. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  21. package/coverage/lcov-report/sorter.js +0 -196
  22. package/coverage/lcov-report/src/array/dedupe.js.html +0 -154
  23. package/coverage/lcov-report/src/array/index.html +0 -236
  24. package/coverage/lcov-report/src/array/is.js.html +0 -100
  25. package/coverage/lcov-report/src/array/isNotEmpty.js.html +0 -109
  26. package/coverage/lcov-report/src/array/join.js.html +0 -184
  27. package/coverage/lcov-report/src/array/mapFn.js.html +0 -184
  28. package/coverage/lcov-report/src/array/mapKey.js.html +0 -160
  29. package/coverage/lcov-report/src/array/mapPrimitive.js.html +0 -193
  30. package/coverage/lcov-report/src/array/shuffle.js.html +0 -133
  31. package/coverage/lcov-report/src/array/sort.js.html +0 -382
  32. package/coverage/lcov-report/src/boolean/index.html +0 -116
  33. package/coverage/lcov-report/src/boolean/is.js.html +0 -100
  34. package/coverage/lcov-report/src/caching/index.html +0 -116
  35. package/coverage/lcov-report/src/caching/memoize.js.html +0 -157
  36. package/coverage/lcov-report/src/date/index.html +0 -116
  37. package/coverage/lcov-report/src/date/is.js.html +0 -100
  38. package/coverage/lcov-report/src/deep/define.js.html +0 -106
  39. package/coverage/lcov-report/src/deep/freeze.js.html +0 -142
  40. package/coverage/lcov-report/src/deep/get.js.html +0 -190
  41. package/coverage/lcov-report/src/deep/index.html +0 -176
  42. package/coverage/lcov-report/src/deep/seal.js.html +0 -142
  43. package/coverage/lcov-report/src/deep/set.js.html +0 -229
  44. package/coverage/lcov-report/src/equal.js.html +0 -280
  45. package/coverage/lcov-report/src/function/index.html +0 -176
  46. package/coverage/lcov-report/src/function/is.js.html +0 -103
  47. package/coverage/lcov-report/src/function/noop.js.html +0 -100
  48. package/coverage/lcov-report/src/function/noopresolve.js.html +0 -103
  49. package/coverage/lcov-report/src/function/noopreturn.js.html +0 -103
  50. package/coverage/lcov-report/src/function/sleep.js.html +0 -121
  51. package/coverage/lcov-report/src/hash/fnv1A.js.html +0 -238
  52. package/coverage/lcov-report/src/hash/guid.js.html +0 -199
  53. package/coverage/lcov-report/src/hash/index.html +0 -131
  54. package/coverage/lcov-report/src/index.html +0 -131
  55. package/coverage/lcov-report/src/is.js.html +0 -352
  56. package/coverage/lcov-report/src/number/index.html +0 -356
  57. package/coverage/lcov-report/src/number/is.js.html +0 -109
  58. package/coverage/lcov-report/src/number/isAbove.js.html +0 -112
  59. package/coverage/lcov-report/src/number/isAboveOrEqual.js.html +0 -112
  60. package/coverage/lcov-report/src/number/isBelow.js.html +0 -112
  61. package/coverage/lcov-report/src/number/isBelowOrEqual.js.html +0 -112
  62. package/coverage/lcov-report/src/number/isBetween.js.html +0 -130
  63. package/coverage/lcov-report/src/number/isInteger.js.html +0 -109
  64. package/coverage/lcov-report/src/number/isIntegerAbove.js.html +0 -115
  65. package/coverage/lcov-report/src/number/isIntegerAboveOrEqual.js.html +0 -115
  66. package/coverage/lcov-report/src/number/isIntegerBelow.js.html +0 -115
  67. package/coverage/lcov-report/src/number/isIntegerBelowOrEqual.js.html +0 -115
  68. package/coverage/lcov-report/src/number/isIntegerBetween.js.html +0 -133
  69. package/coverage/lcov-report/src/number/isNumericalNaN.js.html +0 -106
  70. package/coverage/lcov-report/src/number/randomBetween.js.html +0 -124
  71. package/coverage/lcov-report/src/number/randomIntBetween.js.html +0 -124
  72. package/coverage/lcov-report/src/number/round.js.html +0 -127
  73. package/coverage/lcov-report/src/number/toPercentage.js.html +0 -130
  74. package/coverage/lcov-report/src/object/define.js.html +0 -121
  75. package/coverage/lcov-report/src/object/defineFrozen.js.html +0 -106
  76. package/coverage/lcov-report/src/object/defineSealed.js.html +0 -106
  77. package/coverage/lcov-report/src/object/forValues.js.html +0 -124
  78. package/coverage/lcov-report/src/object/index.html +0 -236
  79. package/coverage/lcov-report/src/object/is.js.html +0 -100
  80. package/coverage/lcov-report/src/object/isNotEmpty.js.html +0 -109
  81. package/coverage/lcov-report/src/object/merge.js.html +0 -151
  82. package/coverage/lcov-report/src/object/pick.js.html +0 -145
  83. package/coverage/lcov-report/src/object/zip.js.html +0 -130
  84. package/coverage/lcov-report/src/regexp/index.html +0 -116
  85. package/coverage/lcov-report/src/regexp/is.js.html +0 -100
  86. package/coverage/lcov-report/src/string/humanizeBytes.js.html +0 -175
  87. package/coverage/lcov-report/src/string/humanizeNumber.js.html +0 -334
  88. package/coverage/lcov-report/src/string/index.html +0 -191
  89. package/coverage/lcov-report/src/string/is.js.html +0 -100
  90. package/coverage/lcov-report/src/string/isBetween.js.html +0 -136
  91. package/coverage/lcov-report/src/string/isNotEmpty.js.html +0 -109
  92. package/coverage/lcov-report/src/string/shorten.js.html +0 -151
  93. package/coverage/lcov.info +0 -2118
@@ -1,229 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/deep/set.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/deep</a> set.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'>31/31</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">83.78% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>31/37</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'>3/3</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'>22/22</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>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
115
- <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-yes">1x</span>
117
- <span class="cline-any cline-yes">1x</span>
118
- <span class="cline-any cline-yes">26x</span>
119
- <span class="cline-any cline-neutral">&nbsp;</span>
120
- <span class="cline-any cline-neutral">&nbsp;</span>
121
- <span class="cline-any cline-neutral">&nbsp;</span>
122
- <span class="cline-any cline-yes">47x</span>
123
- <span class="cline-any cline-yes">39x</span>
124
- <span class="cline-any cline-yes">37x</span>
125
- <span class="cline-any cline-neutral">&nbsp;</span>
126
- <span class="cline-any cline-neutral">&nbsp;</span>
127
- <span class="cline-any cline-neutral">&nbsp;</span>
128
- <span class="cline-any cline-yes">62x</span>
129
- <span class="cline-any cline-yes">62x</span>
130
- <span class="cline-any cline-neutral">&nbsp;</span>
131
- <span class="cline-any cline-yes">47x</span>
132
- <span class="cline-any cline-neutral">&nbsp;</span>
133
- <span class="cline-any cline-neutral">&nbsp;</span>
134
- <span class="cline-any cline-yes">39x</span>
135
- <span class="cline-any cline-neutral">&nbsp;</span>
136
- <span class="cline-any cline-yes">29x</span>
137
- <span class="cline-any cline-neutral">&nbsp;</span>
138
- <span class="cline-any cline-yes">28x</span>
139
- <span class="cline-any cline-neutral">&nbsp;</span>
140
- <span class="cline-any cline-neutral">&nbsp;</span>
141
- <span class="cline-any cline-yes">28x</span>
142
- <span class="cline-any cline-neutral">&nbsp;</span>
143
- <span class="cline-any cline-neutral">&nbsp;</span>
144
- <span class="cline-any cline-yes">28x</span>
145
- <span class="cline-any cline-neutral">&nbsp;</span>
146
- <span class="cline-any cline-neutral">&nbsp;</span>
147
- <span class="cline-any cline-yes">4x</span>
148
- <span class="cline-any cline-yes">2x</span>
149
- <span class="cline-any cline-yes">2x</span>
150
- <span class="cline-any cline-neutral">&nbsp;</span>
151
- <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-neutral">&nbsp;</span>
153
- <span class="cline-any cline-neutral">&nbsp;</span>
154
- <span class="cline-any cline-yes">39x</span>
155
- <span class="cline-any cline-yes">4x</span>
156
- <span class="cline-any cline-neutral">&nbsp;</span>
157
- <span class="cline-any cline-yes">35x</span>
158
- <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-neutral">&nbsp;</span>
160
- <span class="cline-any cline-yes">32x</span>
161
- <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
163
- &nbsp;
164
- import isObject from '../object/is';
165
- import isArray from '../array/is';
166
- import isNotEmptyString from '../string/isNotEmpty';<span class="branch-3 cbranch-no" title="branch not covered" ><span class="branch-2 cbranch-no" title="branch not covered" ><span class="branch-1 cbranch-no" title="branch not covered" ></span></span></span>
167
- &nbsp;
168
- // Cleanup paths : a.b[2].c --&gt; ['a', 'b', '2', 'c'] ( faster processing )
169
- function interpolatePath (path) {
170
- if (!isNotEmptyString(path) &amp;&amp; !isArray(path)) throw new TypeError('No Path was given');
171
- if (isArray(path)) return [...path];
172
- return path.replace('[', '.').replace(']', '').split('.');
173
- }
174
- &nbsp;
175
- // Set a value for a path in a json-like structure
176
- export default function deepSet (obj, path, value = null, define = false) {
177
- if (!isObject(obj) &amp;&amp; !isArray(obj)) throw new TypeError('Deepset is only supported for objects');
178
- &nbsp;
179
- const parts = interpolatePath(path);
180
- &nbsp;
181
- // Build any unknown paths and set cursor
182
- for (let i = 0; i &lt; parts.length - 1; i++) {
183
- // If this part is an empty string, just continue
184
- if (parts[i] === '') continue;
185
- &nbsp;
186
- if (!obj[parts[i]]) obj[parts[i]] = {};
187
- &nbsp;
188
- // Set cursor
189
- obj = obj[parts[i]];
190
- &nbsp;
191
- // If not an array continue
192
- if (!isArray(obj)) continue;
193
- &nbsp;
194
- // If an array and i is not the last index ... set the object to be the index on the array
195
- if (i &lt; parts.length - 2) {
196
- obj = obj[parts[i + 1]];
197
- i++;
198
- }
199
- }
200
- &nbsp;
201
- // Set the actual value on the cursor
202
- if (define) {
203
- Object.defineProperty(obj, parts[parts.length - 1], value);
204
- } else {
205
- obj[parts[parts.length - 1]] = value;
206
- }
207
- &nbsp;
208
- return true;
209
- }
210
- &nbsp;</pre></td></tr></table></pre>
211
-
212
- <div class='push'></div><!-- for sticky footer -->
213
- </div><!-- /wrapper -->
214
- <div class='footer quiet pad2 space-top1 center small'>
215
- Code coverage generated by
216
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
217
- at Sat Apr 22 2023 22:10:14 GMT+0200 (Central European Summer Time)
218
- </div>
219
- <script src="../../prettify.js"></script>
220
- <script>
221
- window.onload = function () {
222
- prettyPrint();
223
- };
224
- </script>
225
- <script src="../../sorter.js"></script>
226
- <script src="../../block-navigation.js"></script>
227
- </body>
228
- </html>
229
-
@@ -1,280 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/equal.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</a> equal.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'>37/37</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'>28/28</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'>4/4</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'>29/29</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>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
132
- <span class="cline-any cline-neutral">&nbsp;</span>
133
- <span class="cline-any cline-yes">2x</span>
134
- <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-yes">1x</span>
136
- <span class="cline-any cline-yes">1x</span>
137
- <span class="cline-any cline-yes">1x</span>
138
- <span class="cline-any cline-yes">1x</span>
139
- <span class="cline-any cline-yes">5x</span>
140
- <span class="cline-any cline-neutral">&nbsp;</span>
141
- <span class="cline-any cline-neutral">&nbsp;</span>
142
- <span class="cline-any cline-yes">25x</span>
143
- <span class="cline-any cline-neutral">&nbsp;</span>
144
- <span class="cline-any cline-yes">24x</span>
145
- <span class="cline-any cline-yes">62x</span>
146
- <span class="cline-any cline-yes">6x</span>
147
- <span class="cline-any cline-neutral">&nbsp;</span>
148
- <span class="cline-any cline-neutral">&nbsp;</span>
149
- <span class="cline-any cline-yes">18x</span>
150
- <span class="cline-any cline-neutral">&nbsp;</span>
151
- <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-neutral">&nbsp;</span>
153
- <span class="cline-any cline-yes">32x</span>
154
- <span class="cline-any cline-neutral">&nbsp;</span>
155
- <span class="cline-any cline-yes">32x</span>
156
- <span class="cline-any cline-neutral">&nbsp;</span>
157
- <span class="cline-any cline-yes">31x</span>
158
- <span class="cline-any cline-yes">55x</span>
159
- <span class="cline-any cline-yes">16x</span>
160
- <span class="cline-any cline-neutral">&nbsp;</span>
161
- <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-yes">15x</span>
163
- <span class="cline-any cline-neutral">&nbsp;</span>
164
- <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-neutral">&nbsp;</span>
166
- <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-yes">181x</span>
168
- <span class="cline-any cline-yes">7x</span>
169
- <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-neutral">&nbsp;</span>
172
- <span class="cline-any cline-yes">174x</span>
173
- <span class="cline-any cline-yes">10x</span>
174
- <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-neutral">&nbsp;</span>
176
- <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-yes">164x</span>
178
- <span class="cline-any cline-yes">25x</span>
179
- <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-neutral">&nbsp;</span>
181
- <span class="cline-any cline-neutral">&nbsp;</span>
182
- <span class="cline-any cline-yes">139x</span>
183
- <span class="cline-any cline-yes">32x</span>
184
- <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-neutral">&nbsp;</span>
186
- <span class="cline-any cline-neutral">&nbsp;</span>
187
- <span class="cline-any cline-yes">107x</span>
188
- <span class="cline-any cline-yes">3x</span>
189
- <span class="cline-any cline-neutral">&nbsp;</span>
190
- <span class="cline-any cline-neutral">&nbsp;</span>
191
- <span class="cline-any cline-neutral">&nbsp;</span>
192
- <span class="cline-any cline-yes">104x</span>
193
- <span class="cline-any cline-neutral">&nbsp;</span>
194
- <span class="cline-any cline-neutral">&nbsp;</span>
195
- <span class="cline-any cline-yes">1x</span>
196
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
197
- &nbsp;
198
- /* eslint-disable no-use-before-define */
199
- &nbsp;
200
- import isObject from './object/is';
201
- import isArray from './array/is';
202
- import isNumericalNaN from './number/isNumericalNaN';
203
- import isRegExp from './regexp/is';
204
- import isDate from './date/is';
205
- &nbsp;
206
- function isArrayEqual (a, b) {
207
- if (a.length !== b.length) return false;
208
- &nbsp;
209
- for (let i = a.length - 1; i &gt;= 0; i--) {
210
- if (equal(a[i], b[i])) continue;
211
- return false;
212
- }
213
- &nbsp;
214
- return true;
215
- }
216
- &nbsp;
217
- function isObjectEqual (a, b) {
218
- const keys_a = Object.keys(a);
219
- &nbsp;
220
- if (keys_a.length !== Object.keys(b).length) return false;
221
- &nbsp;
222
- for (let i = keys_a.length - 1; i &gt;= 0; i--) {
223
- if (equal(a[keys_a[i]], b[keys_a[i]])) continue;
224
- return false;
225
- }
226
- &nbsp;
227
- return true;
228
- }
229
- &nbsp;
230
- function equal (a, b) {
231
- // Date Check
232
- if (isDate(a) &amp;&amp; isDate(b)) {
233
- return a.valueOf() === b.valueOf();
234
- }
235
- &nbsp;
236
- // RegExp Check
237
- if (isRegExp(a) || isRegExp(b)) {
238
- return String(a) === String(b);
239
- }
240
- &nbsp;
241
- // Array as root equal
242
- if (isArray(a) &amp;&amp; isArray(b)) {
243
- return isArrayEqual(a, b);
244
- }
245
- &nbsp;
246
- // Object as root equal
247
- if (isObject(a) &amp;&amp; isObject(b)) {
248
- return isObjectEqual(a, b);
249
- }
250
- &nbsp;
251
- // NAN Check
252
- if (isNumericalNaN(a)) {
253
- return isNumericalNaN(b);
254
- }
255
- &nbsp;
256
- // No special cases anymore, simply do strict equal
257
- return a === b;
258
- }
259
- &nbsp;
260
- export default equal;
261
- &nbsp;</pre></td></tr></table></pre>
262
-
263
- <div class='push'></div><!-- for sticky footer -->
264
- </div><!-- /wrapper -->
265
- <div class='footer quiet pad2 space-top1 center small'>
266
- Code coverage generated by
267
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
268
- at Sat Apr 22 2023 22:10:14 GMT+0200 (Central European Summer Time)
269
- </div>
270
- <script src="../prettify.js"></script>
271
- <script>
272
- window.onload = function () {
273
- prettyPrint();
274
- };
275
- </script>
276
- <script src="../sorter.js"></script>
277
- <script src="../block-navigation.js"></script>
278
- </body>
279
- </html>
280
-