@tmagic/editor 1.0.0-beta.13 → 1.0.0-beta.14

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 (91) hide show
  1. package/coverage/clover.xml +646 -550
  2. package/coverage/coverage-final.json +19 -18
  3. package/coverage/lcov-report/index.html +55 -55
  4. package/coverage/lcov-report/src/Editor.vue.html +1 -1
  5. package/coverage/lcov-report/{layouts/sidebar/LayerMenu.vue.html → src/components/ContentMenu.vue.html} +137 -95
  6. package/coverage/lcov-report/src/components/Icon.vue.html +5 -5
  7. package/coverage/lcov-report/src/components/ScrollViewer.vue.html +1 -1
  8. package/coverage/lcov-report/src/components/ToolButton.vue.html +180 -63
  9. package/coverage/lcov-report/src/components/index.html +34 -19
  10. package/coverage/lcov-report/src/index.html +1 -1
  11. package/coverage/lcov-report/src/layouts/AddPageBox.vue.html +1 -1
  12. package/coverage/lcov-report/src/layouts/Framework.vue.html +13 -13
  13. package/coverage/lcov-report/src/layouts/NavMenu.vue.html +1 -1
  14. package/coverage/lcov-report/src/layouts/PropsPanel.vue.html +1 -1
  15. package/coverage/lcov-report/src/layouts/Resizer.vue.html +1 -1
  16. package/coverage/lcov-report/src/layouts/index.html +15 -15
  17. package/coverage/lcov-report/src/layouts/sidebar/ComponentListPanel.vue.html +78 -12
  18. package/coverage/lcov-report/src/layouts/sidebar/LayerMenu.vue.html +149 -92
  19. package/coverage/lcov-report/src/layouts/sidebar/LayerPanel.vue.html +43 -121
  20. package/coverage/lcov-report/src/layouts/sidebar/Sidebar.vue.html +1 -1
  21. package/coverage/lcov-report/src/layouts/sidebar/index.html +40 -40
  22. package/coverage/lcov-report/src/layouts/workspace/PageBar.vue.html +99 -12
  23. package/coverage/lcov-report/src/layouts/workspace/Stage.vue.html +86 -95
  24. package/coverage/lcov-report/src/layouts/workspace/ViewerMenu.vue.html +208 -97
  25. package/coverage/lcov-report/src/layouts/workspace/Workspace.vue.html +3 -3
  26. package/coverage/lcov-report/src/layouts/workspace/index.html +35 -35
  27. package/coverage/lcov-report/src/services/BaseService.ts.html +11 -11
  28. package/coverage/lcov-report/src/services/componentList.ts.html +1 -1
  29. package/coverage/lcov-report/src/services/editor.ts.html +102 -9
  30. package/coverage/lcov-report/src/services/events.ts.html +1 -1
  31. package/coverage/lcov-report/src/services/history.ts.html +29 -8
  32. package/coverage/lcov-report/src/services/index.html +25 -25
  33. package/coverage/lcov-report/src/services/props.ts.html +4 -7
  34. package/coverage/lcov-report/src/services/ui.ts.html +1 -1
  35. package/coverage/lcov-report/src/type.ts.html +8 -14
  36. package/coverage/lcov-report/src/utils/compose.ts.html +4 -4
  37. package/coverage/lcov-report/src/utils/config.ts.html +1 -1
  38. package/coverage/lcov-report/src/utils/editor.ts.html +2 -2
  39. package/coverage/lcov-report/src/utils/index.html +1 -1
  40. package/coverage/lcov-report/src/utils/index.ts.html +1 -1
  41. package/coverage/lcov-report/src/utils/logger.ts.html +1 -1
  42. package/coverage/lcov-report/src/utils/props.ts.html +59 -2
  43. package/coverage/lcov-report/src/utils/scroll-viewer.ts.html +1 -1
  44. package/coverage/lcov-report/src/utils/undo-redo.ts.html +1 -1
  45. package/coverage/lcov.info +1623 -1354
  46. package/dist/style.css +39 -18
  47. package/dist/tmagic-editor.es.js +598 -412
  48. package/dist/tmagic-editor.es.js.map +1 -1
  49. package/dist/tmagic-editor.umd.js +595 -408
  50. package/dist/tmagic-editor.umd.js.map +1 -1
  51. package/dist/types/src/Editor.vue.d.ts +1 -1
  52. package/dist/types/src/components/ToolButton.vue.d.ts +12 -1
  53. package/dist/types/src/index.d.ts +1 -0
  54. package/dist/types/src/layouts/sidebar/ComponentListPanel.vue.d.ts +1 -0
  55. package/dist/types/src/layouts/workspace/PageBar.vue.d.ts +2 -0
  56. package/dist/types/src/services/history.d.ts +1 -0
  57. package/dist/types/src/services/props.d.ts +2 -2
  58. package/dist/types/src/type.d.ts +6 -8
  59. package/dist/types/src/utils/polyfills.d.ts +0 -0
  60. package/package.json +8 -7
  61. package/src/components/ContentMenu.vue +107 -0
  62. package/src/components/ToolButton.vue +66 -27
  63. package/src/index.ts +2 -0
  64. package/src/layouts/Framework.vue +6 -6
  65. package/src/layouts/sidebar/ComponentListPanel.vue +23 -1
  66. package/src/layouts/sidebar/LayerMenu.vue +91 -72
  67. package/src/layouts/sidebar/LayerPanel.vue +23 -49
  68. package/src/layouts/workspace/PageBar.vue +35 -6
  69. package/src/layouts/workspace/Stage.vue +41 -44
  70. package/src/layouts/workspace/ViewerMenu.vue +104 -67
  71. package/src/layouts/workspace/Workspace.vue +2 -2
  72. package/src/services/editor.ts +32 -1
  73. package/src/services/history.ts +7 -0
  74. package/src/services/props.ts +2 -3
  75. package/src/theme/common/var.scss +1 -0
  76. package/src/theme/component-list-panel.scss +2 -0
  77. package/src/theme/content-menu.scss +33 -26
  78. package/src/theme/layer-panel.scss +1 -1
  79. package/src/theme/page-bar.scss +22 -1
  80. package/src/type.ts +6 -8
  81. package/src/utils/editor.ts +1 -1
  82. package/src/utils/polyfills.ts +22 -0
  83. package/src/utils/props.ts +19 -0
  84. package/coverage/lcov-report/Icon.vue.html +0 -172
  85. package/coverage/lcov-report/ToolButton.vue.html +0 -655
  86. package/coverage/lcov-report/layouts/sidebar/index.html +0 -116
  87. package/coverage/lcov-report/utils/index.html +0 -116
  88. package/coverage/lcov-report/utils/undo-redo.ts.html +0 -313
  89. package/dist/types/src/layouts/sidebar/LayerPanel.vue.d.ts +0 -980
  90. package/dist/types/src/layouts/workspace/Stage.vue.d.ts +0 -188
  91. package/dist/types/src/layouts/workspace/ViewerMenu.vue.d.ts +0 -18
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">45.05% </span>
26
+ <span class="strong">38.94% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>41/91</span>
28
+ <span class='fraction'>37/95</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">14.46% </span>
33
+ <span class="strong">14.28% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>23/159</span>
35
+ <span class='fraction'>25/175</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">32.14% </span>
40
+ <span class="strong">25.92% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>9/28</span>
42
+ <span class='fraction'>7/27</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">46.75% </span>
47
+ <span class="strong">40% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>36/77</span>
49
+ <span class='fraction'>32/80</span>
50
50
  </div>
