@lomray/react-mobx-manager 2.1.0-beta.1 → 2.1.0-beta.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.
- package/.c8rc.json +11 -0
- package/.mocharc.json +11 -0
- package/.run/Run all.run.xml +14 -0
- package/README.md +1 -1
- package/__helpers__/root-hooks.ts +13 -0
- package/__helpers__/sinon-chai.ts +4 -0
- package/__tests__/manager-stream.ts +57 -0
- package/__tests__/wakeup.ts +32 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +176 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +196 -0
- package/coverage/lcov-report/src/context.tsx.html +367 -0
- package/coverage/lcov-report/src/events.ts.html +118 -0
- package/coverage/lcov-report/src/index.html +266 -0
- package/coverage/lcov-report/src/index.ts.html +124 -0
- package/coverage/lcov-report/src/manager-stream.ts.html +226 -0
- package/coverage/lcov-report/src/manager.ts.html +1834 -0
- package/coverage/lcov-report/src/on-change-listener.ts.html +169 -0
- package/coverage/lcov-report/src/plugins/dev-extension/index.html +131 -0
- package/coverage/lcov-report/src/plugins/dev-extension/index.ts.html +109 -0
- package/coverage/lcov-report/src/plugins/dev-extension/state-listener.ts.html +397 -0
- package/coverage/lcov-report/src/plugins/helpers.ts.html +514 -0
- package/coverage/lcov-report/src/plugins/index.html +116 -0
- package/coverage/lcov-report/src/plugins/vite/id-generator.ts.html +292 -0
- package/coverage/lcov-report/src/plugins/vite/index.html +131 -0
- package/coverage/lcov-report/src/plugins/vite/index.ts.html +178 -0
- package/coverage/lcov-report/src/storages/async-storage.ts.html +253 -0
- package/coverage/lcov-report/src/storages/index.html +131 -0
- package/coverage/lcov-report/src/storages/local-storage.ts.html +190 -0
- package/coverage/lcov-report/src/store-status.ts.html +109 -0
- package/coverage/lcov-report/src/suspense-query.ts.html +619 -0
- package/coverage/lcov-report/src/types.ts.html +499 -0
- package/coverage/lcov-report/src/wakeup.ts.html +121 -0
- package/coverage/lcov-report/src/with-stores.tsx.html +274 -0
- package/coverage/lcov.info +1849 -0
- package/coverage/tmp/coverage-1976-1701099077109-0.json +1 -0
- package/coverage/tmp/coverage-1988-1701099077070-0.json +1 -0
- package/coverage/tmp/coverage-1995-1701099077018-0.json +1 -0
- package/lib/context.d.ts +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/manager.d.ts +1 -1
- package/lib/on-change-listener.d.ts +1 -1
- package/lib/plugins/dev-extension/index.d.ts +3 -0
- package/lib/plugins/dev-extension/index.js +1 -0
- package/lib/plugins/dev-extension/state-listener.d.ts +55 -0
- package/lib/plugins/dev-extension/state-listener.js +1 -0
- package/lib/plugins/vite/index.js +1 -1
- package/lib/storages/async-storage.d.ts +1 -1
- package/lib/storages/local-storage.d.ts +1 -1
- package/lib/suspense-query.d.ts +2 -2
- package/lib/wakeup.d.ts +1 -1
- package/lib/with-stores.d.ts +1 -1
- package/package.json +32 -19
- package/CODE_OF_CONDUCT.md +0 -128
- package/CONTRIBUTING.md +0 -88
- package/SECURITY.md +0 -11
- package/lib/plugins/vite/hydration-update-fix.d.ts +0 -7
- package/lib/plugins/vite/hydration-update-fix.js +0 -1
- package/logo.png +0 -0
- /package/lib/{types-199a1271.d.ts → types-c7e03f73.d.ts} +0 -0
|
@@ -0,0 +1,514 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/plugins/helpers.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> / <a href="index.html">src/plugins</a> helpers.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">0% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>0/143</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">0% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>0/1</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">0% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>0/1</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">0% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>0/143</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
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line low'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
+
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
+
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
+
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
+
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
+
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
+
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
+
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
+
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
+
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
+
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
+
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
+
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
+
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
+
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
+
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
+
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
+
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
+
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
+
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
+
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
+
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
+
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
+
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
+
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
+
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
+
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
+
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
+
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
+
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
+
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
+
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
+
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
+
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
+
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
+
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
+
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
+
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
+
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
+
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
+
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
+
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
+
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
+
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
+
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
+
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
+
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
+
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
+
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
+
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
+
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
+
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
+
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
+
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
+
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
+
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
+
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
+
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
+
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
+
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
+
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
+
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
+
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
+
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
+
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
+
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
+
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
+
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
+
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
+
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
+
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
+
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
+
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
+
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
+
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
+
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
+
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
+
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
+
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
+
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
+
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
+
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
+
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
+
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
+
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
+
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
+
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
+
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
+
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
+
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
+
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
+
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
+
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
+
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
+
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
+
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
+
<a name='L144'></a><a href='#L144'>144</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
210
|
+
<span class="cline-any cline-no"> </span>
|
|
211
|
+
<span class="cline-any cline-no"> </span>
|
|
212
|
+
<span class="cline-any cline-no"> </span>
|
|
213
|
+
<span class="cline-any cline-no"> </span>
|
|
214
|
+
<span class="cline-any cline-no"> </span>
|
|
215
|
+
<span class="cline-any cline-no"> </span>
|
|
216
|
+
<span class="cline-any cline-no"> </span>
|
|
217
|
+
<span class="cline-any cline-no"> </span>
|
|
218
|
+
<span class="cline-any cline-no"> </span>
|
|
219
|
+
<span class="cline-any cline-no"> </span>
|
|
220
|
+
<span class="cline-any cline-no"> </span>
|
|
221
|
+
<span class="cline-any cline-no"> </span>
|
|
222
|
+
<span class="cline-any cline-no"> </span>
|
|
223
|
+
<span class="cline-any cline-no"> </span>
|
|
224
|
+
<span class="cline-any cline-no"> </span>
|
|
225
|
+
<span class="cline-any cline-no"> </span>
|
|
226
|
+
<span class="cline-any cline-no"> </span>
|
|
227
|
+
<span class="cline-any cline-no"> </span>
|
|
228
|
+
<span class="cline-any cline-no"> </span>
|
|
229
|
+
<span class="cline-any cline-no"> </span>
|
|
230
|
+
<span class="cline-any cline-no"> </span>
|
|
231
|
+
<span class="cline-any cline-no"> </span>
|
|
232
|
+
<span class="cline-any cline-no"> </span>
|
|
233
|
+
<span class="cline-any cline-no"> </span>
|
|
234
|
+
<span class="cline-any cline-no"> </span>
|
|
235
|
+
<span class="cline-any cline-no"> </span>
|
|
236
|
+
<span class="cline-any cline-no"> </span>
|
|
237
|
+
<span class="cline-any cline-no"> </span>
|
|
238
|
+
<span class="cline-any cline-no"> </span>
|
|
239
|
+
<span class="cline-any cline-no"> </span>
|
|
240
|
+
<span class="cline-any cline-no"> </span>
|
|
241
|
+
<span class="cline-any cline-no"> </span>
|
|
242
|
+
<span class="cline-any cline-no"> </span>
|
|
243
|
+
<span class="cline-any cline-no"> </span>
|
|
244
|
+
<span class="cline-any cline-no"> </span>
|
|
245
|
+
<span class="cline-any cline-no"> </span>
|
|
246
|
+
<span class="cline-any cline-no"> </span>
|
|
247
|
+
<span class="cline-any cline-no"> </span>
|
|
248
|
+
<span class="cline-any cline-no"> </span>
|
|
249
|
+
<span class="cline-any cline-no"> </span>
|
|
250
|
+
<span class="cline-any cline-no"> </span>
|
|
251
|
+
<span class="cline-any cline-no"> </span>
|
|
252
|
+
<span class="cline-any cline-no"> </span>
|
|
253
|
+
<span class="cline-any cline-no"> </span>
|
|
254
|
+
<span class="cline-any cline-no"> </span>
|
|
255
|
+
<span class="cline-any cline-no"> </span>
|
|
256
|
+
<span class="cline-any cline-no"> </span>
|
|
257
|
+
<span class="cline-any cline-no"> </span>
|
|
258
|
+
<span class="cline-any cline-no"> </span>
|
|
259
|
+
<span class="cline-any cline-no"> </span>
|
|
260
|
+
<span class="cline-any cline-no"> </span>
|
|
261
|
+
<span class="cline-any cline-no"> </span>
|
|
262
|
+
<span class="cline-any cline-no"> </span>
|
|
263
|
+
<span class="cline-any cline-no"> </span>
|
|
264
|
+
<span class="cline-any cline-no"> </span>
|
|
265
|
+
<span class="cline-any cline-no"> </span>
|
|
266
|
+
<span class="cline-any cline-no"> </span>
|
|
267
|
+
<span class="cline-any cline-no"> </span>
|
|
268
|
+
<span class="cline-any cline-no"> </span>
|
|
269
|
+
<span class="cline-any cline-no"> </span>
|
|
270
|
+
<span class="cline-any cline-no"> </span>
|
|
271
|
+
<span class="cline-any cline-no"> </span>
|
|
272
|
+
<span class="cline-any cline-no"> </span>
|
|
273
|
+
<span class="cline-any cline-no"> </span>
|
|
274
|
+
<span class="cline-any cline-no"> </span>
|
|
275
|
+
<span class="cline-any cline-no"> </span>
|
|
276
|
+
<span class="cline-any cline-no"> </span>
|
|
277
|
+
<span class="cline-any cline-no"> </span>
|
|
278
|
+
<span class="cline-any cline-no"> </span>
|
|
279
|
+
<span class="cline-any cline-no"> </span>
|
|
280
|
+
<span class="cline-any cline-no"> </span>
|
|
281
|
+
<span class="cline-any cline-no"> </span>
|
|
282
|
+
<span class="cline-any cline-no"> </span>
|
|
283
|
+
<span class="cline-any cline-no"> </span>
|
|
284
|
+
<span class="cline-any cline-no"> </span>
|
|
285
|
+
<span class="cline-any cline-no"> </span>
|
|
286
|
+
<span class="cline-any cline-no"> </span>
|
|
287
|
+
<span class="cline-any cline-no"> </span>
|
|
288
|
+
<span class="cline-any cline-no"> </span>
|
|
289
|
+
<span class="cline-any cline-no"> </span>
|
|
290
|
+
<span class="cline-any cline-no"> </span>
|
|
291
|
+
<span class="cline-any cline-no"> </span>
|
|
292
|
+
<span class="cline-any cline-no"> </span>
|
|
293
|
+
<span class="cline-any cline-no"> </span>
|
|
294
|
+
<span class="cline-any cline-no"> </span>
|
|
295
|
+
<span class="cline-any cline-no"> </span>
|
|
296
|
+
<span class="cline-any cline-no"> </span>
|
|
297
|
+
<span class="cline-any cline-no"> </span>
|
|
298
|
+
<span class="cline-any cline-no"> </span>
|
|
299
|
+
<span class="cline-any cline-no"> </span>
|
|
300
|
+
<span class="cline-any cline-no"> </span>
|
|
301
|
+
<span class="cline-any cline-no"> </span>
|
|
302
|
+
<span class="cline-any cline-no"> </span>
|
|
303
|
+
<span class="cline-any cline-no"> </span>
|
|
304
|
+
<span class="cline-any cline-no"> </span>
|
|
305
|
+
<span class="cline-any cline-no"> </span>
|
|
306
|
+
<span class="cline-any cline-no"> </span>
|
|
307
|
+
<span class="cline-any cline-no"> </span>
|
|
308
|
+
<span class="cline-any cline-no"> </span>
|
|
309
|
+
<span class="cline-any cline-no"> </span>
|
|
310
|
+
<span class="cline-any cline-no"> </span>
|
|
311
|
+
<span class="cline-any cline-no"> </span>
|
|
312
|
+
<span class="cline-any cline-no"> </span>
|
|
313
|
+
<span class="cline-any cline-no"> </span>
|
|
314
|
+
<span class="cline-any cline-no"> </span>
|
|
315
|
+
<span class="cline-any cline-no"> </span>
|
|
316
|
+
<span class="cline-any cline-no"> </span>
|
|
317
|
+
<span class="cline-any cline-no"> </span>
|
|
318
|
+
<span class="cline-any cline-no"> </span>
|
|
319
|
+
<span class="cline-any cline-no"> </span>
|
|
320
|
+
<span class="cline-any cline-no"> </span>
|
|
321
|
+
<span class="cline-any cline-no"> </span>
|
|
322
|
+
<span class="cline-any cline-no"> </span>
|
|
323
|
+
<span class="cline-any cline-no"> </span>
|
|
324
|
+
<span class="cline-any cline-no"> </span>
|
|
325
|
+
<span class="cline-any cline-no"> </span>
|
|
326
|
+
<span class="cline-any cline-no"> </span>
|
|
327
|
+
<span class="cline-any cline-no"> </span>
|
|
328
|
+
<span class="cline-any cline-no"> </span>
|
|
329
|
+
<span class="cline-any cline-no"> </span>
|
|
330
|
+
<span class="cline-any cline-no"> </span>
|
|
331
|
+
<span class="cline-any cline-no"> </span>
|
|
332
|
+
<span class="cline-any cline-no"> </span>
|
|
333
|
+
<span class="cline-any cline-no"> </span>
|
|
334
|
+
<span class="cline-any cline-no"> </span>
|
|
335
|
+
<span class="cline-any cline-no"> </span>
|
|
336
|
+
<span class="cline-any cline-no"> </span>
|
|
337
|
+
<span class="cline-any cline-no"> </span>
|
|
338
|
+
<span class="cline-any cline-no"> </span>
|
|
339
|
+
<span class="cline-any cline-no"> </span>
|
|
340
|
+
<span class="cline-any cline-no"> </span>
|
|
341
|
+
<span class="cline-any cline-no"> </span>
|
|
342
|
+
<span class="cline-any cline-no"> </span>
|
|
343
|
+
<span class="cline-any cline-no"> </span>
|
|
344
|
+
<span class="cline-any cline-no"> </span>
|
|
345
|
+
<span class="cline-any cline-no"> </span>
|
|
346
|
+
<span class="cline-any cline-no"> </span>
|
|
347
|
+
<span class="cline-any cline-no"> </span>
|
|
348
|
+
<span class="cline-any cline-no"> </span>
|
|
349
|
+
<span class="cline-any cline-no"> </span>
|
|
350
|
+
<span class="cline-any cline-no"> </span>
|
|
351
|
+
<span class="cline-any cline-no"> </span>
|
|
352
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >import fs from 'node:fs';</span></span></span>
|
|
353
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
354
|
+
<span class="cstat-no" title="statement not covered" >type ICache = Map<string, { storeId: string; classname: string }>;</span>
|
|
355
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
356
|
+
<span class="cstat-no" title="statement not covered" >const cacheFolder = `${</span>
|
|
357
|
+
<span class="cstat-no" title="statement not covered" > __dirname.split('node_modules')[0]</span>
|
|
358
|
+
<span class="cstat-no" title="statement not covered" >}node_modules/.cache/@lomray/react-mobx-manager`;</span>
|
|
359
|
+
<span class="cstat-no" title="statement not covered" >const cacheFile = `${cacheFolder}/store-ids.json`;</span>
|
|
360
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
361
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
362
|
+
<span class="cstat-no" title="statement not covered" > * Load cached store id's by file name</span>
|
|
363
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
364
|
+
<span class="cstat-no" title="statement not covered" >const loadCache = (isProd = false): ICache => {</span>
|
|
365
|
+
<span class="cstat-no" title="statement not covered" > if (isProd && fs.existsSync(cacheFile)) {</span>
|
|
366
|
+
<span class="cstat-no" title="statement not covered" > const cache = JSON.parse(fs.readFileSync(cacheFile, { encoding: 'utf-8' }));</span>
|
|
367
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
368
|
+
<span class="cstat-no" title="statement not covered" > return new Map(cache as any[]);</span>
|
|
369
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
370
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
371
|
+
<span class="cstat-no" title="statement not covered" > return new Map();</span>
|
|
372
|
+
<span class="cstat-no" title="statement not covered" >};</span>
|
|
373
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
374
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
375
|
+
<span class="cstat-no" title="statement not covered" > * Save store id's cache</span>
|
|
376
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
377
|
+
<span class="cstat-no" title="statement not covered" >const saveCache = (cache: ICache): void => {</span>
|
|
378
|
+
<span class="cstat-no" title="statement not covered" > if (!fs.existsSync(cacheFolder)) {</span>
|
|
379
|
+
<span class="cstat-no" title="statement not covered" > fs.mkdirSync(cacheFolder, { recursive: true });</span>
|
|
380
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
381
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
382
|
+
<span class="cstat-no" title="statement not covered" > fs.writeFileSync(cacheFile, JSON.stringify([...cache.entries()], null, 2), { encoding: 'utf-8' });</span>
|
|
383
|
+
<span class="cstat-no" title="statement not covered" >};</span>
|
|
384
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
385
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
386
|
+
<span class="cstat-no" title="statement not covered" > * Get next letter</span>
|
|
387
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
388
|
+
<span class="cstat-no" title="statement not covered" >const getNextLetter = (str = ''): string => {</span>
|
|
389
|
+
<span class="cstat-no" title="statement not covered" > const letters = str.split('');</span>
|
|
390
|
+
<span class="cstat-no" title="statement not covered" > const letter = letters.pop() ?? '`'; // default char code is '`' and next is 'a'</span>
|
|
391
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
392
|
+
<span class="cstat-no" title="statement not covered" > if (letter === 'z') {</span>
|
|
393
|
+
<span class="cstat-no" title="statement not covered" > return [...letters, 'A'].join('');</span>
|
|
394
|
+
<span class="cstat-no" title="statement not covered" > } else if (letter === 'Z') {</span>
|
|
395
|
+
<span class="cstat-no" title="statement not covered" > const prevLetter = letters.pop();</span>
|
|
396
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
397
|
+
<span class="cstat-no" title="statement not covered" > if (!prevLetter) {</span>
|
|
398
|
+
<span class="cstat-no" title="statement not covered" > return 'aa';</span>
|
|
399
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
400
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
401
|
+
<span class="cstat-no" title="statement not covered" > return [getNextLetter([...letters, prevLetter].join('')), 'a'].join('');</span>
|
|
402
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
403
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
404
|
+
<span class="cstat-no" title="statement not covered" > return [...letters, String.fromCharCode(letter.charCodeAt(0) + 1)].join('');</span>
|
|
405
|
+
<span class="cstat-no" title="statement not covered" >};</span>
|
|
406
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
407
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
408
|
+
<span class="cstat-no" title="statement not covered" > * Store is generator</span>
|
|
409
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
410
|
+
<span class="cstat-no" title="statement not covered" >class Generator {</span>
|
|
411
|
+
<span class="cstat-no" title="statement not covered" > public cache: ICache;</span>
|
|
412
|
+
<span class="cstat-no" title="statement not covered" > protected root: string; // project root</span>
|
|
413
|
+
<span class="cstat-no" title="statement not covered" > protected lastId: string; // keep last generated production store id (letter)</span>
|
|
414
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
415
|
+
<span class="cstat-no" title="statement not covered" > constructor(root: string, isProd = false) {</span>
|
|
416
|
+
<span class="cstat-no" title="statement not covered" > this.root = root;</span>
|
|
417
|
+
<span class="cstat-no" title="statement not covered" > this.cache = loadCache(isProd);</span>
|
|
418
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
419
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
420
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
421
|
+
<span class="cstat-no" title="statement not covered" > * Inject store id</span>
|
|
422
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
423
|
+
<span class="cstat-no" title="statement not covered" > public injectId = (code: string, fileId: string): string => {</span>
|
|
424
|
+
<span class="cstat-no" title="statement not covered" > const { classname, storeId } = this.cache.get(fileId)!;</span>
|
|
425
|
+
<span class="cstat-no" title="statement not covered" > const regexp = new RegExp(`(class\\s${classname}\\s+?{)`);</span>
|
|
426
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
427
|
+
<span class="cstat-no" title="statement not covered" > return code.replace(regexp, `$1static id = '${storeId}';`);</span>
|
|
428
|
+
<span class="cstat-no" title="statement not covered" > };</span>
|
|
429
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
430
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
431
|
+
<span class="cstat-no" title="statement not covered" > * Get development id</span>
|
|
432
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
433
|
+
<span class="cstat-no" title="statement not covered" > public getDevId = (id: string, classname: string): string => {</span>
|
|
434
|
+
<span class="cstat-no" title="statement not covered" > const cleanPath = id</span>
|
|
435
|
+
<span class="cstat-no" title="statement not covered" > .replace(this.root, '')</span>
|
|
436
|
+
<span class="cstat-no" title="statement not covered" > .replace(/\/index.(js|ts|tsx)/, '')</span>
|
|
437
|
+
<span class="cstat-no" title="statement not covered" > .split('/')</span>
|
|
438
|
+
<span class="cstat-no" title="statement not covered" > .filter(Boolean)</span>
|
|
439
|
+
<span class="cstat-no" title="statement not covered" > .join('-');</span>
|
|
440
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
441
|
+
<span class="cstat-no" title="statement not covered" > return `${cleanPath}-${classname}`;</span>
|
|
442
|
+
<span class="cstat-no" title="statement not covered" > };</span>
|
|
443
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
444
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
445
|
+
<span class="cstat-no" title="statement not covered" > * Get production store id</span>
|
|
446
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
447
|
+
<span class="cstat-no" title="statement not covered" > public getProdId = (): string => {</span>
|
|
448
|
+
<span class="cstat-no" title="statement not covered" > const nextLetter = getNextLetter(this.lastId);</span>
|
|
449
|
+
<span class="cstat-no" title="statement not covered" > const id = `S${nextLetter}`;</span>
|
|
450
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
451
|
+
<span class="cstat-no" title="statement not covered" > this.lastId = nextLetter;</span>
|
|
452
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
453
|
+
<span class="cstat-no" title="statement not covered" > return id;</span>
|
|
454
|
+
<span class="cstat-no" title="statement not covered" > };</span>
|
|
455
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
456
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
457
|
+
<span class="cstat-no" title="statement not covered" > * Try to find mobx store</span>
|
|
458
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
459
|
+
<span class="cstat-no" title="statement not covered" > public matchMobxStore = (code: string): string | undefined => {</span>
|
|
460
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
461
|
+
<span class="cstat-no" title="statement not covered" > * Match store pattern 1</span>
|
|
462
|
+
<span class="cstat-no" title="statement not covered" > *</span>
|
|
463
|
+
<span class="cstat-no" title="statement not covered" > * 1. Match 'class Classname' (capture Classname)</span>
|
|
464
|
+
<span class="cstat-no" title="statement not covered" > * 2. Except 'static id ='</span>
|
|
465
|
+
<span class="cstat-no" title="statement not covered" > * 3. Include makeObservable or makeAutoObservable</span>
|
|
466
|
+
<span class="cstat-no" title="statement not covered" > * 4. Except persistStore(Classname</span>
|
|
467
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
468
|
+
<span class="cstat-no" title="statement not covered" > const { classname } =</span>
|
|
469
|
+
<span class="cstat-no" title="statement not covered" > code.match(</span>
|
|
470
|
+
<span class="cstat-no" title="statement not covered" > /class\s(?<classname>\w+)\s+?{(?!.*static\sid\s*=.*).+(makeObservable|makeAutoObservable)(?!.*persistStore\(\1.*)/s,</span>
|
|
471
|
+
<span class="cstat-no" title="statement not covered" > )?.groups ?? {};</span>
|
|
472
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
473
|
+
<span class="cstat-no" title="statement not covered" > if (classname) {</span>
|
|
474
|
+
<span class="cstat-no" title="statement not covered" > return classname;</span>
|
|
475
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
476
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
477
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
478
|
+
<span class="cstat-no" title="statement not covered" > * Match store pattern 2</span>
|
|
479
|
+
<span class="cstat-no" title="statement not covered" > *</span>
|
|
480
|
+
<span class="cstat-no" title="statement not covered" > * 1. Match '@mobx-store' in jsdoc before class</span>
|
|
481
|
+
<span class="cstat-no" title="statement not covered" > * 2. Match 'class Classname' (capture Classname)</span>
|
|
482
|
+
<span class="cstat-no" title="statement not covered" > * 3. Except 'static id ='</span>
|
|
483
|
+
<span class="cstat-no" title="statement not covered" > * 4. Except persistStore(Classname</span>
|
|
484
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
485
|
+
<span class="cstat-no" title="statement not covered" > const { classname: classnameSecond } =</span>
|
|
486
|
+
<span class="cstat-no" title="statement not covered" > code.match(</span>
|
|
487
|
+
<span class="cstat-no" title="statement not covered" > /(@mobx-store).+class\s(?<classname>\w+)\s+?{(?!.*static\sid\s*=.*).+}(?!.*persistStore.*)/s,</span>
|
|
488
|
+
<span class="cstat-no" title="statement not covered" > )?.groups ?? {};</span>
|
|
489
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
490
|
+
<span class="cstat-no" title="statement not covered" > return classnameSecond;</span>
|
|
491
|
+
<span class="cstat-no" title="statement not covered" > };</span>
|
|
492
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
493
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
494
|
+
<span class="cstat-no" title="statement not covered" >export { saveCache, loadCache, getNextLetter, Generator };</span>
|
|
495
|
+
</pre></td></tr></table></pre>
|
|
496
|
+
|
|
497
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
498
|
+
</div><!-- /wrapper -->
|
|
499
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
500
|
+
Code coverage generated by
|
|
501
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
502
|
+
at 2023-11-27T15:31:17.285Z
|
|
503
|
+
</div>
|
|
504
|
+
<script src="../../prettify.js"></script>
|
|
505
|
+
<script>
|
|
506
|
+
window.onload = function () {
|
|
507
|
+
prettyPrint();
|
|
508
|
+
};
|
|
509
|
+
</script>
|
|
510
|
+
<script src="../../sorter.js"></script>
|
|
511
|
+
<script src="../../block-navigation.js"></script>
|
|
512
|
+
</body>
|
|
513
|
+
</html>
|
|
514
|
+
|