@zajno/common 1.3.0 → 1.3.4

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 (158) hide show
  1. package/.github/workflows/CI.yml +8 -0
  2. package/coverage/clover.xml +466 -398
  3. package/coverage/coverage-final.json +39 -38
  4. package/coverage/lcov-report/NumberModel.ts.html +188 -0
  5. package/coverage/lcov-report/arrays.ts.html +602 -0
  6. package/coverage/lcov-report/calc.ts.html +278 -0
  7. package/coverage/lcov-report/enumHelper.ts.html +449 -0
  8. package/coverage/lcov-report/index.html +44 -44
  9. package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
  10. package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +2 -2
  11. package/coverage/lcov-report/src/async/arrays.ts.html +1 -1
  12. package/coverage/lcov-report/src/async/index.html +1 -1
  13. package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
  14. package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
  15. package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
  16. package/coverage/lcov-report/src/dates/format.ts.html +1 -1
  17. package/coverage/lcov-report/src/dates/index.html +1 -1
  18. package/coverage/lcov-report/src/dates/index.ts.html +1 -1
  19. package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
  20. package/coverage/lcov-report/src/dates/period.ts.html +1 -1
  21. package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
  22. package/coverage/lcov-report/src/dates/types.ts.html +1 -1
  23. package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
  24. package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
  25. package/coverage/lcov-report/src/event.ts.html +3 -3
  26. package/coverage/lcov-report/src/index.html +21 -21
  27. package/coverage/lcov-report/src/lazy.light.ts.html +3 -3
  28. package/coverage/lcov-report/src/logger/batch.ts.html +107 -0
  29. package/coverage/lcov-report/src/logger/console.ts.html +10 -25
  30. package/coverage/lcov-report/src/logger/index.html +54 -39
  31. package/coverage/lcov-report/src/logger/index.ts.html +88 -61
  32. package/coverage/lcov-report/src/logger/named.ts.html +31 -31
  33. package/coverage/lcov-report/src/logger/proxy.ts.html +13 -13
  34. package/coverage/lcov-report/src/math/arrays.ts.html +293 -32
  35. package/coverage/lcov-report/src/math/calc.ts.html +11 -11
  36. package/coverage/lcov-report/src/math/distribution.ts.html +2 -2
  37. package/coverage/lcov-report/src/math/index.html +11 -11
  38. package/coverage/lcov-report/src/math/index.ts.html +6 -6
  39. package/coverage/lcov-report/src/transitionObserver.ts.html +5 -5
  40. package/coverage/lcov-report/src/types.ts.html +33 -18
  41. package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
  42. package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
  43. package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
  44. package/coverage/lcov-report/src/validation/index.html +1 -1
  45. package/coverage/lcov-report/src/validation/index.ts.html +1 -1
  46. package/coverage/lcov-report/src/validation/types.ts.html +1 -1
  47. package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
  48. package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
  49. package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +21 -18
  50. package/coverage/lcov-report/src/viewModels/LabeledFlagModel.ts.html +17 -26
  51. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +136 -94
  52. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +19 -10
  53. package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +19 -10
  54. package/coverage/lcov-report/src/viewModels/SelectViewModel.ts.html +17 -14
  55. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +12 -12
  56. package/coverage/lcov-report/src/viewModels/index.html +45 -45
  57. package/coverage/lcov-report/src/viewModels/labeled.ts.html +128 -0
  58. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +3 -15
  59. package/coverage/lcov-report/transitionObserver.ts.html +41 -77
  60. package/coverage/lcov.info +871 -720
  61. package/lib/event.d.ts.map +1 -1
  62. package/lib/event.js +1 -1
  63. package/lib/event.js.map +1 -1
  64. package/lib/logger/batch.d.ts +3 -0
  65. package/lib/logger/batch.d.ts.map +1 -0
  66. package/lib/logger/batch.js +12 -0
  67. package/lib/logger/batch.js.map +1 -0
  68. package/lib/logger/console.d.ts +0 -1
  69. package/lib/logger/console.d.ts.map +1 -1
  70. package/lib/logger/console.js +0 -3
  71. package/lib/logger/console.js.map +1 -1
  72. package/lib/logger/file.d.ts +15 -0
  73. package/lib/logger/file.d.ts.map +1 -0
  74. package/lib/logger/file.js +43 -0
  75. package/lib/logger/file.js.map +1 -0
  76. package/lib/logger/index.d.ts +7 -6
  77. package/lib/logger/index.d.ts.map +1 -1
  78. package/lib/logger/index.js +34 -21
  79. package/lib/logger/index.js.map +1 -1
  80. package/lib/logger/named.js +3 -3
  81. package/lib/logger/named.js.map +1 -1
  82. package/lib/logger/proxy.d.ts +1 -1
  83. package/lib/logger/proxy.d.ts.map +1 -1
  84. package/lib/logger/proxy.js +2 -2
  85. package/lib/logger/proxy.js.map +1 -1
  86. package/lib/math/arrays.d.ts +16 -0
  87. package/lib/math/arrays.d.ts.map +1 -1
  88. package/lib/math/arrays.js +77 -1
  89. package/lib/math/arrays.js.map +1 -1
  90. package/lib/transitionObserver.d.ts.map +1 -1
  91. package/lib/transitionObserver.js +2 -2
  92. package/lib/transitionObserver.js.map +1 -1
  93. package/lib/types.d.ts +4 -0
  94. package/lib/types.d.ts.map +1 -1
  95. package/lib/types.js +6 -2
  96. package/lib/types.js.map +1 -1
  97. package/lib/viewModels/FlagModel.d.ts +4 -4
  98. package/lib/viewModels/FlagModel.d.ts.map +1 -1
  99. package/lib/viewModels/FlagModel.js +1 -0
  100. package/lib/viewModels/FlagModel.js.map +1 -1
  101. package/lib/viewModels/MultiSelectModel.d.ts +9 -3
  102. package/lib/viewModels/MultiSelectModel.d.ts.map +1 -1
  103. package/lib/viewModels/MultiSelectModel.js +16 -2
  104. package/lib/viewModels/MultiSelectModel.js.map +1 -1
  105. package/lib/viewModels/NumberModel.d.ts +4 -2
  106. package/lib/viewModels/NumberModel.d.ts.map +1 -1
  107. package/lib/viewModels/NumberModel.js +1 -0
  108. package/lib/viewModels/NumberModel.js.map +1 -1
  109. package/lib/viewModels/PromptModal.d.ts.map +1 -1
  110. package/lib/viewModels/PromptModal.js +1 -1
  111. package/lib/viewModels/PromptModal.js.map +1 -1
  112. package/lib/viewModels/SelectModel.d.ts +4 -2
  113. package/lib/viewModels/SelectModel.d.ts.map +1 -1
  114. package/lib/viewModels/SelectModel.js +1 -0
  115. package/lib/viewModels/SelectModel.js.map +1 -1
  116. package/lib/viewModels/TextModel.d.ts +4 -3
  117. package/lib/viewModels/TextModel.d.ts.map +1 -1
  118. package/lib/viewModels/TextModel.js +5 -5
  119. package/lib/viewModels/TextModel.js.map +1 -1
  120. package/lib/viewModels/ValuesCollector.d.ts +1 -3
  121. package/lib/viewModels/ValuesCollector.d.ts.map +1 -1
  122. package/lib/viewModels/ValuesCollector.js.map +1 -1
  123. package/lib/viewModels/index.d.ts +1 -0
  124. package/lib/viewModels/index.d.ts.map +1 -1
  125. package/lib/viewModels/index.js +1 -0
  126. package/lib/viewModels/index.js.map +1 -1
  127. package/lib/viewModels/types.d.ts +16 -0
  128. package/lib/viewModels/types.d.ts.map +1 -0
  129. package/lib/viewModels/types.js +3 -0
  130. package/lib/viewModels/types.js.map +1 -0
  131. package/lib/viewModels/wrappers.d.ts +1 -4
  132. package/lib/viewModels/wrappers.d.ts.map +1 -1
  133. package/lib/viewModels/wrappers.js.map +1 -1
  134. package/package.json +1 -1
  135. package/src/event.ts +2 -2
  136. package/src/logger/__tests__/{index.test.ts → logger.test.ts} +97 -41
  137. package/src/logger/batch.ts +9 -0
  138. package/src/logger/console.ts +0 -5
  139. package/src/logger/file.ts +46 -0
  140. package/src/logger/index.ts +37 -28
  141. package/src/logger/named.ts +3 -3
  142. package/src/logger/proxy.ts +2 -2
  143. package/src/math/__tests__/arrays.test.ts +53 -0
  144. package/src/math/arrays.ts +87 -0
  145. package/src/transitionObserver.ts +2 -2
  146. package/src/types.ts +6 -1
  147. package/src/viewModels/FlagModel.ts +5 -4
  148. package/src/viewModels/MultiSelectModel.ts +19 -5
  149. package/src/viewModels/NumberModel.ts +5 -2
  150. package/src/viewModels/PromptModal.ts +1 -1
  151. package/src/viewModels/SelectModel.ts +5 -2
  152. package/src/viewModels/TextModel.ts +5 -4
  153. package/src/viewModels/ValuesCollector.ts +1 -4
  154. package/src/viewModels/__tests__/multiSelect.test.ts +127 -12
  155. package/src/viewModels/index.ts +1 -0
  156. package/src/viewModels/types.ts +19 -0
  157. package/src/viewModels/wrappers.ts +1 -5
  158. package/yarn-error.log +0 -3709
