@picgo/store 2.0.0 → 2.0.3

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.
@@ -29,9 +29,9 @@
29
29
 
30
30
 
31
31
  <div class='fl pad1y space-right2'>
32
- <span class="strong">92.11% </span>
32
+ <span class="strong">93.75% </span>
33
33
  <span class="quiet">Branches</span>
34
- <span class='fraction'>35/38</span>
34
+ <span class='fraction'>30/32</span>
35
35
  </div>
36
36
 
37
37
 
@@ -199,7 +199,9 @@
199
199
  <a name='L141'></a><a href='#L141'>141</a>
200
200
  <a name='L142'></a><a href='#L142'>142</a>
201
201
  <a name='L143'></a><a href='#L143'>143</a>
202
- <a name='L144'></a><a href='#L144'>144</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
202
+ <a name='L144'></a><a href='#L144'>144</a>
203
+ <a name='L145'></a><a href='#L145'>145</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
204
+ <span class="cline-any cline-neutral">&nbsp;</span>
203
205
  <span class="cline-any cline-neutral">&nbsp;</span>
204
206
  <span class="cline-any cline-neutral">&nbsp;</span>
205
207
  <span class="cline-any cline-yes">1x</span>
@@ -342,7 +344,8 @@
342
344
  <span class="cline-any cline-neutral">&nbsp;</span>
343
345
  <span class="cline-any cline-yes">1x</span>
344
346
  <span class="cline-any cline-neutral">&nbsp;</span>
345
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/* eslint-disable @typescript-eslint/no-floating-promises */
347
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/* eslint-disable no-return-await */
348
+ /* eslint-disable @typescript-eslint/no-floating-promises */
346
349
  /* eslint-disable no-unused-expressions */
347
350
  /* eslint-disable @typescript-eslint/no-non-null-assertion */
348
351
  import { Low } from '@commonify/lowdb'
@@ -401,7 +404,7 @@ class DBStore {
401
404
  }
402
405
  &nbsp;
403
406
  private async getCollection (): Promise&lt;Array&lt;IResult&lt;IObject&gt;&gt;&gt; {
404
- return ((await this.read())<span class="branch-0 cbranch-no" title="branch not covered" >?.[t</span>his.collectionName]) as Array&lt;IResult&lt;IObject&gt;&gt;
407
+ return ((await this.read())?.[this.collectionName]) as Array&lt;IResult&lt;IObject&gt;&gt;
405
408
  }
406
409
  &nbsp;
