@lexho111/plainblog 0.6.0 → 0.6.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.
Files changed (36) hide show
  1. package/Blog.js +2 -1
  2. package/blog_test_empty.db +0 -0
  3. package/blog_test_load.db +0 -0
  4. package/coverage/clover.xml +476 -468
  5. package/coverage/coverage-final.json +14 -14
  6. package/coverage/lcov-report/index.html +36 -36
  7. package/coverage/lcov-report/package/Article.js.html +20 -20
  8. package/coverage/lcov-report/package/Blog.js.html +220 -181
  9. package/coverage/lcov-report/package/Formatter.js.html +2 -2
  10. package/coverage/lcov-report/package/build-scripts.js.html +1 -1
  11. package/coverage/lcov-report/package/build-styles.js.html +1 -1
  12. package/coverage/lcov-report/package/index.html +19 -19
  13. package/coverage/lcov-report/package/model/APIModel.js.html +8 -8
  14. package/coverage/lcov-report/package/model/DataModel.js.html +30 -15
  15. package/coverage/lcov-report/package/model/DatabaseModel.js.html +9 -9
  16. package/coverage/lcov-report/package/model/FileAdapter.js.html +21 -21
  17. package/coverage/lcov-report/package/model/FileModel.js.html +15 -15
  18. package/coverage/lcov-report/package/model/SequelizeAdapter.js.html +36 -36
  19. package/coverage/lcov-report/package/model/SqliteAdapter.js.html +11 -11
  20. package/coverage/lcov-report/package/model/datastructures/ArrayList.js.html +2 -2
  21. package/coverage/lcov-report/package/model/datastructures/ArrayListHashMap.js.html +1 -1
  22. package/coverage/lcov-report/package/model/datastructures/BinarySearchTree.js.html +77 -77
  23. package/coverage/lcov-report/package/model/datastructures/BinarySearchTreeHashMap.js.html +24 -18
  24. package/coverage/lcov-report/package/model/datastructures/FileList.js.html +1 -1
  25. package/coverage/lcov-report/package/model/datastructures/index.html +21 -21
  26. package/coverage/lcov-report/package/model/index.html +26 -26
  27. package/coverage/lcov-report/package/utilities.js.html +19 -19
  28. package/coverage/lcov.info +813 -798
  29. package/model/DataModel.js +2 -1
  30. package/model/DatabaseModel.js +2 -1
  31. package/model/FileAdapter.js +2 -1
  32. package/model/FileModel.js +2 -1
  33. package/model/datastructures/BinarySearchTree.js +2 -1
  34. package/model/datastructures/BinarySearchTreeHashMap.js +2 -1
  35. package/package.json +2 -4
  36. package/public/scripts.min.js +2 -2
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">64.44% </span>
26
+ <span class="strong">68.88% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>29/45</span>
28
+ <span class='fraction'>31/45</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">54.54% </span>
33
+ <span class="strong">59.09% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>12/22</span>
35
+ <span class='fraction'>13/22</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">62.79% </span>
47
+ <span class="strong">67.44% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>27/43</span>
49
+ <span class='fraction'>29/43</span>
50
50
  </div>
51
51
 
52
52
 
@@ -220,8 +220,8 @@
220
220
  <span class="cline-any cline-neutral">&nbsp;</span>
221
221
  <span class="cline-any cline-neutral">&nbsp;</span>
222
222
  <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-yes">2x</span>
224
- <span class="cline-any cline-yes">2x</span>
223
+ <span class="cline-any cline-yes">3x</span>
224
+ <span class="cline-any cline-yes">3x</span>
225
225
  <span class="cline-any cline-neutral">&nbsp;</span>
226
226
  <span class="cline-any cline-neutral">&nbsp;</span>
227
227
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -233,14 +233,14 @@
233
233
  <span class="cline-any cline-neutral">&nbsp;</span>
234
234
  <span class="cline-any cline-neutral">&nbsp;</span>
235
235
  <span class="cline-any cline-neutral">&nbsp;</span>
236
- <span class="cline-any cline-yes">2x</span>
236
+ <span class="cline-any cline-yes">3x</span>
237
237
  <span class="cline-any cline-neutral">&nbsp;</span>
238
238
  <span class="cline-any cline-neutral">&nbsp;</span>
239
239
  <span class="cline-any cline-neutral">&nbsp;</span>