51
51
 
52
52
 
@@ -287,10 +287,7 @@
287
287
  <a name='L222'></a><a href='#L222'>222</a>
288
288
  <a name='L223'></a><a href='#L223'>223</a>
289
289
  <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
290
+ <a name='L225'></a><a href='#L225'>225</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
294
291
  <span class="cline-any cline-neutral">&nbsp;</span>
295
292
  <span class="cline-any cline-neutral">&nbsp;</span>
296
293
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -311,10 +308,9 @@
311
308
  <span class="cline-any cline-neutral">&nbsp;</span>
312
309
  <span class="cline-any cline-neutral">&nbsp;</span>
313
310
  <span class="cline-any cline-neutral">&nbsp;</span>
314
- <span class="cline-any cline-yes">2x</span>
315
- <span class="cline-any cline-neutral">&nbsp;</span>
316
311
  <span class="cline-any cline-neutral">&nbsp;</span>
317
312
  <span class="cline-any cline-neutral">&nbsp;</span>
313
+ <span class="cline-any cline-yes">2x</span>
318
314
  <span class="cline-any cline-neutral">&nbsp;</span>
319
315
  <span class="cline-any cline-neutral">&nbsp;</span>
320
316
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -324,56 +320,20 @@
324
320
  <span class="cline-any cline-neutral">&nbsp;</span>
325
321
  <span class="cline-any cline-neutral">&nbsp;</span>
326
322
  <span class="cline-any cline-neutral">&nbsp;</span>
327
- <span class="cline-any cline-yes">2x</span>
328
323
  <span class="cline-any cline-neutral">&nbsp;</span>