@@ -0,0 +1,449 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for enumHelper.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="prettify.css" />
9
+ <link rel="stylesheet" href="base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="index.html">All files</a> enumHelper.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>54/54</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">87.8% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>36/41</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>25/25</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>50/50</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ </div>
58
+ <div class='status-line high'></div>
59
+ <pre><table class="coverage">
60
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
+ <a name='L2'></a><a href='#L2'>2</a>
62
+ <a name='L3'></a><a href='#L3'>3</a>
63
+ <a name='L4'></a><a href='#L4'>4</a>
64
+ <a name='L5'></a><a href='#L5'>5</a>
65
+ <a name='L6'></a><a href='#L6'>6</a>
66
+ <a name='L7'></a><a href='#L7'>7</a>
67
+ <a name='L8'></a><a href='#L8'>8</a>
68
+ <a name='L9'></a><a href='#L9'>9</a>
69
+ <a name='L10'></a><a href='#L10'>10</a>
70
+ <a name='L11'></a><a href='#L11'>11</a>
71
+ <a name='L12'></a><a href='#L12'>12</a>
72
+ <a name='L13'></a><a href='#L13'>13</a>
73
+ <a name='L14'></a><a href='#L14'>14</a>
74
+ <a name='L15'></a><a href='#L15'>15</a>
75
+ <a name='L16'></a><a href='#L16'>16</a>
76
+ <a name='L17'></a><a href='#L17'>17</a>
77
+ <a name='L18'></a><a href='#L18'>18</a>
78
+ <a name='L19'></a><a href='#L19'>19</a>
79
+ <a name='L20'></a><a href='#L20'>20</a>
80
+ <a name='L21'></a><a href='#L21'>21</a>
81
+ <a name='L22'></a><a href='#L22'>22</a>
82
+ <a name='L23'></a><a href='#L23'>23</a>
83
+ <a name='L24'></a><a href='#L24'>24</a>
84
+ <a name='L25'></a><a href='#L25'>25</a>
85
+ <a name='L26'></a><a href='#L26'>26</a>
86
+ <a name='L27'></a><a href='#L27'>27</a>
87
+ <a name='L28'></a><a href='#L28'>28</a>
88
+ <a name='L29'></a><a href='#L29'>29</a>
89
+ <a name='L30'></a><a href='#L30'>30</a>
90
+ <a name='L31'></a><a href='#L31'>31</a>
91
+ <a name='L32'></a><a href='#L32'>32</a>
92
+ <a name='L33'></a><a href='#L33'>33</a>
93
+ <a name='L34'></a><a href='#L34'>34</a>
94
+ <a name='L35'></a><a href='#L35'>35</a>
95
+ <a name='L36'></a><a href='#L36'>36</a>
96
+ <a name='L37'></a><a href='#L37'>37</a>
97
+ <a name='L38'></a><a href='#L38'>38</a>
98
+ <a name='L39'></a><a href='#L39'>39</a>
99
+ <a name='L40'></a><a href='#L40'>40</a>
100
+ <a name='L41'></a><a href='#L41'>41</a>
101
+ <a name='L42'></a><a href='#L42'>42</a>
102
+ <a name='L43'></a><a href='#L43'>43</a>
103
+ <a name='L44'></a><a href='#L44'>44</a>
104
+ <a name='L45'></a><a href='#L45'>45</a>
105
+ <a name='L46'></a><a href='#L46'>46</a>
106
+ <a name='L47'></a><a href='#L47'>47</a>
107
+ <a name='L48'></a><a href='#L48'>48</a>
108
+ <a name='L49'></a><a href='#L49'>49</a>
109
+ <a name='L50'></a><a href='#L50'>50</a>
110
+ <a name='L51'></a><a href='#L51'>51</a>
111
+ <a name='L52'></a><a href='#L52'>52</a>
112
+ <a name='L53'></a><a href='#L53'>53</a>
113
+ <a name='L54'></a><a href='#L54'>54</a>
114
+ <a name='L55'></a><a href='#L55'>55</a>
115
+ <a name='L56'></a><a href='#L56'>56</a>
116
+ <a name='L57'></a><a href='#L57'>57</a>
117
+ <a name='L58'></a><a href='#L58'>58</a>
118
+ <a name='L59'></a><a href='#L59'>59</a>
119
+ <a name='L60'></a><a href='#L60'>60</a>
120
+ <a name='L61'></a><a href='#L61'>61</a>
121
+ <a name='L62'></a><a href='#L62'>62</a>
122
+ <a name='L63'></a><a href='#L63'>63</a>
123
+ <a name='L64'></a><a href='#L64'>64</a>
124
+ <a name='L65'></a><a href='#L65'>65</a>
125
+ <a name='L66'></a><a href='#L66'>66</a>
126
+ <a name='L67'></a><a href='#L67'>67</a>
127
+ <a name='L68'></a><a href='#L68'>68</a>
128
+ <a name='L69'></a><a href='#L69'>69</a>
129
+ <a name='L70'></a><a href='#L70'>70</a>
130
+ <a name='L71'></a><a href='#L71'>71</a>
131
+ <a name='L72'></a><a href='#L72'>72</a>
132
+ <a name='L73'></a><a href='#L73'>73</a>
133
+ <a name='L74'></a><a href='#L74'>74</a>
134
+ <a name='L75'></a><a href='#L75'>75</a>
135
+ <a name='L76'></a><a href='#L76'>76</a>
136
+ <a name='L77'></a><a href='#L77'>77</a>
137
+ <a name='L78'></a><a href='#L78'>78</a>
138
+ <a name='L79'></a><a href='#L79'>79</a>
139
+ <a name='L80'></a><a href='#L80'>80</a>
140
+ <a name='L81'></a><a href='#L81'>81</a>
141
+ <a name='L82'></a><a href='#L82'>82</a>
142
+ <a name='L83'></a><a href='#L83'>83</a>
143
+ <a name='L84'></a><a href='#L84'>84</a>
144
+ <a name='L85'></a><a href='#L85'>85</a>
145
+ <a name='L86'></a><a href='#L86'>86</a>
146
+ <a name='L87'></a><a href='#L87'>87</a>
147
+ <a name='L88'></a><a href='#L88'>88</a>
148
+ <a name='L89'></a><a href='#L89'>89</a>
149
+ <a name='L90'></a><a href='#L90'>90</a>
150
+ <a name='L91'></a><a href='#L91'>91</a>
151
+ <a name='L92'></a><a href='#L92'>92</a>
152
+ <a name='L93'></a><a href='#L93'>93</a>
153
+ <a name='L94'></a><a href='#L94'>94</a>
154
+ <a name='L95'></a><a href='#L95'>95</a>
155
+ <a name='L96'></a><a href='#L96'>96</a>
156
+ <a name='L97'></a><a href='#L97'>97</a>
157
+ <a name='L98'></a><a href='#L98'>98</a>
158
+ <a name='L99'></a><a href='#L99'>99</a>
159
+ <a name='L100'></a><a href='#L100'>100</a>
160
+ <a name='L101'></a><a href='#L101'>101</a>
161
+ <a name='L102'></a><a href='#L102'>102</a>
162
+ <a name='L103'></a><a href='#L103'>103</a>
163
+ <a name='L104'></a><a href='#L104'>104</a>
164
+ <a name='L105'></a><a href='#L105'>105</a>
165
+ <a name='L106'></a><a href='#L106'>106</a>
166
+ <a name='L107'></a><a href='#L107'>107</a>
167
+ <a name='L108'></a><a href='#L108'>108</a>
168
+ <a name='L109'></a><a href='#L109'>109</a>
169
+ <a name='L110'></a><a href='#L110'>110</a>
170
+ <a name='L111'></a><a href='#L111'>111</a>
171
+ <a name='L112'></a><a href='#L112'>112</a>
172
+ <a name='L113'></a><a href='#L113'>113</a>
173
+ <a name='L114'></a><a href='#L114'>114</a>
174
+ <a name='L115'></a><a href='#L115'>115</a>
175
+ <a name='L116'></a><a href='#L116'>116</a>
176
+ <a name='L117'></a><a href='#L117'>117</a>
177
+ <a name='L118'></a><a href='#L118'>118</a>
178
+ <a name='L119'></a><a href='#L119'>119</a>
179
+ <a name='L120'></a><a href='#L120'>120</a>
180
+ <a name='L121'></a><a href='#L121'>121</a>
181
+ <a name='L122'></a><a href='#L122'>122</a>
182
+ <a name='L123'></a><a href='#L123'>123</a>
183
+ <a name='L124'></a><a href='#L124'>124</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
184
+ <span class="cline-any cline-yes">1x</span>
185
+ <span class="cline-any cline-yes">1x</span>
186
+ <span class="cline-any cline-neutral">&nbsp;</span>
187
+ <span class="cline-any cline-neutral">&nbsp;</span>
188
+ <span class="cline-any cline-yes">1x</span>
189
+ <span class="cline-any cline-yes">1x</span>
190
+ <span class="cline-any cline-neutral">&nbsp;</span>
191
+ <span class="cline-any cline-yes">1x</span>
192
+ <span class="cline-any cline-yes">2x</span>
193
+ <span class="cline-any cline-neutral">&nbsp;</span>
194
+ <span class="cline-any cline-yes">2x</span>
195
+ <span class="cline-any cline-neutral">&nbsp;</span>
196
+ <span class="cline-any cline-neutral">&nbsp;</span>
197
+ <span class="cline-any cline-neutral">&nbsp;</span>
198
+ <span class="cline-any cline-yes">1x</span>
199
+ <span class="cline-any cline-neutral">&nbsp;</span>
200
+ <span class="cline-any cline-neutral">&nbsp;</span>
201
+ <span class="cline-any cline-neutral">&nbsp;</span>
202
+ <span class="cline-any cline-neutral">&nbsp;</span>
203
+ <span class="cline-any cline-neutral">&nbsp;</span>
204
+ <span class="cline-any cline-yes">1x</span>
205
+ <span class="cline-any cline-yes">1x</span>
206
+ <span class="cline-any cline-neutral">&nbsp;</span>
207
+ <span class="cline-any cline-neutral">&nbsp;</span>
208
+ <span class="cline-any cline-neutral">&nbsp;</span>
209
+ <span class="cline-any cline-yes">3x</span>
210
+ <span class="cline-any cline-yes">1x</span>
211
+ <span class="cline-any cline-neutral">&nbsp;</span>
212
+ <span class="cline-any cline-yes">3x</span>
213
+ <span class="cline-any cline-yes">2x</span>
214
+ <span class="cline-any cline-neutral">&nbsp;</span>
215
+ <span class="cline-any cline-neutral">&nbsp;</span>
216
+ <span class="cline-any cline-neutral">&nbsp;</span>
217
+ <span class="cline-any cline-neutral">&nbsp;</span>
218
+ <span class="cline-any cline-neutral">&nbsp;</span>
219
+ <span class="cline-any cline-neutral">&nbsp;</span>
220
+ <span class="cline-any cline-neutral">&nbsp;</span>
221
+ <span class="cline-any cline-yes">3x</span>
222
+ <span class="cline-any cline-yes">4x</span>
223
+ <span class="cline-any cline-yes">4x</span>
224
+ <span class="cline-any cline-neutral">&nbsp;</span>
225
+ <span class="cline-any cline-neutral">&nbsp;</span>
226
+ <span class="cline-any cline-yes">4x</span>
227
+ <span class="cline-any cline-yes">4x</span>
228
+ <span class="cline-any cline-neutral">&nbsp;</span>
229
+ <span class="cline-any cline-yes">4x</span>
230
+ <span class="cline-any cline-yes">78x</span>
231
+ <span class="cline-any cline-neutral">&nbsp;</span>
232
+ <span class="cline-any cline-yes">39x</span>
233
+ <span class="cline-any cline-neutral">&nbsp;</span>
234
+ <span class="cline-any cline-neutral">&nbsp;</span>
235
+ <span class="cline-any cline-neutral">&nbsp;</span>
236
+ <span class="cline-any cline-yes">9x</span>
237
+ <span class="cline-any cline-yes">9x</span>
238
+ <span class="cline-any cline-neutral">&nbsp;</span>
239
+ <span class="cline-any cline-neutral">&nbsp;</span>
240
+ <span class="cline-any cline-neutral">&nbsp;</span>
241
+ <span class="cline-any cline-neutral">&nbsp;</span>
242
+ <span class="cline-any cline-neutral">&nbsp;</span>
243
+ <span class="cline-any cline-yes">1x</span>
244
+ <span class="cline-any cline-yes">1x</span>
245
+ <span class="cline-any cline-neutral">&nbsp;</span>
246
+ <span class="cline-any cline-neutral">&nbsp;</span>
247
+ <span class="cline-any cline-neutral">&nbsp;</span>
248
+ <span class="cline-any cline-yes">3x</span>
249
+ <span class="cline-any cline-yes">3x</span>
250
+ <span class="cline-any cline-yes">3x</span>
251
+ <span class="cline-any cline-neutral">&nbsp;</span>
252
+ <span class="cline-any cline-neutral">&nbsp;</span>
253
+ <span class="cline-any cline-neutral">&nbsp;</span>
254
+ <span class="cline-any cline-yes">6x</span>
255
+ <span class="cline-any cline-yes">2x</span>
256
+ <span class="cline-any cline-neutral">&nbsp;</span>
257
+ <span class="cline-any cline-yes">7x</span>
258
+ <span class="cline-any cline-yes">4x</span>
259
+ <span class="cline-any cline-neutral">&nbsp;</span>
260
+ <span class="cline-any cline-neutral">&nbsp;</span>
261
+ <span class="cline-any cline-neutral">&nbsp;</span>
262
+ <span class="cline-any cline-neutral">&nbsp;</span>
263
+ <span class="cline-any cline-neutral">&nbsp;</span>
264
+ <span class="cline-any cline-yes">3x</span>
265
+ <span class="cline-any cline-neutral">&nbsp;</span>
266
+ <span class="cline-any cline-yes">4x</span>
267
+ <span class="cline-any cline-yes">1x</span>
268
+ <span class="cline-any cline-neutral">&nbsp;</span>
269
+ <span class="cline-any cline-neutral">&nbsp;</span>
270
+ <span class="cline-any cline-yes">3x</span>
271
+ <span class="cline-any cline-yes">9x</span>
272
+ <span class="cline-any cline-yes">7x</span>
273
+ <span class="cline-any cline-neutral">&nbsp;</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-neutral">&nbsp;</span>
276
+ <span class="cline-any cline-yes">1x</span>
277
+ <span class="cline-any cline-yes">1x</span>
278
+ <span class="cline-any cline-neutral">&nbsp;</span>
279
+ <span class="cline-any cline-neutral">&nbsp;</span>
280
+ <span class="cline-any cline-neutral">&nbsp;</span>
281
+ <span class="cline-any cline-neutral">&nbsp;</span>
282
+ <span class="cline-any cline-neutral">&nbsp;</span>
283
+ <span class="cline-any cline-yes">14x</span>
284
+ <span class="cline-any cline-neutral">&nbsp;</span>
285
+ <span class="cline-any cline-neutral">&nbsp;</span>
286
+ <span class="cline-any cline-neutral">&nbsp;</span>
287
+ <span class="cline-any cline-yes">3x</span>
288
+ <span class="cline-any cline-yes">3x</span>
289
+ <span class="cline-any cline-yes">5x</span>
290
+ <span class="cline-any cline-neutral">&nbsp;</span>
291
+ <span class="cline-any cline-yes">3x</span>
292
+ <span class="cline-any cline-neutral">&nbsp;</span>
293
+ <span class="cline-any cline-neutral">&nbsp;</span>
294
+ <span class="cline-any cline-neutral">&nbsp;</span>
295
+ <span class="cline-any cline-yes">5x</span>
296
+ <span class="cline-any cline-neutral">&nbsp;</span>
297
+ <span class="cline-any cline-neutral">&nbsp;</span>
298
+ <span class="cline-any cline-neutral">&nbsp;</span>
299
+ <span class="cline-any cline-yes">14x</span>
300
+ <span class="cline-any cline-neutral">&nbsp;</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-neutral">&nbsp;</span>
303
+ <span class="cline-any cline-yes">1x</span>
304
+ <span class="cline-any cline-neutral">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">export class EnumStringHelper&lt;T extends string&gt; {
307
+ public readonly Keys: string[] = null;
308
+ public readonly Values: T[] = null;
309
+ &nbsp;
310
+ constructor(
311
+ protected readonly _obj: any,
312
+ private readonly _valuesToStrings: { [val: string]: string } = null,
313
+ ) {
314
+ this.Keys = Object.keys(this._obj)
315
+ .filter(k =&gt; typeof this._obj[k as any] === 'string');
316
+ &nbsp;
317
+ this.Values = this.Keys.map(k =&gt; this._obj[k]);
318
+ }
319
+ &nbsp;
320
+ keyToString(key: string): string {
321
+ return this._valuesToStrings
322
+ ? <span class="branch-0 cbranch-no" title="branch not covered" >this._valuesToStrings[this._obj[key]]</span>
323
+ : key;
324
+ }
325
+ &nbsp;
326
+ valueToString(v: T): string {
327
+ const custom = this._valuesToStrings &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >this._valuesToStrings[v];</span>
328
+ return custom || v;
329
+ }
330
+ &nbsp;
331
+ validateValue(v: string): T | null {
332
+ if (!v) {
333
+ return null;
334
+ }
335
+ const i = this.Values.findIndex(vv =&gt; vv === v);
336
+ return i &gt;= 0
337
+ ? this.Values[i]
338
+ : null;
339
+ }
340
+ }
341
+ &nbsp;
342
+ type ValueToStringMap = { [val: number]: string };
343
+ &nbsp;
344
+ export default class EnumHelper&lt;T extends number&gt; {
345
+ public readonly Keys: string[] = null;
346
+ public readonly Values: T[] = null;
347
+ &nbsp;
348
+ constructor(
349
+ protected readonly _obj: any,
350
+ private readonly _valuesToStrings: ValueToStringMap = null,
351
+ ) {
352
+ this.Keys = Object.keys(this._obj)
353
+ .filter(k =&gt; typeof this._obj[k as any] === 'number');
354
+ &nbsp;
355
+ this.Values = this.Keys.map(k =&gt; this._obj[k]);
356
+ }
357
+ &nbsp;
358
+ keyToString(key: string, overrideMap: ValueToStringMap = null): string {
359
+ const map = overrideMap || this._valuesToStrings;
360
+ return map
361
+ ? map[this._obj[key]]
362
+ : <span class="branch-1 cbranch-no" title="branch not covered" >key;</span>
363
+ }
364
+ &nbsp;
365
+ keyToValue(key: string): T {
366
+ const v = this._obj[key];
367
+ return v == null ? <span class="branch-0 cbranch-no" title="branch not covered" >null </span>: v as T;
368
+ }
369
+ &nbsp;
370
+ valueToString(v: T, overrideMap: ValueToStringMap = null): string {
371
+ const map = overrideMap || this._valuesToStrings;
372
+ const custom = map &amp;&amp; map[v];
373
+ return custom || this._obj[v];
374
+ }
375
+ &nbsp;
376
+ validateValue(v: number): T | null {
377
+ if (v == null || Number.isNaN(v)) {
378
+ return null;
379
+ }
380
+ const i = this.Values.findIndex(vv =&gt; vv === v);
381
+ return i &gt;= 0
382
+ ? this.Values[i]
383
+ : null;
384
+ }
385
+ }
386
+ &nbsp;
387
+ export class EnumBitwiseHelper&lt;T extends number&gt; extends EnumHelper&lt;T&gt; {
388
+ toStrings(value: T, overrideMap: ValueToStringMap = null): string[] {
389
+ if (value == 0) {
390
+ return [this.valueToString(value, overrideMap)];
391
+ }
392
+ &nbsp;
393
+ return this.Keys
394
+ .filter(k =&gt; this._obj[k] &amp;&amp; this.contains(value, this._obj[k]))
395
+ .map(k =&gt; this.keyToString(k, overrideMap));
396
+ }
397
+ &nbsp;
398
+ toString(value: T, separator = ', ', overrideMap: ValueToStringMap = null): string {
399
+ const strs = this.toStrings(value, overrideMap);
400
+ return strs.length === 0
401
+ ? <span class="branch-0 cbranch-no" title="branch not covered" >this._obj[0]</span>
402
+ : strs.join(separator);
403
+ }
404
+ &nbsp;
405
+ contains(base: T, target: T) {
406
+ return this.intersection(base, target) === target;
407
+ }
408
+ &nbsp;
409
+ combine(...values: T[]) {
410
+ let res = 0;
411
+ values.forEach(v =&gt; {
412
+ res = this.add(res as T, v);
413
+ });
414
+ return res;
415
+ }
416
+ &nbsp;
417
+ add(value: T, other: T) {
418
+ return value | other;
419
+ }
420
+ &nbsp;
421
+ intersection(v1: T, v2: T) {
422
+ return v1 &amp; v2;
423
+ }
424
+ &nbsp;
425
+ remove(value: T, other: T) {
426
+ return value &amp; ~other;
427
+ }
428
+ }
429
+ &nbsp;</pre></td></tr></table></pre>
430
+
431
+ <div class='push'></div><!-- for sticky footer -->
432
+ </div><!-- /wrapper -->
433
+ <div class='footer quiet pad2 space-top1 center small'>
434
+ Code coverage generated by
435
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
436
+ at Mon Nov 01 2021 21:27:30 GMT+0000 (Coordinated Universal Time)
437
+ </div>
438
+ </div>
439
+ <script src="prettify.js"></script>
440
+ <script>
441
+ window.onload = function () {
442
+ prettyPrint();
443
+ };
444
+ </script>
445
+ <script src="sorter.js"></script>
446
+ <script src="block-navigation.js"></script>
447
+ </body>
448
+ </html>
449
+
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">84.2% </span>
26
+ <span class="strong">86.51% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>959/1139</span>
28
+ <span class='fraction'>1052/1216</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">81.61% </span>
33
+ <span class="strong">81.96% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>537/658</span>
35
+ <span class='fraction'>568/693</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">70.16% </span>
40
+ <span class="strong">74.7% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>221/315</span>
42
+ <span class='fraction'>251/336</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">85.02% </span>
47
+ <span class="strong">86.85% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>908/1068</span>
49
+ <span class='fraction'>984/1133</span>
50
50
  </div>