240
- <span class="cline-any cline-yes">6x</span>
240
+ <span class="cline-any cline-yes">9x</span>
241
241
  <span class="cline-any cline-neutral">&nbsp;</span>
242
- <span class="cline-any cline-yes">2x</span>
243
- <span class="cline-any cline-yes">2x</span>
242
+ <span class="cline-any cline-yes">3x</span>
243
+ <span class="cline-any cline-yes">3x</span>
244
244
  <span class="cline-any cline-neutral">&nbsp;</span>
245
245
  <span class="cline-any cline-no">&nbsp;</span>
246
246
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -261,14 +261,14 @@
261
261
  <span class="cline-any cline-no">&nbsp;</span>
262
262
  <span class="cline-any cline-neutral">&nbsp;</span>
263
263
  <span class="cline-any cline-neutral">&nbsp;</span>
264
- <span class="cline-any cline-yes">2x</span>
265
- <span class="cline-any cline-yes">2x</span>
266
- <span class="cline-any cline-yes">2x</span>
264
+ <span class="cline-any cline-yes">3x</span>
265
+ <span class="cline-any cline-yes">3x</span>
266
+ <span class="cline-any cline-yes">3x</span>
267
267
  <span class="cline-any cline-neutral">&nbsp;</span>
268
268
  <span class="cline-any cline-neutral">&nbsp;</span>
269
269
  <span class="cline-any cline-neutral">&nbsp;</span>
270
- <span class="cline-any cline-yes">2x</span>
271
- <span class="cline-any cline-yes">2x</span>
270
+ <span class="cline-any cline-yes">3x</span>
271
+ <span class="cline-any cline-yes">3x</span>
272
272
  <span class="cline-any cline-neutral">&nbsp;</span>
273
273
  <span class="cline-any cline-neutral">&nbsp;</span>
274
274
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -287,7 +287,7 @@
287
287
  <span class="cline-any cline-neutral">&nbsp;</span>
288
288
  <span class="cline-any cline-neutral">&nbsp;</span>
289
289
  <span class="cline-any cline-neutral">&nbsp;</span>
290
- <span class="cline-any cline-yes">2x</span>
290
+ <span class="cline-any cline-yes">3x</span>
291
291
  <span class="cline-any cline-neutral">&nbsp;</span>
292
292
  <span class="cline-any cline-neutral">&nbsp;</span>
293
293
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -298,14 +298,14 @@
298
298
  <span class="cline-any cline-neutral">&nbsp;</span>
299
299
  <span class="cline-any cline-neutral">&nbsp;</span>
300
300
  <span class="cline-any cline-neutral">&nbsp;</span>
301
- <span class="cline-any cline-yes">2x</span>
302
- <span class="cline-any cline-yes">2x</span>
301
+ <span class="cline-any cline-yes">3x</span>
302
+ <span class="cline-any cline-yes">3x</span>
303
303
  <span class="cline-any cline-neutral">&nbsp;</span>
304
304
  <span class="cline-any cline-neutral">&nbsp;</span>
305
- <span class="cline-any cline-yes">2x</span>
306
- <span class="cline-any cline-yes">2x</span>
307
- <span class="cline-any cline-no">&nbsp;</span>
308
- <span class="cline-any cline-no">&nbsp;</span>
305
+ <span class="cline-any cline-yes">3x</span>
306
+ <span class="cline-any cline-yes">3x</span>
307
+ <span class="cline-any cline-yes">1x</span>
308
+ <span class="cline-any cline-yes">1x</span>
309
309
  <span class="cline-any cline-neutral">&nbsp;</span>
310
310
  <span class="cline-any cline-neutral">&nbsp;</span>
311
311
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -317,16 +317,16 @@
317
317
  <span class="cline-any cline-neutral">&nbsp;</span>
318
318
  <span class="cline-any cline-neutral">&nbsp;</span>
319
319
  <span class="cline-any cline-neutral">&nbsp;</span>
320
- <span class="cline-any cline-yes">2x</span>
321
- <span class="cline-any cline-yes">2x</span>
322
- <span class="cline-any cline-yes">2x</span>
320
+ <span class="cline-any cline-yes">3x</span>
321
+ <span class="cline-any cline-yes">3x</span>
322
+ <span class="cline-any cline-yes">3x</span>
323
323
  <span class="cline-any cline-no">&nbsp;</span>
