@picgo/store 2.0.4 → 2.2.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/.eslintrc.json +6 -2
- package/.husky/commit-msg +1 -0
- package/.husky/pre-commit +1 -0
- package/.node-version +1 -0
- package/CHANGELOG.md +28 -0
- package/README.md +28 -1
- package/coverage/base.css +224 -0
- package/coverage/block-navigation.js +87 -0
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +161 -0
- package/coverage/lcov-report/block-navigation.js +9 -1
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +36 -30
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +40 -0
- package/coverage/lcov-report/src/DBStore.ts.html +140 -59
- package/coverage/lcov-report/src/JSONStore.ts.html +29 -23
- package/coverage/lcov-report/src/adapters/JSONAdapter.ts.html +33 -27
- package/coverage/lcov-report/src/adapters/ZlibAdapter.ts.html +52 -49
- package/coverage/lcov-report/src/adapters/index.html +32 -26
- package/coverage/lcov-report/src/index.html +24 -18
- package/coverage/lcov-report/src/types/index.html +14 -8
- package/coverage/lcov-report/src/types/index.ts.html +17 -8
- package/coverage/lcov-report/src/utils/index.html +18 -12
- package/coverage/lcov-report/src/utils/metaInfoHelper.ts.html +49 -28
- package/coverage/lcov.info +295 -273
- package/coverage/prettify.css +1 -0
- package/coverage/prettify.js +2 -0
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +210 -0
- package/coverage/src/DBStore.ts.html +592 -0
- package/coverage/src/JSONStore.ts.html +241 -0
- package/coverage/src/adapters/JSONAdapter.ts.html +205 -0
- package/coverage/src/adapters/ZlibAdapter.ts.html +316 -0
- package/coverage/src/adapters/index.html +131 -0
- package/coverage/src/index.html +131 -0
- package/coverage/src/types/index.html +116 -0
- package/coverage/src/types/index.ts.html +229 -0
- package/coverage/src/utils/index.html +116 -0
- package/coverage/src/utils/metaInfoHelper.ts.html +229 -0
- package/dist/DBStore.d.ts +29 -25
- package/dist/JSONStore.d.ts +12 -12
- package/dist/adapters/JSONAdapter.d.ts +8 -8
- package/dist/adapters/ZlibAdapter.d.ts +10 -10
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/types/index.d.ts +40 -39
- package/dist/utils/metaInfoHelper.d.ts +3 -3
- package/package.json +28 -27
- package/rollup.config.js +1 -1
- package/vitest.config.ts +14 -0
- package/coverage/clover.xml +0 -213
- package/coverage/coverage-final.json +0 -7
- package/jest.config.js +0 -6
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
8
|
<link rel="stylesheet" href="prettify.css" />
|
|
9
9
|
<link rel="stylesheet" href="base.css" />
|
|
10
|
-
<
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
11
12
|
<style type='text/css'>
|
|
12
13
|
.coverage-summary .sorter {
|
|
13
14
|
background-image: url(sort-arrow-sprite.png);
|
|
@@ -22,30 +23,30 @@
|
|
|
22
23
|
<div class='clearfix'>
|
|
23
24
|
|
|
24
25
|
<div class='fl pad1y space-right2'>
|
|
25
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">97.39% </span>
|
|
26
27
|
<span class="quiet">Statements</span>
|
|
27
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>187/192</span>
|
|
28
29
|
</div>
|
|
29
30
|
|
|
30
31
|
|
|
31
32
|
<div class='fl pad1y space-right2'>
|
|
32
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">94.04% </span>
|
|
33
34
|
<span class="quiet">Branches</span>
|
|
34
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>79/84</span>
|
|
35
36
|
</div>
|
|
36
37
|
|
|
37
38
|
|
|
38
39
|
<div class='fl pad1y space-right2'>
|
|
39
40
|
<span class="strong">100% </span>
|
|
40
41
|
<span class="quiet">Functions</span>
|
|
41
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>47/47</span>
|
|
42
43
|
</div>
|
|
43
44
|
|
|
44
45
|
|
|
45
46
|
<div class='fl pad1y space-right2'>
|
|
46
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">98.34% </span>
|
|
47
48
|
<span class="quiet">Lines</span>
|
|
48
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>178/181</span>
|
|
49
50
|
</div>
|
|
50
51
|
|
|
51
52
|
|
|
@@ -53,6 +54,12 @@
|
|
|
53
54
|
<p class="quiet">
|
|
54
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.
|
|
55
56
|
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
56
63
|
</div>
|
|
57
64
|
<div class='status-line high'></div>
|
|
58
65
|
<div class="pad1">
|
|
@@ -77,28 +84,28 @@
|
|
|
77
84
|
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
|
78
85
|
</td>
|
|
79
86
|
<td data-value="100" class="pct high">100%</td>
|
|
80
|
-
<td data-value="
|
|
81
|
-
<td data-value="
|
|
82
|
-
<td data-value="
|
|
87
|
+
<td data-value="102" class="abs high">102/102</td>
|
|
88
|
+
<td data-value="93.47" class="pct high">93.47%</td>
|
|
89
|
+
<td data-value="46" class="abs high">43/46</td>
|
|
83
90
|
<td data-value="100" class="pct high">100%</td>
|
|
84
|
-
<td data-value="
|
|
91
|
+
<td data-value="26" class="abs high">26/26</td>
|
|
85
92
|
<td data-value="100" class="pct high">100%</td>
|
|
86
|
-
<td data-value="
|
|
93
|
+
<td data-value="98" class="abs high">98/98</td>
|
|
87
94
|
</tr>
|
|
88
95
|
|
|
89
96
|
<tr>
|
|
90
97
|
<td class="file high" data-value="src/adapters"><a href="src/adapters/index.html">src/adapters</a></td>
|
|
91
|
-
<td data-value="
|
|
92
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
98
|
+
<td data-value="90" class="pic high">
|
|
99
|
+
<div class="chart"><div class="cover-fill" style="width: 90%"></div><div class="cover-empty" style="width: 10%"></div></div>
|
|
93
100
|
</td>
|
|
94
|
-
<td data-value="
|
|
95
|
-
<td data-value="
|
|
96
|
-
<td data-value="
|
|
97
|
-
<td data-value="
|
|
101
|
+
<td data-value="90" class="pct high">90%</td>
|
|
102
|
+
<td data-value="50" class="abs high">45/50</td>
|
|
103
|
+
<td data-value="87.5" class="pct high">87.5%</td>
|
|
104
|
+
<td data-value="16" class="abs high">14/16</td>
|
|
98
105
|
<td data-value="100" class="pct high">100%</td>
|
|
99
106
|
<td data-value="11" class="abs high">11/11</td>
|
|
100
|
-
<td data-value="
|
|
101
|
-
<td data-value="
|
|
107
|
+
<td data-value="93.75" class="pct high">93.75%</td>
|
|
108
|
+
<td data-value="48" class="abs high">45/48</td>
|
|
102
109
|
</tr>
|
|
103
110
|
|
|
104
111
|
<tr>
|
|
@@ -107,13 +114,13 @@
|
|
|
107
114
|
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
|
108
115
|
</td>
|
|
109
116
|
<td data-value="100" class="pct high">100%</td>
|
|
110
|
-
<td data-value="
|
|
117
|
+
<td data-value="12" class="abs high">12/12</td>
|
|
111
118
|
<td data-value="100" class="pct high">100%</td>
|
|
112
119
|
<td data-value="4" class="abs high">4/4</td>
|
|
113
120
|
<td data-value="100" class="pct high">100%</td>
|
|
114
121
|
<td data-value="2" class="abs high">2/2</td>
|
|
115
122
|
<td data-value="100" class="pct high">100%</td>
|
|
116
|
-
<td data-value="
|
|
123
|
+
<td data-value="10" class="abs high">10/10</td>
|
|
117
124
|
</tr>
|
|
118
125
|
|
|
119
126
|
<tr>
|
|
@@ -122,13 +129,13 @@
|
|
|
122
129
|
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
|
123
130
|
</td>
|
|
124
131
|
<td data-value="100" class="pct high">100%</td>
|
|
125
|
-
<td data-value="
|
|
132
|
+
<td data-value="28" class="abs high">28/28</td>
|
|
126
133
|
<td data-value="100" class="pct high">100%</td>
|
|
127
|
-
<td data-value="
|
|
134
|
+
<td data-value="18" class="abs high">18/18</td>
|
|
128
135
|
<td data-value="100" class="pct high">100%</td>
|
|
129
|
-
<td data-value="
|
|
136
|
+
<td data-value="8" class="abs high">8/8</td>
|
|
130
137
|
<td data-value="100" class="pct high">100%</td>
|
|
131
|
-
<td data-value="
|
|
138
|
+
<td data-value="25" class="abs high">25/25</td>
|
|
132
139
|
</tr>
|
|
133
140
|
|
|
134
141
|
</tbody>
|
|
@@ -138,10 +145,9 @@
|
|
|
138
145
|
</div><!-- /wrapper -->
|
|
139
146
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
140
147
|
Code coverage generated by
|
|
141
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
142
|
-
at
|
|
148
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
149
|
+
at 2026-01-05T10:05:12.285Z
|
|
143
150
|
</div>
|
|
144
|
-
</div>
|
|
145
151
|
<script src="prettify.js"></script>
|
|
146
152
|
<script>
|
|
147
153
|
window.onload = function () {
|
|
Binary file
|
|
@@ -24,6 +24,45 @@ var addSorting = (function() {
|
|
|
24
24
|
return getTableHeader().querySelectorAll('th')[n];
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
function onFilterInput() {
|
|
28
|
+
const searchValue = document.getElementById('fileSearch').value;
|
|
29
|
+
const rows = document.getElementsByTagName('tbody')[0].children;
|
|
30
|
+
|
|
31
|
+
// Try to create a RegExp from the searchValue. If it fails (invalid regex),
|
|
32
|
+
// it will be treated as a plain text search
|
|
33
|
+
let searchRegex;
|
|
34
|
+
try {
|
|
35
|
+
searchRegex = new RegExp(searchValue, 'i'); // 'i' for case-insensitive
|
|
36
|
+
} catch (error) {
|
|
37
|
+
searchRegex = null;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
for (let i = 0; i < rows.length; i++) {
|
|
41
|
+
const row = rows[i];
|
|
42
|
+
let isMatch = false;
|
|
43
|
+
|
|
44
|
+
if (searchRegex) {
|
|
45
|
+
// If a valid regex was created, use it for matching
|
|
46
|
+
isMatch = searchRegex.test(row.textContent);
|
|
47
|
+
} else {
|
|
48
|
+
// Otherwise, fall back to the original plain text search
|
|
49
|
+
isMatch = row.textContent
|
|
50
|
+
.toLowerCase()
|
|
51
|
+
.includes(searchValue.toLowerCase());
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
row.style.display = isMatch ? '' : 'none';
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// loads the search box
|
|
59
|
+
function addSearchBox() {
|
|
60
|
+
var template = document.getElementById('filterTemplate');
|
|
61
|
+
var templateClone = template.content.cloneNode(true);
|
|
62
|
+
templateClone.getElementById('fileSearch').oninput = onFilterInput;
|
|
63
|
+
template.parentElement.appendChild(templateClone);
|
|
64
|
+
}
|
|
65
|
+
|
|
27
66
|
// loads all columns
|
|
28
67
|
function loadColumns() {
|
|
29
68
|
var colNodes = getTableHeader().querySelectorAll('th'),
|
|
@@ -162,6 +201,7 @@ var addSorting = (function() {
|
|
|
162
201
|
}
|
|
163
202
|
cols = loadColumns();
|
|
164
203
|
loadData();
|
|
204
|
+
addSearchBox();
|
|
165
205
|
addSortIndicators();
|
|
166
206
|
enableUI();
|
|
167
207
|
};
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
8
|
<link rel="stylesheet" href="../prettify.css" />
|
|
9
9
|
<link rel="stylesheet" href="../base.css" />
|
|
10
|
-
<
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
11
12
|
<style type='text/css'>
|
|
12
13
|
.coverage-summary .sorter {
|
|
13
14
|
background-image: url(../sort-arrow-sprite.png);
|
|
@@ -24,28 +25,28 @@
|
|
|
24
25
|
<div class='fl pad1y space-right2'>
|
|
25
26
|
<span class="strong">100% </span>
|
|
26
27
|
<span class="quiet">Statements</span>
|
|
27
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>83/83</span>
|
|
28
29
|
</div>
|
|
29
30
|
|
|
30
31
|
|
|
31
32
|
<div class='fl pad1y space-right2'>
|
|
32
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">94.73% </span>
|
|
33
34
|
<span class="quiet">Branches</span>
|
|
34
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>36/38</span>
|
|
35
36
|
</div>
|
|
36
37
|
|
|
37
38
|
|
|
38
39
|
<div class='fl pad1y space-right2'>
|
|
39
40
|
<span class="strong">100% </span>
|
|
40
41
|
<span class="quiet">Functions</span>
|
|
41
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>19/19</span>
|
|
42
43
|
</div>
|
|
43
44
|
|
|
44
45
|
|
|
45
46
|
<div class='fl pad1y space-right2'>
|
|
46
47
|
<span class="strong">100% </span>
|
|
47
48
|
<span class="quiet">Lines</span>
|
|
48
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>79/79</span>
|
|
49
50
|
</div>
|
|
50
51
|
|
|
51
52
|
|
|
@@ -53,6 +54,12 @@
|
|
|
53
54
|
<p class="quiet">
|
|
54
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.
|
|
55
56
|
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
56
63
|
</div>
|
|
57
64
|
<div class='status-line high'></div>
|
|
58
65
|
<pre><table class="coverage">
|
|
@@ -200,31 +207,56 @@
|
|
|
200
207
|
<a name='L142'></a><a href='#L142'>142</a>
|
|
201
208
|
<a name='L143'></a><a href='#L143'>143</a>
|
|
202
209
|
<a name='L144'></a><a href='#L144'>144</a>
|
|
203
|
-
<a name='L145'></a><a href='#L145'>145</a
|
|
210
|
+
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
+
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
+
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
+
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
+
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
+
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
+
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
+
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
+
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
+
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
+
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
+
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
+
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
+
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
+
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
+
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
+
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
+
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
+
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
+
<a name='L170'></a><a href='#L170'>170</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
204
236
|
<span class="cline-any cline-neutral"> </span>
|
|
205
237
|
<span class="cline-any cline-neutral"> </span>
|
|
206
238
|
<span class="cline-any cline-neutral"> </span>
|
|
207
|
-
<span class="cline-any cline-yes">1x</span>
|
|
208
|
-
<span class="cline-any cline-yes">1x</span>
|
|
209
|
-
<span class="cline-any cline-yes">1x</span>
|
|
210
|
-
<span class="cline-any cline-yes">1x</span>
|
|
211
239
|
<span class="cline-any cline-neutral"> </span>
|
|
212
240
|
<span class="cline-any cline-neutral"> </span>
|
|
213
241
|
<span class="cline-any cline-neutral"> </span>
|
|
214
242
|
<span class="cline-any cline-neutral"> </span>
|
|
215
243
|
<span class="cline-any cline-neutral"> </span>
|
|
216
|
-
<span class="cline-any cline-yes">18x</span>
|
|
217
|
-
<span class="cline-any cline-yes">18x</span>
|
|
218
244
|
<span class="cline-any cline-neutral"> </span>
|
|
219
245
|
<span class="cline-any cline-neutral"> </span>
|
|
220
246
|
<span class="cline-any cline-neutral"> </span>
|
|
221
|
-
<span class="cline-any cline-
|
|
247
|
+
<span class="cline-any cline-neutral"> </span>
|
|
248
|
+
<span class="cline-any cline-yes">19x</span>
|
|
249
|
+
<span class="cline-any cline-yes">19x</span>
|
|
250
|
+
<span class="cline-any cline-neutral"> </span>
|
|
251
|
+
<span class="cline-any cline-neutral"> </span>
|
|
252
|
+
<span class="cline-any cline-neutral"> </span>
|
|
253
|
+
<span class="cline-any cline-yes">19x</span>
|
|
222
254
|
<span class="cline-any cline-yes">2x</span>
|
|
223
255
|
<span class="cline-any cline-neutral"> </span>
|
|
224
|
-
<span class="cline-any cline-yes">
|
|
225
|
-
<span class="cline-any cline-yes">
|
|
226
|
-
<span class="cline-any cline-yes">
|
|
227
|
-
<span class="cline-any cline-yes">
|
|
256
|
+
<span class="cline-any cline-yes">17x</span>
|
|
257
|
+
<span class="cline-any cline-yes">17x</span>
|
|
258
|
+
<span class="cline-any cline-yes">17x</span>
|
|
259
|
+
<span class="cline-any cline-yes">17x</span>
|
|
228
260
|
<span class="cline-any cline-neutral"> </span>
|
|
229
261
|
<span class="cline-any cline-neutral"> </span>
|
|
230
262
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -232,17 +264,17 @@
|
|
|
232
264
|
<span class="cline-any cline-neutral"> </span>
|
|
233
265
|
<span class="cline-any cline-neutral"> </span>
|
|
234
266
|
<span class="cline-any cline-neutral"> </span>
|
|
235
|
-
<span class="cline-any cline-yes">
|
|
236
|
-
<span class="cline-any cline-yes">
|
|
237
|
-
<span class="cline-any cline-yes">
|
|
267
|
+
<span class="cline-any cline-yes">73x</span>
|
|
268
|
+
<span class="cline-any cline-yes">17x</span>
|
|
269
|
+
<span class="cline-any cline-yes">17x</span>
|
|
238
270
|
<span class="cline-any cline-neutral"> </span>
|
|
239
|
-
<span class="cline-any cline-yes">
|
|
271
|
+
<span class="cline-any cline-yes">73x</span>
|
|
240
272
|
<span class="cline-any cline-neutral"> </span>
|
|
241
273
|
<span class="cline-any cline-neutral"> </span>
|
|
242
274
|
<span class="cline-any cline-neutral"> </span>
|
|
243
|
-
<span class="cline-any cline-yes">
|
|
244
|
-
<span class="cline-any cline-yes">
|
|
245
|
-
<span class="cline-any cline-yes">
|
|
275
|
+
<span class="cline-any cline-yes">19x</span>
|
|
276
|
+
<span class="cline-any cline-yes">19x</span>
|
|
277
|
+
<span class="cline-any cline-yes">19x</span>
|
|
246
278
|
<span class="cline-any cline-yes">6x</span>
|
|
247
279
|
<span class="cline-any cline-yes">1x</span>
|
|
248
280
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -253,55 +285,56 @@
|
|
|
253
285
|
<span class="cline-any cline-yes">1x</span>
|
|
254
286
|
<span class="cline-any cline-neutral"> </span>
|
|
255
287
|
<span class="cline-any cline-neutral"> </span>
|
|
256
|
-
<span class="cline-any cline-yes">
|
|
288
|
+
<span class="cline-any cline-yes">19x</span>
|
|
257
289
|
<span class="cline-any cline-neutral"> </span>
|
|
258
290
|
<span class="cline-any cline-neutral"> </span>
|
|
259
291
|
<span class="cline-any cline-neutral"> </span>
|
|
260
292
|
<span class="cline-any cline-neutral"> </span>
|
|
261
293
|
<span class="cline-any cline-neutral"> </span>
|
|
262
294
|
<span class="cline-any cline-neutral"> </span>
|
|
263
|
-
<span class="cline-any cline-yes">33x</span>
|
|
264
295
|
<span class="cline-any cline-neutral"> </span>
|
|
296
|
+
<span class="cline-any cline-yes">39x</span>
|
|
265
297
|
<span class="cline-any cline-neutral"> </span>
|
|
266
298
|
<span class="cline-any cline-neutral"> </span>
|
|
267
|
-
<span class="cline-any cline-yes">12x</span>
|
|
268
299
|
<span class="cline-any cline-neutral"> </span>
|
|
300
|
+
<span class="cline-any cline-yes">18x</span>
|
|
269
301
|
<span class="cline-any cline-neutral"> </span>
|
|
270
302
|
<span class="cline-any cline-neutral"> </span>
|
|
271
|
-
<span class="cline-any cline-yes">13x</span>
|
|
272
303
|
<span class="cline-any cline-neutral"> </span>
|
|
273
304
|
<span class="cline-any cline-neutral"> </span>
|
|
305
|
+
<span class="cline-any cline-yes">20x</span>
|
|
274
306
|
<span class="cline-any cline-neutral"> </span>
|
|
275
|
-
<span class="cline-any cline-yes">8x</span>
|
|
276
|
-
<span class="cline-any cline-yes">8x</span>
|
|
277
|
-
<span class="cline-any cline-yes">8x</span>
|
|
278
|
-
<span class="cline-any cline-yes">8x</span>
|
|
279
307
|
<span class="cline-any cline-neutral"> </span>
|
|
280
308
|
<span class="cline-any cline-neutral"> </span>
|
|
309
|
+
<span class="cline-any cline-yes">11x</span>
|
|
310
|
+
<span class="cline-any cline-yes">11x</span>
|
|
311
|
+
<span class="cline-any cline-yes">11x</span>
|
|
312
|
+
<span class="cline-any cline-yes">11x</span>
|
|
313
|
+
<span class="cline-any cline-neutral"> </span>
|
|
281
314
|
<span class="cline-any cline-neutral"> </span>
|
|
282
|
-
<span class="cline-any cline-yes">1x</span>
|
|
283
|
-
<span class="cline-any cline-yes">9x</span>
|
|
284
|
-
<span class="cline-any cline-yes">9x</span>
|
|
285
315
|
<span class="cline-any cline-neutral"> </span>
|
|
286
|
-
<span class="cline-any cline-yes">
|
|
316
|
+
<span class="cline-any cline-yes">1x</span>
|
|
317
|
+
<span class="cline-any cline-yes">12x</span>
|
|
318
|
+
<span class="cline-any cline-yes">12x</span>
|
|
319
|
+
<span class="cline-any cline-yes">12x</span>
|
|
287
320
|
<span class="cline-any cline-yes">1x</span>
|
|
288
321
|
<span class="cline-any cline-yes">1x</span>
|
|
289
322
|
<span class="cline-any cline-neutral"> </span>
|
|
290
|
-
<span class="cline-any cline-yes">
|
|
291
|
-
<span class="cline-any cline-yes">
|
|
292
|
-
<span class="cline-any cline-yes">
|
|
323
|
+
<span class="cline-any cline-yes">11x</span>
|
|
324
|
+
<span class="cline-any cline-yes">11x</span>
|
|
325
|
+
<span class="cline-any cline-yes">11x</span>
|
|
293
326
|
<span class="cline-any cline-yes">3x</span>
|
|
294
327
|
<span class="cline-any cline-neutral"> </span>
|
|
295
|
-
<span class="cline-any cline-yes">
|
|
328
|
+
<span class="cline-any cline-yes">11x</span>
|
|
296
329
|
<span class="cline-any cline-neutral"> </span>
|
|
297
330
|
<span class="cline-any cline-neutral"> </span>
|
|
298
331
|
<span class="cline-any cline-neutral"> </span>
|
|
299
332
|
<span class="cline-any cline-yes">1x</span>
|
|
300
|
-
<span class="cline-any cline-yes">
|
|
301
|
-
<span class="cline-any cline-yes">
|
|
333
|
+
<span class="cline-any cline-yes">3x</span>
|
|
334
|
+
<span class="cline-any cline-yes">8x</span>
|
|
302
335
|
<span class="cline-any cline-neutral"> </span>
|
|
303
|
-
<span class="cline-any cline-yes">
|
|
304
|
-
<span class="cline-any cline-yes">
|
|
336
|
+
<span class="cline-any cline-yes">3x</span>
|
|
337
|
+
<span class="cline-any cline-yes">3x</span>
|
|
305
338
|
<span class="cline-any cline-neutral"> </span>
|
|
306
339
|
<span class="cline-any cline-neutral"> </span>
|
|
307
340
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -309,6 +342,7 @@
|
|
|
309
342
|
<span class="cline-any cline-yes">3x</span>
|
|
310
343
|
<span class="cline-any cline-yes">3x</span>
|
|
311
344
|
<span class="cline-any cline-yes">3x</span>
|
|
345
|
+
<span class="cline-any cline-neutral"> </span>
|
|
312
346
|
<span class="cline-any cline-yes">5x</span>
|
|
313
347
|
<span class="cline-any cline-yes">2x</span>
|
|
314
348
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -319,30 +353,53 @@
|
|
|
319
353
|
<span class="cline-any cline-neutral"> </span>
|
|
320
354
|
<span class="cline-any cline-neutral"> </span>
|
|
321
355
|
<span class="cline-any cline-neutral"> </span>
|
|
322
|
-
<span class="cline-any cline-yes">4x</span>
|
|
323
|
-
<span class="cline-any cline-neutral"> </span>
|
|
324
|
-
<span class="cline-any cline-neutral"> </span>
|
|
325
|
-
<span class="cline-any cline-neutral"> </span>
|
|
326
|
-
<span class="cline-any cline-yes">1x</span>
|
|
327
356
|
<span class="cline-any cline-yes">1x</span>
|
|
328
357
|
<span class="cline-any cline-yes">1x</span>
|
|
329
358
|
<span class="cline-any cline-yes">1x</span>
|
|
330
359
|
<span class="cline-any cline-yes">1x</span>
|
|
360
|
+
<span class="cline-any cline-yes">4x</span>
|
|
361
|
+
<span class="cline-any cline-yes">3x</span>
|
|
362
|
+
<span class="cline-any cline-yes">3x</span>
|
|
363
|
+
<span class="cline-any cline-yes">2x</span>
|
|
364
|
+
<span class="cline-any cline-neutral"> </span>
|
|
365
|
+
<span class="cline-any cline-yes">3x</span>
|
|
366
|
+
<span class="cline-any cline-yes">2x</span>
|
|
367
|
+
<span class="cline-any cline-neutral"> </span>
|
|
368
|
+
<span class="cline-any cline-neutral"> </span>
|
|
369
|
+
<span class="cline-any cline-neutral"> </span>
|
|
331
370
|
<span class="cline-any cline-yes">1x</span>
|
|
332
371
|
<span class="cline-any cline-yes">1x</span>
|
|
333
372
|
<span class="cline-any cline-neutral"> </span>
|
|
334
373
|
<span class="cline-any cline-neutral"> </span>
|
|
335
374
|
<span class="cline-any cline-neutral"> </span>
|
|
336
375
|
<span class="cline-any cline-neutral"> </span>
|
|
376
|
+
<span class="cline-any cline-neutral"> </span>
|
|
377
|
+
<span class="cline-any cline-neutral"> </span>
|
|
378
|
+
<span class="cline-any cline-yes">4x</span>
|
|
379
|
+
<span class="cline-any cline-neutral"> </span>
|
|
380
|
+
<span class="cline-any cline-neutral"> </span>
|
|
381
|
+
<span class="cline-any cline-neutral"> </span>
|
|
382
|
+
<span class="cline-any cline-yes">2x</span>
|
|
383
|
+
<span class="cline-any cline-yes">2x</span>
|
|
384
|
+
<span class="cline-any cline-yes">2x</span>
|
|
385
|
+
<span class="cline-any cline-yes">2x</span>
|
|
337
386
|
<span class="cline-any cline-yes">1x</span>
|
|
338
|
-
<span class="cline-any cline-
|
|
387
|
+
<span class="cline-any cline-neutral"> </span>
|
|
339
388
|
<span class="cline-any cline-yes">1x</span>
|
|
340
389
|
<span class="cline-any cline-yes">1x</span>
|
|
341
390
|
<span class="cline-any cline-neutral"> </span>
|
|
342
391
|
<span class="cline-any cline-neutral"> </span>
|
|
343
392
|
<span class="cline-any cline-neutral"> </span>
|
|
344
393
|
<span class="cline-any cline-neutral"> </span>
|
|
345
|
-
<span class="cline-any cline-yes">
|
|
394
|
+
<span class="cline-any cline-yes">2x</span>
|
|
395
|
+
<span class="cline-any cline-yes">2x</span>
|
|
396
|
+
<span class="cline-any cline-yes">2x</span>
|
|
397
|
+
<span class="cline-any cline-yes">2x</span>
|
|
398
|
+
<span class="cline-any cline-neutral"> </span>
|
|
399
|
+
<span class="cline-any cline-neutral"> </span>
|
|
400
|
+
<span class="cline-any cline-neutral"> </span>
|
|
401
|
+
<span class="cline-any cline-neutral"> </span>
|
|
402
|
+
<span class="cline-any cline-neutral"> </span>
|
|
346
403
|
<span class="cline-any cline-neutral"> </span>
|
|
347
404
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">/* eslint-disable no-return-await */
|
|
348
405
|
/* eslint-disable @typescript-eslint/no-floating-promises */
|
|
@@ -404,6 +461,7 @@ class DBStore {
|
|
|
404
461
|
}
|
|
405
462
|
|
|
406
463
|
private async getCollection (): Promise<Array<IResult<IObject>>> {
|
|
464
|
+
/* istanbul ignore next */
|
|
407
465
|
return ((await this.read())?.[this.collectionName]) as Array<IResult<IObject>>
|
|
408
466
|
}
|
|
409
467
|
|
|
@@ -412,6 +470,7 @@ class DBStore {
|
|
|
412
470
|
}
|
|
413
471
|
|
|
414
472
|
private async getCollectionKeyMap (): Promise<ILowDataKeyMap> {
|
|
473
|
+
/* istanbul ignore next */
|
|
415
474
|
return (((await this.read())?.[this.collectionKey]) as ILowDataKeyMap)
|
|
416
475
|
}
|
|
417
476
|
|
|
@@ -426,9 +485,8 @@ class DBStore {
|
|
|
426
485
|
async insert<T> (value: T, writable = true): Promise<IResult<T>> {
|
|
427
486
|
const id = (value as IResult<T>).id
|
|
428
487
|
const result = await this.getCollectionKey(id)
|
|
429
|
-
// @ts-ignore
|
|
430
488
|
if (result) {
|
|
431
|
-
await this.updateById(id, value)
|
|
489
|
+
await this.updateById(id, value as IResult<T>)
|
|
432
490
|
return (value as IResult<T>)
|
|
433
491
|
}
|
|
434
492
|
(await this.getCollection()).push(value as IResult<T>)
|
|
@@ -453,7 +511,8 @@ class DBStore {
|
|
|
453
511
|
const collection = await this.getCollection()
|
|
454
512
|
const result = await this.getCollectionKey(id)
|
|
455
513
|
if (result) {
|
|
456
|
-
|
|
514
|
+
/* istanbul ignore next */
|
|
515
|
+
const item = collection.find(item => item.id === id) ?? <span class="branch-1 cbranch-no" title="branch not covered" >{}</span>
|
|
457
516
|
Object.assign(item, value)
|
|
458
517
|
await this.db.write()
|
|
459
518
|
return true
|
|
@@ -461,6 +520,28 @@ class DBStore {
|
|
|
461
520
|
return false
|
|
462
521
|
}
|
|
463
522
|
}
|
|
523
|
+
|
|
524
|
+
@metaInfoHelper(IMetaInfoMode.updateMany)
|
|
525
|
+
async updateMany (list: IObject[]): Promise<{ total: number, success: number }> {
|
|
526
|
+
const collection = await this.getCollection()
|
|
527
|
+
let successCount = 0
|
|
528
|
+
for (const item of list) {
|
|
529
|
+
if (item.id) {
|
|
530
|
+
const result = await this.getCollectionKey(item.id)
|
|
531
|
+
if (result) {
|
|
532
|
+
successCount++
|
|
533
|
+
/* istanbul ignore next */
|
|
534
|
+
const target = collection.find(t => t.id === item.id) ?? <span class="branch-1 cbranch-no" title="branch not covered" >{}</span>
|
|
535
|
+
Object.assign(target, item)
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
await this.db.write()
|
|
540
|
+
return {
|
|
541
|
+
success: successCount,
|
|
542
|
+
total: list.length
|
|
543
|
+
}
|
|
544
|
+
}
|
|
464
545
|
|
|
465
546
|
async getById<T> (id: string): Promise<IResult<T> | undefined> {
|
|
466
547
|
return (await this.getCollection()).find(item => item.id === id) as IResult<T>
|
|
@@ -470,8 +551,9 @@ class DBStore {
|
|
|
470
551
|
const collection = await this.getCollection()
|
|
471
552
|
const collectionKeyMap = await this.getCollectionKeyMap()
|
|
472
553
|
const index = collection.findIndex(item => item.id === id)
|
|
473
|
-
|
|
554
|
+
if (index !== -1) {
|
|
474
555
|
collection.splice(index, 1)
|
|
556
|
+
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
|
|
475
557
|
delete collectionKeyMap[id]
|
|
476
558
|
await this.db.write()
|
|
477
559
|
}
|
|
@@ -494,10 +576,9 @@ export {
|
|
|
494
576
|
</div><!-- /wrapper -->
|
|
495
577
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
496
578
|
Code coverage generated by
|
|
497
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
498
|
-
at
|
|
579
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
580
|
+
at 2026-01-05T10:05:12.285Z
|
|
499
581
|
</div>
|
|
500
|
-
</div>
|
|
501
582
|
<script src="../prettify.js"></script>
|
|
502
583
|
<script>
|
|
503
584
|
window.onload = function () {
|