329
324
  <span class="cline-any cline-neutral">&nbsp;</span>
330
325
  <span class="cline-any cline-neutral">&nbsp;</span>
331
326
  <span class="cline-any cline-yes">2x</span>
332
327
  <span class="cline-any cline-neutral">&nbsp;</span>
333
- <span class="cline-any cline-yes">2x</span>
334
328
  <span class="cline-any cline-neutral">&nbsp;</span>
335
329
  <span class="cline-any cline-neutral">&nbsp;</span>
336
330
  <span class="cline-any cline-yes">2x</span>
337
331
  <span class="cline-any cline-neutral">&nbsp;</span>
338
332
  <span class="cline-any cline-yes">2x</span>
339
333
  <span class="cline-any cline-yes">2x</span>
340
- <span class="cline-any cline-yes">2x</span>
341
334
  <span class="cline-any cline-neutral">&nbsp;</span>
342
- <span class="cline-any cline-neutral">&nbsp;</span>
343
- <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-neutral">&nbsp;</span>
345
- <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-yes">2x</span>
347
335
  <span class="cline-any cline-yes">2x</span>
348
336
  <span class="cline-any cline-neutral">&nbsp;</span>
349
- <span class="cline-any cline-neutral">&nbsp;</span>
350
- <span class="cline-any cline-no">&nbsp;</span>
351
- <span class="cline-any cline-neutral">&nbsp;</span>
352
- <span class="cline-any cline-neutral">&nbsp;</span>
353
- <span class="cline-any cline-neutral">&nbsp;</span>
354
- <span class="cline-any cline-neutral">&nbsp;</span>
355
- <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-yes">2x</span>
357
- <span class="cline-any cline-neutral">&nbsp;</span>
358
- <span class="cline-any cline-neutral">&nbsp;</span>
359
- <span class="cline-any cline-neutral">&nbsp;</span>
360
- <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-no">&nbsp;</span>
362
- <span class="cline-any cline-neutral">&nbsp;</span>
363
- <span class="cline-any cline-no">&nbsp;</span>
364
- <span class="cline-any cline-no">&nbsp;</span>
365
- <span class="cline-any cline-no">&nbsp;</span>
366
- <span class="cline-any cline-no">&nbsp;</span>
367
- <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-no">&nbsp;</span>
369
- <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-neutral">&nbsp;</span>
371
- <span class="cline-any cline-neutral">&nbsp;</span>
372
- <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-neutral">&nbsp;</span>
375
- <span class="cline-any cline-neutral">&nbsp;</span>
376
- <span class="cline-any cline-neutral">&nbsp;</span>
377
337
  <span class="cline-any cline-yes">2x</span>
378
338
  <span class="cline-any cline-neutral">&nbsp;</span>
379
339
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -407,6 +367,7 @@
407
367
  <span class="cline-any cline-neutral">&nbsp;</span>
408
368
  <span class="cline-any cline-yes">2x</span>
409
369
  <span class="cline-any cline-yes">2x</span>
370
+ <span class="cline-any cline-yes">2x</span>
410
371
  <span class="cline-any cline-neutral">&nbsp;</span>
411
372
  <span class="cline-any cline-yes">2x</span>
412
373
  <span class="cline-any cline-yes">2x</span>
@@ -515,6 +476,39 @@
515
476
  <span class="cline-any cline-neutral">&nbsp;</span>
516
477
  <span class="cline-any cline-neutral">&nbsp;</span>
517
478
  <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-no">&nbsp;</span>