51
51
 
52
52
 
@@ -74,17 +74,17 @@
74
74
  </thead>
75
75
  <tbody><tr>
76
76
  <td class="file high" data-value="src"><a href="src/index.html">src</a></td>
77
- <td data-value="87.08" class="pic high">
77
+ <td data-value="87.85" class="pic high">
78
78
  <div class="chart"><div class="cover-fill" style="width: 87%"></div><div class="cover-empty" style="width: 13%"></div></div>
79
79
  </td>
80
- <td data-value="87.08" class="pct high">87.08%</td>
81
- <td data-value="178" class="abs high">155/178</td>
82
- <td data-value="83.16" class="pct high">83.16%</td>
83
- <td data-value="95" class="abs high">79/95</td>
84
- <td data-value="81.25" class="pct high">81.25%</td>
85
- <td data-value="64" class="abs high">52/64</td>
86
- <td data-value="87.28" class="pct high">87.28%</td>
87
- <td data-value="173" class="abs high">151/173</td>
80
+ <td data-value="87.85" class="pct high">87.85%</td>
81
+ <td data-value="181" class="abs high">159/181</td>
82
+ <td data-value="82.83" class="pct high">82.83%</td>
83
+ <td data-value="99" class="abs high">82/99</td>
84
+ <td data-value="81.82" class="pct high">81.82%</td>
85
+ <td data-value="66" class="abs high">54/66</td>
86
+ <td data-value="88" class="pct high">88%</td>
87
+ <td data-value="175" class="abs high">154/175</td>
88
88
  </tr>
