comment-parser 0.7.2 → 0.7.6
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/.editorconfig +12 -0
- package/.github/workflows/node.js.yml +24 -0
- package/.vscode/launch.json +18 -0
- package/CHANGELOG.md +12 -0
- package/package.json +12 -10
- package/parser.js +15 -6
- package/parsers.js +24 -15
- package/stringifier.js +13 -6
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -79
- package/coverage/index.html +0 -136
- package/coverage/index.js.html +0 -261
- package/coverage/parser.js.html +0 -942
- package/coverage/parsers.js.html +0 -420
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -170
- package/coverage/stringifier.js.html +0 -240
package/coverage/parser.js.html
DELETED
|
@@ -1,942 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<title>Code coverage report for parser.js</title>
|
|
5
|
-
<meta charset="utf-8" />
|
|
6
|
-
<link rel="stylesheet" href="prettify.css" />
|
|
7
|
-
<link rel="stylesheet" href="base.css" />
|
|
8
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
9
|
-
<style type='text/css'>
|
|
10
|
-
.coverage-summary .sorter {
|
|
11
|
-
background-image: url(sort-arrow-sprite.png);
|
|
12
|
-
}
|
|
13
|
-
</style>
|
|
14
|
-
</head>
|
|
15
|
-
<body>
|
|
16
|
-
<div class='wrapper'>
|
|
17
|
-
<div class='pad1'>
|
|
18
|
-
<h1>
|
|
19
|
-
<a href="index.html">All files</a> parser.js
|
|
20
|
-
</h1>
|
|
21
|
-
<div class='clearfix'>
|
|
22
|
-
<div class='fl pad1y space-right2'>
|
|
23
|
-
<span class="strong">100% </span>
|
|
24
|
-
<span class="quiet">Statements</span>
|
|
25
|
-
<span class='fraction'>116/116</span>
|
|
26
|
-
</div>
|
|
27
|
-
<div class='fl pad1y space-right2'>
|
|
28
|
-
<span class="strong">100% </span>
|
|
29
|
-
<span class="quiet">Branches</span>
|
|
30
|
-
<span class='fraction'>71/71</span>
|
|
31
|
-
</div>
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">100% </span>
|
|
34
|
-
<span class="quiet">Functions</span>
|
|
35
|
-
<span class='fraction'>16/16</span>
|
|
36
|
-
</div>
|
|
37
|
-
<div class='fl pad1y space-right2'>
|
|
38
|
-
<span class="strong">100% </span>
|
|
39
|
-
<span class="quiet">Lines</span>
|
|
40
|
-
<span class='fraction'>115/115</span>
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
43
|
-
<p class="quiet">
|
|
44
|
-
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.
|
|
45
|
-
</p>
|
|
46
|
-
</div>
|
|
47
|
-
<div class='status-line high'></div>
|
|
48
|
-
<pre><table class="coverage">
|
|
49
|
-
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
50
|
-
<a name='L2'></a><a href='#L2'>2</a>
|
|
51
|
-
<a name='L3'></a><a href='#L3'>3</a>
|
|
52
|
-
<a name='L4'></a><a href='#L4'>4</a>
|
|
53
|
-
<a name='L5'></a><a href='#L5'>5</a>
|
|
54
|
-
<a name='L6'></a><a href='#L6'>6</a>
|
|
55
|
-
<a name='L7'></a><a href='#L7'>7</a>
|
|
56
|
-
<a name='L8'></a><a href='#L8'>8</a>
|
|
57
|
-
<a name='L9'></a><a href='#L9'>9</a>
|
|
58
|
-
<a name='L10'></a><a href='#L10'>10</a>
|
|
59
|
-
<a name='L11'></a><a href='#L11'>11</a>
|
|
60
|
-
<a name='L12'></a><a href='#L12'>12</a>
|
|
61
|
-
<a name='L13'></a><a href='#L13'>13</a>
|
|
62
|
-
<a name='L14'></a><a href='#L14'>14</a>
|
|
63
|
-
<a name='L15'></a><a href='#L15'>15</a>
|
|
64
|
-
<a name='L16'></a><a href='#L16'>16</a>
|
|
65
|
-
<a name='L17'></a><a href='#L17'>17</a>
|
|
66
|
-
<a name='L18'></a><a href='#L18'>18</a>
|
|
67
|
-
<a name='L19'></a><a href='#L19'>19</a>
|
|
68
|
-
<a name='L20'></a><a href='#L20'>20</a>
|
|
69
|
-
<a name='L21'></a><a href='#L21'>21</a>
|
|
70
|
-
<a name='L22'></a><a href='#L22'>22</a>
|
|
71
|
-
<a name='L23'></a><a href='#L23'>23</a>
|
|
72
|
-
<a name='L24'></a><a href='#L24'>24</a>
|
|
73
|
-
<a name='L25'></a><a href='#L25'>25</a>
|
|
74
|
-
<a name='L26'></a><a href='#L26'>26</a>
|
|
75
|
-
<a name='L27'></a><a href='#L27'>27</a>
|
|
76
|
-
<a name='L28'></a><a href='#L28'>28</a>
|
|
77
|
-
<a name='L29'></a><a href='#L29'>29</a>
|
|
78
|
-
<a name='L30'></a><a href='#L30'>30</a>
|
|
79
|
-
<a name='L31'></a><a href='#L31'>31</a>
|
|
80
|
-
<a name='L32'></a><a href='#L32'>32</a>
|
|
81
|
-
<a name='L33'></a><a href='#L33'>33</a>
|
|
82
|
-
<a name='L34'></a><a href='#L34'>34</a>
|
|
83
|
-
<a name='L35'></a><a href='#L35'>35</a>
|
|
84
|
-
<a name='L36'></a><a href='#L36'>36</a>
|
|
85
|
-
<a name='L37'></a><a href='#L37'>37</a>
|
|
86
|
-
<a name='L38'></a><a href='#L38'>38</a>
|
|
87
|
-
<a name='L39'></a><a href='#L39'>39</a>
|
|
88
|
-
<a name='L40'></a><a href='#L40'>40</a>
|
|
89
|
-
<a name='L41'></a><a href='#L41'>41</a>
|
|
90
|
-
<a name='L42'></a><a href='#L42'>42</a>
|
|
91
|
-
<a name='L43'></a><a href='#L43'>43</a>
|
|
92
|
-
<a name='L44'></a><a href='#L44'>44</a>
|
|
93
|
-
<a name='L45'></a><a href='#L45'>45</a>
|
|
94
|
-
<a name='L46'></a><a href='#L46'>46</a>
|
|
95
|
-
<a name='L47'></a><a href='#L47'>47</a>
|
|
96
|
-
<a name='L48'></a><a href='#L48'>48</a>
|
|
97
|
-
<a name='L49'></a><a href='#L49'>49</a>
|
|
98
|
-
<a name='L50'></a><a href='#L50'>50</a>
|
|
99
|
-
<a name='L51'></a><a href='#L51'>51</a>
|
|
100
|
-
<a name='L52'></a><a href='#L52'>52</a>
|
|
101
|
-
<a name='L53'></a><a href='#L53'>53</a>
|
|
102
|
-
<a name='L54'></a><a href='#L54'>54</a>
|
|
103
|
-
<a name='L55'></a><a href='#L55'>55</a>
|
|
104
|
-
<a name='L56'></a><a href='#L56'>56</a>
|
|
105
|
-
<a name='L57'></a><a href='#L57'>57</a>
|
|
106
|
-
<a name='L58'></a><a href='#L58'>58</a>
|
|
107
|
-
<a name='L59'></a><a href='#L59'>59</a>
|
|
108
|
-
<a name='L60'></a><a href='#L60'>60</a>
|
|
109
|
-
<a name='L61'></a><a href='#L61'>61</a>
|
|
110
|
-
<a name='L62'></a><a href='#L62'>62</a>
|
|
111
|
-
<a name='L63'></a><a href='#L63'>63</a>
|
|
112
|
-
<a name='L64'></a><a href='#L64'>64</a>
|
|
113
|
-
<a name='L65'></a><a href='#L65'>65</a>
|
|
114
|
-
<a name='L66'></a><a href='#L66'>66</a>
|
|
115
|
-
<a name='L67'></a><a href='#L67'>67</a>
|
|
116
|
-
<a name='L68'></a><a href='#L68'>68</a>
|
|
117
|
-
<a name='L69'></a><a href='#L69'>69</a>
|
|
118
|
-
<a name='L70'></a><a href='#L70'>70</a>
|
|
119
|
-
<a name='L71'></a><a href='#L71'>71</a>
|
|
120
|
-
<a name='L72'></a><a href='#L72'>72</a>
|
|
121
|
-
<a name='L73'></a><a href='#L73'>73</a>
|
|
122
|
-
<a name='L74'></a><a href='#L74'>74</a>
|
|
123
|
-
<a name='L75'></a><a href='#L75'>75</a>
|
|
124
|
-
<a name='L76'></a><a href='#L76'>76</a>
|
|
125
|
-
<a name='L77'></a><a href='#L77'>77</a>
|
|
126
|
-
<a name='L78'></a><a href='#L78'>78</a>
|
|
127
|
-
<a name='L79'></a><a href='#L79'>79</a>
|
|
128
|
-
<a name='L80'></a><a href='#L80'>80</a>
|
|
129
|
-
<a name='L81'></a><a href='#L81'>81</a>
|
|
130
|
-
<a name='L82'></a><a href='#L82'>82</a>
|
|
131
|
-
<a name='L83'></a><a href='#L83'>83</a>
|
|
132
|
-
<a name='L84'></a><a href='#L84'>84</a>
|
|
133
|
-
<a name='L85'></a><a href='#L85'>85</a>
|
|
134
|
-
<a name='L86'></a><a href='#L86'>86</a>
|
|
135
|
-
<a name='L87'></a><a href='#L87'>87</a>
|
|
136
|
-
<a name='L88'></a><a href='#L88'>88</a>
|
|
137
|
-
<a name='L89'></a><a href='#L89'>89</a>
|
|
138
|
-
<a name='L90'></a><a href='#L90'>90</a>
|
|
139
|
-
<a name='L91'></a><a href='#L91'>91</a>
|
|
140
|
-
<a name='L92'></a><a href='#L92'>92</a>
|
|
141
|
-
<a name='L93'></a><a href='#L93'>93</a>
|
|
142
|
-
<a name='L94'></a><a href='#L94'>94</a>
|
|
143
|
-
<a name='L95'></a><a href='#L95'>95</a>
|
|
144
|
-
<a name='L96'></a><a href='#L96'>96</a>
|
|
145
|
-
<a name='L97'></a><a href='#L97'>97</a>
|
|
146
|
-
<a name='L98'></a><a href='#L98'>98</a>
|
|
147
|
-
<a name='L99'></a><a href='#L99'>99</a>
|
|
148
|
-
<a name='L100'></a><a href='#L100'>100</a>
|
|
149
|
-
<a name='L101'></a><a href='#L101'>101</a>
|
|
150
|
-
<a name='L102'></a><a href='#L102'>102</a>
|
|
151
|
-
<a name='L103'></a><a href='#L103'>103</a>
|
|
152
|
-
<a name='L104'></a><a href='#L104'>104</a>
|
|
153
|
-
<a name='L105'></a><a href='#L105'>105</a>
|
|
154
|
-
<a name='L106'></a><a href='#L106'>106</a>
|
|
155
|
-
<a name='L107'></a><a href='#L107'>107</a>
|
|
156
|
-
<a name='L108'></a><a href='#L108'>108</a>
|
|
157
|
-
<a name='L109'></a><a href='#L109'>109</a>
|
|
158
|
-
<a name='L110'></a><a href='#L110'>110</a>
|
|
159
|
-
<a name='L111'></a><a href='#L111'>111</a>
|
|
160
|
-
<a name='L112'></a><a href='#L112'>112</a>
|
|
161
|
-
<a name='L113'></a><a href='#L113'>113</a>
|
|
162
|
-
<a name='L114'></a><a href='#L114'>114</a>
|
|
163
|
-
<a name='L115'></a><a href='#L115'>115</a>
|
|
164
|
-
<a name='L116'></a><a href='#L116'>116</a>
|
|
165
|
-
<a name='L117'></a><a href='#L117'>117</a>
|
|
166
|
-
<a name='L118'></a><a href='#L118'>118</a>
|
|
167
|
-
<a name='L119'></a><a href='#L119'>119</a>
|
|
168
|
-
<a name='L120'></a><a href='#L120'>120</a>
|
|
169
|
-
<a name='L121'></a><a href='#L121'>121</a>
|
|
170
|
-
<a name='L122'></a><a href='#L122'>122</a>
|
|
171
|
-
<a name='L123'></a><a href='#L123'>123</a>
|
|
172
|
-
<a name='L124'></a><a href='#L124'>124</a>
|
|
173
|
-
<a name='L125'></a><a href='#L125'>125</a>
|
|
174
|
-
<a name='L126'></a><a href='#L126'>126</a>
|
|
175
|
-
<a name='L127'></a><a href='#L127'>127</a>
|
|
176
|
-
<a name='L128'></a><a href='#L128'>128</a>
|
|
177
|
-
<a name='L129'></a><a href='#L129'>129</a>
|
|
178
|
-
<a name='L130'></a><a href='#L130'>130</a>
|
|
179
|
-
<a name='L131'></a><a href='#L131'>131</a>
|
|
180
|
-
<a name='L132'></a><a href='#L132'>132</a>
|
|
181
|
-
<a name='L133'></a><a href='#L133'>133</a>
|
|
182
|
-
<a name='L134'></a><a href='#L134'>134</a>
|
|
183
|
-
<a name='L135'></a><a href='#L135'>135</a>
|
|
184
|
-
<a name='L136'></a><a href='#L136'>136</a>
|
|
185
|
-
<a name='L137'></a><a href='#L137'>137</a>
|
|
186
|
-
<a name='L138'></a><a href='#L138'>138</a>
|
|
187
|
-
<a name='L139'></a><a href='#L139'>139</a>
|
|
188
|
-
<a name='L140'></a><a href='#L140'>140</a>
|
|
189
|
-
<a name='L141'></a><a href='#L141'>141</a>
|
|
190
|
-
<a name='L142'></a><a href='#L142'>142</a>
|
|
191
|
-
<a name='L143'></a><a href='#L143'>143</a>
|
|
192
|
-
<a name='L144'></a><a href='#L144'>144</a>
|
|
193
|
-
<a name='L145'></a><a href='#L145'>145</a>
|
|
194
|
-
<a name='L146'></a><a href='#L146'>146</a>
|
|
195
|
-
<a name='L147'></a><a href='#L147'>147</a>
|
|
196
|
-
<a name='L148'></a><a href='#L148'>148</a>
|
|
197
|
-
<a name='L149'></a><a href='#L149'>149</a>
|
|
198
|
-
<a name='L150'></a><a href='#L150'>150</a>
|
|
199
|
-
<a name='L151'></a><a href='#L151'>151</a>
|
|
200
|
-
<a name='L152'></a><a href='#L152'>152</a>
|
|
201
|
-
<a name='L153'></a><a href='#L153'>153</a>
|
|
202
|
-
<a name='L154'></a><a href='#L154'>154</a>
|
|
203
|
-
<a name='L155'></a><a href='#L155'>155</a>
|
|
204
|
-
<a name='L156'></a><a href='#L156'>156</a>
|
|
205
|
-
<a name='L157'></a><a href='#L157'>157</a>
|
|
206
|
-
<a name='L158'></a><a href='#L158'>158</a>
|
|
207
|
-
<a name='L159'></a><a href='#L159'>159</a>
|
|
208
|
-
<a name='L160'></a><a href='#L160'>160</a>
|
|
209
|
-
<a name='L161'></a><a href='#L161'>161</a>
|
|
210
|
-
<a name='L162'></a><a href='#L162'>162</a>
|
|
211
|
-
<a name='L163'></a><a href='#L163'>163</a>
|
|
212
|
-
<a name='L164'></a><a href='#L164'>164</a>
|
|
213
|
-
<a name='L165'></a><a href='#L165'>165</a>
|
|
214
|
-
<a name='L166'></a><a href='#L166'>166</a>
|
|
215
|
-
<a name='L167'></a><a href='#L167'>167</a>
|
|
216
|
-
<a name='L168'></a><a href='#L168'>168</a>
|
|
217
|
-
<a name='L169'></a><a href='#L169'>169</a>
|
|
218
|
-
<a name='L170'></a><a href='#L170'>170</a>
|
|
219
|
-
<a name='L171'></a><a href='#L171'>171</a>
|
|
220
|
-
<a name='L172'></a><a href='#L172'>172</a>
|
|
221
|
-
<a name='L173'></a><a href='#L173'>173</a>
|
|
222
|
-
<a name='L174'></a><a href='#L174'>174</a>
|
|
223
|
-
<a name='L175'></a><a href='#L175'>175</a>
|
|
224
|
-
<a name='L176'></a><a href='#L176'>176</a>
|
|
225
|
-
<a name='L177'></a><a href='#L177'>177</a>
|
|
226
|
-
<a name='L178'></a><a href='#L178'>178</a>
|
|
227
|
-
<a name='L179'></a><a href='#L179'>179</a>
|
|
228
|
-
<a name='L180'></a><a href='#L180'>180</a>
|
|
229
|
-
<a name='L181'></a><a href='#L181'>181</a>
|
|
230
|
-
<a name='L182'></a><a href='#L182'>182</a>
|
|
231
|
-
<a name='L183'></a><a href='#L183'>183</a>
|
|
232
|
-
<a name='L184'></a><a href='#L184'>184</a>
|
|
233
|
-
<a name='L185'></a><a href='#L185'>185</a>
|
|
234
|
-
<a name='L186'></a><a href='#L186'>186</a>
|
|
235
|
-
<a name='L187'></a><a href='#L187'>187</a>
|
|
236
|
-
<a name='L188'></a><a href='#L188'>188</a>
|
|
237
|
-
<a name='L189'></a><a href='#L189'>189</a>
|
|
238
|
-
<a name='L190'></a><a href='#L190'>190</a>
|
|
239
|
-
<a name='L191'></a><a href='#L191'>191</a>
|
|
240
|
-
<a name='L192'></a><a href='#L192'>192</a>
|
|
241
|
-
<a name='L193'></a><a href='#L193'>193</a>
|
|
242
|
-
<a name='L194'></a><a href='#L194'>194</a>
|
|
243
|
-
<a name='L195'></a><a href='#L195'>195</a>
|
|
244
|
-
<a name='L196'></a><a href='#L196'>196</a>
|
|
245
|
-
<a name='L197'></a><a href='#L197'>197</a>
|
|
246
|
-
<a name='L198'></a><a href='#L198'>198</a>
|
|
247
|
-
<a name='L199'></a><a href='#L199'>199</a>
|
|
248
|
-
<a name='L200'></a><a href='#L200'>200</a>
|
|
249
|
-
<a name='L201'></a><a href='#L201'>201</a>
|
|
250
|
-
<a name='L202'></a><a href='#L202'>202</a>
|
|
251
|
-
<a name='L203'></a><a href='#L203'>203</a>
|
|
252
|
-
<a name='L204'></a><a href='#L204'>204</a>
|
|
253
|
-
<a name='L205'></a><a href='#L205'>205</a>
|
|
254
|
-
<a name='L206'></a><a href='#L206'>206</a>
|
|
255
|
-
<a name='L207'></a><a href='#L207'>207</a>
|
|
256
|
-
<a name='L208'></a><a href='#L208'>208</a>
|
|
257
|
-
<a name='L209'></a><a href='#L209'>209</a>
|
|
258
|
-
<a name='L210'></a><a href='#L210'>210</a>
|
|
259
|
-
<a name='L211'></a><a href='#L211'>211</a>
|
|
260
|
-
<a name='L212'></a><a href='#L212'>212</a>
|
|
261
|
-
<a name='L213'></a><a href='#L213'>213</a>
|
|
262
|
-
<a name='L214'></a><a href='#L214'>214</a>
|
|
263
|
-
<a name='L215'></a><a href='#L215'>215</a>
|
|
264
|
-
<a name='L216'></a><a href='#L216'>216</a>
|
|
265
|
-
<a name='L217'></a><a href='#L217'>217</a>
|
|
266
|
-
<a name='L218'></a><a href='#L218'>218</a>
|
|
267
|
-
<a name='L219'></a><a href='#L219'>219</a>
|
|
268
|
-
<a name='L220'></a><a href='#L220'>220</a>
|
|
269
|
-
<a name='L221'></a><a href='#L221'>221</a>
|
|
270
|
-
<a name='L222'></a><a href='#L222'>222</a>
|
|
271
|
-
<a name='L223'></a><a href='#L223'>223</a>
|
|
272
|
-
<a name='L224'></a><a href='#L224'>224</a>
|
|
273
|
-
<a name='L225'></a><a href='#L225'>225</a>
|
|
274
|
-
<a name='L226'></a><a href='#L226'>226</a>
|
|
275
|
-
<a name='L227'></a><a href='#L227'>227</a>
|
|
276
|
-
<a name='L228'></a><a href='#L228'>228</a>
|
|
277
|
-
<a name='L229'></a><a href='#L229'>229</a>
|
|
278
|
-
<a name='L230'></a><a href='#L230'>230</a>
|
|
279
|
-
<a name='L231'></a><a href='#L231'>231</a>
|
|
280
|
-
<a name='L232'></a><a href='#L232'>232</a>
|
|
281
|
-
<a name='L233'></a><a href='#L233'>233</a>
|
|
282
|
-
<a name='L234'></a><a href='#L234'>234</a>
|
|
283
|
-
<a name='L235'></a><a href='#L235'>235</a>
|
|
284
|
-
<a name='L236'></a><a href='#L236'>236</a>
|
|
285
|
-
<a name='L237'></a><a href='#L237'>237</a>
|
|
286
|
-
<a name='L238'></a><a href='#L238'>238</a>
|
|
287
|
-
<a name='L239'></a><a href='#L239'>239</a>
|
|
288
|
-
<a name='L240'></a><a href='#L240'>240</a>
|
|
289
|
-
<a name='L241'></a><a href='#L241'>241</a>
|
|
290
|
-
<a name='L242'></a><a href='#L242'>242</a>
|
|
291
|
-
<a name='L243'></a><a href='#L243'>243</a>
|
|
292
|
-
<a name='L244'></a><a href='#L244'>244</a>
|
|
293
|
-
<a name='L245'></a><a href='#L245'>245</a>
|
|
294
|
-
<a name='L246'></a><a href='#L246'>246</a>
|
|
295
|
-
<a name='L247'></a><a href='#L247'>247</a>
|
|
296
|
-
<a name='L248'></a><a href='#L248'>248</a>
|
|
297
|
-
<a name='L249'></a><a href='#L249'>249</a>
|
|
298
|
-
<a name='L250'></a><a href='#L250'>250</a>
|
|
299
|
-
<a name='L251'></a><a href='#L251'>251</a>
|
|
300
|
-
<a name='L252'></a><a href='#L252'>252</a>
|
|
301
|
-
<a name='L253'></a><a href='#L253'>253</a>
|
|
302
|
-
<a name='L254'></a><a href='#L254'>254</a>
|
|
303
|
-
<a name='L255'></a><a href='#L255'>255</a>
|
|
304
|
-
<a name='L256'></a><a href='#L256'>256</a>
|
|
305
|
-
<a name='L257'></a><a href='#L257'>257</a>
|
|
306
|
-
<a name='L258'></a><a href='#L258'>258</a>
|
|
307
|
-
<a name='L259'></a><a href='#L259'>259</a>
|
|
308
|
-
<a name='L260'></a><a href='#L260'>260</a>
|
|
309
|
-
<a name='L261'></a><a href='#L261'>261</a>
|
|
310
|
-
<a name='L262'></a><a href='#L262'>262</a>
|
|
311
|
-
<a name='L263'></a><a href='#L263'>263</a>
|
|
312
|
-
<a name='L264'></a><a href='#L264'>264</a>
|
|
313
|
-
<a name='L265'></a><a href='#L265'>265</a>
|
|
314
|
-
<a name='L266'></a><a href='#L266'>266</a>
|
|
315
|
-
<a name='L267'></a><a href='#L267'>267</a>
|
|
316
|
-
<a name='L268'></a><a href='#L268'>268</a>
|
|
317
|
-
<a name='L269'></a><a href='#L269'>269</a>
|
|
318
|
-
<a name='L270'></a><a href='#L270'>270</a>
|
|
319
|
-
<a name='L271'></a><a href='#L271'>271</a>
|
|
320
|
-
<a name='L272'></a><a href='#L272'>272</a>
|
|
321
|
-
<a name='L273'></a><a href='#L273'>273</a>
|
|
322
|
-
<a name='L274'></a><a href='#L274'>274</a>
|
|
323
|
-
<a name='L275'></a><a href='#L275'>275</a>
|
|
324
|
-
<a name='L276'></a><a href='#L276'>276</a>
|
|
325
|
-
<a name='L277'></a><a href='#L277'>277</a>
|
|
326
|
-
<a name='L278'></a><a href='#L278'>278</a>
|
|
327
|
-
<a name='L279'></a><a href='#L279'>279</a>
|
|
328
|
-
<a name='L280'></a><a href='#L280'>280</a>
|
|
329
|
-
<a name='L281'></a><a href='#L281'>281</a>
|
|
330
|
-
<a name='L282'></a><a href='#L282'>282</a>
|
|
331
|
-
<a name='L283'></a><a href='#L283'>283</a>
|
|
332
|
-
<a name='L284'></a><a href='#L284'>284</a>
|
|
333
|
-
<a name='L285'></a><a href='#L285'>285</a>
|
|
334
|
-
<a name='L286'></a><a href='#L286'>286</a>
|
|
335
|
-
<a name='L287'></a><a href='#L287'>287</a>
|
|
336
|
-
<a name='L288'></a><a href='#L288'>288</a>
|
|
337
|
-
<a name='L289'></a><a href='#L289'>289</a>
|
|
338
|
-
<a name='L290'></a><a href='#L290'>290</a>
|
|
339
|
-
<a name='L291'></a><a href='#L291'>291</a>
|
|
340
|
-
<a name='L292'></a><a href='#L292'>292</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
341
|
-
<span class="cline-any cline-neutral"> </span>
|
|
342
|
-
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-yes">1x</span>
|
|
344
|
-
<span class="cline-any cline-neutral"> </span>
|
|
345
|
-
<span class="cline-any cline-yes">1x</span>
|
|
346
|
-
<span class="cline-any cline-yes">1x</span>
|
|
347
|
-
<span class="cline-any cline-yes">1x</span>
|
|
348
|
-
<span class="cline-any cline-neutral"> </span>
|
|
349
|
-
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-neutral"> </span>
|
|
351
|
-
<span class="cline-any cline-neutral"> </span>
|
|
352
|
-
<span class="cline-any cline-yes">9x</span>
|
|
353
|
-
<span class="cline-any cline-yes">9x</span>
|
|
354
|
-
<span class="cline-any cline-neutral"> </span>
|
|
355
|
-
<span class="cline-any cline-yes">9x</span>
|
|
356
|
-
<span class="cline-any cline-yes">8x</span>
|
|
357
|
-
<span class="cline-any cline-yes">16x</span>
|
|
358
|
-
<span class="cline-any cline-neutral"> </span>
|
|
359
|
-
<span class="cline-any cline-yes">8x</span>
|
|
360
|
-
<span class="cline-any cline-neutral"> </span>
|
|
361
|
-
<span class="cline-any cline-yes">2x</span>
|
|
362
|
-
<span class="cline-any cline-neutral"> </span>
|
|
363
|
-
<span class="cline-any cline-neutral"> </span>
|
|
364
|
-
<span class="cline-any cline-neutral"> </span>
|
|
365
|
-
<span class="cline-any cline-neutral"> </span>
|
|
366
|
-
<span class="cline-any cline-neutral"> </span>
|
|
367
|
-
<span class="cline-any cline-neutral"> </span>
|
|
368
|
-
<span class="cline-any cline-neutral"> </span>
|
|
369
|
-
<span class="cline-any cline-neutral"> </span>
|
|
370
|
-
<span class="cline-any cline-neutral"> </span>
|
|
371
|
-
<span class="cline-any cline-neutral"> </span>
|
|
372
|
-
<span class="cline-any cline-neutral"> </span>
|
|
373
|
-
<span class="cline-any cline-neutral"> </span>
|
|
374
|
-
<span class="cline-any cline-neutral"> </span>
|
|
375
|
-
<span class="cline-any cline-neutral"> </span>
|
|
376
|
-
<span class="cline-any cline-neutral"> </span>
|
|
377
|
-
<span class="cline-any cline-neutral"> </span>
|
|
378
|
-
<span class="cline-any cline-yes">112x</span>
|
|
379
|
-
<span class="cline-any cline-neutral"> </span>
|
|
380
|
-
<span class="cline-any cline-neutral"> </span>
|
|
381
|
-
<span class="cline-any cline-yes">444x</span>
|
|
382
|
-
<span class="cline-any cline-yes">444x</span>
|
|
383
|
-
<span class="cline-any cline-neutral"> </span>
|
|
384
|
-
<span class="cline-any cline-yes">6x</span>
|
|
385
|
-
<span class="cline-any cline-neutral"> </span>
|
|
386
|
-
<span class="cline-any cline-neutral"> </span>
|
|
387
|
-
<span class="cline-any cline-neutral"> </span>
|
|
388
|
-
<span class="cline-any cline-yes">444x</span>
|
|
389
|
-
<span class="cline-any cline-yes">326x</span>
|
|
390
|
-
<span class="cline-any cline-yes">326x</span>
|
|
391
|
-
<span class="cline-any cline-neutral"> </span>
|
|
392
|
-
<span class="cline-any cline-neutral"> </span>
|
|
393
|
-
<span class="cline-any cline-yes">444x</span>
|
|
394
|
-
<span class="cline-any cline-neutral"> </span>
|
|
395
|
-
<span class="cline-any cline-neutral"> </span>
|
|
396
|
-
<span class="cline-any cline-neutral"> </span>
|
|
397
|
-
<span class="cline-any cline-neutral"> </span>
|
|
398
|
-
<span class="cline-any cline-neutral"> </span>
|
|
399
|
-
<span class="cline-any cline-yes">112x</span>
|
|
400
|
-
<span class="cline-any cline-yes">112x</span>
|
|
401
|
-
<span class="cline-any cline-yes">112x</span>
|
|
402
|
-
<span class="cline-any cline-yes">112x</span>
|
|
403
|
-
<span class="cline-any cline-neutral"> </span>
|
|
404
|
-
<span class="cline-any cline-yes">112x</span>
|
|
405
|
-
<span class="cline-any cline-neutral"> </span>
|
|
406
|
-
<span class="cline-any cline-neutral"> </span>
|
|
407
|
-
<span class="cline-any cline-neutral"> </span>
|
|
408
|
-
<span class="cline-any cline-neutral"> </span>
|
|
409
|
-
<span class="cline-any cline-neutral"> </span>
|
|
410
|
-
<span class="cline-any cline-neutral"> </span>
|
|
411
|
-
<span class="cline-any cline-yes">78x</span>
|
|
412
|
-
<span class="cline-any cline-yes">868x</span>
|
|
413
|
-
<span class="cline-any cline-yes">100x</span>
|
|
414
|
-
<span class="cline-any cline-neutral"> </span>
|
|
415
|
-
<span class="cline-any cline-yes">78x</span>
|
|
416
|
-
<span class="cline-any cline-neutral"> </span>
|
|
417
|
-
<span class="cline-any cline-yes">343x</span>
|
|
418
|
-
<span class="cline-any cline-neutral"> </span>
|
|
419
|
-
<span class="cline-any cline-yes">78x</span>
|
|
420
|
-
<span class="cline-any cline-yes">350x</span>
|
|
421
|
-
<span class="cline-any cline-neutral"> </span>
|
|
422
|
-
<span class="cline-any cline-neutral"> </span>
|
|
423
|
-
<span class="cline-any cline-yes">78x</span>
|
|
424
|
-
<span class="cline-any cline-neutral"> </span>
|
|
425
|
-
<span class="cline-any cline-yes">78x</span>
|
|
426
|
-
<span class="cline-any cline-neutral"> </span>
|
|
427
|
-
<span class="cline-any cline-neutral"> </span>
|
|
428
|
-
<span class="cline-any cline-neutral"> </span>
|
|
429
|
-
<span class="cline-any cline-yes">78x</span>
|
|
430
|
-
<span class="cline-any cline-neutral"> </span>
|
|
431
|
-
<span class="cline-any cline-yes">350x</span>
|
|
432
|
-
<span class="cline-any cline-neutral"> </span>
|
|
433
|
-
<span class="cline-any cline-neutral"> </span>
|
|
434
|
-
<span class="cline-any cline-yes">350x</span>
|
|
435
|
-
<span class="cline-any cline-yes">112x</span>
|
|
436
|
-
<span class="cline-any cline-neutral"> </span>
|
|
437
|
-
<span class="cline-any cline-neutral"> </span>
|
|
438
|
-
<span class="cline-any cline-neutral"> </span>
|
|
439
|
-
<span class="cline-any cline-neutral"> </span>
|
|
440
|
-
<span class="cline-any cline-neutral"> </span>
|
|
441
|
-
<span class="cline-any cline-yes">238x</span>
|
|
442
|
-
<span class="cline-any cline-yes">238x</span>
|
|
443
|
-
<span class="cline-any cline-neutral"> </span>
|
|
444
|
-
<span class="cline-any cline-neutral"> </span>
|
|
445
|
-
<span class="cline-any cline-yes">3x</span>
|
|
446
|
-
<span class="cline-any cline-yes">1x</span>
|
|
447
|
-
<span class="cline-any cline-yes">2x</span>
|
|
448
|
-
<span class="cline-any cline-yes">1x</span>
|
|
449
|
-
<span class="cline-any cline-neutral"> </span>
|
|
450
|
-
<span class="cline-any cline-yes">1x</span>
|
|
451
|
-
<span class="cline-any cline-neutral"> </span>
|
|
452
|
-
<span class="cline-any cline-yes">3x</span>
|
|
453
|
-
<span class="cline-any cline-neutral"> </span>
|
|
454
|
-
<span class="cline-any cline-yes">235x</span>
|
|
455
|
-
<span class="cline-any cline-neutral"> </span>
|
|
456
|
-
<span class="cline-any cline-neutral"> </span>
|
|
457
|
-
<span class="cline-any cline-neutral"> </span>
|
|
458
|
-
<span class="cline-any cline-yes">350x</span>
|
|
459
|
-
<span class="cline-any cline-yes">8x</span>
|
|
460
|
-
<span class="cline-any cline-neutral"> </span>
|
|
461
|
-
<span class="cline-any cline-yes">350x</span>
|
|
462
|
-
<span class="cline-any cline-neutral"> </span>
|
|
463
|
-
<span class="cline-any cline-neutral"> </span>
|
|
464
|
-
<span class="cline-any cline-neutral"> </span>
|
|
465
|
-
<span class="cline-any cline-neutral"> </span>
|
|
466
|
-
<span class="cline-any cline-neutral"> </span>
|
|
467
|
-
<span class="cline-any cline-neutral"> </span>
|
|
468
|
-
<span class="cline-any cline-yes">190x</span>
|
|
469
|
-
<span class="cline-any cline-yes">190x</span>
|
|
470
|
-
<span class="cline-any cline-neutral"> </span>
|
|
471
|
-
<span class="cline-any cline-neutral"> </span>
|
|
472
|
-
<span class="cline-any cline-neutral"> </span>
|
|
473
|
-
<span class="cline-any cline-yes">78x</span>
|
|
474
|
-
<span class="cline-any cline-neutral"> </span>
|
|
475
|
-
<span class="cline-any cline-neutral"> </span>
|
|
476
|
-
<span class="cline-any cline-yes">78x</span>
|
|
477
|
-
<span class="cline-any cline-yes">1x</span>
|
|
478
|
-
<span class="cline-any cline-neutral"> </span>
|
|
479
|
-
<span class="cline-any cline-neutral"> </span>
|
|
480
|
-
<span class="cline-any cline-yes">77x</span>
|
|
481
|
-
<span class="cline-any cline-yes">112x</span>
|
|
482
|
-
<span class="cline-any cline-neutral"> </span>
|
|
483
|
-
<span class="cline-any cline-neutral"> </span>
|
|
484
|
-
<span class="cline-any cline-neutral"> </span>
|
|
485
|
-
<span class="cline-any cline-neutral"> </span>
|
|
486
|
-
<span class="cline-any cline-neutral"> </span>
|
|
487
|
-
<span class="cline-any cline-neutral"> </span>
|
|
488
|
-
<span class="cline-any cline-yes">112x</span>
|
|
489
|
-
<span class="cline-any cline-yes">112x</span>
|
|
490
|
-
<span class="cline-any cline-neutral"> </span>
|
|
491
|
-
<span class="cline-any cline-yes">112x</span>
|
|
492
|
-
<span class="cline-any cline-neutral"> </span>
|
|
493
|
-
<span class="cline-any cline-neutral"> </span>
|
|
494
|
-
<span class="cline-any cline-yes">6x</span>
|
|
495
|
-
<span class="cline-any cline-yes">6x</span>
|
|
496
|
-
<span class="cline-any cline-neutral"> </span>
|
|
497
|
-
<span class="cline-any cline-yes">6x</span>
|
|
498
|
-
<span class="cline-any cline-yes">9x</span>
|
|
499
|
-
<span class="cline-any cline-yes">9x</span>
|
|
500
|
-
<span class="cline-any cline-neutral"> </span>
|
|
501
|
-
<span class="cline-any cline-neutral"> </span>
|
|
502
|
-
<span class="cline-any cline-neutral"> </span>
|
|
503
|
-
<span class="cline-any cline-neutral"> </span>
|
|
504
|
-
<span class="cline-any cline-yes">9x</span>
|
|
505
|
-
<span class="cline-any cline-yes">2x</span>
|
|
506
|
-
<span class="cline-any cline-neutral"> </span>
|
|
507
|
-
<span class="cline-any cline-neutral"> </span>
|
|
508
|
-
<span class="cline-any cline-neutral"> </span>
|
|
509
|
-
<span class="cline-any cline-neutral"> </span>
|
|
510
|
-
<span class="cline-any cline-neutral"> </span>
|
|
511
|
-
<span class="cline-any cline-neutral"> </span>
|
|
512
|
-
<span class="cline-any cline-yes">2x</span>
|
|
513
|
-
<span class="cline-any cline-neutral"> </span>
|
|
514
|
-
<span class="cline-any cline-neutral"> </span>
|
|
515
|
-
<span class="cline-any cline-yes">9x</span>
|
|
516
|
-
<span class="cline-any cline-yes">9x</span>
|
|
517
|
-
<span class="cline-any cline-neutral"> </span>
|
|
518
|
-
<span class="cline-any cline-neutral"> </span>
|
|
519
|
-
<span class="cline-any cline-yes">6x</span>
|
|
520
|
-
<span class="cline-any cline-yes">6x</span>
|
|
521
|
-
<span class="cline-any cline-yes">6x</span>
|
|
522
|
-
<span class="cline-any cline-neutral"> </span>
|
|
523
|
-
<span class="cline-any cline-neutral"> </span>
|
|
524
|
-
<span class="cline-any cline-yes">106x</span>
|
|
525
|
-
<span class="cline-any cline-neutral"> </span>
|
|
526
|
-
<span class="cline-any cline-neutral"> </span>
|
|
527
|
-
<span class="cline-any cline-yes">77x</span>
|
|
528
|
-
<span class="cline-any cline-neutral"> </span>
|
|
529
|
-
<span class="cline-any cline-neutral"> </span>
|
|
530
|
-
<span class="cline-any cline-neutral"> </span>
|
|
531
|
-
<span class="cline-any cline-neutral"> </span>
|
|
532
|
-
<span class="cline-any cline-neutral"> </span>
|
|
533
|
-
<span class="cline-any cline-neutral"> </span>
|
|
534
|
-
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-neutral"> </span>
|
|
536
|
-
<span class="cline-any cline-neutral"> </span>
|
|
537
|
-
<span class="cline-any cline-neutral"> </span>
|
|
538
|
-
<span class="cline-any cline-neutral"> </span>
|
|
539
|
-
<span class="cline-any cline-yes">71x</span>
|
|
540
|
-
<span class="cline-any cline-yes">71x</span>
|
|
541
|
-
<span class="cline-any cline-yes">71x</span>
|
|
542
|
-
<span class="cline-any cline-neutral"> </span>
|
|
543
|
-
<span class="cline-any cline-yes">71x</span>
|
|
544
|
-
<span class="cline-any cline-neutral"> </span>
|
|
545
|
-
<span class="cline-any cline-neutral"> </span>
|
|
546
|
-
<span class="cline-any cline-neutral"> </span>
|
|
547
|
-
<span class="cline-any cline-neutral"> </span>
|
|
548
|
-
<span class="cline-any cline-neutral"> </span>
|
|
549
|
-
<span class="cline-any cline-neutral"> </span>
|
|
550
|
-
<span class="cline-any cline-neutral"> </span>
|
|
551
|
-
<span class="cline-any cline-neutral"> </span>
|
|
552
|
-
<span class="cline-any cline-neutral"> </span>
|
|
553
|
-
<span class="cline-any cline-neutral"> </span>
|
|
554
|
-
<span class="cline-any cline-neutral"> </span>
|
|
555
|
-
<span class="cline-any cline-neutral"> </span>
|
|
556
|
-
<span class="cline-any cline-neutral"> </span>
|
|
557
|
-
<span class="cline-any cline-neutral"> </span>
|
|
558
|
-
<span class="cline-any cline-neutral"> </span>
|
|
559
|
-
<span class="cline-any cline-yes">71x</span>
|
|
560
|
-
<span class="cline-any cline-yes">546x</span>
|
|
561
|
-
<span class="cline-any cline-yes">546x</span>
|
|
562
|
-
<span class="cline-any cline-yes">546x</span>
|
|
563
|
-
<span class="cline-any cline-neutral"> </span>
|
|
564
|
-
<span class="cline-any cline-neutral"> </span>
|
|
565
|
-
<span class="cline-any cline-yes">546x</span>
|
|
566
|
-
<span class="cline-any cline-yes">78x</span>
|
|
567
|
-
<span class="cline-any cline-yes">78x</span>
|
|
568
|
-
<span class="cline-any cline-neutral"> </span>
|
|
569
|
-
<span class="cline-any cline-neutral"> </span>
|
|
570
|
-
<span class="cline-any cline-neutral"> </span>
|
|
571
|
-
<span class="cline-any cline-yes">546x</span>
|
|
572
|
-
<span class="cline-any cline-yes">350x</span>
|
|
573
|
-
<span class="cline-any cline-yes">350x</span>
|
|
574
|
-
<span class="cline-any cline-neutral"> </span>
|
|
575
|
-
<span class="cline-any cline-neutral"> </span>
|
|
576
|
-
<span class="cline-any cline-neutral"> </span>
|
|
577
|
-
<span class="cline-any cline-yes">350x</span>
|
|
578
|
-
<span class="cline-any cline-neutral"> </span>
|
|
579
|
-
<span class="cline-any cline-neutral"> </span>
|
|
580
|
-
<span class="cline-any cline-neutral"> </span>
|
|
581
|
-
<span class="cline-any cline-yes">350x</span>
|
|
582
|
-
<span class="cline-any cline-yes">272x</span>
|
|
583
|
-
<span class="cline-any cline-yes">245x</span>
|
|
584
|
-
<span class="cline-any cline-yes">245x</span>
|
|
585
|
-
<span class="cline-any cline-yes">245x</span>
|
|
586
|
-
<span class="cline-any cline-yes">245x</span>
|
|
587
|
-
<span class="cline-any cline-yes">27x</span>
|
|
588
|
-
<span class="cline-any cline-yes">13x</span>
|
|
589
|
-
<span class="cline-any cline-neutral"> </span>
|
|
590
|
-
<span class="cline-any cline-neutral"> </span>
|
|
591
|
-
<span class="cline-any cline-neutral"> </span>
|
|
592
|
-
<span class="cline-any cline-neutral"> </span>
|
|
593
|
-
<span class="cline-any cline-yes">350x</span>
|
|
594
|
-
<span class="cline-any cline-neutral"> </span>
|
|
595
|
-
<span class="cline-any cline-neutral"> </span>
|
|
596
|
-
<span class="cline-any cline-neutral"> </span>
|
|
597
|
-
<span class="cline-any cline-neutral"> </span>
|
|
598
|
-
<span class="cline-any cline-neutral"> </span>
|
|
599
|
-
<span class="cline-any cline-neutral"> </span>
|
|
600
|
-
<span class="cline-any cline-yes">350x</span>
|
|
601
|
-
<span class="cline-any cline-yes">78x</span>
|
|
602
|
-
<span class="cline-any cline-yes">78x</span>
|
|
603
|
-
<span class="cline-any cline-yes">78x</span>
|
|
604
|
-
<span class="cline-any cline-neutral"> </span>
|
|
605
|
-
<span class="cline-any cline-neutral"> </span>
|
|
606
|
-
<span class="cline-any cline-neutral"> </span>
|
|
607
|
-
<span class="cline-any cline-yes">546x</span>
|
|
608
|
-
<span class="cline-any cline-yes">546x</span>
|
|
609
|
-
<span class="cline-any cline-neutral"> </span>
|
|
610
|
-
<span class="cline-any cline-neutral"> </span>
|
|
611
|
-
<span class="cline-any cline-neutral"> </span>
|
|
612
|
-
<span class="cline-any cline-neutral"> </span>
|
|
613
|
-
<span class="cline-any cline-neutral"> </span>
|
|
614
|
-
<span class="cline-any cline-yes">1x</span>
|
|
615
|
-
<span class="cline-any cline-yes">67x</span>
|
|
616
|
-
<span class="cline-any cline-yes">67x</span>
|
|
617
|
-
<span class="cline-any cline-yes">67x</span>
|
|
618
|
-
<span class="cline-any cline-neutral"> </span>
|
|
619
|
-
<span class="cline-any cline-yes">67x</span>
|
|
620
|
-
<span class="cline-any cline-yes">435x</span>
|
|
621
|
-
<span class="cline-any cline-yes">435x</span>
|
|
622
|
-
<span class="cline-any cline-yes">65x</span>
|
|
623
|
-
<span class="cline-any cline-neutral"> </span>
|
|
624
|
-
<span class="cline-any cline-neutral"> </span>
|
|
625
|
-
<span class="cline-any cline-neutral"> </span>
|
|
626
|
-
<span class="cline-any cline-yes">67x</span>
|
|
627
|
-
<span class="cline-any cline-neutral"> </span>
|
|
628
|
-
<span class="cline-any cline-neutral"> </span>
|
|
629
|
-
<span class="cline-any cline-yes">1x</span>
|
|
630
|
-
<span class="cline-any cline-yes">1x</span>
|
|
631
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
632
|
-
'use strict'
|
|
633
|
-
|
|
634
|
-
const PARSERS = require('./parsers')
|
|
635
|
-
|
|
636
|
-
const MARKER_START = '/**'
|
|
637
|
-
const MARKER_START_SKIP = '/***'
|
|
638
|
-
const MARKER_END = '*/'
|
|
639
|
-
|
|
640
|
-
/* ------- util functions ------- */
|
|
641
|
-
|
|
642
|
-
function find (list, filter) {
|
|
643
|
-
let i = list.length
|
|
644
|
-
let matchs = true
|
|
645
|
-
|
|
646
|
-
while (i--) {
|
|
647
|
-
Object.keys(filter).forEach((k) => {
|
|
648
|
-
matchs = (filter[k] === list[i][k]) && matchs
|
|
649
|
-
})
|
|
650
|
-
if (matchs) { return list[i] }
|
|
651
|
-
}
|
|
652
|
-
return null
|
|
653
|
-
}
|
|
654
|
-
|
|
655
|
-
/* ------- parsing ------- */
|
|
656
|
-
|
|
657
|
-
/**
|
|
658
|
-
* Parses "@tag {type} name description"
|
|
659
|
-
* @param {string} str Raw doc string
|
|
660
|
-
* @param {Array<function>} parsers Array of parsers to be applied to the source
|
|
661
|
-
* @returns {object} parsed tag node
|
|
662
|
-
*/
|
|
663
|
-
function parse_tag (str, parsers) {
|
|
664
|
-
// Should not get here as enforcing that string begin with whitespace
|
|
665
|
-
// and an at-sign
|
|
666
|
-
/* istanbul ignore next */
|
|
667
|
-
if (typeof str !== 'string' || !(/\s*@/).test(str)) { return null }
|
|
668
|
-
|
|
669
|
-
const data = parsers.reduce(function (state, parser) {
|
|
670
|
-
let result
|
|
671
|
-
|
|
672
|
-
try {
|
|
673
|
-
result = parser(state.source, Object.assign({}, state.data))
|
|
674
|
-
} catch (err) {
|
|
675
|
-
state.data.errors = (state.data.errors || [])
|
|
676
|
-
.concat(parser.name + ': ' + err.message)
|
|
677
|
-
}
|
|
678
|
-
|
|
679
|
-
if (result) {
|
|
680
|
-
state.source = state.source.slice(result.source.length)
|
|
681
|
-
state.data = Object.assign(state.data, result.data)
|
|
682
|
-
}
|
|
683
|
-
|
|
684
|
-
return state
|
|
685
|
-
}, {
|
|
686
|
-
source: str,
|
|
687
|
-
data: {}
|
|
688
|
-
}).data
|
|
689
|
-
|
|
690
|
-
data.optional = !!data.optional
|
|
691
|
-
data.type = data.type === undefined ? '' : data.type
|
|
692
|
-
data.name = data.name === undefined ? '' : data.name
|
|
693
|
-
data.description = data.description === undefined ? '' : data.description
|
|
694
|
-
|
|
695
|
-
return data
|
|
696
|
-
}
|
|
697
|
-
|
|
698
|
-
/**
|
|
699
|
-
* Parses comment block (array of String lines)
|
|
700
|
-
*/
|
|
701
|
-
function parse_block (source, opts) {
|
|
702
|
-
const trim = opts.trim
|
|
703
|
-
? s => s.trim()
|
|
704
|
-
: s => s
|
|
705
|
-
|
|
706
|
-
const toggleFence = (typeof opts.fence === 'function')
|
|
707
|
-
? opts.fence
|
|
708
|
-
: line => line.split(opts.fence).length % 2 === 0
|
|
709
|
-
|
|
710
|
-
let source_str = source
|
|
711
|
-
.map((line) => { return trim(line.source) })
|
|
712
|
-
.join('\n')
|
|
713
|
-
|
|
714
|
-
source_str = trim(source_str)
|
|
715
|
-
|
|
716
|
-
const start = source[0].number
|
|
717
|
-
|
|
718
|
-
// merge source lines into tags
|
|
719
|
-
// we assume tag starts with "@"
|
|
720
|
-
source = source
|
|
721
|
-
.reduce(function (state, line) {
|
|
722
|
-
line.source = trim(line.source)
|
|
723
|
-
|
|
724
|
-
// start of a new tag detected
|
|
725
|
-
if (line.source.match(/^\s*@(\S+)/) && !state.isFenced) {
|
|
726
|
-
state.tags.push({
|
|
727
|
-
source: [line.source],
|
|
728
|
-
line: line.number
|
|
729
|
-
})
|
|
730
|
-
// keep appending source to the current tag
|
|
731
|
-
} else {
|
|
732
|
-
const tag = state.tags[state.tags.length - 1]
|
|
733
|
-
if (opts.join !== undefined && opts.join !== false && opts.join !== 0 &&
|
|
734
|
-
!line.startWithStar && tag.source.length > 0) {
|
|
735
|
-
let source
|
|
736
|
-
if (typeof opts.join === 'string') {
|
|
737
|
-
source = opts.join + line.source.replace(/^\s+/, '')
|
|
738
|
-
} else if (typeof opts.join === 'number') {
|
|
739
|
-
source = line.source
|
|
740
|
-
} else {
|
|
741
|
-
source = ' ' + line.source.replace(/^\s+/, '')
|
|
742
|
-
}
|
|
743
|
-
tag.source[tag.source.length - 1] += source
|
|
744
|
-
} else {
|
|
745
|
-
tag.source.push(line.source)
|
|
746
|
-
}
|
|
747
|
-
}
|
|
748
|
-
|
|
749
|
-
if (toggleFence(line.source)) {
|
|
750
|
-
state.isFenced = !state.isFenced
|
|
751
|
-
}
|
|
752
|
-
return state
|
|
753
|
-
}, {
|
|
754
|
-
tags: [{ source: [] }],
|
|
755
|
-
isFenced: false
|
|
756
|
-
})
|
|
757
|
-
.tags
|
|
758
|
-
.map((tag) => {
|
|
759
|
-
tag.source = trim(tag.source.join('\n'))
|
|
760
|
-
return tag
|
|
761
|
-
})
|
|
762
|
-
|
|
763
|
-
// Block description
|
|
764
|
-
const description = source.shift()
|
|
765
|
-
|
|
766
|
-
// skip if no descriptions and no tags
|
|
767
|
-
if (description.source === '' && source.length === 0) {
|
|
768
|
-
return null
|
|
769
|
-
}
|
|
770
|
-
|
|
771
|
-
const tags = source.reduce(function (tags, tag) {
|
|
772
|
-
const tag_node = parse_tag(tag.source, opts.parsers)
|
|
773
|
-
|
|
774
|
-
// Should not get here as enforcing that string begin with whitespace
|
|
775
|
-
// and an at-sign and return non-nullish value
|
|
776
|
-
/* istanbul ignore next */
|
|
777
|
-
if (!tag_node) { return tags }
|
|
778
|
-
|
|
779
|
-
tag_node.line = tag.line
|
|
780
|
-
tag_node.source = tag.source
|
|
781
|
-
|
|
782
|
-
if (opts.dotted_names && tag_node.name.includes('.')) {
|
|
783
|
-
let parent_name
|
|
784
|
-
let parent_tag
|
|
785
|
-
let parent_tags = tags
|
|
786
|
-
const parts = tag_node.name.split('.')
|
|
787
|
-
|
|
788
|
-
while (parts.length > 1) {
|
|
789
|
-
parent_name = parts.shift()
|
|
790
|
-
parent_tag = find(parent_tags, {
|
|
791
|
-
tag: tag_node.tag,
|
|
792
|
-
name: parent_name
|
|
793
|
-
})
|
|
794
|
-
|
|
795
|
-
if (!parent_tag) {
|
|
796
|
-
parent_tag = {
|
|
797
|
-
tag: tag_node.tag,
|
|
798
|
-
line: Number(tag_node.line),
|
|
799
|
-
name: parent_name,
|
|
800
|
-
type: '',
|
|
801
|
-
description: ''
|
|
802
|
-
}
|
|
803
|
-
parent_tags.push(parent_tag)
|
|
804
|
-
}
|
|
805
|
-
|
|
806
|
-
parent_tag.tags = parent_tag.tags || []
|
|
807
|
-
parent_tags = parent_tag.tags
|
|
808
|
-
}
|
|
809
|
-
|
|
810
|
-
tag_node.name = parts[0]
|
|
811
|
-
parent_tags.push(tag_node)
|
|
812
|
-
return tags
|
|
813
|
-
}
|
|
814
|
-
|
|
815
|
-
return tags.concat(tag_node)
|
|
816
|
-
}, [])
|
|
817
|
-
|
|
818
|
-
return {
|
|
819
|
-
tags,
|
|
820
|
-
line: start,
|
|
821
|
-
description: description.source,
|
|
822
|
-
source: source_str
|
|
823
|
-
}
|
|
824
|
-
}
|
|
825
|
-
|
|
826
|
-
/**
|
|
827
|
-
* Produces `extract` function with internal state initialized
|
|
828
|
-
*/
|
|
829
|
-
function mkextract (opts) {
|
|
830
|
-
let chunk = null
|
|
831
|
-
let indent = 0
|
|
832
|
-
let number = 0
|
|
833
|
-
|
|
834
|
-
opts = Object.assign({}, {
|
|
835
|
-
trim: true,
|
|
836
|
-
dotted_names: false,
|
|
837
|
-
fence: '```',
|
|
838
|
-
parsers: [
|
|
839
|
-
PARSERS.parse_tag,
|
|
840
|
-
PARSERS.parse_type,
|
|
841
|
-
PARSERS.parse_name,
|
|
842
|
-
PARSERS.parse_description
|
|
843
|
-
]
|
|
844
|
-
}, opts || {})
|
|
845
|
-
|
|
846
|
-
/**
|
|
847
|
-
* Read lines until they make a block
|
|
848
|
-
* Return parsed block once fullfilled or null otherwise
|
|
849
|
-
*/
|
|
850
|
-
return function extract (line) {
|
|
851
|
-
let result = null
|
|
852
|
-
const startPos = line.indexOf(MARKER_START)
|
|
853
|
-
const endPos = line.indexOf(MARKER_END)
|
|
854
|
-
|
|
855
|
-
// if open marker detected and it's not, skip one
|
|
856
|
-
if (startPos !== -1 && line.indexOf(MARKER_START_SKIP) !== startPos) {
|
|
857
|
-
chunk = []
|
|
858
|
-
indent = startPos + MARKER_START.length
|
|
859
|
-
}
|
|
860
|
-
|
|
861
|
-
// if we are on middle of comment block
|
|
862
|
-
if (chunk) {
|
|
863
|
-
let lineStart = indent
|
|
864
|
-
let startWithStar = false
|
|
865
|
-
|
|
866
|
-
// figure out if we slice from opening marker pos
|
|
867
|
-
// or line start is shifted to the left
|
|
868
|
-
const nonSpaceChar = line.match(/\S/)
|
|
869
|
-
|
|
870
|
-
// skip for the first line starting with /** (fresh chunk)
|
|
871
|
-
// it always has the right indentation
|
|
872
|
-
if (chunk.length > 0 && nonSpaceChar) {
|
|
873
|
-
if (nonSpaceChar[0] === '*') {
|
|
874
|
-
const afterNonSpaceCharIdx = nonSpaceChar.index + 1
|
|
875
|
-
const extraCharIsSpace = line.charAt(afterNonSpaceCharIdx) === ' '
|
|
876
|
-
lineStart = afterNonSpaceCharIdx + (extraCharIsSpace ? 1 : 0)
|
|
877
|
-
startWithStar = true
|
|
878
|
-
} else if (nonSpaceChar.index < indent) {
|
|
879
|
-
lineStart = nonSpaceChar.index
|
|
880
|
-
}
|
|
881
|
-
}
|
|
882
|
-
|
|
883
|
-
// slice the line until end or until closing marker start
|
|
884
|
-
chunk.push({
|
|
885
|
-
number,
|
|
886
|
-
startWithStar,
|
|
887
|
-
source: line.slice(lineStart, endPos === -1 ? line.length : endPos)
|
|
888
|
-
})
|
|
889
|
-
|
|
890
|
-
// finalize block if end marker detected
|
|
891
|
-
if (endPos !== -1) {
|
|
892
|
-
result = parse_block(chunk, opts)
|
|
893
|
-
chunk = null
|
|
894
|
-
indent = 0
|
|
895
|
-
}
|
|
896
|
-
}
|
|
897
|
-
|
|
898
|
-
number += 1
|
|
899
|
-
return result
|
|
900
|
-
}
|
|
901
|
-
}
|
|
902
|
-
|
|
903
|
-
/* ------- Public API ------- */
|
|
904
|
-
|
|
905
|
-
module.exports = function parse (source, opts) {
|
|
906
|
-
const blocks = []
|
|
907
|
-
const extract = mkextract(opts)
|
|
908
|
-
const lines = source.split(/\n/)
|
|
909
|
-
|
|
910
|
-
lines.forEach((line) => {
|
|
911
|
-
const block = extract(line)
|
|
912
|
-
if (block) {
|
|
913
|
-
blocks.push(block)
|
|
914
|
-
}
|
|
915
|
-
})
|
|
916
|
-
|
|
917
|
-
return blocks
|
|
918
|
-
}
|
|
919
|
-
|
|
920
|
-
module.exports.PARSERS = PARSERS
|
|
921
|
-
module.exports.mkextract = mkextract
|
|
922
|
-
</pre></td></tr>
|
|
923
|
-
</table></pre>
|
|
924
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
925
|
-
</div><!-- /wrapper -->
|
|
926
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
927
|
-
Code coverage
|
|
928
|
-
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Fri Dec 06 2019 00:14:30 GMT-0800 (Pacific Standard Time)
|
|
929
|
-
</div>
|
|
930
|
-
</div>
|
|
931
|
-
<script src="prettify.js"></script>
|
|
932
|
-
<script>
|
|
933
|
-
window.onload = function () {
|
|
934
|
-
if (typeof prettyPrint === 'function') {
|
|
935
|
-
prettyPrint();
|
|
936
|
-
}
|
|
937
|
-
};
|
|
938
|
-
</script>
|
|
939
|
-
<script src="sorter.js"></script>
|
|
940
|
-
<script src="block-navigation.js"></script>
|
|
941
|
-
</body>
|
|
942
|
-
</html>
|