480
+ <span class="cline-any cline-no">&nbsp;</span>
481
+ <span class="cline-any cline-neutral">&nbsp;</span>
482
+ <span class="cline-any cline-neutral">&nbsp;</span>
483
+ <span class="cline-any cline-neutral">&nbsp;</span>
484
+ <span class="cline-any cline-no">&nbsp;</span>
485
+ <span class="cline-any cline-no">&nbsp;</span>
486
+ <span class="cline-any cline-no">&nbsp;</span>
487
+ <span class="cline-any cline-neutral">&nbsp;</span>
488
+ <span class="cline-any cline-neutral">&nbsp;</span>
489
+ <span class="cline-any cline-neutral">&nbsp;</span>
490
+ <span class="cline-any cline-neutral">&nbsp;</span>
491
+ <span class="cline-any cline-no">&nbsp;</span>
492
+ <span class="cline-any cline-no">&nbsp;</span>
493
+ <span class="cline-any cline-neutral">&nbsp;</span>
494
+ <span class="cline-any cline-no">&nbsp;</span>
495
+ <span class="cline-any cline-no">&nbsp;</span>
496
+ <span class="cline-any cline-neutral">&nbsp;</span>
497
+ <span class="cline-any cline-no">&nbsp;</span>
498
+ <span class="cline-any cline-no">&nbsp;</span>
499
+ <span class="cline-any cline-no">&nbsp;</span>
500
+ <span class="cline-any cline-no">&nbsp;</span>
501
+ <span class="cline-any cline-neutral">&nbsp;</span>
502
+ <span class="cline-any cline-neutral">&nbsp;</span>
503
+ <span class="cline-any cline-neutral">&nbsp;</span>
504
+ <span class="cline-any cline-neutral">&nbsp;</span>
505
+ <span class="cline-any cline-neutral">&nbsp;</span>
506
+ <span class="cline-any cline-neutral">&nbsp;</span>
507
+ <span class="cline-any cline-no">&nbsp;</span>
508
+ <span class="cline-any cline-neutral">&nbsp;</span>
509
+ <span class="cline-any cline-neutral">&nbsp;</span>
510
+ <span class="cline-any cline-neutral">&nbsp;</span>
511
+ <span class="cline-any cline-neutral">&nbsp;</span>
518
512
  <span class="cline-any cline-neutral">&nbsp;</span>
519
513
  <span class="cline-any cline-neutral">&nbsp;</span>
520
514
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">&lt;template&gt;
@@ -528,11 +522,13 @@
528
522
  &lt;div
529
523
  class="m-editor-stage-container"
530
524
  ref="stageContainer"
531
- @contextmenu="contextmenuHandler"
532
525
  :style="`transform: scale(${zoom})`"
526
+ @contextmenu="contextmenuHandler"
527
+ @drop="dropHandler"
528
+ @dragover="dragoverHandler"
533
529
  &gt;&lt;/div&gt;
534
530
  &lt;teleport to="body"&gt;
535
- &lt;viewer-menu ref="menu" :style="menuStyle"&gt;&lt;/viewer-menu&gt;
531
+ &lt;viewer-menu ref="menu"&gt;&lt;/viewer-menu&gt;
536
532
  &lt;/teleport&gt;
537
533
  &lt;/scroll-viewer&gt;
538
534
  &lt;/template&gt;
@@ -558,49 +554,10 @@ import type { MoveableOptions, Runtime, SortEventData, UpdateEventData } from '@
558
554
  import StageCore from '@tmagic/stage';
559
555
  &nbsp;
560
556
  import ScrollViewer from '@editor/components/ScrollViewer.vue';
561
- import type { Services, StageRect } from '@editor/type';
557
+ import { Layout, Services, StageRect } from '@editor/type';
562
558
  &nbsp;
563
559
  import ViewerMenu from './ViewerMenu.vue';
564
560
  &nbsp;