89
89
 
90
90
  <tr>
@@ -134,17 +134,17 @@
134
134
 
135
135
  <tr>
136
136
  <td class="file medium" data-value="src/logger"><a href="src/logger/index.html">src/logger</a></td>
137
- <td data-value="76.09" class="pic medium">
138
- <div class="chart"><div class="cover-fill" style="width: 76%"></div><div class="cover-empty" style="width: 24%"></div></div>
137
+ <td data-value="73.58" class="pic medium">
138
+ <div class="chart"><div class="cover-fill" style="width: 73%"></div><div class="cover-empty" style="width: 27%"></div></div>
139
139
  </td>
140
- <td data-value="76.09" class="pct medium">76.09%</td>
141
- <td data-value="92" class="abs medium">70/92</td>
142
- <td data-value="66.67" class="pct medium">66.67%</td>
143
- <td data-value="42" class="abs medium">28/42</td>
144
- <td data-value="70" class="pct medium">70%</td>
145
- <td data-value="30" class="abs medium">21/30</td>
146
- <td data-value="74.71" class="pct medium">74.71%</td>
147
- <td data-value="87" class="abs medium">65/87</td>
140
+ <td data-value="73.58" class="pct medium">73.58%</td>
141
+ <td data-value="106" class="abs medium">78/106</td>
142
+ <td data-value="58.7" class="pct medium">58.7%</td>
143
+ <td data-value="46" class="abs medium">27/46</td>
144
+ <td data-value="68.57" class="pct medium">68.57%</td>
145
+ <td data-value="35" class="abs medium">24/35</td>
146
+ <td data-value="71.13" class="pct medium">71.13%</td>
147
+ <td data-value="97" class="abs medium">69/97</td>
148
148
  </tr>