324
324
  <span class="cline-any cline-neutral">&nbsp;</span>
325
325
  <span class="cline-any cline-neutral">&nbsp;</span>
326
- <span class="cline-any cline-yes">2x</span>
326
+ <span class="cline-any cline-yes">3x</span>
327
327
  <span class="cline-any cline-no">&nbsp;</span>
328
328
  <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-yes">2x</span>
329
+ <span class="cline-any cline-yes">3x</span>
330
330
  <span class="cline-any cline-neutral">&nbsp;</span>
331
331
  <span class="cline-any cline-neutral">&nbsp;</span>
332
332
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -335,7 +335,7 @@
335
335
  <span class="cline-any cline-neutral">&nbsp;</span>
336
336
  <span class="cline-any cline-neutral">&nbsp;</span>
337
337
  <span class="cline-any cline-neutral">&nbsp;</span>
338
- <span class="cline-any cline-yes">2x</span>
338
+ <span class="cline-any cline-yes">3x</span>
339
339
  <span class="cline-any cline-yes">4x</span>
340
340
  <span class="cline-any cline-neutral">&nbsp;</span>
341
341
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -354,9 +354,9 @@
354
354
  <span class="cline-any cline-neutral">&nbsp;</span>
355
355
  <span class="cline-any cline-neutral">&nbsp;</span>
356
356
  <span class="cline-any cline-neutral">&nbsp;</span>
357
- <span class="cline-any cline-yes">2x</span>
357
+ <span class="cline-any cline-yes">3x</span>
358
358
  <span class="cline-any cline-neutral">&nbsp;</span>
359
- <span class="cline-any cline-yes">2x</span>
359
+ <span class="cline-any cline-yes">3x</span>
360
360
  <span class="cline-any cline-neutral">&nbsp;</span>
361
361
  <span class="cline-any cline-neutral">&nbsp;</span>