565
- const useMenu = () =&gt; {
566
- const menu = ref&lt;InstanceType&lt;typeof ViewerMenu&gt;&gt;();
567
- const menuStyle = ref({
568
- display: 'none',
569
- left: '0',
570
- top: '0',
571
- });
572
- &nbsp;
573
- onMounted(() =&gt; {
574
- document.addEventListener(
575
- 'click',
576
- <span class="fstat-no" title="function not covered" > () =&gt; {</span>
577
- <span class="cstat-no" title="statement not covered" > menuStyle.</span>value.display = 'none';
578
- },
579
- true,
580
- );
581
- });
582
- &nbsp;
583
- return {
584
- menu,
585
- menuStyle,
586
- &nbsp;
587
- <span class="fstat-no" title="function not covered" > contextmenuHandler(</span>e: MouseEvent) {
588
- <span class="cstat-no" title="statement not covered" > e.</span>preventDefault();
589
- &nbsp;
590
- const menuHeight = <span class="cstat-no" title="statement not covered" >menu.value?.$el.clientHeight;</span>
591
- let top = <span class="cstat-no" title="statement not covered" >e.clientY;</span>
592
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (menuHeight + e.clientY &gt; document.body.clientHeight) {</span>
593
- <span class="cstat-no" title="statement not covered" > top </span>= document.body.clientHeight - menuHeight;
594
- }
595
- <span class="cstat-no" title="statement not covered" > menuStyle.</span>value = {
596
- display: 'block',
597
- top: `${top}px`,
598
- left: `${e.clientX}px`,
599
- };
600
- },
601
- };
602
- };
603
- &nbsp;
604
561
  export default defineComponent({
605
562
  name: 'magic-stage',
606
563
  &nbsp;
@@ -634,12 +591,13 @@ export default defineComponent({
634
591
  &nbsp;
635
592
  const stageWrap = ref&lt;InstanceType&lt;typeof ScrollViewer&gt;&gt;();
636
593
  const stageContainer = ref&lt;HTMLDivElement&gt;();
594
+ const menu = ref&lt;InstanceType&lt;typeof ViewerMenu&gt;&gt;();
637
595
  &nbsp;
638
596
  const stageRect = computed(() =&gt; services?.uiService.get&lt;StageRect&gt;('stageRect'));
639
597
  const uiSelectMode = computed(<span class="fstat-no" title="function not covered" >() =&gt; <span class="cstat-no" title="statement not covered" >s</span>ervices?</span>.uiService.get&lt;boolean&gt;('uiSelectMode'));
640
598
  const root = computed(() =&gt; services?.editorService.get&lt;MApp&gt;('root'));
641
599
  const page = computed(<span class="fstat-no" title="function not covered" >() =&gt; <span class="cstat-no" title="statement not covered" >s</span>ervices?</span>.editorService.get&lt;MPage&gt;('page'));
642
- const zoom = computed(() =&gt; services?.uiService.get&lt;number&gt;('zoom'));
600
+ const zoom = computed(() =&gt; services?.uiService.get&lt;number&gt;('zoom') || 1);
643
601
  const node = computed(<span class="fstat-no" title="function not covered" >() =&gt; <span class="cstat-no" title="statement not covered" >s</span>ervices?</span>.editorService.get&lt;MNode&gt;('node'));
644
602
  &nbsp;
645
603
  let stage: StageCore | null = null;
@@ -737,9 +695,42 @@ export default defineComponent({
737
695
  return {
738
696
  stageWrap,
739
697
  stageContainer,
698
+ menu,
740
699
  stageRect,
741
700
  zoom,
742
- ...useMenu(),
701
+ &nbsp;
702
+ <span class="fstat-no" title="function not covered" > contextmenuHandler(</span>e: MouseEvent) {
703
+ <span class="cstat-no" title="statement not covered" > e.</span>preventDefault();
704
+ <span class="cstat-no" title="statement not covered" > menu.</span>value?.show(e);
705
+ },
706
+ &nbsp;
707
+ <span class="fstat-no" title="function not covered" > dragoverHandler(</span>e: DragEvent) {
708
+ <span class="cstat-no" title="statement not covered" > e.</span>preventDefault();
709
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (e.dataTransfer) {</span>
710
+ <span class="cstat-no" title="statement not covered" > e.</span>dataTransfer.dropEffect = 'move';
711
+ }
712
+ },
713
+ &nbsp;
714
+ <span class="fstat-no" title="function not covered" > async d</span>ropHandler(e: DragEvent) {
715
+ <span class="cstat-no" title="statement not covered" > e.</span>preventDefault();
716
+ if (<span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span>e.</span>dataTransfer &amp;&amp; page.value &amp;&amp; stageContainer.value &amp;&amp; stage) {
717
+ // eslint-disable-next-line no-eval
718
+ const <span class="cstat-no" title="statement not covered" >config </span>= eval(`(${e.dataTransfer.getData('data')})`);
719
+ const <span class="cstat-no" title="statement not covered" >layout </span>= <span class="cstat-no" title="statement not covered" >await s</span>ervices?.editorService.getLayout(page.value);
720
+ &nbsp;
721
+ const <span class="cstat-no" title="statement not covered" >containerRect </span>= stageContainer.value.getBoundingClientRect();
722
+ const <span class="cstat-no" title="statement not covered" >{ s</span>crollTop, scrollLeft } = stage.mask;
723
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (layout === Layout.ABSOLUTE) {</span>
724
+ <span class="cstat-no" title="statement not covered" > config.</span>style = {
725
+ position: 'absolute',
726
+ top: e.clientY - containerRect.top + scrollTop,
727
+ left: e.clientX - containerRect.left + scrollLeft,
728
+ };
729
+ }
730
+ &nbsp;
731
+ <span class="cstat-no" title="statement not covered" > services?</span>.editorService.add(config, page.value);
732
+ }
733
+ },
743
734
  };
744
735
  },
745
736
  });
@@ -751,7 +742,7 @@ export default defineComponent({
751
742
  <div class='footer quiet pad2 space-top1 center small'>
752
743
  Code coverage generated by
753
744
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
754
- at Fri Apr 22 2022 12:15:01 GMT+0800 (China Standard Time)
745
+ at Sat May 07 2022 17:04:32 GMT+0800 (China Standard Time)
755
746
  </div>
756
747
  <script src="../../../prettify.js"></script>
757
748
  <script>