149
149
 
150
150
  <tr>
@@ -153,13 +153,13 @@
153
153
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
154
154
  </td>
155
155
  <td data-value="100" class="pct high">100%</td>
156
- <td data-value="165" class="abs high">165/165</td>
157
- <td data-value="94.12" class="pct high">94.12%</td>
158
- <td data-value="119" class="abs high">112/119</td>
156
+ <td data-value="210" class="abs high">210/210</td>
157
+ <td data-value="95.71" class="pct high">95.71%</td>
158
+ <td data-value="140" class="abs high">134/140</td>
159
159
  <td data-value="100" class="pct high">100%</td>
160
- <td data-value="34" class="abs high">34/34</td>
160
+ <td data-value="39" class="abs high">39/39</td>
161
161
  <td data-value="100" class="pct high">100%</td>
162
- <td data-value="152" class="abs high">152/152</td>
162
+ <td data-value="194" class="abs high">194/194</td>
163
163
  </tr>
164
164
 
165
165
  <tr>
@@ -178,18 +178,18 @@
178
178
  </tr>
179
179
 
180
180
  <tr>
181
- <td class="file medium" data-value="src/viewModels"><a href="src/viewModels/index.html">src/viewModels</a></td>
182
- <td data-value="71.14" class="pic medium">
183
- <div class="chart"><div class="cover-fill" style="width: 71%"></div><div class="cover-empty" style="width: 29%"></div></div>
181
+ <td class="file high" data-value="src/viewModels"><a href="src/viewModels/index.html">src/viewModels</a></td>
182
+ <td data-value="80.84" class="pic high">
183
+ <div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
184
184
  </td>