407
410
  private async getCollectionKey (id: string): Promise&lt;1 | null&gt; {
@@ -409,7 +412,7 @@ class DBStore {
409
412
  }
410
413
  &nbsp;
411
414
  private async getCollectionKeyMap (): Promise&lt;ILowDataKeyMap&gt; {
412
- return (((await this.read())<span class="branch-0 cbranch-no" title="branch not covered" >?.[t</span>his.collectionKey]) as ILowDataKeyMap)
415
+ return (((await this.read())?.[this.collectionKey]) as ILowDataKeyMap)
413
416
  }
414
417
  &nbsp;
415
418
  private async setCollectionKey (id: string): Promise&lt;void&gt; {
@@ -450,7 +453,7 @@ class DBStore {
450
453
  const collection = await this.getCollection()
451
454
  const result = await this.getCollectionKey(id)
452
455
  if (result) {
453
- const item = collection.find(item =&gt; item.id === id)
456
+ const item = collection.find(item =&gt; item.id === id) || <span class="branch-1 cbranch-no" title="branch not covered" >{}</span>
454
457
  Object.assign(item, value)
455
458
  await this.db.write()
456
459
  return true
@@ -492,7 +495,7 @@ export {
492
495
  <div class='footer quiet pad2 space-top1 center small'>
493
496
  Code coverage generated by
494
497
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
495
- at Sun Jun 12 2022 02:11:39 GMT+0000 (Coordinated Universal Time)
498
+ at Sat Aug 20 2022 15:13:34 GMT+0000 (Coordinated Universal Time)
496
499
  </div>
497
500
  </div>
498
501
  <script src="../prettify.js"></script>
@@ -114,27 +114,27 @@
114
114
  <span class="cline-any cline-neutral">&nbsp;</span>
115
115
  <span class="cline-any cline-neutral">&nbsp;</span>
116
116
  <span class="cline-any cline-neutral">&nbsp;</span>
117
- <span class="cline-any cline-yes">5x</span>
117
+ <span class="cline-any cline-yes">7x</span>
118
118
  <span class="cline-any cline-neutral">&nbsp;</span>
119
119
  <span class="cline-any cline-neutral">&nbsp;</span>
120
120
  <span class="cline-any cline-neutral">&nbsp;</span>
121
- <span class="cline-any cline-yes">6x</span>
121
+ <span class="cline-any cline-yes">8x</span>
122
122
  <span class="cline-any cline-neutral">&nbsp;</span>
123
- <span class="cline-any cline-yes">6x</span>
123
+ <span class="cline-any cline-yes">8x</span>
124
124
  <span class="cline-any cline-yes">1x</span>
125
125
  <span class="cline-any cline-neutral">&nbsp;</span>
126
- <span class="cline-any cline-yes">5x</span>
127
- <span class="cline-any cline-yes">5x</span>
128
- <span class="cline-any cline-yes">5x</span>
126
+ <span class="cline-any cline-yes">7x</span>
127
+ <span class="cline-any cline-yes">7x</span>
128
+ <span class="cline-any cline-yes">7x</span>
129
129
  <span class="cline-any cline-neutral">&nbsp;</span>
130
130
  <span class="cline-any cline-neutral">&nbsp;</span>
131
131
  <span class="cline-any cline-neutral">&nbsp;</span>
132
132
  <span class="cline-any cline-neutral">&nbsp;</span>
133
- <span class="cline-any cline-yes">6x</span>
134
- <span class="cline-any cline-yes">6x</span>
135
- <span class="cline-any cline-yes">6x</span>
133
+ <span class="cline-any cline-yes">10x</span>
134
+ <span class="cline-any cline-yes">10x</span>
135
+ <span class="cline-any cline-yes">10x</span>
136
136
  <span class="cline-any cline-neutral">&nbsp;</span>
137
- <span class="cline-any cline-yes">6x</span>
137
+ <span class="cline-any cline-yes">10x</span>
138
138
  <span class="cline-any cline-neutral">&nbsp;</span>
139
139
  <span class="cline-any cline-neutral">&nbsp;</span>
140
140
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -219,7 +219,7 @@ export {
219
219
  <div class='footer quiet pad2 space-top1 center small'>
220
220
  Code coverage generated by
221
221
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
222
- at Sun Jun 12 2022 02:11:39 GMT+0000 (Coordinated Universal Time)
222
+ at Sat Aug 20 2022 15:13:34 GMT+0000 (Coordinated Universal Time)
223
223
  </div>
224
224
  </div>
225
225
  <script src="../prettify.js"></script>
@@ -24,14 +24,14 @@
24
24
  <div class='fl pad1y space-right2'>
25
25
  <span class="strong">100% </span>
26
26
  <span class="quiet">Statements</span>
27
- <span class='fraction'>9/9</span>
27
+ <span class='fraction'>14/14</span>
28
28
  </div>
29
29
 
30
30
 
31
31
  <div class='fl pad1y space-right2'>
32
- <span class="strong">100% </span>
32
+ <span class="strong">60% </span>
33
33
  <span class="quiet">Branches</span>
34
- <span class='fraction'>2/2</span>
34
+ <span class='fraction'>3/5</span>
35
35
  </div>
36
36
 
37
37
 
@@ -45,7 +45,7 @@
45
45
  <div class='fl pad1y space-right2'>
46
46
  <span class="strong">100% </span>
47
47
  <span class="quiet">Lines</span>
48
- <span class='fraction'>9/9</span>
48
+ <span class='fraction'>14/14</span>
49
49
  </div>
50
50
 
51
51
 
@@ -79,22 +79,46 @@
79
79
  <a name='L21'></a><a href='#L21'>21</a>
80
80
  <a name='L22'></a><a href='#L22'>22</a>
81
81
  <a name='L23'></a><a href='#L23'>23</a>
82
- <a name='L24'></a><a href='#L24'>24</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
82
+ <a name='L24'></a><a href='#L24'>24</a>
83
+ <a name='L25'></a><a href='#L25'>25</a>
84
+ <a name='L26'></a><a href='#L26'>26</a>
85
+ <a name='L27'></a><a href='#L27'>27</a>
86
+ <a name='L28'></a><a href='#L28'>28</a>
87
+ <a name='L29'></a><a href='#L29'>29</a>
88
+ <a name='L30'></a><a href='#L30'>30</a>
89
+ <a name='L31'></a><a href='#L31'>31</a>
90
+ <a name='L32'></a><a href='#L32'>32</a>
91
+ <a name='L33'></a><a href='#L33'>33</a>
92
+ <a name='L34'></a><a href='#L34'>34</a>
93
+ <a name='L35'></a><a href='#L35'>35</a>
94
+ <a name='L36'></a><a href='#L36'>36</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
83
95
  <span class="cline-any cline-yes">1x</span>
84
96
  <span class="cline-any cline-neutral">&nbsp;</span>
85
- <span class="cline-any cline-neutral">&nbsp;</span>
97
+ <span class="cline-any cline-yes">1x</span>
86
98
  <span class="cline-any cline-yes">1x</span>
87
99
  <span class="cline-any cline-neutral">&nbsp;</span>
88
100
  <span class="cline-any cline-neutral">&nbsp;</span>
89
- <span class="cline-any cline-yes">5x</span>
90
101
  <span class="cline-any cline-neutral">&nbsp;</span>
102
+ <span class="cline-any cline-yes">7x</span>
103
+ <span class="cline-any cline-yes">7x</span>
91
104
  <span class="cline-any cline-neutral">&nbsp;</span>
92
105
  <span class="cline-any cline-neutral">&nbsp;</span>
93
- <span class="cline-any cline-yes">6x</span>
94
- <span class="cline-any cline-yes">6x</span>
95
- <span class="cline-any cline-yes">1x</span>
96
106
  <span class="cline-any cline-neutral">&nbsp;</span>
97
- <span class="cline-any cline-yes">5x</span>
107
+ <span class="cline-any cline-yes">10x</span>
108
+ <span class="cline-any cline-neutral">&nbsp;</span>
109
+ <span class="cline-any cline-yes">10x</span>
110
+ <span class="cline-any cline-neutral">&nbsp;</span>
111
+ <span class="cline-any cline-neutral">&nbsp;</span>
112
+ <span class="cline-any cline-yes">9x</span>
113
+ <span class="cline-any cline-neutral">&nbsp;</span>
114
+ <span class="cline-any cline-yes">9x</span>
115
+ <span class="cline-any cline-neutral">&nbsp;</span>
116
+ <span class="cline-any cline-yes">4x</span>
117
+ <span class="cline-any cline-yes">4x</span>
118
+ <span class="cline-any cline-neutral">&nbsp;</span>
119
+ <span class="cline-any cline-yes">4x</span>
120
+ <span class="cline-any cline-neutral">&nbsp;</span>
121
+ <span class="cline-any cline-neutral">&nbsp;</span>
98
122
  <span class="cline-any cline-neutral">&nbsp;</span>
99
123
  <span class="cline-any cline-neutral">&nbsp;</span>
100
124
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -105,24 +129,36 @@
105
129
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { TextFileSync } from '@commonify/lowdb'
106
130
  import json from 'comment-json'
107
131
  import { IJSON } from 'src/types'
108
- // import writeFile from 'write-file-atomic'
132
+ import writeFile from 'write-file-atomic'
109
133
  export class JSONAdapter {
110
134
  private readonly adapter: TextFileSync
111
- constructor (dbName: string) {
112
- this.adapter = new TextFileSync(dbName)
135
+ private readonly dbPath: string
136
+ constructor (dbPath: string) {
137
+ this.dbPath = dbPath
138
+ this.adapter = new TextFileSync(dbPath)
113
139
  }
114
140
  &nbsp;
115
141
  read (): IJSON {
116
142
  const data = this.adapter.read()
143
+ /* istanbul ignore if */
117
144
  if (data === null) {
118
145
  return {}
119
146
  } else {
120
- return json.parse(data)
147
+ try {
148
+ // comment-json will break in some cases
149
+ return json.parse(data || <span class="branch-1 cbranch-no" title="branch not covered" >'{}')</span>
150
+ } catch (e) {
151
+ try {
152
+ return JSON.parse(data || <span class="branch-1 cbranch-no" title="branch not covered" >'{}')</span>
153
+ } catch (e) {
154
+ return {}
155
+ }
156
+ }
121
157
  }
122
158
  }
123
159
  &nbsp;
124
160
  write (obj: any): void {
125
- this.adapter.write(json.stringify(obj))
161
+ writeFile.sync(this.dbPath, json.stringify(obj, null, 2))
126
162
  }
127
163
  }
128
164
  &nbsp;</pre></td></tr></table></pre>
@@ -132,7 +168,7 @@ export class JSONAdapter {
132
168
  <div class='footer quiet pad2 space-top1 center small'>
133
169
  Code coverage generated by
134
170
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
135
- at Sun Jun 12 2022 02:11:39 GMT+0000 (Coordinated Universal Time)
171
+ at Sat Aug 20 2022 15:13:34 GMT+0000 (Coordinated Universal Time)
136
172
  </div>
137
173
  </div>
138
174
  <script src="../../prettify.js"></script>
@@ -253,7 +253,7 @@ class ZlibAdapter {
253
253
  try {
254
254
  const data = JSON.parse(str)
255
255
  return resolve(data)
256
- } catch (e) {
256
+ } catch (e: any) {
257
257
  /* istanbul ignore next */
258
258
  console.error(e)
259
259
  /* istanbul ignore next */
@@ -297,7 +297,7 @@ export {
297
297
  <div class='footer quiet pad2 space-top1 center small'>
298
298
  Code coverage generated by
299
299
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
300
- at Sun Jun 12 2022 02:11:39 GMT+0000 (Coordinated Universal Time)
300
+ at Sat Aug 20 2022 15:13:34 GMT+0000 (Coordinated Universal Time)
301
301
  </div>
302
302
  </div>
303
303
  <script src="../../prettify.js"></script>
@@ -24,14 +24,14 @@
24
24
  <div class='fl pad1y space-right2'>
25
25
  <span class="strong">100% </span>
26
26
  <span class="quiet">Statements</span>
27
- <span class='fraction'>42/42</span>
27
+ <span class='fraction'>47/47</span>
28
28
  </div>
29
29
 
30
30
 
31
31
  <div class='fl pad1y space-right2'>
32
- <span class="strong">100% </span>
32
+ <span class="strong">77.78% </span>
33
33
  <span class="quiet">Branches</span>
34
- <span class='fraction'>6/6</span>
34
+ <span class='fraction'>7/9</span>
35
35
  </div>
36
36
 
37
37
 
@@ -45,7 +45,7 @@
45
45
  <div class='fl pad1y space-right2'>
46
46
  <span class="strong">100% </span>
47
47
  <span class="quiet">Lines</span>
48
- <span class='fraction'>42/42</span>
48
+ <span class='fraction'>47/47</span>
49
49
  </div>
50
50
 
51
51
 
@@ -77,13 +77,13 @@
77
77
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
78
78
  </td>
79
79
  <td data-value="100" class="pct high">100%</td>
80
- <td data-value="9" class="abs high">9/9</td>
81
- <td data-value="100" class="pct high">100%</td>
82
- <td data-value="2" class="abs high">2/2</td>
80
+ <td data-value="14" class="abs high">14/14</td>
81
+ <td data-value="60" class="pct medium">60%</td>
82
+ <td data-value="5" class="abs medium">3/5</td>
83
83
  <td data-value="100" class="pct high">100%</td>
84
84
  <td data-value="3" class="abs high">3/3</td>
85
85
  <td data-value="100" class="pct high">100%</td>
86
- <td data-value="9" class="abs high">9/9</td>
86
+ <td data-value="14" class="abs high">14/14</td>
87
87
  </tr>
88
88
 
89
89
  <tr>
@@ -109,7 +109,7 @@
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
112
- at Sun Jun 12 2022 02:11:39 GMT+0000 (Coordinated Universal Time)
112
+ at Sat Aug 20 2022 15:13:34 GMT+0000 (Coordinated Universal Time)
113
113
  </div>
114
114
  </div>
115
115
  <script src="../../prettify.js"></script>
@@ -29,9 +29,9 @@
29
29
 
30
30
 
31
31
  <div class='fl pad1y space-right2'>
32
- <span class="strong">93.33% </span>
32
+ <span class="strong">94.87% </span>
33
33
  <span class="quiet">Branches</span>
34
- <span class='fraction'>42/45</span>
34
+ <span class='fraction'>37/39</span>
35
35
  </div>
36
36
 
37
37
 
@@ -78,8 +78,8 @@
78
78
  </td>
79
79
  <td data-value="100" class="pct high">100%</td>
80
80
  <td data-value="75" class="abs high">75/75</td>
81
- <td data-value="92.11" class="pct high">92.11%</td>
82
- <td data-value="38" class="abs high">35/38</td>
81
+ <td data-value="93.75" class="pct high">93.75%</td>
82
+ <td data-value="32" class="abs high">30/32</td>
83
83
  <td data-value="100" class="pct high">100%</td>
84
84
  <td data-value="17" class="abs high">17/17</td>
85
85
  <td data-value="100" class="pct high">100%</td>
@@ -109,7 +109,7 @@
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
112
- at Sun Jun 12 2022 02:11:39 GMT+0000 (Coordinated Universal Time)
112
+ at Sat Aug 20 2022 15:13:34 GMT+0000 (Coordinated Universal Time)
113
113
  </div>
114
114
  </div>
115
115
  <script src="../prettify.js"></script>
@@ -94,7 +94,7 @@
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">istanbul</a>
97
- at Sun Jun 12 2022 02:11:39 GMT+0000 (Coordinated Universal Time)
97
+ at Sat Aug 20 2022 15:13:34 GMT+0000 (Coordinated Universal Time)
98
98
  </div>
99
99
  </div>
100
100
  <script src="../../prettify.js"></script>
@@ -204,7 +204,7 @@ export interface IJSON {
204
204
  <div class='footer quiet pad2 space-top1 center small'>
205
205
  Code coverage generated by
206
206
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
207
- at Sun Jun 12 2022 02:11:39 GMT+0000 (Coordinated Universal Time)
207
+ at Sat Aug 20 2022 15:13:34 GMT+0000 (Coordinated Universal Time)
208
208
  </div>
209
209
  </div>
210
210
  <script src="../../prettify.js"></script>
@@ -94,7 +94,7 @@
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">istanbul</a>
97
- at Sun Jun 12 2022 02:11:39 GMT+0000 (Coordinated Universal Time)
97
+ at Sat Aug 20 2022 15:13:34 GMT+0000 (Coordinated Universal Time)
98
98
  </div>
99
99
  </div>
100
100
  <script src="../../prettify.js"></script>
@@ -192,7 +192,7 @@ export {
192
192
  <div class='footer quiet pad2 space-top1 center small'>
193
193
  Code coverage generated by
194
194
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
195
- at Sun Jun 12 2022 02:11:39 GMT+0000 (Coordinated Universal Time)
195
+ at Sat Aug 20 2022 15:13:34 GMT+0000 (Coordinated Universal Time)
196
196
  </div>
197
197
  </div>
198
198
  <script src="../../prettify.js"></script>