362
362
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -454,9 +454,9 @@ export default class SequelizeAdapter {
454
454
  &nbsp;
455
455
  // Check for and create the initial blog title right after syncing.
456
456
  const blogInfoCount = await this.BlogInfo.count();
457
- <span class="missing-if-branch" title="if path not taken" >I</span>if (blogInfoCount === 0) {
458
- <span class="cstat-no" title="statement not covered" > await this.BlogInfo.create({ title: "My Default Blog Title" });</span>
459
- <span class="cstat-no" title="statement not covered" > console.log("initialized blog title in database.");</span>
457
+ if (blogInfoCount === 0) {
458
+ await this.BlogInfo.create({ title: "My Default Blog Title" });
459
+ console.log("initialized blog title in database.");
460
460
  }
461
461
  }
462
462
  &nbsp;
@@ -523,7 +523,7 @@ export default class SequelizeAdapter {
523
523
  <div class='footer quiet pad2 space-top1 center small'>
524
524
  Code coverage generated by
525
525
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
526
- at 2026-01-17T17:30:57.244Z
526
+ at 2026-01-18T09:21:18.383Z
527
527
  </div>
528
528
  <script src="../../prettify.js"></script>
529
529
  <script>
@@ -122,18 +122,18 @@
122
122
  <span class="cline-any cline-neutral">&nbsp;</span>
123
123
  <span class="cline-any cline-neutral">&nbsp;</span>
124
124
  <span class="cline-any cline-neutral">&nbsp;</span>
125
- <span class="cline-any cline-yes">2x</span>
126
- <span class="cline-any cline-yes">2x</span>
125
+ <span class="cline-any cline-yes">3x</span>
126
+ <span class="cline-any cline-yes">3x</span>
127
127
  <span class="cline-any cline-neutral">&nbsp;</span>
128
128
  <span class="cline-any cline-neutral">&nbsp;</span>
129
- <span class="cline-any cline-yes">2x</span>
129
+ <span class="cline-any cline-yes">3x</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
133
  <span class="cline-any cline-neutral">&nbsp;</span>
134
- <span class="cline-any cline-yes">2x</span>
135
- <span class="cline-any cline-yes">2x</span>
136
- <span class="cline-any cline-yes">2x</span>
134
+ <span class="cline-any cline-yes">3x</span>
135
+ <span class="cline-any cline-yes">3x</span>
136
+ <span class="cline-any cline-yes">3x</span>
137
137
  <span class="cline-any cline-neutral">&nbsp;</span>
138
138
  <span class="cline-any cline-no">&nbsp;</span>
139
139
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -152,15 +152,15 @@
152
152
  <span class="cline-any cline-neutral">&nbsp;</span>
153
153
  <span class="cline-any cline-neutral">&nbsp;</span>
154
154
  <span class="cline-any cline-neutral">&nbsp;</span>
155
- <span class="cline-any cline-yes">2x</span>
156
- <span class="cline-any cline-yes">2x</span>
157
- <span class="cline-any cline-yes">2x</span>
155
+ <span class="cline-any cline-yes">3x</span>
156
+ <span class="cline-any cline-yes">3x</span>
157
+ <span class="cline-any cline-yes">3x</span>
158
158
  <span class="cline-any cline-neutral">&nbsp;</span>
159
159
  <span class="cline-any cline-neutral">&nbsp;</span>
160
160
  <span class="cline-any cline-neutral">&nbsp;</span>
161
161
  <span class="cline-any cline-neutral">&nbsp;</span>
162
162
  <span class="cline-any cline-neutral">&nbsp;</span>
163
- <span class="cline-any cline-yes">2x</span>
163
+ <span class="cline-any cline-yes">3x</span>
164
164
  <span class="cline-any cline-neutral">&nbsp;</span>
165
165
  <span class="cline-any cline-no">&nbsp;</span>
166
166
  <span class="cline-any cline-no">&nbsp;</span>
@@ -232,7 +232,7 @@ export default class SqliteAdapter extends SequelizeAdapter {
232
232
  <div class='footer quiet pad2 space-top1 center small'>
233
233
  Code coverage generated by
234
234
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
235
- at 2026-01-17T17:30:57.244Z
235
+ at 2026-01-18T09:21:18.383Z
236
236
  </div>
237
237
  <script src="../../prettify.js"></script>
238
238
  <script>
@@ -224,7 +224,7 @@
224
224
  <span class="cline-any cline-neutral">&nbsp;</span>
225
225
  <span class="cline-any cline-neutral">&nbsp;</span>
226
226
  <span class="cline-any cline-yes">101000x</span>
227
- <span class="cline-any cline-yes">500516060x</span>
227
+ <span class="cline-any cline-yes">500489550x</span>
228
228
  <span class="cline-any cline-neutral">&nbsp;</span>
229
229
  <span class="cline-any cline-neutral">&nbsp;</span>
230
230
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -424,7 +424,7 @@
424
424
  <div class='footer quiet pad2 space-top1 center small'>
425
425
  Code coverage generated by
426
426
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
427
- at 2026-01-17T17:30:57.244Z
427
+ at 2026-01-18T09:21:18.383Z
428
428
  </div>
429
429
  <script src="../../../prettify.js"></script>
430
430
  <script>
@@ -181,7 +181,7 @@ export default class ArrayListHashMap extends ArrayList {
181
181
  <div class='footer quiet pad2 space-top1 center small'>
182
182
  Code coverage generated by
183
183
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
184
- at 2026-01-17T17:30:57.244Z
184
+ at 2026-01-18T09:21:18.383Z
185
185
  </div>
186
186
  <script src="../../../prettify.js"></script>
187
187
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">74.12% </span>
26
+ <span class="strong">69.93% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>106/143</span>
28
+ <span class='fraction'>100/143</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">69% </span>
33
+ <span class="strong">66% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>69/100</span>
35
+ <span class='fraction'>66/100</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">77.16% </span>
47
+ <span class="strong">73.22% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>98/127</span>
49
+ <span class='fraction'>93/127</span>
50
50
  </div>
51
51
 
52
52
 
@@ -342,19 +342,19 @@
342
342
  <a name='L277'></a><a href='#L277'>277</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
343
343
  <span class="cline-any cline-neutral">&nbsp;</span>
344
344
  <span class="cline-any cline-neutral">&nbsp;</span>
345
- <span class="cline-any cline-yes">5x</span>
345
+ <span class="cline-any cline-yes">6x</span>
346
346
  <span class="cline-any cline-neutral">&nbsp;</span>
347
347
  <span class="cline-any cline-neutral">&nbsp;</span>
348
348
  <span class="cline-any cline-neutral">&nbsp;</span>
349
- <span class="cline-any cline-yes">622038x</span>
350
- <span class="cline-any cline-yes">622038x</span>
351
- <span class="cline-any cline-yes">622038x</span>
349
+ <span class="cline-any cline-yes">631221x</span>
350
+ <span class="cline-any cline-yes">631221x</span>
351
+ <span class="cline-any cline-yes">631221x</span>
352
352
  <span class="cline-any cline-neutral">&nbsp;</span>
353
353
  <span class="cline-any cline-neutral">&nbsp;</span>
354
354
  <span class="cline-any cline-neutral">&nbsp;</span>
355
355
  <span class="cline-any cline-neutral">&nbsp;</span>
356
356
  <span class="cline-any cline-neutral">&nbsp;</span>
357
- <span class="cline-any cline-yes">46x</span>
357
+ <span class="cline-any cline-yes">50x</span>
358
358
  <span class="cline-any cline-neutral">&nbsp;</span>
359
359
  <span class="cline-any cline-neutral">&nbsp;</span>
360
360
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -367,27 +367,27 @@
367
367
  <span class="cline-any cline-neutral">&nbsp;</span>
368
368
  <span class="cline-any cline-neutral">&nbsp;</span>
369
369
  <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-yes">622038x</span>
371
- <span class="cline-any cline-yes">622038x</span>
372
- <span class="cline-any cline-yes">42x</span>
373
- <span class="cline-any cline-yes">42x</span>
370
+ <span class="cline-any cline-yes">631221x</span>
371
+ <span class="cline-any cline-yes">631221x</span>
372
+ <span class="cline-any cline-yes">45x</span>
373
+ <span class="cline-any cline-yes">45x</span>
374
374
  <span class="cline-any cline-neutral">&nbsp;</span>
375
- <span class="cline-any cline-yes">621996x</span>
376
- <span class="cline-any cline-yes">621996x</span>
377
- <span class="cline-any cline-yes">621996x</span>
375
+ <span class="cline-any cline-yes">631176x</span>
376
+ <span class="cline-any cline-yes">631176x</span>
377
+ <span class="cline-any cline-yes">631176x</span>
378
378
  <span class="cline-any cline-neutral">&nbsp;</span>
379
- <span class="cline-any cline-yes">61493053x</span>
380
- <span class="cline-any cline-yes">5775568x</span>
381
- <span class="cline-any cline-yes">308800x</span>
382
- <span class="cline-any cline-yes">308800x</span>
379
+ <span class="cline-any cline-yes">61755162x</span>
380
+ <span class="cline-any cline-yes">6202499x</span>
381
+ <span class="cline-any cline-yes">313548x</span>
382
+ <span class="cline-any cline-yes">313548x</span>
383
383
  <span class="cline-any cline-neutral">&nbsp;</span>
384
- <span class="cline-any cline-yes">5466768x</span>
384
+ <span class="cline-any cline-yes">5888951x</span>
385
385
  <span class="cline-any cline-neutral">&nbsp;</span>
386
- <span class="cline-any cline-yes">55717485x</span>
387
- <span class="cline-any cline-yes">313196x</span>
388
- <span class="cline-any cline-yes">313196x</span>
386
+ <span class="cline-any cline-yes">55552663x</span>
387
+ <span class="cline-any cline-yes">317628x</span>
388
+ <span class="cline-any cline-yes">317628x</span>
389
389
  <span class="cline-any cline-neutral">&nbsp;</span>
390
- <span class="cline-any cline-yes">55404289x</span>
390
+ <span class="cline-any cline-yes">55235035x</span>
391
391
  <span class="cline-any cline-neutral">&nbsp;</span>
392
392
  <span class="cline-any cline-neutral">&nbsp;</span>
393
393
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -420,11 +420,11 @@
420
420
  <span class="cline-any cline-neutral">&nbsp;</span>
421
421
  <span class="cline-any cline-neutral">&nbsp;</span>
422
422
  <span class="cline-any cline-neutral">&nbsp;</span>
423
- <span class="cline-any cline-yes">50000000x</span>
424
- <span class="cline-any cline-yes">25005000x</span>
425
- <span class="cline-any cline-yes">24995000x</span>
426
- <span class="cline-any cline-yes">24995000x</span>
427
- <span class="cline-any cline-yes">24995000x</span>
423
+ <span class="cline-any cline-yes">49999200x</span>
424
+ <span class="cline-any cline-yes">25004600x</span>
425
+ <span class="cline-any cline-yes">24994600x</span>
426
+ <span class="cline-any cline-yes">24994600x</span>
427
+ <span class="cline-any cline-yes">24994600x</span>
428
428
  <span class="cline-any cline-neutral">&nbsp;</span>
429
429
  <span class="cline-any cline-neutral">&nbsp;</span>
430
430
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -442,13 +442,13 @@
442
442
  <span class="cline-any cline-neutral">&nbsp;</span>
443
443
  <span class="cline-any cline-yes">46x</span>
444
444
  <span class="cline-any cline-yes">46x</span>
445
- <span class="cline-any cline-yes">119192x</span>
446
- <span class="cline-any cline-yes">119192x</span>
447
- <span class="cline-any cline-yes">119192x</span>
445
+ <span class="cline-any cline-yes">119218x</span>
446
+ <span class="cline-any cline-yes">119218x</span>
447
+ <span class="cline-any cline-yes">119218x</span>
448
448
  <span class="cline-any cline-neutral">&nbsp;</span>
449
- <span class="cline-any cline-yes">119192x</span>
450
- <span class="cline-any cline-yes">119192x</span>
451
- <span class="cline-any cline-yes">119192x</span>
449
+ <span class="cline-any cline-yes">119218x</span>
450
+ <span class="cline-any cline-yes">119218x</span>
451
+ <span class="cline-any cline-yes">119218x</span>
452
452
  <span class="cline-any cline-neutral">&nbsp;</span>
453
453
  <span class="cline-any cline-neutral">&nbsp;</span>
454
454
  <span class="cline-any cline-no">&nbsp;</span>
@@ -490,28 +490,28 @@
490
490
  <span class="cline-any cline-neutral">&nbsp;</span>
491
491
  <span class="cline-any cline-neutral">&nbsp;</span>
492
492
  <span class="cline-any cline-neutral">&nbsp;</span>
493
- <span class="cline-any cline-yes">2984x</span>
493
+ <span class="cline-any cline-yes">2983x</span>
494
494
  <span class="cline-any cline-neutral">&nbsp;</span>
495
495
  <span class="cline-any cline-neutral">&nbsp;</span>
496
496
  <span class="cline-any cline-neutral">&nbsp;</span>
497
497
  <span class="cline-any cline-neutral">&nbsp;</span>
498
498
  <span class="cline-any cline-neutral">&nbsp;</span>
499
- <span class="cline-any cline-yes">1509x</span>
500
- <span class="cline-any cline-yes">1488x</span>
499
+ <span class="cline-any cline-yes">1508x</span>
500
+ <span class="cline-any cline-yes">1486x</span>
501
501
  <span class="cline-any cline-neutral">&nbsp;</span>
502
502
  <span class="cline-any cline-neutral">&nbsp;</span>
503
- <span class="cline-any cline-yes">1509x</span>
503
+ <span class="cline-any cline-yes">1508x</span>
504
504
  <span class="cline-any cline-neutral">&nbsp;</span>
505
505
  <span class="cline-any cline-neutral">&nbsp;</span>
506
- <span class="cline-any cline-yes">1509x</span>
506
+ <span class="cline-any cline-yes">1508x</span>
507
507
  <span class="cline-any cline-yes">1474x</span>
508
508
  <span class="cline-any cline-neutral">&nbsp;</span>
509
509
  <span class="cline-any cline-neutral">&nbsp;</span>
510
- <span class="cline-any cline-yes">1509x</span>
510
+ <span class="cline-any cline-yes">1508x</span>
511
511
  <span class="cline-any cline-neutral">&nbsp;</span>
512
512
  <span class="cline-any cline-neutral">&nbsp;</span>
513
- <span class="cline-any cline-yes">1509x</span>
514
- <span class="cline-any cline-yes">1493x</span>
513
+ <span class="cline-any cline-yes">1508x</span>
514
+ <span class="cline-any cline-yes">1494x</span>
515
515
  <span class="cline-any cline-neutral">&nbsp;</span>
516
516
  <span class="cline-any cline-neutral">&nbsp;</span>
517
517
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -543,12 +543,12 @@
543
543
  <span class="cline-any cline-neutral">&nbsp;</span>
544
544
  <span class="cline-any cline-yes">8x</span>
545
545
  <span class="cline-any cline-neutral">&nbsp;</span>
546
- <span class="cline-any cline-yes">4x</span>
547
- <span class="cline-any cline-yes">7x</span>
548
- <span class="cline-any cline-yes">3x</span>
549
- <span class="cline-any cline-yes">3x</span>
550
- <span class="cline-any cline-yes">3x</span>
551
- <span class="cline-any cline-yes">3x</span>
546
+ <span class="cline-any cline-yes">2x</span>
547
+ <span class="cline-any cline-yes">2x</span>
548
+ <span class="cline-any cline-no">&nbsp;</span>
549
+ <span class="cline-any cline-no">&nbsp;</span>
550
+ <span class="cline-any cline-no">&nbsp;</span>
551
+ <span class="cline-any cline-no">&nbsp;</span>
552
552
  <span class="cline-any cline-neutral">&nbsp;</span>
553
553
  <span class="cline-any cline-no">&nbsp;</span>
554
554
  <span class="cline-any cline-no">&nbsp;</span>
@@ -556,34 +556,34 @@
556
556
  <span class="cline-any cline-neutral">&nbsp;</span>
557
557
  <span class="cline-any cline-neutral">&nbsp;</span>
558
558
  <span class="cline-any cline-neutral">&nbsp;</span>
559
- <span class="cline-any cline-yes">4x</span>
560
- <span class="cline-any cline-yes">4x</span>
561
- <span class="cline-any cline-yes">4x</span>
562
- <span class="cline-any cline-yes">8x</span>
563
- <span class="cline-any cline-yes">8x</span>
559
+ <span class="cline-any cline-yes">6x</span>
560
+ <span class="cline-any cline-yes">6x</span>
561
+ <span class="cline-any cline-yes">6x</span>
562
+ <span class="cline-any cline-yes">18x</span>
563
+ <span class="cline-any cline-yes">18x</span>
564
564
  <span class="cline-any cline-yes">2x</span>
565
565
  <span class="cline-any cline-yes">2x</span>
566
566
  <span class="cline-any cline-yes">2x</span>
567
567
  <span class="cline-any cline-yes">2x</span>
568
568
  <span class="cline-any cline-neutral">&nbsp;</span>
569
- <span class="cline-any cline-yes">6x</span>
570
- <span class="cline-any cline-yes">4x</span>
569
+ <span class="cline-any cline-yes">16x</span>
570
+ <span class="cline-any cline-yes">8x</span>
571
571
  <span class="cline-any cline-neutral">&nbsp;</span>
572
572
  <span class="cline-any cline-neutral">&nbsp;</span>
573
573
  <span class="cline-any cline-neutral">&nbsp;</span>
574
574
  <span class="cline-any cline-neutral">&nbsp;</span>
575
- <span class="cline-any cline-yes">6x</span>
576
- <span class="cline-any cline-no">&nbsp;</span>
575
+ <span class="cline-any cline-yes">16x</span>
576
+ <span class="cline-any cline-yes">4x</span>
577
577
  <span class="cline-any cline-neutral">&nbsp;</span>
578
578
  <span class="cline-any cline-neutral">&nbsp;</span>
579
579
  <span class="cline-any cline-neutral">&nbsp;</span>
580
580
  <span class="cline-any cline-yes">8x</span>
581
581
  <span class="cline-any cline-neutral">&nbsp;</span>
582
582
  <span class="cline-any cline-neutral">&nbsp;</span>
583
- <span class="cline-any cline-yes">6x</span>
584
583
  <span class="cline-any cline-yes">4x</span>
585
584
  <span class="cline-any cline-yes">2x</span>
586
585
  <span class="cline-any cline-no">&nbsp;</span>
586
+ <span class="cline-any cline-no">&nbsp;</span>
587
587
  <span class="cline-any cline-yes">2x</span>
588
588
  <span class="cline-any cline-no">&nbsp;</span>
589
589
  <span class="cline-any cline-no">&nbsp;</span>
@@ -604,11 +604,11 @@
604
604
  <span class="cline-any cline-no">&nbsp;</span>
605
605
  <span class="cline-any cline-no">&nbsp;</span>
606
606
  <span class="cline-any cline-neutral">&nbsp;</span>
607
- <span class="cline-any cline-yes">2x</span>
607
+ <span class="cline-any cline-no">&nbsp;</span>
608
608
  <span class="cline-any cline-neutral">&nbsp;</span>
609
609
  <span class="cline-any cline-neutral">&nbsp;</span>
610
610
  <span class="cline-any cline-neutral">&nbsp;</span>
611
- <span class="cline-any cline-yes">20x</span>
611
+ <span class="cline-any cline-yes">24x</span>
612
612
  <span class="cline-any cline-neutral">&nbsp;</span>
613
613
  <span class="cline-any cline-neutral">&nbsp;</span>
614
614
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -820,12 +820,12 @@ export class BinarySearchTree {
820
820
  if (date !== null) {
821
821
  // Optimized search using BST property (Date)
822
822
  while (current) {
823
- if (current.article.id == id) break;
824
- parent = current;
825
- if (date &lt; current.article.createdAt) {
826
- current = current.left;
827
- isLeftChild = true;
828
- } else <span class="missing-if-branch" title="else path not taken" >E</span>{
823
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (current.article.id == id) break;
824
+ <span class="cstat-no" title="statement not covered" > parent = current;</span>
825
+ <span class="cstat-no" title="statement not covered" > if (date &lt; current.article.createdAt) {</span>
826
+ <span class="cstat-no" title="statement not covered" > current = current.left;</span>
827
+ <span class="cstat-no" title="statement not covered" > isLeftChild = true;</span>
828
+ } else {
829
829
  <span class="cstat-no" title="statement not covered" > current = current.right;</span>
830
830
  <span class="cstat-no" title="statement not covered" > isLeftChild = false;</span>
831
831
  }
@@ -848,8 +848,8 @@ export class BinarySearchTree {
848
848
  parent: item.node,
849
849
  isLeft: false,
850
850
  });
851
- <span class="missing-if-branch" title="if path not taken" >I</span>if (item.node.left)
852
- <span class="cstat-no" title="statement not covered" > stack.push({ node: item.node.left, parent: item.node, isLeft: true });</span>
851
+ if (item.node.left)
852
+ stack.push({ node: item.node.left, parent: item.node, isLeft: true });
853
853
  }
854
854
  }
855
855
  &nbsp;
@@ -857,9 +857,9 @@ export class BinarySearchTree {
857
857
  &nbsp;
858
858
  // 2. Delete node
859
859
  if (!current.left &amp;&amp; !current.right) {
860
- if (!parent) return null; // Root was deleted
861
- if (isLeftChild) parent.left = null;
862
- else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="else path not taken" >E</span>parent.right = null;</span>
860
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (!parent) return null; // Root was deleted
861
+ <span class="cstat-no" title="statement not covered" > if (isLeftChild) <span class="cstat-no" title="statement not covered" >parent.left = null;</span></span>
862
+ else <span class="cstat-no" title="statement not covered" >parent.right = null;</span>
863
863
  } else <span class="missing-if-branch" title="if path not taken" >I</span>if (!current.right) {
864
864
  <span class="cstat-no" title="statement not covered" > if (!parent) <span class="cstat-no" title="statement not covered" >return current.left;</span></span>
865
865
  <span class="cstat-no" title="statement not covered" > if (isLeftChild) <span class="cstat-no" title="statement not covered" >parent.left = current.left;</span></span>
@@ -880,7 +880,7 @@ export class BinarySearchTree {
880
880
  <span class="cstat-no" title="statement not covered" > if (successorParent === current) <span class="cstat-no" title="statement not covered" >successorParent.right = successor.right;</span></span>
881
881
  else <span class="cstat-no" title="statement not covered" >successorParent.left = successor.right;</span>
882
882
  }
883
- return root;
883
+ <span class="cstat-no" title="statement not covered" > return root;</span>
884
884
  }
885
885
  &nbsp;
886
886
  clear() {
@@ -898,7 +898,7 @@ export class BinarySearchTree {
898
898
  <div class='footer quiet pad2 space-top1 center small'>
899
899
  Code coverage generated by
900
900
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
901
- at 2026-01-17T17:30:57.244Z
901
+ at 2026-01-18T09:21:18.383Z
902
902
  </div>
903
903
  <script src="../../../prettify.js"></script>
904
904
  <script>