185
- <td data-value="71.14" class="pct medium">71.14%</td>
186
- <td data-value="246" class="abs medium">175/246</td>
187
- <td data-value="54.9" class="pct medium">54.9%</td>
188
- <td data-value="51" class="abs medium">28/51</td>
189
- <td data-value="52.69" class="pct medium">52.69%</td>
190
- <td data-value="93" class="abs medium">49/93</td>
191
- <td data-value="72.86" class="pct medium">72.86%</td>
192
- <td data-value="210" class="abs medium">153/210</td>
185
+ <td data-value="80.84" class="pct high">80.84%</td>
186
+ <td data-value="261" class="abs high">211/261</td>
187
+ <td data-value="61.4" class="pct medium">61.4%</td>
188
+ <td data-value="57" class="abs medium">35/57</td>
189
+ <td data-value="67.65" class="pct medium">67.65%</td>
190
+ <td data-value="102" class="abs medium">69/102</td>
191
+ <td data-value="81.45" class="pct high">81.45%</td>
192
+ <td data-value="221" class="abs high">180/221</td>
193
193
  </tr>
194
194
 
195
195
  </tbody>
@@ -200,7 +200,7 @@
200
200
  <div class='footer quiet pad2 space-top1 center small'>
201
201
  Code coverage generated by
202
202
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
203
- at Tue Nov 23 2021 19:51:11 GMT+0000 (Coordinated Universal Time)
203
+ at Tue Nov 30 2021 14:08:10 GMT+0000 (Coordinated Universal Time)
204
204
  </div>
205
205
  </div>
206
206
  <script src="prettify.js"></script>
@@ -95,7 +95,7 @@
95
95
  <div class='footer quiet pad2 space-top1 center small'>
96
96
  Code coverage generated by
97
97
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98
- at Tue Nov 23 2021 19:51:11 GMT+0000 (Coordinated Universal Time)
98
+ at Tue Nov 30 2021 14:08:10 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../../../prettify.js"></script>
@@ -73,7 +73,7 @@
73
73
  <span class="cline-any cline-yes">2x</span>
74
74
  <span class="cline-any cline-neutral">&nbsp;</span>
75
75
  <span class="cline-any cline-yes">2x</span>
76
- <span class="cline-any cline-yes">14x</span>
76
+ <span class="cline-any cline-yes">15x</span>
77
77
  <span class="cline-any cline-neutral">&nbsp;</span>
78
78
  <span class="cline-any cline-neutral">&nbsp;</span>
79
79
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -100,7 +100,7 @@ export const toArbitrary = (fakerGen) =&gt; {
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
103
- at Tue Nov 23 2021 19:51:11 GMT+0000 (Coordinated Universal Time)
103
+ at Tue Nov 30 2021 14:08:10 GMT+0000 (Coordinated Universal Time)
104
104
  </div>
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
@@ -178,7 +178,7 @@ export async function <span class="fstat-no" title="function not covered" >mapAs
178
178
  <div class='footer quiet pad2 space-top1 center small'>
179
179
  Code coverage generated by
180
180
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
181
- at Tue Nov 23 2021 19:51:11 GMT+0000 (Coordinated Universal Time)
181
+ at Tue Nov 30 2021 14:08:10 GMT+0000 (Coordinated Universal Time)
182
182
  </div>
183
183
  </div>
184
184
  <script src="../../prettify.js"></script>