coverage.html 409 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. <!DOCTYPE html><html><head><title>Coverage report</title><meta charset="utf-8"><style>body, html {
  2. margin: 0;
  3. height: 100%;
  4. background: #3C3F41;
  5. font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, sans-serif;
  6. font-size: 12px;
  7. }
  8. .tree {
  9. float: left;
  10. width: 20%;
  11. height: 100%;
  12. overflow: auto;
  13. padding-right: 10px;
  14. box-sizing: border-box;
  15. border-right: #262729 1px solid;
  16. position: fixed;
  17. }
  18. .thread-name, .thread-link {
  19. color: #aeb4b4;
  20. text-decoration: none;
  21. white-space: nowrap;
  22. }
  23. .thread-name {
  24. color: gray;
  25. }
  26. .thread-selected .thread-link-name {
  27. color: #45a7b5;
  28. }
  29. .thread-items {
  30. margin-left: 20px;
  31. }
  32. .thread-dir, .thread-file {
  33. width: 15px;
  34. height: 15px;
  35. display: inline-block;
  36. background: no-repeat center center;
  37. opacity: 0.5;
  38. margin-right: 5px;
  39. top: 2px;
  40. }
  41. .thread-dir {
  42. background-image: url(data:image/gif;base64,R0lGODlhDgAMAHcAACH5BAEAAAIALAAAAAAOAAwAh9OIgOG8uPDw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgrAAEIHBhAgMGDAgYqLIgwocKHECNGbNhQIUWEFi8azKiR40WPFCWKHDkwIAA7);
  43. }
  44. .thread-file {
  45. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAMAAAAI/bVFAAADAFBMVEU+QEJMR0WBYFKCYVKcnJyrq6usrKzGgmLOzs7f39/zl2z19fX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8nRl7AAABAHRSTlP///////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////m2mkrAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB9wMGQsNM0fic1oAAAAHdEVYdEF1dGhvcgCprsxIAAAADHRFWHREZXNjcmlwdGlvbgATCSEjAAAACnRFWHRDb3B5cmlnaHQArA/MOgAAAA50RVh0Q3JlYXRpb24gdGltZQA19w8JAAAACXRFWHRTb2Z0d2FyZQBdcP86AAAAC3RFWHREaXNjbGFpbWVyALfAtI8AAAAIdEVYdFdhcm5pbmcAwBvmhwAAAAd0RVh0U291cmNlAPX/g+sAAAAIdEVYdENvbW1lbnQA9syWvwAAAAZ0RVh0VGl0bGUAqO7SJwAAAEdJREFUCJllzYEOgCAIBNCzKBH5/+9NFBnVbWw82ADkYR3B1sVLNlTqNyeRNVuqrS1JxAU5gaRS864aQ4Mu4Jgl/5uvf5GvHm/RBckCfu/CAAAAAElFTkSuQmCC);
  46. }
  47. .thread-level {
  48. color: gray;
  49. font-size: 10px;
  50. margin-left: 10px;
  51. }
  52. .thread-high .thread-level {
  53. color: #66B029;
  54. }
  55. .thread-medium .thread-level {
  56. color: #B28C00;
  57. }
  58. .thread-low .thread-level {
  59. color: #993300;
  60. }
  61. .source-file {
  62. background: #2B2B2B;
  63. color: #E6E1DC;
  64. counter-reset: file-line-counter;
  65. position: relative;
  66. display: none;
  67. min-height: 100%;
  68. width: 80%;
  69. margin-left: 20%;
  70. overflow-x: auto;
  71. }
  72. .source-file-info {
  73. z-index: 1;
  74. position: relative;
  75. background: #3C3F41;
  76. padding: 10px;
  77. margin-bottom: 10px;
  78. }
  79. .source-file:before {
  80. content: '';
  81. position: absolute;
  82. height: 100%;
  83. width: 0;
  84. top: 0;
  85. left: 45px;
  86. border-right: 1px rgba(255, 255, 255, 0.5) solid;
  87. }
  88. .source-file:target {
  89. display: block;
  90. }
  91. .line-number {
  92. display: inline-block;
  93. }
  94. .line-number:before {
  95. content: counter(file-line-counter);
  96. counter-increment: file-line-counter;
  97. display: inline-block;
  98. width: 40px;
  99. padding-right: 5px;
  100. margin-right: 10px;
  101. text-align: right;
  102. color: rgba(255, 255, 255, 0.5);
  103. white-space: nowrap;
  104. line-height: 20px;
  105. }
  106. .line-has-info .line-number {
  107. cursor: pointer;
  108. }
  109. .line-has-info .line-number:before {
  110. text-decoration: underline;
  111. }
  112. .line.uncovered .line-number:before {
  113. background: rgba(255, 0, 0, 0.50);
  114. }
  115. .line.covered .line-number:before {
  116. background: rgba(0, 128, 0, 0.50);
  117. }
  118. .line.semi-covered .line-number:before {
  119. background: rgba(255, 255, 0, 0.50);
  120. }
  121. .line-code {
  122. white-space: pre;
  123. }
  124. .line-info {
  125. background: #44443f;
  126. margin-left: 46px;
  127. font-size: 12px;
  128. display: none;
  129. }
  130. .line-show-more-info .line-info {
  131. display: block;
  132. }
  133. .line:hover, .line-show-more-info {
  134. background: #444546;
  135. }
  136. .info-table {
  137. border-collapse: collapse;
  138. width: 100%;
  139. margin-top: 15px;
  140. }
  141. .info-table th, .info-table td {
  142. text-align: left;
  143. vertical-align: top;
  144. padding: 2px 5px;
  145. border-bottom: rgba(255,255,255,0.5) 1px solid;
  146. border-right: rgba(255,255,255,0.5) 1px solid;
  147. }
  148. .info-table tr:last-child {
  149. display: none;
  150. }
  151. .info-branch-code {
  152. white-space: pre;
  153. }
  154. .info-branch-title {
  155. white-space: nowrap;
  156. }
  157. .info-branch-covered {
  158. color: lime;
  159. }
  160. .info-branch-uncovered {
  161. color: red;
  162. }
  163. td.info-spacer {
  164. border-bottom: none;
  165. }
  166. .info-spacer div {
  167. height: 10px;
  168. }
  169. .code, .line-number {
  170. font-family: monaco, monospaced, Courier, monospace;
  171. }
  172. .short.short-more-content-visible .short-more-content {
  173. display: inline;
  174. }
  175. .short-more {
  176. background: rgba(255,255,255,0.2);
  177. color: rgba(255,255,255,0.5);
  178. border-radius: 5px;
  179. margin-left: 10px;
  180. padding: 0 5px;
  181. cursor: pointer;
  182. }
  183. .short-more-content {
  184. display: none;
  185. }
  186. .Rest {
  187. color: gray;
  188. }
  189. .Punctuator {
  190. color: #CC7833;
  191. }
  192. .Keyword, .Boolean, .Null {
  193. color: #CC7833;
  194. }
  195. .String, .RegularExpression, .Numeric {
  196. color: #A5C261;
  197. }
  198. .Block, .Line {
  199. color: #BC9458;
  200. }
  201. .Variable {
  202. color: #64A2A2;
  203. }
  204. .ImplicitGlobalVariable {
  205. color: #D0D0FF;
  206. }
  207. .Parameter {
  208. border-bottom: #E6E1DC 1px solid;
  209. }
  210. .Field {
  211. color: #979748;
  212. }
  213. .FunctionName {
  214. color: #FFC66D;
  215. }</style></head><body><div class="tree"><div class="thread"><span class="thread-name thread-medium"><span class="thread-dir"></span>—<span class="thread-level">57%</span></span><div class="thread-items"><div class="thread"><span class="thread-name thread-medium"><span class="thread-dir"></span>lib<span class="thread-level">57%</span></span><div class="thread-items"><div class="thread"><a href="#lib_core_js" class="thread-link thread-medium"><span class="thread-file"></span><span class="thread-link-name">core.js</span><span class="thread-level">62%</span></a><div class="thread-items"></div></div><div class="thread"><a href="#lib_errors_js" class="thread-link thread-high"><span class="thread-file"></span><span class="thread-link-name">errors.js</span><span class="thread-level">100%</span></a><div class="thread-items"></div></div><div class="thread"><a href="#lib_format_js" class="thread-link thread-high"><span class="thread-file"></span><span class="thread-link-name">format.js</span><span class="thread-level">100%</span></a><div class="thread-items"></div></div><div class="thread"><a href="#lib_plugin_js" class="thread-link thread-low"><span class="thread-file"></span><span class="thread-link-name">plugin.js</span><span class="thread-level">0%</span></a><div class="thread-items"></div></div></div></div></div></div></div><div class="source"><div id="lib_core_js" class="source-file"><div class="source-file-info"><div class="source-file-name">core.js</div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="String">&apos;use strict&apos;</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line semi-covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function _classCallCheck</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="Keyword">function</span> <span class="FunctionName">_classCallCheck</span><span class="Brace">(</span><span class="Parameter">instance</span><span class="Punctuator">,</span> <span class="Parameter">Constructor</span><span class="Brace">)</span> <span class="Brace">{</span> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Brace">(</span><span class="Parameter">instance</span> <span class="Keyword">instanceof</span> <span class="Parameter">Constructor</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Brace">{</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">TypeError</span><span class="Brace">(</span><span class="String">&apos;Cannot call a class as a function&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span> <span class="Brace">}</span> <span class="Brace">}</span><span class="Rest"></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest">function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) </span><span class="Brace">{</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">TypeError</span><span class="Brace">(</span><span class="String">&apos;Cannot call a class as a function&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span> <span class="Brace">}</span><span class="Rest"> }</span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="Rest">function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(&apos;Cannot call a class as a function&apos;); }</span> <span class="Rest">}</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"><span class="Keyword">function</span> <span class="FunctionName">_classCallCheck</span><span class="Brace">(</span><span class="Parameter">instance</span><span class="Punctuator">,</span> <span class="Parameter">Constructor</span><span class="Brace">)</span> <span class="Brace">{</span> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Brace">(</span><span class="Parameter">instance</span> <span class="Keyword">instanceof</span> <span class="Parameter">Constructor</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Brace">{</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">TypeError</span><span class="Brace">(</span><span class="String">&apos;Cannot call a class as a function&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span> <span class="Brace">}</span> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Identifier">require</span><span class="Brace">(</span><span class="String">&apos;babel/polyfill&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Keyword">var</span> <span class="Variable">fs</span> <span class="Punctuator">=</span> <span class="Identifier">require</span><span class="Brace">(</span><span class="String">&apos;fs&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Keyword">var</span> <span class="Variable">gonzales</span> <span class="Punctuator">=</span> <span class="Identifier">require</span><span class="Brace">(</span><span class="String">&apos;gonzales-pe&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Keyword">var</span> <span class="Variable">minimatch</span> <span class="Punctuator">=</span> <span class="Identifier">require</span><span class="Brace">(</span><span class="String">&apos;minimatch&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Keyword">var</span> <span class="Variable">Errors</span> <span class="Punctuator">=</span> <span class="Identifier">require</span><span class="Brace">(</span><span class="String">&apos;./errors&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Keyword">var</span> <span class="Variable">Plugin</span> <span class="Punctuator">=</span> <span class="Identifier">require</span><span class="Brace">(</span><span class="String">&apos;./plugin&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Keyword">var</span> <span class="Variable">vow</span> <span class="Punctuator">=</span> <span class="Identifier">require</span><span class="Brace">(</span><span class="String">&apos;vow&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Keyword">var</span> <span class="Variable">vfs</span> <span class="Punctuator">=</span> <span class="Identifier">require</span><span class="Brace">(</span><span class="String">&apos;vow-fs&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Keyword">var</span> <span class="Variable">Comb</span> <span class="Punctuator">=</span> <span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function Comb</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> </span><span class="Keyword">function</span> <span class="FunctionName">Comb</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Identifier">_classCallCheck</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Punctuator">,</span> <span class="FunctionName">Comb</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">config</span> <span class="Punctuator">=</span> <span class="Brace">{</span><span class="Brace">}</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">exclude</span> <span class="Punctuator">=</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">;</span><br/> <span class="Line">// Whether lint mode is on.</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">lint</span> <span class="Punctuator">=</span> <span class="Boolean">false</span><span class="Punctuator">;</span><br/> <span class="Line">// List of file paths that should be excluded from processing.</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pathsToExclude</span> <span class="Punctuator">=</span> <span class="Null">null</span><span class="Punctuator">;</span><br/> <span class="Line">// List of used plugins.</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span> <span class="Punctuator">=</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginsDependencies</span> <span class="Punctuator">=</span> <span class="Brace">{</span><span class="Brace">}</span><span class="Punctuator">;</span><br/> <span class="Line">// List of supported syntaxes.</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">supportedSyntaxes</span> <span class="Punctuator">=</span> <span class="Keyword">new</span> <span class="Identifier">Set</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Line">// Whether verbose mode is on.</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">verbose</span> <span class="Punctuator">=</span> <span class="Boolean">false</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"></span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">function</span> <span class="FunctionName">Comb</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Identifier">_classCallCheck</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Punctuator">,</span> <span class="FunctionName">Comb</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">config</span> <span class="Punctuator">=</span> <span class="Brace">{</span><span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">exclude</span> <span class="Punctuator">=</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Line">// Whether lint mode is on.</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">lint</span> <span class="Punctuator">=</span> <span class="Boolean">false</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Line">// List of file paths that should be excluded from processing.</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pathsToExclude</span> <span class="Punctuator">=</span> <span class="Null">null</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Line">// List of used plugins.</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span> <span class="Punctuator">=</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">;</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginsDependencies</span> <span class="Punctuator">=</span> <span class="Brace">{</span><span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Line">// List of supported syntaxes.</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">supportedSyntaxes</span> <span class="Punctuator">=</span> <span class="Keyword">new</span> <span class="Identifier">Set</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Line">// Whether verbose mode is on.</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">verbose</span> <span class="Punctuator">=</span> <span class="Boolean">false</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function configure</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.configure = </span><span class="Keyword">function</span> <span class="FunctionName">configure</span><span class="Brace">(</span><span class="Parameter">config</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">typeof</span> <span class="Parameter">config</span> <span class="Punctuator">!==</span> <span class="String">&apos;object&apos;</span><span class="Brace">)</span><br/> <span class="Line">// TODO: throw error</span><br/> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">lint</span> <span class="Punctuator">=</span> <span class="Parameter">config</span><span class="Dot">.</span><span class="Field">lint</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">verbose</span> <span class="Punctuator">=</span> <span class="Parameter">config</span><span class="Dot">.</span><span class="Field">verbose</span><span class="Punctuator">;</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">config</span><span class="Dot">.</span><span class="Field">exclude</span><span class="Brace">)</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">exclude</span> <span class="Punctuator">=</span> <span class="Parameter">config</span><span class="Dot">.</span><span class="Field">exclude</span><span class="Dot">.</span><span class="Field">map</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">pattern</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Keyword">new</span> <span class="Identifier">minimatch</span><span class="Dot">.</span><span class="Field">Minimatch</span><span class="Brace">(</span><span class="Parameter">pattern</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">for</span> <span class="Brace">(</span><span class="Keyword">var</span> <span class="Variable">i</span> <span class="Punctuator">=</span> <span class="Numeric">0</span><span class="Punctuator">,</span> <span class="Variable">l</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">length</span><span class="Punctuator">;</span> <span class="Variable">i</span> <span class="Punctuator">&lt;</span> <span class="Variable">l</span><span class="Punctuator">;</span> <span class="Variable">i</span><span class="Punctuator">++</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">var</span> <span class="Variable">plugin</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Brace">[</span><span class="Variable">i</span><span class="Brace">]</span><span class="Punctuator">;</span><br/> <span class="Keyword">var</span> <span class="Variable">_name</span> <span class="Punctuator">=</span> <span class="Variable">plugin</span><span class="Dot">.</span><span class="Field">name</span><span class="Punctuator">;</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Parameter">config</span><span class="Dot">.</span><span class="Field">hasOwnProperty</span><span class="Brace">(</span><span class="Variable">_name</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Keyword">continue</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">try</span> <span class="Brace">{</span><br/> <span class="Variable">plugin</span><span class="Dot">.</span><span class="Field">value</span> <span class="Punctuator">=</span> <span class="Parameter">config</span><span class="Brace">[</span><span class="Variable">_name</span><span class="Brace">]</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">config</span><span class="Brace">[</span><span class="Variable">_name</span><span class="Brace">]</span> <span class="Punctuator">=</span> <span class="Variable">plugin</span><span class="Dot">.</span><span class="Field">value</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span> <span class="Keyword">catch</span> <span class="Brace">(</span><span class="CatchClause">e</span><span class="Brace">)</span> <span class="Brace">{</span><span class="Brace">}</span><br/> <span class="Brace">}</span><br/><br/> <span class="Line">// Chaining.</span><br/> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">configure</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">configure</span><span class="Brace">(</span><span class="Parameter">config</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Positive was executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> </span><span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> throw new Error();</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">this.lint = config.lint;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">typeof</span> <span class="Parameter">config</span> <span class="Punctuator">!==</span> <span class="String">&apos;object&apos;</span><span class="Brace">)</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Line">// TODO: throw error</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">lint</span> <span class="Punctuator">=</span> <span class="Parameter">config</span><span class="Dot">.</span><span class="Field">lint</span><span class="Punctuator">;</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">verbose</span> <span class="Punctuator">=</span> <span class="Parameter">config</span><span class="Dot">.</span><span class="Field">verbose</span><span class="Punctuator">;</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_5)</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (config.exclude) this.exclude = config.exclude.map(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">pattern</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Keyword">new</span> <span class="Identifier">minimatch</span><span class="Dot">.</span><span class="Field">Minimatch</span><span class="Brace">(</span><span class="Parameter">pattern</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Positive was executed (if)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (config.exclude) </span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">exclude</span> <span class="Punctuator">=</span> <span class="Parameter">config</span><span class="Dot">.</span><span class="Field">exclude</span><span class="Dot">.</span><span class="Field">map</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">pattern</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Keyword">new</span> <span class="Identifier">minimatch</span><span class="Dot">.</span><span class="Field">Minimatch</span><span class="Brace">(</span><span class="Parameter">pattern</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></span></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> });</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">for (var i = 0, l = this.plugins.length; i &lt; l; i++) {</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">config</span><span class="Dot">.</span><span class="Field">exclude</span><span class="Brace">)</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">exclude</span> <span class="Punctuator">=</span> <span class="Parameter">config</span><span class="Dot">.</span><span class="Field">exclude</span><span class="Dot">.</span><span class="Field">map</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">pattern</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">new</span> <span class="Identifier">minimatch</span><span class="Dot">.</span><span class="Field">Minimatch</span><span class="Brace">(</span><span class="Parameter">pattern</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">for</span> <span class="Brace">(</span><span class="Keyword">var</span> <span class="Variable">i</span> <span class="Punctuator">=</span> <span class="Numeric">0</span><span class="Punctuator">,</span> <span class="Variable">l</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">length</span><span class="Punctuator">;</span> <span class="Variable">i</span> <span class="Punctuator">&lt;</span> <span class="Variable">l</span><span class="Punctuator">;</span> <span class="Variable">i</span><span class="Punctuator">++</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">plugin</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Brace">[</span><span class="Variable">i</span><span class="Brace">]</span><span class="Punctuator">;</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">_name</span> <span class="Punctuator">=</span> <span class="Variable">plugin</span><span class="Dot">.</span><span class="Field">name</span><span class="Punctuator">;</span></span></div></div><div class="line semi-covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (!config.hasOwnProperty(_name)) </span><span class="Keyword">continue</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (!config.hasOwnProperty(_name)) continue;</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">try {</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Parameter">config</span><span class="Dot">.</span><span class="Field">hasOwnProperty</span><span class="Brace">(</span><span class="Variable">_name</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Keyword">continue</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">try</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Variable">plugin</span><span class="Dot">.</span><span class="Field">value</span> <span class="Punctuator">=</span> <span class="Parameter">config</span><span class="Brace">[</span><span class="Variable">_name</span><span class="Brace">]</span><span class="Punctuator">;</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">config</span><span class="Brace">[</span><span class="Variable">_name</span><span class="Brace">]</span> <span class="Punctuator">=</span> <span class="Variable">plugin</span><span class="Dot">.</span><span class="Field">value</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span> <span class="Keyword">catch</span> <span class="Brace">(</span><span class="CatchClause">e</span><span class="Brace">)</span> <span class="Brace">{</span><span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Line">// Chaining.</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function getAcceptableFilesFromDirectory</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.getAcceptableFilesFromDirectory = </span><span class="Keyword">function</span> <span class="FunctionName">getAcceptableFilesFromDirectory</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">shouldProcess</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Keyword">return</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">var</span> <span class="Variable">files</span> <span class="Punctuator">=</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">;</span><br/> <span class="Keyword">var</span> <span class="Variable">filesInThisDir</span> <span class="Punctuator">=</span> <span class="Identifier">fs</span><span class="Dot">.</span><span class="Field">readdirSync</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">for</span> <span class="Brace">(</span><span class="Keyword">var</span> <span class="Variable">i</span> <span class="Punctuator">=</span> <span class="Numeric">0</span><span class="Punctuator">,</span> <span class="Variable">fl</span> <span class="Punctuator">=</span> <span class="Variable">filesInThisDir</span><span class="Dot">.</span><span class="Field">length</span><span class="Punctuator">;</span> <span class="Variable">i</span> <span class="Punctuator">&lt;</span> <span class="Variable">fl</span><span class="Punctuator">;</span> <span class="Variable">i</span><span class="Punctuator">++</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">var</span> <span class="Variable">fullname</span> <span class="Punctuator">=</span> <span class="Parameter">path</span> <span class="Punctuator">+</span> <span class="String">&apos;/&apos;</span> <span class="Punctuator">+</span> <span class="Variable">filesInThisDir</span><span class="Brace">[</span><span class="Variable">i</span><span class="Brace">]</span><span class="Punctuator">;</span><br/> <span class="Keyword">var</span> <span class="Variable">stat</span> <span class="Punctuator">=</span> <span class="Identifier">fs</span><span class="Dot">.</span><span class="Field">statSync</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">stat</span><span class="Dot">.</span><span class="Field">isDirectory</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Punctuator">&amp;&amp;</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">shouldProcess</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Variable">files</span> <span class="Punctuator">=</span> <span class="Variable">files</span><span class="Dot">.</span><span class="Field">concat</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">getAcceptableFilesFromDirectory</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Keyword">else</span> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">shouldProcessFile</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Variable">files</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/><br/> <span class="Keyword">return</span> <span class="Variable">files</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">getAcceptableFilesFromDirectory</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">getAcceptableFilesFromDirectory</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line semi-covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (!this.shouldProcess(path)) </span><span class="Keyword">return</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (!this.shouldProcess(path)) return;</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">var files = [];</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">shouldProcess</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Keyword">return</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">files</span> <span class="Punctuator">=</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">;</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">filesInThisDir</span> <span class="Punctuator">=</span> <span class="Identifier">fs</span><span class="Dot">.</span><span class="Field">readdirSync</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">for</span> <span class="Brace">(</span><span class="Keyword">var</span> <span class="Variable">i</span> <span class="Punctuator">=</span> <span class="Numeric">0</span><span class="Punctuator">,</span> <span class="Variable">fl</span> <span class="Punctuator">=</span> <span class="Variable">filesInThisDir</span><span class="Dot">.</span><span class="Field">length</span><span class="Punctuator">;</span> <span class="Variable">i</span> <span class="Punctuator">&lt;</span> <span class="Variable">fl</span><span class="Punctuator">;</span> <span class="Variable">i</span><span class="Punctuator">++</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">fullname</span> <span class="Punctuator">=</span> <span class="Parameter">path</span> <span class="Punctuator">+</span> <span class="String">&apos;/&apos;</span> <span class="Punctuator">+</span> <span class="Variable">filesInThisDir</span><span class="Brace">[</span><span class="Variable">i</span><span class="Brace">]</span><span class="Punctuator">;</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">stat</span> <span class="Punctuator">=</span> <span class="Identifier">fs</span><span class="Dot">.</span><span class="Field">statSync</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Positive was executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (stat.isDirectory() &amp;&amp; this.shouldProcess(fullname)) </span><span class="Variable">files</span> <span class="Punctuator">=</span> <span class="Variable">files</span><span class="Dot">.</span><span class="Field">concat</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">getAcceptableFilesFromDirectory</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest">else if (this.shouldProcessFile(fullname)) files.push(fullname);</span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (stat.isDirectory() &amp;&amp; this.shouldProcess(fullname)) files = files.concat(this.getAcceptableFilesFromDirectory(fullname));else </span><span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">shouldProcessFile</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Variable">files</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr><tr><th colspan="2" class="info-title">Branch LogicalExpression</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (stat.isDirectory() &amp;&amp; </span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">shouldProcess</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Rest">) files = files.concat(this.getAcceptableFilesFromDirectory(fullname));else if (this.shouldProcessFile(fullname)) files.push(fullname);</span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Was returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (</span><span class="Variable">stat</span><span class="Dot">.</span><span class="Field">isDirectory</span><span class="Brace">(</span><span class="Brace">)</span><span class="Rest"> &amp;&amp; this.shouldProcess(fullname)) files = files.concat(this.getAcceptableFilesFromDirectory(fullname));else if (this.shouldProcessFile(fullname)) files.push(fullname);</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Positive was executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (stat.isDirectory() &amp;&amp; this.shouldProcess(fullname)) files = files.concat(this.getAcceptableFilesFromDirectory(fullname));else if (this.shouldProcessFile(fullname)) </span><span class="Variable">files</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (stat.isDirectory() &amp;&amp; this.shouldProcess(fullname)) files = files.concat(this.getAcceptableFilesFromDirectory(fullname));else if (this.shouldProcessFile(fullname)) files.push(fullname);</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Rest">}</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">stat</span><span class="Dot">.</span><span class="Field">isDirectory</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Punctuator">&amp;&amp;</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">shouldProcess</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Variable">files</span> <span class="Punctuator">=</span> <span class="Variable">files</span><span class="Dot">.</span><span class="Field">concat</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">getAcceptableFilesFromDirectory</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Keyword">else</span> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">shouldProcessFile</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Variable">files</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Variable">files</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @param {String} path</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @returns {Promise}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function lintDirectory</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.lintDirectory = </span><span class="Keyword">function</span> <span class="FunctionName">lintDirectory</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">var</span> <span class="Variable">_this</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">var</span> <span class="Variable">files</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">getAcceptableFilesFromDirectory</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">var</span> <span class="Variable">promises</span> <span class="Punctuator">=</span> <span class="Variable">files</span><span class="Dot">.</span><span class="Field">map</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">file</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Variable">_this</span><span class="Dot">.</span><span class="Field">lintFile</span><span class="Brace">(</span><span class="Parameter">file</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Identifier">Promise</span><span class="Dot">.</span><span class="Field">all</span><span class="Brace">(</span><span class="Variable">promises</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">lintDirectory</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">lintDirectory</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">_this</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">files</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">getAcceptableFilesFromDirectory</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_8)</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> var promises = files.map(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">file</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Variable">_this</span><span class="Dot">.</span><span class="Field">lintFile</span><span class="Brace">(</span><span class="Parameter">file</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">promises</span> <span class="Punctuator">=</span> <span class="Variable">files</span><span class="Dot">.</span><span class="Field">map</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">file</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Variable">_this</span><span class="Dot">.</span><span class="Field">lintFile</span><span class="Brace">(</span><span class="Parameter">file</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Identifier">Promise</span><span class="Dot">.</span><span class="Field">all</span><span class="Brace">(</span><span class="Variable">promises</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @param {String} path</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @returns {Promise}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function lintFile</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.lintFile = </span><span class="Keyword">function</span> <span class="FunctionName">lintFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">var</span> <span class="Variable">_this2</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">var</span> <span class="Variable">syntax</span> <span class="Punctuator">=</span> <span class="Parameter">path</span><span class="Dot">.</span><span class="Field">split</span><span class="Brace">(</span><span class="String">&apos;.&apos;</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">pop</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">readFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">string</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Variable">_this2</span><span class="Dot">.</span><span class="Field">lintString</span><span class="Brace">(</span><span class="Parameter">string</span><span class="Punctuator">,</span> <span class="Brace">{</span> <span class="Field">syntax</span><span class="Punctuator">:</span> <span class="Variable">syntax</span><span class="Punctuator">,</span> <span class="Field">filename</span><span class="Punctuator">:</span> <span class="Parameter">path</span> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">lintFile</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">lintFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">_this2</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">syntax</span> <span class="Punctuator">=</span> <span class="Parameter">path</span><span class="Dot">.</span><span class="Field">split</span><span class="Brace">(</span><span class="String">&apos;.&apos;</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">pop</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_10)</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> return this.readFile(path).then(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">string</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Variable">_this2</span><span class="Dot">.</span><span class="Field">lintString</span><span class="Brace">(</span><span class="Parameter">string</span><span class="Punctuator">,</span> <span class="Brace">{</span> <span class="Field">syntax</span><span class="Punctuator">:</span> <span class="Variable">syntax</span><span class="Punctuator">,</span> <span class="Field">filename</span><span class="Punctuator">:</span> <span class="Parameter">path</span> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">readFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">string</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Variable">_this2</span><span class="Dot">.</span><span class="Field">lintString</span><span class="Brace">(</span><span class="Parameter">string</span><span class="Punctuator">,</span> <span class="Brace">{</span> <span class="Field">syntax</span><span class="Punctuator">:</span> <span class="Variable">syntax</span><span class="Punctuator">,</span> <span class="Field">filename</span><span class="Punctuator">:</span> <span class="Parameter">path</span> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @param {String} path</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function lintPath</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.lintPath = </span><span class="Keyword">function</span> <span class="FunctionName">lintPath</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Parameter">path</span> <span class="Punctuator">=</span> <span class="Parameter">path</span><span class="Dot">.</span><span class="Field">replace</span><span class="Brace">(</span><span class="RegularExpression">/\/$/</span><span class="Punctuator">,</span> <span class="String">&apos;&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Identifier">fs</span><span class="Dot">.</span><span class="Field">statSync</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">isDirectory</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Punctuator">?</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">lintDirectory</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Punctuator">:</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">lintFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">lintPath</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">lintPath</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Parameter">path</span> <span class="Punctuator">=</span> <span class="Parameter">path</span><span class="Dot">.</span><span class="Field">replace</span><span class="Brace">(</span><span class="RegularExpression">/\/$/</span><span class="Punctuator">,</span> <span class="String">&apos;&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch ConditionalExpression</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Positive was returned (? ...)</td><td class="info-branch-code"><div class="code"><span class="Rest"> return fs.statSync(path).isDirectory() ? </span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">lintDirectory</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Rest"> : this.lintFile(path);</span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was returned (: ...)</td><td class="info-branch-code"><div class="code"><span class="Rest"> return fs.statSync(path).isDirectory() ? this.lintDirectory(path) : </span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">lintFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Rest">;</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Identifier">fs</span><span class="Dot">.</span><span class="Field">statSync</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">isDirectory</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Punctuator">?</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">lintDirectory</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Punctuator">:</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">lintFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @param {String} text</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @param {{context: String, filename: String, syntax: String}} options</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @returns {Promise} Resolves with &lt;Array&gt; list of found errors.</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function lintString</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.lintString = </span><span class="Keyword">function</span> <span class="FunctionName">lintString</span><span class="Brace">(</span><span class="Parameter">text</span><span class="Punctuator">,</span> <span class="Parameter">options</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">parseString</span><span class="Brace">(</span><span class="Parameter">text</span><span class="Punctuator">,</span> <span class="Parameter">options</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">lintTree</span><span class="Dot">.</span><span class="Field">bind</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">lintString</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">lintString</span><span class="Brace">(</span><span class="Parameter">text</span><span class="Punctuator">,</span> <span class="Parameter">options</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">parseString</span><span class="Brace">(</span><span class="Parameter">text</span><span class="Punctuator">,</span> <span class="Parameter">options</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">lintTree</span><span class="Dot">.</span><span class="Field">bind</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @param {Node} ast</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @param {String=} filename</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @return {Promise} Resolves with &lt;Array&gt; list of errors.</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function lintTree</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.lintTree = </span><span class="Keyword">function</span> <span class="FunctionName">lintTree</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Punctuator">,</span> <span class="Parameter">filename</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">var</span> <span class="Variable">_this3</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">var</span> <span class="Variable">errors</span> <span class="Punctuator">=</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">;</span><br/> <span class="Keyword">var</span> <span class="Variable">config</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">config</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">return</span> <span class="Keyword">new</span> <span class="Identifier">Promise</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">resolve</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Variable">_this3</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">filter</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">value</span> <span class="Punctuator">!==</span> <span class="Null">null</span> <span class="Punctuator">&amp;&amp;</span> <span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">lint</span> <span class="Punctuator">===</span> <span class="String">&apos;function&apos;</span> <span class="Punctuator">&amp;&amp;</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Dot">.</span><span class="Field">indexOf</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Brace">)</span> <span class="Punctuator">!==</span> <span class="Punctuator">-</span><span class="Numeric">1</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">forEach</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">var</span> <span class="Variable">e</span> <span class="Punctuator">=</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">lint</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Punctuator">,</span> <span class="Variable">config</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Variable">errors</span> <span class="Punctuator">=</span> <span class="Variable">errors</span><span class="Dot">.</span><span class="Field">concat</span><span class="Brace">(</span><span class="Variable">e</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">filename</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Variable">errors</span><span class="Dot">.</span><span class="Field">map</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">error</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Parameter">error</span><span class="Dot">.</span><span class="Field">filename</span> <span class="Punctuator">=</span> <span class="Parameter">filename</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Parameter">error</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/><br/> <span class="Parameter">resolve</span><span class="Brace">(</span><span class="Variable">errors</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">lintTree</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">lintTree</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Punctuator">,</span> <span class="Parameter">filename</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">_this3</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">errors</span> <span class="Punctuator">=</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">;</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">config</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">config</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_14)</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> return new Promise(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">resolve</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Variable">_this3</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">filter</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">value</span> <span class="Punctuator">!==</span> <span class="Null">null</span> <span class="Punctuator">&amp;&amp;</span> <span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">lint</span> <span class="Punctuator">===</span> <span class="String">&apos;function&apos;</span> <span class="Punctuator">&amp;&amp;</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Dot">.</span><span class="Field">indexOf</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Brace">)</span> <span class="Punctuator">!==</span> <span class="Punctuator">-</span><span class="Numeric">1</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">forEach</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">var</span> <span class="Variable">e</span> <span class="Punctuator">=</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">lint</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Punctuator">,</span> <span class="Variable">config</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Variable">errors</span> <span class="Punctuator">=</span> <span class="Variable">errors</span><span class="Dot">.</span><span class="Field">concat</span><span class="Brace">(</span><span class="Variable">e</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">filename</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Variable">errors</span><span class="Dot">.</span><span class="Field">map</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">error</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Parameter">error</span><span class="Dot">.</span><span class="Field">filename</span> <span class="Punctuator">=</span> <span class="Parameter">filename</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Parameter">error</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/><br/> <span class="Parameter">resolve</span><span class="Brace">(</span><span class="Variable">errors</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">new</span> <span class="Identifier">Promise</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">resolve</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_15)</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> _this3.plugins.filter(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">value</span> <span class="Punctuator">!==</span> <span class="Null">null</span> <span class="Punctuator">&amp;&amp;</span> <span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">lint</span> <span class="Punctuator">===</span> <span class="String">&apos;function&apos;</span> <span class="Punctuator">&amp;&amp;</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Dot">.</span><span class="Field">indexOf</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Brace">)</span> <span class="Punctuator">!==</span> <span class="Punctuator">-</span><span class="Numeric">1</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">).forEach(function (plugin) {</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Variable">_this3</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">filter</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line semi-covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch LogicalExpression</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> return typeof plugin.value !== null &amp;&amp; typeof plugin.lint === &apos;function&apos; &amp;&amp; </span><span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Dot">.</span><span class="Field">indexOf</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Brace">)</span> <span class="Punctuator">!==</span> <span class="Punctuator">-</span><span class="Numeric">1</span><span class="Rest">;</span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> return </span><span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">value</span> <span class="Punctuator">!==</span> <span class="Null">null</span> <span class="Punctuator">&amp;&amp;</span> <span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">lint</span> <span class="Punctuator">===</span> <span class="String">&apos;function&apos;</span><span class="Rest"> &amp;&amp; plugin.syntax.indexOf(ast.syntax) !== -1;</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr><tr><th colspan="2" class="info-title">Branch LogicalExpression</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> return typeof plugin.value !== null &amp;&amp; </span><span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">lint</span> <span class="Punctuator">===</span> <span class="String">&apos;function&apos;</span><span class="Rest"> &amp;&amp; plugin.syntax.indexOf(ast.syntax) !== -1;</span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> return </span><span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">value</span> <span class="Punctuator">!==</span> <span class="Null">null</span><span class="Rest"> &amp;&amp; typeof plugin.lint === &apos;function&apos; &amp;&amp; plugin.syntax.indexOf(ast.syntax) !== -1;</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">value</span> <span class="Punctuator">!==</span> <span class="Null">null</span> <span class="Punctuator">&amp;&amp;</span> <span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">lint</span> <span class="Punctuator">===</span> <span class="String">&apos;function&apos;</span> <span class="Punctuator">&amp;&amp;</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Dot">.</span><span class="Field">indexOf</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Brace">)</span> <span class="Punctuator">!==</span> <span class="Punctuator">-</span><span class="Numeric">1</span><span class="Punctuator">;</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_16)</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> }).forEach(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">var</span> <span class="Variable">e</span> <span class="Punctuator">=</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">lint</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Punctuator">,</span> <span class="Variable">config</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Variable">errors</span> <span class="Punctuator">=</span> <span class="Variable">errors</span><span class="Dot">.</span><span class="Field">concat</span><span class="Brace">(</span><span class="Variable">e</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">forEach</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">e</span> <span class="Punctuator">=</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">lint</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Punctuator">,</span> <span class="Variable">config</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Variable">errors</span> <span class="Punctuator">=</span> <span class="Variable">errors</span><span class="Dot">.</span><span class="Field">concat</span><span class="Brace">(</span><span class="Variable">e</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Positive was executed (if)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (filename) </span><span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Variable">errors</span><span class="Dot">.</span><span class="Field">map</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">error</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Parameter">error</span><span class="Dot">.</span><span class="Field">filename</span> <span class="Punctuator">=</span> <span class="Parameter">filename</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Parameter">error</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"></span></span></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> }</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">resolve(errors);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">filename</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_17)</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> errors.map(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">error</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Parameter">error</span><span class="Dot">.</span><span class="Field">filename</span> <span class="Punctuator">=</span> <span class="Parameter">filename</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Parameter">error</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Variable">errors</span><span class="Dot">.</span><span class="Field">map</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">error</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Parameter">error</span><span class="Dot">.</span><span class="Field">filename</span> <span class="Punctuator">=</span> <span class="Parameter">filename</span><span class="Punctuator">;</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Parameter">error</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Parameter">resolve</span><span class="Brace">(</span><span class="Variable">errors</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function parseString</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.parseString = </span><span class="Keyword">function</span> <span class="FunctionName">parseString</span><span class="Brace">(</span><span class="Parameter">text</span><span class="Punctuator">,</span> <span class="Parameter">options</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">var</span> <span class="Variable">syntax</span> <span class="Punctuator">=</span> <span class="Parameter">options</span> <span class="Punctuator">&amp;&amp;</span> <span class="Parameter">options</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Punctuator">;</span><br/> <span class="Keyword">var</span> <span class="Variable">filename</span> <span class="Punctuator">=</span> <span class="Parameter">options</span> <span class="Punctuator">&amp;&amp;</span> <span class="Parameter">options</span><span class="Dot">.</span><span class="Field">filename</span> <span class="Punctuator">||</span> <span class="String">&apos;&apos;</span><span class="Punctuator">;</span><br/> <span class="Keyword">var</span> <span class="Variable">context</span> <span class="Punctuator">=</span> <span class="Parameter">options</span> <span class="Punctuator">&amp;&amp;</span> <span class="Parameter">options</span><span class="Dot">.</span><span class="Field">context</span><span class="Punctuator">;</span><br/> <span class="Keyword">var</span> <span class="Variable">tree</span> <span class="Punctuator">=</span> <span class="Identifier">undefined</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Parameter">text</span><span class="Brace">)</span> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">lint</span> <span class="Punctuator">?</span> <span class="Brace">[</span><span class="Brace">]</span> <span class="Punctuator">:</span> <span class="Parameter">text</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Variable">syntax</span><span class="Brace">)</span> <span class="Variable">syntax</span> <span class="Punctuator">=</span> <span class="String">&apos;css&apos;</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">syntax</span> <span class="Punctuator">=</span> <span class="Variable">syntax</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">return</span> <span class="Keyword">new</span> <span class="Identifier">Promise</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">resolve</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">try</span> <span class="Brace">{</span><br/> <span class="Variable">tree</span> <span class="Punctuator">=</span> <span class="Identifier">gonzales</span><span class="Dot">.</span><span class="Field">parse</span><span class="Brace">(</span><span class="Parameter">text</span><span class="Punctuator">,</span> <span class="Brace">{</span> <span class="Field">syntax</span><span class="Punctuator">:</span> <span class="Variable">syntax</span><span class="Punctuator">,</span> <span class="Field">rule</span><span class="Punctuator">:</span> <span class="Variable">context</span> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Parameter">resolve</span><span class="Brace">(</span><span class="Variable">tree</span><span class="Punctuator">,</span> <span class="Variable">filename</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span> <span class="Keyword">catch</span> <span class="Brace">(</span><span class="CatchClause">e</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">var</span> <span class="Variable">version</span> <span class="Punctuator">=</span> <span class="Identifier">require</span><span class="Brace">(</span><span class="String">&apos;../package.json&apos;</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">version</span><span class="Punctuator">;</span><br/> <span class="Keyword">var</span> <span class="Variable">message</span> <span class="Punctuator">=</span> <span class="Variable">filename</span> <span class="Punctuator">?</span> <span class="Brace">[</span><span class="Variable">filename</span><span class="Brace">]</span> <span class="Punctuator">:</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">;</span><br/> <span class="Variable">message</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="CatchClause">e</span><span class="Dot">.</span><span class="Field">message</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Variable">message</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="String">&apos;CSScomb Core version: &apos;</span> <span class="Punctuator">+</span> <span class="Variable">version</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="CatchClause">e</span><span class="Dot">.</span><span class="Field">stack</span> <span class="Punctuator">=</span> <span class="CatchClause">e</span><span class="Dot">.</span><span class="Field">message</span> <span class="Punctuator">=</span> <span class="Variable">message</span><span class="Dot">.</span><span class="Field">join</span><span class="Brace">(</span><span class="String">&apos;\n&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">throw</span> <span class="CatchClause">e</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">parseString</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">parseString</span><span class="Brace">(</span><span class="Parameter">text</span><span class="Punctuator">,</span> <span class="Parameter">options</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch LogicalExpression</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> var syntax = options &amp;&amp; </span><span class="Parameter">options</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Rest">;</span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Was returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> var syntax = </span><span class="Parameter">options</span><span class="Rest"> &amp;&amp; options.syntax;</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">syntax</span> <span class="Punctuator">=</span> <span class="Parameter">options</span> <span class="Punctuator">&amp;&amp;</span> <span class="Parameter">options</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Punctuator">;</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch LogicalExpression</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> var filename = options &amp;&amp; options.filename || </span><span class="String">&apos;&apos;</span><span class="Rest">;</span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Was returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> var filename = </span><span class="Parameter">options</span> <span class="Punctuator">&amp;&amp;</span> <span class="Parameter">options</span><span class="Dot">.</span><span class="Field">filename</span><span class="Rest"> || &apos;&apos;;</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr><tr><th colspan="2" class="info-title">Branch LogicalExpression</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> var filename = options &amp;&amp; </span><span class="Parameter">options</span><span class="Dot">.</span><span class="Field">filename</span><span class="Rest"> || &apos;&apos;;</span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Was returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> var filename = </span><span class="Parameter">options</span><span class="Rest"> &amp;&amp; options.filename || &apos;&apos;;</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">filename</span> <span class="Punctuator">=</span> <span class="Parameter">options</span> <span class="Punctuator">&amp;&amp;</span> <span class="Parameter">options</span><span class="Dot">.</span><span class="Field">filename</span> <span class="Punctuator">||</span> <span class="String">&apos;&apos;</span><span class="Punctuator">;</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch LogicalExpression</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> var context = options &amp;&amp; </span><span class="Parameter">options</span><span class="Dot">.</span><span class="Field">context</span><span class="Rest">;</span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Was returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> var context = </span><span class="Parameter">options</span><span class="Rest"> &amp;&amp; options.context;</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">context</span> <span class="Punctuator">=</span> <span class="Parameter">options</span> <span class="Punctuator">&amp;&amp;</span> <span class="Parameter">options</span><span class="Dot">.</span><span class="Field">context</span><span class="Punctuator">;</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">tree</span> <span class="Punctuator">=</span> <span class="Identifier">undefined</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line semi-covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (!text) </span><span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">lint</span> <span class="Punctuator">?</span> <span class="Brace">[</span><span class="Brace">]</span> <span class="Punctuator">:</span> <span class="Parameter">text</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (!text) return this.lint ? [] : text;</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">if (!syntax) syntax = &apos;css&apos;;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr><tr><th colspan="2" class="info-title">Branch ConditionalExpression</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not returned (? ...)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (!text) return this.lint ? </span><span class="Brace">[</span><span class="Brace">]</span><span class="Rest"> : text;</span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not returned (: ...)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (!text) return this.lint ? [] : </span><span class="Parameter">text</span><span class="Rest">;</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Parameter">text</span><span class="Brace">)</span> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">lint</span> <span class="Punctuator">?</span> <span class="Brace">[</span><span class="Brace">]</span> <span class="Punctuator">:</span> <span class="Parameter">text</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Positive was executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (!syntax) </span><span class="Variable">syntax</span> <span class="Punctuator">=</span> <span class="String">&apos;css&apos;</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (!syntax) syntax = &apos;css&apos;;</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Rest">this.syntax = syntax;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Variable">syntax</span><span class="Brace">)</span> <span class="Variable">syntax</span> <span class="Punctuator">=</span> <span class="String">&apos;css&apos;</span><span class="Punctuator">;</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">syntax</span> <span class="Punctuator">=</span> <span class="Variable">syntax</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_19)</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> return new Promise(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">resolve</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">try</span> <span class="Brace">{</span><br/> <span class="Variable">tree</span> <span class="Punctuator">=</span> <span class="Identifier">gonzales</span><span class="Dot">.</span><span class="Field">parse</span><span class="Brace">(</span><span class="Parameter">text</span><span class="Punctuator">,</span> <span class="Brace">{</span> <span class="Field">syntax</span><span class="Punctuator">:</span> <span class="Variable">syntax</span><span class="Punctuator">,</span> <span class="Field">rule</span><span class="Punctuator">:</span> <span class="Variable">context</span> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Parameter">resolve</span><span class="Brace">(</span><span class="Variable">tree</span><span class="Punctuator">,</span> <span class="Variable">filename</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span> <span class="Keyword">catch</span> <span class="Brace">(</span><span class="CatchClause">e</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">var</span> <span class="Variable">version</span> <span class="Punctuator">=</span> <span class="Identifier">require</span><span class="Brace">(</span><span class="String">&apos;../package.json&apos;</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">version</span><span class="Punctuator">;</span><br/> <span class="Keyword">var</span> <span class="Variable">message</span> <span class="Punctuator">=</span> <span class="Variable">filename</span> <span class="Punctuator">?</span> <span class="Brace">[</span><span class="Variable">filename</span><span class="Brace">]</span> <span class="Punctuator">:</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">;</span><br/> <span class="Variable">message</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="CatchClause">e</span><span class="Dot">.</span><span class="Field">message</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Variable">message</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="String">&apos;CSScomb Core version: &apos;</span> <span class="Punctuator">+</span> <span class="Variable">version</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="CatchClause">e</span><span class="Dot">.</span><span class="Field">stack</span> <span class="Punctuator">=</span> <span class="CatchClause">e</span><span class="Dot">.</span><span class="Field">message</span> <span class="Punctuator">=</span> <span class="Variable">message</span><span class="Dot">.</span><span class="Field">join</span><span class="Brace">(</span><span class="String">&apos;\n&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">throw</span> <span class="CatchClause">e</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">new</span> <span class="Identifier">Promise</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">resolve</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">try</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Variable">tree</span> <span class="Punctuator">=</span> <span class="Identifier">gonzales</span><span class="Dot">.</span><span class="Field">parse</span><span class="Brace">(</span><span class="Parameter">text</span><span class="Punctuator">,</span> <span class="Brace">{</span> <span class="Field">syntax</span><span class="Punctuator">:</span> <span class="Variable">syntax</span><span class="Punctuator">,</span> <span class="Field">rule</span><span class="Punctuator">:</span> <span class="Variable">context</span> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Parameter">resolve</span><span class="Brace">(</span><span class="Variable">tree</span><span class="Punctuator">,</span> <span class="Variable">filename</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span> <span class="Keyword">catch</span> <span class="Brace">(</span><span class="CatchClause">e</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">version</span> <span class="Punctuator">=</span> <span class="Identifier">require</span><span class="Brace">(</span><span class="String">&apos;../package.json&apos;</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">version</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch ConditionalExpression</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not returned (? ...)</td><td class="info-branch-code"><div class="code"><span class="Rest"> var message = filename ? </span><span class="Brace">[</span><span class="Variable">filename</span><span class="Brace">]</span><span class="Rest"> : [];</span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not returned (: ...)</td><td class="info-branch-code"><div class="code"><span class="Rest"> var message = filename ? [filename] : </span><span class="Brace">[</span><span class="Brace">]</span><span class="Rest">;</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">message</span> <span class="Punctuator">=</span> <span class="Variable">filename</span> <span class="Punctuator">?</span> <span class="Brace">[</span><span class="Variable">filename</span><span class="Brace">]</span> <span class="Punctuator">:</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Variable">message</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="CatchClause">e</span><span class="Dot">.</span><span class="Field">message</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Variable">message</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="String">&apos;CSScomb Core version: &apos;</span> <span class="Punctuator">+</span> <span class="Variable">version</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="CatchClause">e</span><span class="Dot">.</span><span class="Field">stack</span> <span class="Punctuator">=</span> <span class="CatchClause">e</span><span class="Dot">.</span><span class="Field">message</span> <span class="Punctuator">=</span> <span class="Variable">message</span><span class="Dot">.</span><span class="Field">join</span><span class="Brace">(</span><span class="String">&apos;\n&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">throw</span> <span class="CatchClause">e</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function pluginAlreadyUsed</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.pluginAlreadyUsed = </span><span class="Keyword">function</span> <span class="FunctionName">pluginAlreadyUsed</span><span class="Brace">(</span><span class="Parameter">name</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginIndex</span><span class="Brace">(</span><span class="Parameter">name</span><span class="Brace">)</span> <span class="Punctuator">!==</span> <span class="Punctuator">-</span><span class="Numeric">1</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">pluginAlreadyUsed</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">pluginAlreadyUsed</span><span class="Brace">(</span><span class="Parameter">name</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginIndex</span><span class="Brace">(</span><span class="Parameter">name</span><span class="Brace">)</span> <span class="Punctuator">!==</span> <span class="Punctuator">-</span><span class="Numeric">1</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function pluginIndex</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.pluginIndex = </span><span class="Keyword">function</span> <span class="FunctionName">pluginIndex</span><span class="Brace">(</span><span class="Parameter">name</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">var</span> <span class="Variable">index</span> <span class="Punctuator">=</span> <span class="Punctuator">-</span><span class="Numeric">1</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">some</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Punctuator">,</span> <span class="Parameter">i</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">name</span> <span class="Punctuator">===</span> <span class="Parameter">name</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Variable">index</span> <span class="Punctuator">=</span> <span class="Parameter">i</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Boolean">true</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Variable">index</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">pluginIndex</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">pluginIndex</span><span class="Brace">(</span><span class="Parameter">name</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">index</span> <span class="Punctuator">=</span> <span class="Punctuator">-</span><span class="Numeric">1</span><span class="Punctuator">;</span></span></div></div><div class="line semi-covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_22)</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> this.plugins.some(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Punctuator">,</span> <span class="Parameter">i</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">name</span> <span class="Punctuator">===</span> <span class="Parameter">name</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Variable">index</span> <span class="Punctuator">=</span> <span class="Parameter">i</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Boolean">true</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">some</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Punctuator">,</span> <span class="Parameter">i</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (plugin.name === name) </span><span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Variable">index</span> <span class="Punctuator">=</span> <span class="Parameter">i</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Boolean">true</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"></span></span></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> }</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Rest">});</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">name</span> <span class="Punctuator">===</span> <span class="Parameter">name</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Variable">index</span> <span class="Punctuator">=</span> <span class="Parameter">i</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Boolean">true</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Variable">index</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * Processes directory recursively.</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> *</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @param {String} path</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @returns {Promise}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function processDirectory</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.processDirectory = </span><span class="Keyword">function</span> <span class="FunctionName">processDirectory</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">var</span> <span class="Variable">that</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">return</span> <span class="Identifier">vfs</span><span class="Dot">.</span><span class="Field">listDir</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">filenames</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Identifier">vow</span><span class="Dot">.</span><span class="Field">all</span><span class="Brace">(</span><span class="Parameter">filenames</span><span class="Dot">.</span><span class="Field">map</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">filename</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">var</span> <span class="Variable">fullname</span> <span class="Punctuator">=</span> <span class="Parameter">path</span> <span class="Punctuator">+</span> <span class="String">&apos;/&apos;</span> <span class="Punctuator">+</span> <span class="Parameter">filename</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Identifier">vfs</span><span class="Dot">.</span><span class="Field">stat</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">stat</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">stat</span><span class="Dot">.</span><span class="Field">isDirectory</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Punctuator">&amp;&amp;</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">shouldProcess</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processDirectory</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span> <span class="Keyword">else</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processFile</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">results</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Dot">.</span><span class="Field">concat</span><span class="Dot">.</span><span class="Field">apply</span><span class="Brace">(</span><span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">,</span> <span class="Parameter">results</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">processDirectory</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">processDirectory</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">that</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_24)</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> return vfs.listDir(path).then(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">filenames</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Identifier">vow</span><span class="Dot">.</span><span class="Field">all</span><span class="Brace">(</span><span class="Parameter">filenames</span><span class="Dot">.</span><span class="Field">map</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">filename</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">var</span> <span class="Variable">fullname</span> <span class="Punctuator">=</span> <span class="Parameter">path</span> <span class="Punctuator">+</span> <span class="String">&apos;/&apos;</span> <span class="Punctuator">+</span> <span class="Parameter">filename</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Identifier">vfs</span><span class="Dot">.</span><span class="Field">stat</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">stat</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">stat</span><span class="Dot">.</span><span class="Field">isDirectory</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Punctuator">&amp;&amp;</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">shouldProcess</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processDirectory</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span> <span class="Keyword">else</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processFile</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">results</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Dot">.</span><span class="Field">concat</span><span class="Dot">.</span><span class="Field">apply</span><span class="Brace">(</span><span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">,</span> <span class="Parameter">results</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Identifier">vfs</span><span class="Dot">.</span><span class="Field">listDir</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">filenames</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_25)</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> return vow.all(filenames.map(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">filename</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">var</span> <span class="Variable">fullname</span> <span class="Punctuator">=</span> <span class="Parameter">path</span> <span class="Punctuator">+</span> <span class="String">&apos;/&apos;</span> <span class="Punctuator">+</span> <span class="Parameter">filename</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Identifier">vfs</span><span class="Dot">.</span><span class="Field">stat</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">stat</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">stat</span><span class="Dot">.</span><span class="Field">isDirectory</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Punctuator">&amp;&amp;</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">shouldProcess</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processDirectory</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span> <span class="Keyword">else</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processFile</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">)).then(function (results) {</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Identifier">vow</span><span class="Dot">.</span><span class="Field">all</span><span class="Brace">(</span><span class="Parameter">filenames</span><span class="Dot">.</span><span class="Field">map</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">filename</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">fullname</span> <span class="Punctuator">=</span> <span class="Parameter">path</span> <span class="Punctuator">+</span> <span class="String">&apos;/&apos;</span> <span class="Punctuator">+</span> <span class="Parameter">filename</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_26)</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> return vfs.stat(fullname).then(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">stat</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">stat</span><span class="Dot">.</span><span class="Field">isDirectory</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Punctuator">&amp;&amp;</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">shouldProcess</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processDirectory</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span> <span class="Keyword">else</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processFile</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Identifier">vfs</span><span class="Dot">.</span><span class="Field">stat</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">stat</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (stat.isDirectory() &amp;&amp; that.shouldProcess(fullname)) </span><span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processDirectory</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"> else {</span></span></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> } else </span><span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processFile</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"></span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr><tr><th colspan="2" class="info-title">Branch LogicalExpression</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (stat.isDirectory() &amp;&amp; </span><span class="Variable">that</span><span class="Dot">.</span><span class="Field">shouldProcess</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Rest">) {</span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (</span><span class="Parameter">stat</span><span class="Dot">.</span><span class="Field">isDirectory</span><span class="Brace">(</span><span class="Brace">)</span><span class="Rest"> &amp;&amp; that.shouldProcess(fullname)) {</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">stat</span><span class="Dot">.</span><span class="Field">isDirectory</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Punctuator">&amp;&amp;</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">shouldProcess</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processDirectory</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span> <span class="Keyword">else</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processFile</span><span class="Brace">(</span><span class="Variable">fullname</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_27)</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> })).then(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">results</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Dot">.</span><span class="Field">concat</span><span class="Dot">.</span><span class="Field">apply</span><span class="Brace">(</span><span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">,</span> <span class="Parameter">results</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">results</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Dot">.</span><span class="Field">concat</span><span class="Dot">.</span><span class="Field">apply</span><span class="Brace">(</span><span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">,</span> <span class="Parameter">results</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * Processes single file.</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> *</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @param {String} path</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @returns {Promise}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function processFile</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.processFile = </span><span class="Keyword">function</span> <span class="FunctionName">processFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">var</span> <span class="Variable">that</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">shouldProcessFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Keyword">return</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">return</span> <span class="Identifier">vfs</span><span class="Dot">.</span><span class="Field">read</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Punctuator">,</span> <span class="String">&apos;utf8&apos;</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">data</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">var</span> <span class="Variable">syntax</span> <span class="Punctuator">=</span> <span class="Parameter">path</span><span class="Dot">.</span><span class="Field">split</span><span class="Brace">(</span><span class="String">&apos;.&apos;</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">pop</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">var</span> <span class="Variable">processedData</span> <span class="Punctuator">=</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processString</span><span class="Brace">(</span><span class="Parameter">data</span><span class="Punctuator">,</span> <span class="Brace">{</span><br/> <span class="Field">syntax</span><span class="Punctuator">:</span> <span class="Variable">syntax</span><span class="Punctuator">,</span><br/> <span class="Field">filename</span><span class="Punctuator">:</span> <span class="Parameter">path</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">that</span><span class="Dot">.</span><span class="Field">lint</span><span class="Brace">)</span> <span class="Keyword">return</span> <span class="Variable">processedData</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">data</span> <span class="Punctuator">===</span> <span class="Variable">processedData</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">that</span><span class="Dot">.</span><span class="Field">verbose</span><span class="Brace">)</span> <span class="Identifier">console</span><span class="Dot">.</span><span class="Field">log</span><span class="Brace">(</span><span class="String">&apos; &apos;</span><span class="Punctuator">,</span> <span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Numeric">0</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/><br/> <span class="Keyword">return</span> <span class="Identifier">vfs</span><span class="Dot">.</span><span class="Field">write</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Punctuator">,</span> <span class="Variable">processedData</span><span class="Punctuator">,</span> <span class="String">&apos;utf8&apos;</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">that</span><span class="Dot">.</span><span class="Field">verbose</span><span class="Brace">)</span> <span class="Identifier">console</span><span class="Dot">.</span><span class="Field">log</span><span class="Brace">(</span><span class="String">&apos;✓&apos;</span><span class="Punctuator">,</span> <span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Numeric">1</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">processFile</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">processFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">that</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (!this.shouldProcessFile(path)) </span><span class="Keyword">return</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (!this.shouldProcessFile(path)) return;</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">return vfs.read(path, &apos;utf8&apos;).then(function (data) {</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">shouldProcessFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Keyword">return</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_29)</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> return vfs.read(path, &apos;utf8&apos;).then(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">data</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">var</span> <span class="Variable">syntax</span> <span class="Punctuator">=</span> <span class="Parameter">path</span><span class="Dot">.</span><span class="Field">split</span><span class="Brace">(</span><span class="String">&apos;.&apos;</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">pop</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">var</span> <span class="Variable">processedData</span> <span class="Punctuator">=</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processString</span><span class="Brace">(</span><span class="Parameter">data</span><span class="Punctuator">,</span> <span class="Brace">{</span><br/> <span class="Field">syntax</span><span class="Punctuator">:</span> <span class="Variable">syntax</span><span class="Punctuator">,</span><br/> <span class="Field">filename</span><span class="Punctuator">:</span> <span class="Parameter">path</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">that</span><span class="Dot">.</span><span class="Field">lint</span><span class="Brace">)</span> <span class="Keyword">return</span> <span class="Variable">processedData</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">data</span> <span class="Punctuator">===</span> <span class="Variable">processedData</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">that</span><span class="Dot">.</span><span class="Field">verbose</span><span class="Brace">)</span> <span class="Identifier">console</span><span class="Dot">.</span><span class="Field">log</span><span class="Brace">(</span><span class="String">&apos; &apos;</span><span class="Punctuator">,</span> <span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Numeric">0</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/><br/> <span class="Keyword">return</span> <span class="Identifier">vfs</span><span class="Dot">.</span><span class="Field">write</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Punctuator">,</span> <span class="Variable">processedData</span><span class="Punctuator">,</span> <span class="String">&apos;utf8&apos;</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">that</span><span class="Dot">.</span><span class="Field">verbose</span><span class="Brace">)</span> <span class="Identifier">console</span><span class="Dot">.</span><span class="Field">log</span><span class="Brace">(</span><span class="String">&apos;✓&apos;</span><span class="Punctuator">,</span> <span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Numeric">1</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Identifier">vfs</span><span class="Dot">.</span><span class="Field">read</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Punctuator">,</span> <span class="String">&apos;utf8&apos;</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">data</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">syntax</span> <span class="Punctuator">=</span> <span class="Parameter">path</span><span class="Dot">.</span><span class="Field">split</span><span class="Brace">(</span><span class="String">&apos;.&apos;</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">pop</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">processedData</span> <span class="Punctuator">=</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processString</span><span class="Brace">(</span><span class="Parameter">data</span><span class="Punctuator">,</span> <span class="Brace">{</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">syntax</span><span class="Punctuator">:</span> <span class="Variable">syntax</span><span class="Punctuator">,</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">filename</span><span class="Punctuator">:</span> <span class="Parameter">path</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (that.lint) </span><span class="Keyword">return</span> <span class="Variable">processedData</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (that.lint) return processedData;</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">if (data === processedData) {</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">that</span><span class="Dot">.</span><span class="Field">lint</span><span class="Brace">)</span> <span class="Keyword">return</span> <span class="Variable">processedData</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (data === processedData) </span><span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">that</span><span class="Dot">.</span><span class="Field">verbose</span><span class="Brace">)</span> <span class="Identifier">console</span><span class="Dot">.</span><span class="Field">log</span><span class="Brace">(</span><span class="String">&apos; &apos;</span><span class="Punctuator">,</span> <span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Numeric">0</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"></span></span></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> }</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">return vfs.write(path, processedData, &apos;utf8&apos;).then(function () {</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">data</span> <span class="Punctuator">===</span> <span class="Variable">processedData</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (that.verbose) </span><span class="Identifier">console</span><span class="Dot">.</span><span class="Field">log</span><span class="Brace">(</span><span class="String">&apos; &apos;</span><span class="Punctuator">,</span> <span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (that.verbose) console.log(&apos; &apos;, path);</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Rest">return 0;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">that</span><span class="Dot">.</span><span class="Field">verbose</span><span class="Brace">)</span> <span class="Identifier">console</span><span class="Dot">.</span><span class="Field">log</span><span class="Brace">(</span><span class="String">&apos; &apos;</span><span class="Punctuator">,</span> <span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Numeric">0</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_30)</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> return vfs.write(path, processedData, &apos;utf8&apos;).then(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">that</span><span class="Dot">.</span><span class="Field">verbose</span><span class="Brace">)</span> <span class="Identifier">console</span><span class="Dot">.</span><span class="Field">log</span><span class="Brace">(</span><span class="String">&apos;✓&apos;</span><span class="Punctuator">,</span> <span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Numeric">1</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Identifier">vfs</span><span class="Dot">.</span><span class="Field">write</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Punctuator">,</span> <span class="Variable">processedData</span><span class="Punctuator">,</span> <span class="String">&apos;utf8&apos;</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (that.verbose) </span><span class="Identifier">console</span><span class="Dot">.</span><span class="Field">log</span><span class="Brace">(</span><span class="String">&apos;✓&apos;</span><span class="Punctuator">,</span> <span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (that.verbose) console.log(&apos;✓&apos;, path);</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Rest">return 1;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">that</span><span class="Dot">.</span><span class="Field">verbose</span><span class="Brace">)</span> <span class="Identifier">console</span><span class="Dot">.</span><span class="Field">log</span><span class="Brace">(</span><span class="String">&apos;✓&apos;</span><span class="Punctuator">,</span> <span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Numeric">1</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function readFile</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.readFile = </span><span class="Keyword">function</span> <span class="FunctionName">readFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">var</span> <span class="Variable">_this4</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">return</span> <span class="Keyword">new</span> <span class="Identifier">Promise</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">resolve</span><span class="Punctuator">,</span> <span class="Parameter">reject</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Variable">_this4</span><span class="Dot">.</span><span class="Field">shouldProcessFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Parameter">reject</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Identifier">fs</span><span class="Dot">.</span><span class="Field">readFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Punctuator">,</span> <span class="String">&apos;utf8&apos;</span><span class="Punctuator">,</span> <span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">e</span><span class="Punctuator">,</span> <span class="Parameter">string</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">e</span><span class="Brace">)</span> <span class="Parameter">reject</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Parameter">resolve</span><span class="Brace">(</span><span class="Parameter">string</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">readFile</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">readFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">_this4</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_32)</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> return new Promise(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">resolve</span><span class="Punctuator">,</span> <span class="Parameter">reject</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Variable">_this4</span><span class="Dot">.</span><span class="Field">shouldProcessFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Parameter">reject</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Identifier">fs</span><span class="Dot">.</span><span class="Field">readFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Punctuator">,</span> <span class="String">&apos;utf8&apos;</span><span class="Punctuator">,</span> <span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">e</span><span class="Punctuator">,</span> <span class="Parameter">string</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">e</span><span class="Brace">)</span> <span class="Parameter">reject</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Parameter">resolve</span><span class="Brace">(</span><span class="Parameter">string</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">new</span> <span class="Identifier">Promise</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">resolve</span><span class="Punctuator">,</span> <span class="Parameter">reject</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Positive was executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (!_this4.shouldProcessFile(path)) </span><span class="Parameter">reject</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (!_this4.shouldProcessFile(path)) reject();</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">fs.readFile(path, &apos;utf8&apos;, function (e, string) {</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Variable">_this4</span><span class="Dot">.</span><span class="Field">shouldProcessFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Parameter">reject</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_33)</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> fs.readFile(path, &apos;utf8&apos;, </span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">e</span><span class="Punctuator">,</span> <span class="Parameter">string</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">e</span><span class="Brace">)</span> <span class="Parameter">reject</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Parameter">resolve</span><span class="Brace">(</span><span class="Parameter">string</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Identifier">fs</span><span class="Dot">.</span><span class="Field">readFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Punctuator">,</span> <span class="String">&apos;utf8&apos;</span><span class="Punctuator">,</span> <span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">e</span><span class="Punctuator">,</span> <span class="Parameter">string</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line semi-covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (e) </span><span class="Parameter">reject</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (e) reject();</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Rest">resolve(string);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">e</span><span class="Brace">)</span> <span class="Parameter">reject</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Parameter">resolve</span><span class="Brace">(</span><span class="Parameter">string</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * Processes directory or file.</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> *</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @returns {Promise}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function processPath</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.processPath = </span><span class="Keyword">function</span> <span class="FunctionName">processPath</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">var</span> <span class="Variable">that</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Punctuator">;</span><br/> <span class="Parameter">path</span> <span class="Punctuator">=</span> <span class="Parameter">path</span><span class="Dot">.</span><span class="Field">replace</span><span class="Brace">(</span><span class="RegularExpression">/\/$/</span><span class="Punctuator">,</span> <span class="String">&apos;&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">return</span> <span class="Identifier">vfs</span><span class="Dot">.</span><span class="Field">stat</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">stat</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">stat</span><span class="Dot">.</span><span class="Field">isDirectory</span><span class="Brace">(</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processDirectory</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span> <span class="Keyword">else</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">processPath</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">processPath</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">that</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Parameter">path</span> <span class="Punctuator">=</span> <span class="Parameter">path</span><span class="Dot">.</span><span class="Field">replace</span><span class="Brace">(</span><span class="RegularExpression">/\/$/</span><span class="Punctuator">,</span> <span class="String">&apos;&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_35)</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> return vfs.stat(path).then(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">stat</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">stat</span><span class="Dot">.</span><span class="Field">isDirectory</span><span class="Brace">(</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processDirectory</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span> <span class="Keyword">else</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Identifier">vfs</span><span class="Dot">.</span><span class="Field">stat</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">stat</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (stat.isDirectory()) </span><span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processDirectory</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"> else {</span></span></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> } else </span><span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"></span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">stat</span><span class="Dot">.</span><span class="Field">isDirectory</span><span class="Brace">(</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processDirectory</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span> <span class="Keyword">else</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Variable">that</span><span class="Dot">.</span><span class="Field">processFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * Processes a string.</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> *</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @param {String} text</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @param {{context: String, filename: String, syntax: String}} options</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @returns {String} Processed string</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function processString</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.processString = </span><span class="Keyword">function</span> <span class="FunctionName">processString</span><span class="Brace">(</span><span class="Parameter">text</span><span class="Punctuator">,</span> <span class="Parameter">options</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">parseString</span><span class="Brace">(</span><span class="Parameter">text</span><span class="Punctuator">,</span> <span class="Parameter">options</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">processTree</span><span class="Dot">.</span><span class="Field">bind</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Brace">)</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">ast</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Parameter">ast</span><span class="Dot">.</span><span class="Field">toString</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">processString</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">processString</span><span class="Brace">(</span><span class="Parameter">text</span><span class="Punctuator">,</span> <span class="Parameter">options</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_37)</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> return this.parseString(text, options).then(this.processTree.bind(this)).then(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">ast</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Parameter">ast</span><span class="Dot">.</span><span class="Field">toString</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">parseString</span><span class="Brace">(</span><span class="Parameter">text</span><span class="Punctuator">,</span> <span class="Parameter">options</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">processTree</span><span class="Dot">.</span><span class="Field">bind</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Brace">)</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">then</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">ast</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Parameter">ast</span><span class="Dot">.</span><span class="Field">toString</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @param {Node} ast</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @return {Node} Transformed AST</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function processTree</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.processTree = </span><span class="Keyword">function</span> <span class="FunctionName">processTree</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">var</span> <span class="Variable">_this5</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">var</span> <span class="Variable">config</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">config</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">return</span> <span class="Keyword">new</span> <span class="Identifier">Promise</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">resolve</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Variable">_this5</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">filter</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">value</span> <span class="Punctuator">!==</span> <span class="Null">null</span> <span class="Punctuator">&amp;&amp;</span> <span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">process</span> <span class="Punctuator">===</span> <span class="String">&apos;function&apos;</span> <span class="Punctuator">&amp;&amp;</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Dot">.</span><span class="Field">indexOf</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Brace">)</span> <span class="Punctuator">!==</span> <span class="Punctuator">-</span><span class="Numeric">1</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">forEach</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">process</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Punctuator">,</span> <span class="Variable">config</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Parameter">resolve</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">processTree</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">processTree</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">_this5</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">config</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">config</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_39)</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> return new Promise(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">resolve</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Variable">_this5</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">filter</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">value</span> <span class="Punctuator">!==</span> <span class="Null">null</span> <span class="Punctuator">&amp;&amp;</span> <span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">process</span> <span class="Punctuator">===</span> <span class="String">&apos;function&apos;</span> <span class="Punctuator">&amp;&amp;</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Dot">.</span><span class="Field">indexOf</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Brace">)</span> <span class="Punctuator">!==</span> <span class="Punctuator">-</span><span class="Numeric">1</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">forEach</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">process</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Punctuator">,</span> <span class="Variable">config</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Parameter">resolve</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">new</span> <span class="Identifier">Promise</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">resolve</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_40)</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> _this5.plugins.filter(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">value</span> <span class="Punctuator">!==</span> <span class="Null">null</span> <span class="Punctuator">&amp;&amp;</span> <span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">process</span> <span class="Punctuator">===</span> <span class="String">&apos;function&apos;</span> <span class="Punctuator">&amp;&amp;</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Dot">.</span><span class="Field">indexOf</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Brace">)</span> <span class="Punctuator">!==</span> <span class="Punctuator">-</span><span class="Numeric">1</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">).forEach(function (plugin) {</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Variable">_this5</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">filter</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line semi-covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch LogicalExpression</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> return plugin.value !== null &amp;&amp; typeof plugin.process === &apos;function&apos; &amp;&amp; </span><span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Dot">.</span><span class="Field">indexOf</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Brace">)</span> <span class="Punctuator">!==</span> <span class="Punctuator">-</span><span class="Numeric">1</span><span class="Rest">;</span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> return </span><span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">value</span> <span class="Punctuator">!==</span> <span class="Null">null</span> <span class="Punctuator">&amp;&amp;</span> <span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">process</span> <span class="Punctuator">===</span> <span class="String">&apos;function&apos;</span><span class="Rest"> &amp;&amp; plugin.syntax.indexOf(ast.syntax) !== -1;</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr><tr><th colspan="2" class="info-title">Branch LogicalExpression</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> return plugin.value !== null &amp;&amp; </span><span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">process</span> <span class="Punctuator">===</span> <span class="String">&apos;function&apos;</span><span class="Rest"> &amp;&amp; plugin.syntax.indexOf(ast.syntax) !== -1;</span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> return </span><span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">value</span> <span class="Punctuator">!==</span> <span class="Null">null</span><span class="Rest"> &amp;&amp; typeof plugin.process === &apos;function&apos; &amp;&amp; plugin.syntax.indexOf(ast.syntax) !== -1;</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">value</span> <span class="Punctuator">!==</span> <span class="Null">null</span> <span class="Punctuator">&amp;&amp;</span> <span class="Keyword">typeof</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">process</span> <span class="Punctuator">===</span> <span class="String">&apos;function&apos;</span> <span class="Punctuator">&amp;&amp;</span> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Dot">.</span><span class="Field">indexOf</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Brace">)</span> <span class="Punctuator">!==</span> <span class="Punctuator">-</span><span class="Numeric">1</span><span class="Punctuator">;</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_41)</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> }).forEach(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">process</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Punctuator">,</span> <span class="Variable">config</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">forEach</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">plugin</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Parameter">plugin</span><span class="Dot">.</span><span class="Field">process</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Punctuator">,</span> <span class="Variable">config</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Parameter">resolve</span><span class="Brace">(</span><span class="Parameter">ast</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * Checks if path is not present in `exclude` list.</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> *</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @param {String} path</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @returns {Boolean} False if specified path is present in `exclude` list.</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * Otherwise returns true.</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function shouldProcess</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.shouldProcess = </span><span class="Keyword">function</span> <span class="FunctionName">shouldProcess</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Parameter">path</span> <span class="Punctuator">=</span> <span class="Parameter">path</span><span class="Dot">.</span><span class="Field">replace</span><span class="Brace">(</span><span class="RegularExpression">/\/$/</span><span class="Punctuator">,</span> <span class="String">&apos;&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Identifier">fs</span><span class="Dot">.</span><span class="Field">existsSync</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Identifier">console</span><span class="Dot">.</span><span class="Field">warn</span><span class="Brace">(</span><span class="String">&apos;Path &apos;</span> <span class="Punctuator">+</span> <span class="Parameter">path</span> <span class="Punctuator">+</span> <span class="String">&apos; was not found.&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Boolean">false</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/><br/> <span class="Parameter">path</span> <span class="Punctuator">=</span> <span class="Parameter">path</span><span class="Dot">.</span><span class="Field">replace</span><span class="Brace">(</span><span class="RegularExpression">/^\.\//</span><span class="Punctuator">,</span> <span class="String">&apos;&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">exclude</span><span class="Dot">.</span><span class="Field">every</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">e</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">return</span> <span class="Punctuator">!</span><span class="Parameter">e</span><span class="Dot">.</span><span class="Field">match</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">shouldProcess</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">shouldProcess</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Parameter">path</span> <span class="Punctuator">=</span> <span class="Parameter">path</span><span class="Dot">.</span><span class="Field">replace</span><span class="Brace">(</span><span class="RegularExpression">/\/$/</span><span class="Punctuator">,</span> <span class="String">&apos;&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line semi-covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (!fs.existsSync(path)) </span><span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Identifier">console</span><span class="Dot">.</span><span class="Field">warn</span><span class="Brace">(</span><span class="String">&apos;Path &apos;</span> <span class="Punctuator">+</span> <span class="Parameter">path</span> <span class="Punctuator">+</span> <span class="String">&apos; was not found.&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Boolean">false</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"></span></span></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> }</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">path = path.replace(/^\.\//, &apos;&apos;);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Identifier">fs</span><span class="Dot">.</span><span class="Field">existsSync</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Identifier">console</span><span class="Dot">.</span><span class="Field">warn</span><span class="Brace">(</span><span class="String">&apos;Path &apos;</span> <span class="Punctuator">+</span> <span class="Parameter">path</span> <span class="Punctuator">+</span> <span class="String">&apos; was not found.&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Boolean">false</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Parameter">path</span> <span class="Punctuator">=</span> <span class="Parameter">path</span><span class="Dot">.</span><span class="Field">replace</span><span class="Brace">(</span><span class="RegularExpression">/^\.\//</span><span class="Punctuator">,</span> <span class="String">&apos;&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line semi-covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_43)</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> return this.exclude.every(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">e</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Punctuator">!</span><span class="Parameter">e</span><span class="Dot">.</span><span class="Field">match</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">exclude</span><span class="Dot">.</span><span class="Field">every</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">e</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Punctuator">!</span><span class="Parameter">e</span><span class="Dot">.</span><span class="Field">match</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * Checks if specified path is not present in `exclude` list and it has one of</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * acceptable extensions.</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> *</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @param {String} path</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @returns {Boolean} False if the path either has unacceptable extension or</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * is present in `exclude` list. True if everything is ok.</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function shouldProcessFile</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.shouldProcessFile = </span><span class="Keyword">function</span> <span class="FunctionName">shouldProcessFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Line">// Get file&apos;s extension:</span><br/> <span class="Keyword">var</span> <span class="Variable">syntax</span> <span class="Punctuator">=</span> <span class="Parameter">path</span><span class="Dot">.</span><span class="Field">split</span><span class="Brace">(</span><span class="String">&apos;.&apos;</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">pop</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Line">// Check if syntax is supported. If not, ignore the file:</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">supportedSyntaxes</span><span class="Dot">.</span><span class="Field">has</span><span class="Brace">(</span><span class="Variable">syntax</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Keyword">return</span> <span class="Boolean">false</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">shouldProcess</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">shouldProcessFile</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">shouldProcessFile</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Line">// Get file&apos;s extension:</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">syntax</span> <span class="Punctuator">=</span> <span class="Parameter">path</span><span class="Dot">.</span><span class="Field">split</span><span class="Brace">(</span><span class="String">&apos;.&apos;</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">pop</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Line">// Check if syntax is supported. If not, ignore the file:</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Positive was executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (!this.supportedSyntaxes.has(syntax)) </span><span class="Keyword">return</span> <span class="Boolean">false</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (!this.supportedSyntaxes.has(syntax)) return false;</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">return this.shouldProcess(path);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">supportedSyntaxes</span><span class="Dot">.</span><span class="Field">has</span><span class="Brace">(</span><span class="Variable">syntax</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Keyword">return</span> <span class="Boolean">false</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">shouldProcess</span><span class="Brace">(</span><span class="Parameter">path</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * Add a plugin.</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @param {Object} options</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @return {Comb}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function use</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> Comb.prototype.use = </span><span class="Keyword">function</span> <span class="FunctionName">use</span><span class="Brace">(</span><span class="Parameter">options</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Line">// Check whether plugin with the same is already used.</span><br/> <span class="Keyword">var</span> <span class="Variable">pluginName</span> <span class="Punctuator">=</span> <span class="Parameter">options</span><span class="Dot">.</span><span class="Field">name</span><span class="Punctuator">;</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginAlreadyUsed</span><span class="Brace">(</span><span class="Variable">pluginName</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">verbose</span><span class="Brace">)</span> <span class="Identifier">console</span><span class="Dot">.</span><span class="Field">warn</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">twoPluginsWithSameName</span><span class="Brace">(</span><span class="Variable">pluginName</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/><br/> <span class="Keyword">var</span> <span class="Variable">plugin</span> <span class="Punctuator">=</span> <span class="Keyword">new</span> <span class="Identifier">Plugin</span><span class="Brace">(</span><span class="Parameter">options</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Variable">plugin</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Dot">.</span><span class="Field">forEach</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">s</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">supportedSyntaxes</span><span class="Dot">.</span><span class="Field">add</span><span class="Brace">(</span><span class="Parameter">s</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Punctuator">,</span> <span class="Keyword">this</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Line">// Sort plugins.</span><br/> <span class="Keyword">var</span> <span class="Variable">pluginToRunBefore</span> <span class="Punctuator">=</span> <span class="Variable">plugin</span><span class="Dot">.</span><span class="Field">runBefore</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Variable">pluginToRunBefore</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="Variable">plugin</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span> <span class="Keyword">else</span> <span class="Brace">{</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginAlreadyUsed</span><span class="Brace">(</span><span class="Variable">pluginToRunBefore</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">var</span> <span class="Variable">i</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginIndex</span><span class="Brace">(</span><span class="Variable">pluginToRunBefore</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">splice</span><span class="Brace">(</span><span class="Variable">i</span><span class="Punctuator">,</span> <span class="Numeric">0</span><span class="Punctuator">,</span> <span class="Variable">plugin</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span> <span class="Keyword">else</span> <span class="Brace">{</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="Variable">plugin</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginsDependencies</span><span class="Brace">[</span><span class="Variable">pluginToRunBefore</span><span class="Brace">]</span><span class="Brace">)</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginsDependencies</span><span class="Brace">[</span><span class="Variable">pluginToRunBefore</span><span class="Brace">]</span> <span class="Punctuator">=</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginsDependencies</span><span class="Brace">[</span><span class="Variable">pluginToRunBefore</span><span class="Brace">]</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="Variable">pluginName</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/> <span class="Brace">}</span><br/><br/> <span class="Keyword">var</span> <span class="Variable">dependents</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginsDependencies</span><span class="Brace">[</span><span class="Variable">pluginName</span><span class="Brace">]</span><span class="Punctuator">;</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Variable">dependents</span><span class="Brace">)</span> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">for</span> <span class="Brace">(</span><span class="Keyword">var</span> <span class="Variable">i</span> <span class="Punctuator">=</span> <span class="Numeric">0</span><span class="Punctuator">,</span> <span class="Variable">l</span> <span class="Punctuator">=</span> <span class="Variable">dependents</span><span class="Dot">.</span><span class="Field">length</span><span class="Punctuator">;</span> <span class="Variable">i</span> <span class="Punctuator">&lt;</span> <span class="Variable">l</span><span class="Punctuator">;</span> <span class="Variable">i</span><span class="Punctuator">++</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">var</span> <span class="Variable">_name2</span> <span class="Punctuator">=</span> <span class="Variable">dependents</span><span class="Brace">[</span><span class="Variable">i</span><span class="Brace">]</span><span class="Punctuator">;</span><br/> <span class="Keyword">var</span> <span class="Variable">x</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginIndex</span><span class="Brace">(</span><span class="Variable">_name2</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">var</span> <span class="Variable">_plugin</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Brace">[</span><span class="Variable">x</span><span class="Brace">]</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">splice</span><span class="Brace">(</span><span class="Variable">x</span><span class="Punctuator">,</span> <span class="Numeric">1</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">splice</span><span class="Brace">(</span><span class="Punctuator">-</span><span class="Numeric">1</span><span class="Punctuator">,</span> <span class="Numeric">0</span><span class="Punctuator">,</span> <span class="Variable">_plugin</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/><br/> <span class="Line">// Chaining.</span><br/> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="FunctionName">Comb</span><span class="Dot">.</span><span class="Field">prototype</span><span class="Dot">.</span><span class="Field">use</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">use</span><span class="Brace">(</span><span class="Parameter">options</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Line">// Check whether plugin with the same is already used.</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">pluginName</span> <span class="Punctuator">=</span> <span class="Parameter">options</span><span class="Dot">.</span><span class="Field">name</span><span class="Punctuator">;</span></span></div></div><div class="line semi-covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (this.pluginAlreadyUsed(pluginName)) </span><span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">verbose</span><span class="Brace">)</span> <span class="Identifier">console</span><span class="Dot">.</span><span class="Field">warn</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">twoPluginsWithSameName</span><span class="Brace">(</span><span class="Variable">pluginName</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"></span></span></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> }</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">var plugin = new Plugin(options);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginAlreadyUsed</span><span class="Brace">(</span><span class="Variable">pluginName</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (this.verbose) </span><span class="Identifier">console</span><span class="Dot">.</span><span class="Field">warn</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">twoPluginsWithSameName</span><span class="Brace">(</span><span class="Variable">pluginName</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (this.verbose) console.warn(Errors.twoPluginsWithSameName(pluginName));</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Rest">return;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">verbose</span><span class="Brace">)</span> <span class="Identifier">console</span><span class="Dot">.</span><span class="Field">warn</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">twoPluginsWithSameName</span><span class="Brace">(</span><span class="Variable">pluginName</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">plugin</span> <span class="Punctuator">=</span> <span class="Keyword">new</span> <span class="Identifier">Plugin</span><span class="Brace">(</span><span class="Parameter">options</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_46)</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> plugin.syntax.forEach(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">s</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">supportedSyntaxes</span><span class="Dot">.</span><span class="Field">add</span><span class="Brace">(</span><span class="Parameter">s</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">, this);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Variable">plugin</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Dot">.</span><span class="Field">forEach</span><span class="Brace">(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">s</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">supportedSyntaxes</span><span class="Dot">.</span><span class="Field">add</span><span class="Brace">(</span><span class="Parameter">s</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">,</span> <span class="Keyword">this</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Line">// Sort plugins.</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">pluginToRunBefore</span> <span class="Punctuator">=</span> <span class="Variable">plugin</span><span class="Dot">.</span><span class="Field">runBefore</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line semi-covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Positive was executed (if)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (!pluginToRunBefore) </span><span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="Variable">plugin</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"> else {</span></span></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> } else </span><span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginAlreadyUsed</span><span class="Brace">(</span><span class="Variable">pluginToRunBefore</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">var</span> <span class="Variable">i</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginIndex</span><span class="Brace">(</span><span class="Variable">pluginToRunBefore</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">splice</span><span class="Brace">(</span><span class="Variable">i</span><span class="Punctuator">,</span> <span class="Numeric">0</span><span class="Punctuator">,</span> <span class="Variable">plugin</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span> <span class="Keyword">else</span> <span class="Brace">{</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="Variable">plugin</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginsDependencies</span><span class="Brace">[</span><span class="Variable">pluginToRunBefore</span><span class="Brace">]</span><span class="Brace">)</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginsDependencies</span><span class="Brace">[</span><span class="Variable">pluginToRunBefore</span><span class="Brace">]</span> <span class="Punctuator">=</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginsDependencies</span><span class="Brace">[</span><span class="Variable">pluginToRunBefore</span><span class="Brace">]</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="Variable">pluginName</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/> <span class="Brace">}</span><span class="Rest"></span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Variable">pluginToRunBefore</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="Variable">plugin</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span> <span class="Keyword">else</span> <span class="Brace">{</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (this.pluginAlreadyUsed(pluginToRunBefore)) </span><span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">var</span> <span class="Variable">i</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginIndex</span><span class="Brace">(</span><span class="Variable">pluginToRunBefore</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">splice</span><span class="Brace">(</span><span class="Variable">i</span><span class="Punctuator">,</span> <span class="Numeric">0</span><span class="Punctuator">,</span> <span class="Variable">plugin</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"> else {</span></span></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> } else </span><span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="Variable">plugin</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginsDependencies</span><span class="Brace">[</span><span class="Variable">pluginToRunBefore</span><span class="Brace">]</span><span class="Brace">)</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginsDependencies</span><span class="Brace">[</span><span class="Variable">pluginToRunBefore</span><span class="Brace">]</span> <span class="Punctuator">=</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginsDependencies</span><span class="Brace">[</span><span class="Variable">pluginToRunBefore</span><span class="Brace">]</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="Variable">pluginName</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"></span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginAlreadyUsed</span><span class="Brace">(</span><span class="Variable">pluginToRunBefore</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">i</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginIndex</span><span class="Brace">(</span><span class="Variable">pluginToRunBefore</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">splice</span><span class="Brace">(</span><span class="Variable">i</span><span class="Punctuator">,</span> <span class="Numeric">0</span><span class="Punctuator">,</span> <span class="Variable">plugin</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span> <span class="Keyword">else</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="Variable">plugin</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (!this.pluginsDependencies[pluginToRunBefore]) </span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginsDependencies</span><span class="Brace">[</span><span class="Variable">pluginToRunBefore</span><span class="Brace">]</span> <span class="Punctuator">=</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (!this.pluginsDependencies[pluginToRunBefore]) this.pluginsDependencies[pluginToRunBefore] = [];</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Rest">this.pluginsDependencies[pluginToRunBefore].push(pluginName);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginsDependencies</span><span class="Brace">[</span><span class="Variable">pluginToRunBefore</span><span class="Brace">]</span><span class="Brace">)</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginsDependencies</span><span class="Brace">[</span><span class="Variable">pluginToRunBefore</span><span class="Brace">]</span> <span class="Punctuator">=</span> <span class="Brace">[</span><span class="Brace">]</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginsDependencies</span><span class="Brace">[</span><span class="Variable">pluginToRunBefore</span><span class="Brace">]</span><span class="Dot">.</span><span class="Field">push</span><span class="Brace">(</span><span class="Variable">pluginName</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">dependents</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginsDependencies</span><span class="Brace">[</span><span class="Variable">pluginName</span><span class="Brace">]</span><span class="Punctuator">;</span></span></div></div><div class="line semi-covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Positive was executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (!dependents) </span><span class="Keyword">return</span> <span class="Keyword">this</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (!dependents) return this;</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">for (var i = 0, l = dependents.length; i &lt; l; i++) {</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Variable">dependents</span><span class="Brace">)</span> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">for</span> <span class="Brace">(</span><span class="Keyword">var</span> <span class="Variable">i</span> <span class="Punctuator">=</span> <span class="Numeric">0</span><span class="Punctuator">,</span> <span class="Variable">l</span> <span class="Punctuator">=</span> <span class="Variable">dependents</span><span class="Dot">.</span><span class="Field">length</span><span class="Punctuator">;</span> <span class="Variable">i</span> <span class="Punctuator">&lt;</span> <span class="Variable">l</span><span class="Punctuator">;</span> <span class="Variable">i</span><span class="Punctuator">++</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">_name2</span> <span class="Punctuator">=</span> <span class="Variable">dependents</span><span class="Brace">[</span><span class="Variable">i</span><span class="Brace">]</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">x</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">pluginIndex</span><span class="Brace">(</span><span class="Variable">_name2</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">_plugin</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Brace">[</span><span class="Variable">x</span><span class="Brace">]</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">splice</span><span class="Brace">(</span><span class="Variable">x</span><span class="Punctuator">,</span> <span class="Numeric">1</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">plugins</span><span class="Dot">.</span><span class="Field">splice</span><span class="Brace">(</span><span class="Punctuator">-</span><span class="Numeric">1</span><span class="Punctuator">,</span> <span class="Numeric">0</span><span class="Punctuator">,</span> <span class="Variable">_plugin</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Line">// Chaining.</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="FunctionName">Comb</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Brace">}</span><span class="Brace">)</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Identifier">module</span><span class="Dot">.</span><span class="Field">exports</span> <span class="Punctuator">=</span> <span class="Identifier">Comb</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Line">// TODO: throw error</span></span></div></div></div><div id="lib_errors_js" class="source-file"><div class="source-file-info"><div class="source-file-name">errors.js</div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="String">&apos;use strict&apos;</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Keyword">var</span> <span class="Variable">format</span> <span class="Punctuator">=</span> <span class="Identifier">require</span><span class="Brace">(</span><span class="String">&apos;./format&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Identifier">module</span><span class="Dot">.</span><span class="Field">exports</span> <span class="Punctuator">=</span> <span class="Brace">{</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function implementSetValue</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> implementSetValue: </span><span class="Keyword">function</span> <span class="FunctionName">implementSetValue</span><span class="Brace">(</span><span class="Parameter">valueType</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">typeof</span> <span class="Parameter">valueType</span> <span class="Punctuator">===</span> <span class="String">&apos;undefined&apos;</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">return</span> <span class="Identifier">format</span><span class="Brace">(</span><span class="String">&apos;If you see this message and you are not\n a developer adding a new option, please open an issue here:\n https://github.com/csscomb/core/issues/new\n\n For option to accept values of type &quot;&apos;</span> <span class="Punctuator">+</span> <span class="Parameter">valueType</span> <span class="Punctuator">+</span> <span class="String">&apos;&quot;\n you need to implement custom `setValue()` method.&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">,</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">implementSetValue</span><span class="Punctuator">:</span> <span class="Keyword">function</span> <span class="FunctionName">implementSetValue</span><span class="Brace">(</span><span class="Parameter">valueType</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Positive was executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (typeof valueType === &apos;undefined&apos;) </span><span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (typeof valueType === &apos;undefined&apos;) throw new Error();</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">return format(&apos;If you see this message and you are not\n a developer adding a new option, please open an issue here:\n https://github.com/csscomb/core/issues/new\n\n For option to accept values of type &quot;&apos; + valueType + &apos;&quot;\n you need to implement custom `setValue()` method.&apos;);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">typeof</span> <span class="Parameter">valueType</span> <span class="Punctuator">===</span> <span class="String">&apos;undefined&apos;</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Identifier">format</span><span class="Brace">(</span><span class="String">&apos;If you see this message and you are not\n a developer adding a new option, please open an issue here:\n https://github.com/csscomb/core/issues/new\n\n For option to accept values of type &quot;&apos;</span> <span class="Punctuator">+</span> <span class="Parameter">valueType</span> <span class="Punctuator">+</span> <span class="String">&apos;&quot;\n you need to implement custom `setValue()` method.&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">,</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function missingName</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> missingName: </span><span class="Keyword">function</span> <span class="FunctionName">missingName</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="String">&apos;Plugin must have a valid `name` property.&apos;</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">,</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">missingName</span><span class="Punctuator">:</span> <span class="Keyword">function</span> <span class="FunctionName">missingName</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="String">&apos;Plugin must have a valid `name` property.&apos;</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">,</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function missingSetValue</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> missingSetValue: </span><span class="Keyword">function</span> <span class="FunctionName">missingSetValue</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Identifier">format</span><span class="Brace">(</span><span class="String">&apos;Plugin must either implemet `setValue()` method\n or provide `accepts` object with acceptable values.&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">,</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">missingSetValue</span><span class="Punctuator">:</span> <span class="Keyword">function</span> <span class="FunctionName">missingSetValue</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Identifier">format</span><span class="Brace">(</span><span class="String">&apos;Plugin must either implemet `setValue()` method\n or provide `accepts` object with acceptable values.&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">,</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function missingSyntax</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> missingSyntax: </span><span class="Keyword">function</span> <span class="FunctionName">missingSyntax</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="String">&apos;Plugin must list supported syntaxes.&apos;</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">,</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">missingSyntax</span><span class="Punctuator">:</span> <span class="Keyword">function</span> <span class="FunctionName">missingSyntax</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="String">&apos;Plugin must list supported syntaxes.&apos;</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">,</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function twoPluginsWithSameName</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> twoPluginsWithSameName: </span><span class="Keyword">function</span> <span class="FunctionName">twoPluginsWithSameName</span><span class="Brace">(</span><span class="Parameter">pluginName</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">typeof</span> <span class="Parameter">pluginName</span> <span class="Punctuator">===</span> <span class="String">&apos;undefined&apos;</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">return</span> <span class="Identifier">format</span><span class="Brace">(</span><span class="String">&apos;You\&apos;re trying to use one plugin twice:\n &apos;</span> <span class="Punctuator">+</span> <span class="Parameter">pluginName</span> <span class="Punctuator">+</span> <span class="String">&apos;. Please make sure there are not two different\n plugins with the same name.&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">,</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">twoPluginsWithSameName</span><span class="Punctuator">:</span> <span class="Keyword">function</span> <span class="FunctionName">twoPluginsWithSameName</span><span class="Brace">(</span><span class="Parameter">pluginName</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Positive was executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (typeof pluginName === &apos;undefined&apos;) </span><span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (typeof pluginName === &apos;undefined&apos;) throw new Error();</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">return format(&apos;You\&apos;re trying to use one plugin twice:\n &apos; + pluginName + &apos;. Please make sure there are not two different\n plugins with the same name.&apos;);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">typeof</span> <span class="Parameter">pluginName</span> <span class="Punctuator">===</span> <span class="String">&apos;undefined&apos;</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Identifier">format</span><span class="Brace">(</span><span class="String">&apos;You\&apos;re trying to use one plugin twice:\n &apos;</span> <span class="Punctuator">+</span> <span class="Parameter">pluginName</span> <span class="Punctuator">+</span> <span class="String">&apos;. Please make sure there are not two different\n plugins with the same name.&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">,</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function unacceptableBoolean</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> unacceptableBoolean: </span><span class="Keyword">function</span> <span class="FunctionName">unacceptableBoolean</span><span class="Brace">(</span><span class="Parameter">pattern</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">typeof</span> <span class="Parameter">pattern</span> <span class="Punctuator">===</span> <span class="String">&apos;undefined&apos;</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">return</span> <span class="String">&apos;Value must be one of the following: &apos;</span> <span class="Punctuator">+</span> <span class="Parameter">pattern</span><span class="Dot">.</span><span class="Field">join</span><span class="Brace">(</span><span class="String">&apos;, &apos;</span><span class="Brace">)</span> <span class="Punctuator">+</span> <span class="String">&apos;.&apos;</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">,</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">unacceptableBoolean</span><span class="Punctuator">:</span> <span class="Keyword">function</span> <span class="FunctionName">unacceptableBoolean</span><span class="Brace">(</span><span class="Parameter">pattern</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Positive was executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (typeof pattern === &apos;undefined&apos;) </span><span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (typeof pattern === &apos;undefined&apos;) throw new Error();</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">return &apos;Value must be one of the following: &apos; + pattern.join(&apos;, &apos;) + &apos;.&apos;;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">typeof</span> <span class="Parameter">pattern</span> <span class="Punctuator">===</span> <span class="String">&apos;undefined&apos;</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="String">&apos;Value must be one of the following: &apos;</span> <span class="Punctuator">+</span> <span class="Parameter">pattern</span><span class="Dot">.</span><span class="Field">join</span><span class="Brace">(</span><span class="String">&apos;, &apos;</span><span class="Brace">)</span> <span class="Punctuator">+</span> <span class="String">&apos;.&apos;</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">,</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function unacceptableNumber</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> unacceptableNumber: </span><span class="Keyword">function</span> <span class="FunctionName">unacceptableNumber</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="String">&apos;Value must be an integer.&apos;</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">,</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">unacceptableNumber</span><span class="Punctuator">:</span> <span class="Keyword">function</span> <span class="FunctionName">unacceptableNumber</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="String">&apos;Value must be an integer.&apos;</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">,</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function unacceptableString</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> unacceptableString: </span><span class="Keyword">function</span> <span class="FunctionName">unacceptableString</span><span class="Brace">(</span><span class="Parameter">pattern</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">typeof</span> <span class="Parameter">pattern</span> <span class="Punctuator">===</span> <span class="String">&apos;undefined&apos;</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">return</span> <span class="String">&apos;Value must match pattern &apos;</span> <span class="Punctuator">+</span> <span class="Parameter">pattern</span> <span class="Punctuator">+</span> <span class="String">&apos;.&apos;</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">,</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">unacceptableString</span><span class="Punctuator">:</span> <span class="Keyword">function</span> <span class="FunctionName">unacceptableString</span><span class="Brace">(</span><span class="Parameter">pattern</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Positive was executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (typeof pattern === &apos;undefined&apos;) </span><span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (typeof pattern === &apos;undefined&apos;) throw new Error();</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">return &apos;Value must match pattern &apos; + pattern + &apos;.&apos;;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">typeof</span> <span class="Parameter">pattern</span> <span class="Punctuator">===</span> <span class="String">&apos;undefined&apos;</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="String">&apos;Value must match pattern &apos;</span> <span class="Punctuator">+</span> <span class="Parameter">pattern</span> <span class="Punctuator">+</span> <span class="String">&apos;.&apos;</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">,</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function unacceptableValueType</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> unacceptableValueType: </span><span class="Keyword">function</span> <span class="FunctionName">unacceptableValueType</span><span class="Brace">(</span><span class="Parameter">valueType</span><span class="Punctuator">,</span> <span class="Parameter">accepts</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">typeof</span> <span class="Parameter">valueType</span> <span class="Punctuator">===</span> <span class="String">&apos;undefined&apos;</span> <span class="Punctuator">||</span> <span class="Keyword">typeof</span> <span class="Parameter">accepts</span> <span class="Punctuator">===</span> <span class="String">&apos;undefined&apos;</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">return</span> <span class="Identifier">format</span><span class="Brace">(</span><span class="String">&apos;The option does not accept values of type\n &apos;</span> <span class="Punctuator">+</span> <span class="Parameter">valueType</span> <span class="Punctuator">+</span> <span class="String">&apos;.\nValue\&apos;s type must be one the following:\n &apos;</span> <span class="Punctuator">+</span> <span class="Identifier">Object</span><span class="Dot">.</span><span class="Field">keys</span><span class="Brace">(</span><span class="Parameter">accepts</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">join</span><span class="Brace">(</span><span class="String">&apos;, &apos;</span><span class="Brace">)</span> <span class="Punctuator">+</span> <span class="String">&apos;.&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"></span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">unacceptableValueType</span><span class="Punctuator">:</span> <span class="Keyword">function</span> <span class="FunctionName">unacceptableValueType</span><span class="Brace">(</span><span class="Parameter">valueType</span><span class="Punctuator">,</span> <span class="Parameter">accepts</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Positive was executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (typeof valueType === &apos;undefined&apos; || typeof accepts === &apos;undefined&apos;) </span><span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Negative was executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (typeof valueType === &apos;undefined&apos; || typeof accepts === &apos;undefined&apos;) throw new Error();</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">return format(&apos;The option does not accept values of type\n &apos; + valueType + &apos;.\nValue\&apos;s type must be one the following:\n &apos; + Object.keys(accepts).join(&apos;, &apos;) + &apos;.&apos;);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr><tr><th colspan="2" class="info-title">Branch LogicalExpression</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (typeof valueType === &apos;undefined&apos; || </span><span class="Keyword">typeof</span> <span class="Parameter">accepts</span> <span class="Punctuator">===</span> <span class="String">&apos;undefined&apos;</span><span class="Rest">) throw new Error();</span></div></td></tr><tr><td class="info-branch-title info-branch-covered">✓ Was returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (</span><span class="Keyword">typeof</span> <span class="Parameter">valueType</span> <span class="Punctuator">===</span> <span class="String">&apos;undefined&apos;</span><span class="Rest"> || typeof accepts === &apos;undefined&apos;) throw new Error();</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">typeof</span> <span class="Parameter">valueType</span> <span class="Punctuator">===</span> <span class="String">&apos;undefined&apos;</span> <span class="Punctuator">||</span> <span class="Keyword">typeof</span> <span class="Parameter">accepts</span> <span class="Punctuator">===</span> <span class="String">&apos;undefined&apos;</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Identifier">format</span><span class="Brace">(</span><span class="String">&apos;The option does not accept values of type\n &apos;</span> <span class="Punctuator">+</span> <span class="Parameter">valueType</span> <span class="Punctuator">+</span> <span class="String">&apos;.\nValue\&apos;s type must be one the following:\n &apos;</span> <span class="Punctuator">+</span> <span class="Identifier">Object</span><span class="Dot">.</span><span class="Field">keys</span><span class="Brace">(</span><span class="Parameter">accepts</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">join</span><span class="Brace">(</span><span class="String">&apos;, &apos;</span><span class="Brace">)</span> <span class="Punctuator">+</span> <span class="String">&apos;.&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Brace">}</span><span class="Punctuator">;</span></span></div></div></div><div id="lib_format_js" class="source-file"><div class="source-file-info"><div class="source-file-name">format.js</div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="String">&apos;use strict&apos;</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line covered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_56)</th></tr><tr><td class="info-branch-title info-branch-covered">✓ Was called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest">module.exports = </span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">string</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Parameter">string</span><span class="Dot">.</span><span class="Field">replace</span><span class="Brace">(</span><span class="RegularExpression">/\n\s*/gm</span><span class="Punctuator">,</span> <span class="String">&apos; &apos;</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"><span class="Identifier">module</span><span class="Dot">.</span><span class="Field">exports</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">string</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line covered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Parameter">string</span><span class="Dot">.</span><span class="Field">replace</span><span class="Brace">(</span><span class="RegularExpression">/\n\s*/gm</span><span class="Punctuator">,</span> <span class="String">&apos; &apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Brace">}</span><span class="Punctuator">;</span></span></div></div></div><div id="lib_plugin_js" class="source-file"><div class="source-file-info"><div class="source-file-name">plugin.js</div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="String">&apos;use strict&apos;</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Keyword">var</span> <span class="Variable">Errors</span> <span class="Punctuator">=</span> <span class="Identifier">require</span><span class="Brace">(</span><span class="String">&apos;./errors&apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function Plugin</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest">var Plugin = </span><span class="Keyword">function</span> <span class="FunctionName">Plugin</span><span class="Brace">(</span><span class="Parameter">methods</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">for</span> <span class="Brace">(</span><span class="Keyword">var</span> <span class="Variable">method</span> <span class="Keyword">in</span> <span class="Parameter">methods</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">this</span><span class="Brace">[</span><span class="Variable">method</span><span class="Brace">]</span> <span class="Punctuator">=</span> <span class="Keyword">typeof</span> <span class="Variable">method</span> <span class="Punctuator">===</span> <span class="String">&apos;function&apos;</span> <span class="Punctuator">?</span> <span class="Parameter">methods</span><span class="Brace">[</span><span class="Variable">method</span><span class="Brace">]</span><span class="Dot">.</span><span class="Field">bind</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Brace">)</span> <span class="Punctuator">:</span> <span class="Parameter">methods</span><span class="Brace">[</span><span class="Variable">method</span><span class="Brace">]</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">validate</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><span class="Brace">}</span><span class="Rest">;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"><span class="Keyword">var</span> <span class="Variable">Plugin</span> <span class="Punctuator">=</span> <span class="Keyword">function</span> <span class="FunctionName">Plugin</span><span class="Brace">(</span><span class="Parameter">methods</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">for</span> <span class="Brace">(</span><span class="Keyword">var</span> <span class="Variable">method</span> <span class="Keyword">in</span> <span class="Parameter">methods</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch ConditionalExpression</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not returned (? ...)</td><td class="info-branch-code"><div class="code"><span class="Rest"> this[method] = typeof method === &apos;function&apos; ? </span><span class="Parameter">methods</span><span class="Brace">[</span><span class="Variable">method</span><span class="Brace">]</span><span class="Dot">.</span><span class="Field">bind</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Brace">)</span><span class="Rest"> : methods[method];</span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not returned (: ...)</td><td class="info-branch-code"><div class="code"><span class="Rest"> this[method] = typeof method === &apos;function&apos; ? methods[method].bind(this) : </span><span class="Parameter">methods</span><span class="Brace">[</span><span class="Variable">method</span><span class="Brace">]</span><span class="Rest">;</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Brace">[</span><span class="Variable">method</span><span class="Brace">]</span> <span class="Punctuator">=</span> <span class="Keyword">typeof</span> <span class="Variable">method</span> <span class="Punctuator">===</span> <span class="String">&apos;function&apos;</span> <span class="Punctuator">?</span> <span class="Parameter">methods</span><span class="Brace">[</span><span class="Variable">method</span><span class="Brace">]</span><span class="Dot">.</span><span class="Field">bind</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Brace">)</span> <span class="Punctuator">:</span> <span class="Parameter">methods</span><span class="Brace">[</span><span class="Variable">method</span><span class="Brace">]</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">validate</span><span class="Brace">(</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Brace">}</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Identifier">Plugin</span><span class="Dot">.</span><span class="Field">prototype</span> <span class="Punctuator">=</span> <span class="Identifier">Object</span><span class="Dot">.</span><span class="Field">defineProperties</span><span class="Brace">(</span><span class="Brace">{</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * Plugin&apos;s name.</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @type {String}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">name</span><span class="Punctuator">:</span> <span class="Null">null</span><span class="Punctuator">,</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * List of supported syntaxes.</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @type {Array}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">syntax</span><span class="Punctuator">:</span> <span class="Null">null</span><span class="Punctuator">,</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @type {Object}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">accepts</span><span class="Punctuator">:</span> <span class="Null">null</span><span class="Punctuator">,</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @type {Function}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">process</span><span class="Punctuator">:</span> <span class="Null">null</span><span class="Punctuator">,</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Block">/**</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> * @type {Function}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Block"> */</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">lint</span><span class="Punctuator">:</span> <span class="Null">null</span><span class="Punctuator">,</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">value_</span><span class="Punctuator">:</span> <span class="Null">null</span><span class="Punctuator">,</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function validate</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> validate: </span><span class="Keyword">function</span> <span class="FunctionName">validate</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">typeof</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">name</span> <span class="Punctuator">!==</span> <span class="String">&apos;string&apos;</span> <span class="Punctuator">||</span> <span class="Punctuator">!</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">name</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">missingName</span><span class="Brace">(</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Identifier">Array</span><span class="Dot">.</span><span class="Field">isArray</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Brace">)</span> <span class="Punctuator">||</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Dot">.</span><span class="Field">length</span> <span class="Punctuator">===</span> <span class="Numeric">0</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">missingSyntax</span><span class="Brace">(</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">typeof</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">accepts</span> <span class="Punctuator">!==</span> <span class="String">&apos;object&apos;</span> <span class="Punctuator">&amp;&amp;</span> <span class="Keyword">typeof</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">setValue</span> <span class="Punctuator">!==</span> <span class="String">&apos;function&apos;</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">missingSetValue</span><span class="Brace">(</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"></span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">validate</span><span class="Punctuator">:</span> <span class="Keyword">function</span> <span class="FunctionName">validate</span><span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (typeof this.name !== &apos;string&apos; || !this.name) </span><span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">missingName</span><span class="Brace">(</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (typeof this.name !== &apos;string&apos; || !this.name) throw new Error(Errors.missingName());</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">if (!Array.isArray(this.syntax) || this.syntax.length === 0) throw new Error(Errors.missingSyntax());</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr><tr><th colspan="2" class="info-title">Branch LogicalExpression</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (typeof this.name !== &apos;string&apos; || </span><span class="Punctuator">!</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">name</span><span class="Rest">) throw new Error(Errors.missingName());</span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (</span><span class="Keyword">typeof</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">name</span> <span class="Punctuator">!==</span> <span class="String">&apos;string&apos;</span><span class="Rest"> || !this.name) throw new Error(Errors.missingName());</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">typeof</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">name</span> <span class="Punctuator">!==</span> <span class="String">&apos;string&apos;</span> <span class="Punctuator">||</span> <span class="Punctuator">!</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">name</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">missingName</span><span class="Brace">(</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (!Array.isArray(this.syntax) || this.syntax.length === 0) </span><span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">missingSyntax</span><span class="Brace">(</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (!Array.isArray(this.syntax) || this.syntax.length === 0) throw new Error(Errors.missingSyntax());</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">if (typeof this.accepts !== &apos;object&apos; &amp;&amp; typeof this.setValue !== &apos;function&apos;) throw new Error(Errors.missingSetValue());</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr><tr><th colspan="2" class="info-title">Branch LogicalExpression</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (!Array.isArray(this.syntax) || </span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Dot">.</span><span class="Field">length</span> <span class="Punctuator">===</span> <span class="Numeric">0</span><span class="Rest">) throw new Error(Errors.missingSyntax());</span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (</span><span class="Punctuator">!</span><span class="Identifier">Array</span><span class="Dot">.</span><span class="Field">isArray</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Brace">)</span><span class="Rest"> || this.syntax.length === 0) throw new Error(Errors.missingSyntax());</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Identifier">Array</span><span class="Dot">.</span><span class="Field">isArray</span><span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Brace">)</span> <span class="Punctuator">||</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">syntax</span><span class="Dot">.</span><span class="Field">length</span> <span class="Punctuator">===</span> <span class="Numeric">0</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">missingSyntax</span><span class="Brace">(</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (typeof this.accepts !== &apos;object&apos; &amp;&amp; typeof this.setValue !== &apos;function&apos;) </span><span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">missingSetValue</span><span class="Brace">(</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (typeof this.accepts !== &apos;object&apos; &amp;&amp; typeof this.setValue !== &apos;function&apos;) throw new Error(Errors.missingSetValue());</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Rest">}</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr><tr><th colspan="2" class="info-title">Branch LogicalExpression</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (typeof this.accepts !== &apos;object&apos; &amp;&amp; </span><span class="Keyword">typeof</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">setValue</span> <span class="Punctuator">!==</span> <span class="String">&apos;function&apos;</span><span class="Rest">) throw new Error(Errors.missingSetValue());</span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (</span><span class="Keyword">typeof</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">accepts</span> <span class="Punctuator">!==</span> <span class="String">&apos;object&apos;</span><span class="Rest"> &amp;&amp; typeof this.setValue !== &apos;function&apos;) throw new Error(Errors.missingSetValue());</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">typeof</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">accepts</span> <span class="Punctuator">!==</span> <span class="String">&apos;object&apos;</span> <span class="Punctuator">&amp;&amp;</span> <span class="Keyword">typeof</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">setValue</span> <span class="Punctuator">!==</span> <span class="String">&apos;function&apos;</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">missingSetValue</span><span class="Brace">(</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Brace">}</span><span class="Punctuator">,</span> <span class="Brace">{</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">value</span><span class="Punctuator">:</span> <span class="Brace">{</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_59)</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> get: </span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">,</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">get</span><span class="Punctuator">:</span> <span class="Keyword">function</span> <span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">,</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Function (anonymous_60)</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not called</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> set: </span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">value</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">var</span> <span class="Variable">valueType</span> <span class="Punctuator">=</span> <span class="Keyword">typeof</span> <span class="Parameter">value</span><span class="Punctuator">;</span><br/> <span class="Keyword">var</span> <span class="Variable">pattern</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">accepts</span> <span class="Punctuator">&amp;&amp;</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">accepts</span><span class="Brace">[</span><span class="Variable">valueType</span><span class="Brace">]</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">setValue</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">setValue</span><span class="Brace">(</span><span class="Parameter">value</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Variable">pattern</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">unacceptableValueType</span><span class="Brace">(</span><span class="Variable">valueType</span><span class="Punctuator">,</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">accepts</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><br/><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">valueType</span> <span class="Punctuator">===</span> <span class="String">&apos;boolean&apos;</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">pattern</span><span class="Dot">.</span><span class="Field">indexOf</span><span class="Brace">(</span><span class="Parameter">value</span><span class="Brace">)</span> <span class="Punctuator">&lt;</span> <span class="Numeric">0</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">unacceptableBoolean</span><span class="Brace">(</span><span class="Variable">pattern</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span> <span class="Punctuator">=</span> <span class="Parameter">value</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">valueType</span> <span class="Punctuator">===</span> <span class="String">&apos;number&apos;</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">value</span> <span class="Punctuator">!==</span> <span class="Identifier">parseInt</span><span class="Brace">(</span><span class="Parameter">value</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">unacceptableNumber</span><span class="Brace">(</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span> <span class="Punctuator">=</span> <span class="Keyword">new</span> <span class="Identifier">Array</span><span class="Brace">(</span><span class="Parameter">value</span> <span class="Punctuator">+</span> <span class="Numeric">1</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">join</span><span class="Brace">(</span><span class="String">&apos; &apos;</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">valueType</span> <span class="Punctuator">=</span> <span class="String">&apos;string&apos;</span><span class="Brace">)</span> <span class="Brace">{</span><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Parameter">value</span><span class="Dot">.</span><span class="Field">match</span><span class="Brace">(</span><span class="Variable">pattern</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">unacceptableString</span><span class="Brace">(</span><span class="Variable">pattern</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span> <span class="Punctuator">=</span> <span class="Parameter">value</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><br/><br/> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">implementSetValue</span><span class="Brace">(</span><span class="Variable">valueType</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest">,</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">set</span><span class="Punctuator">:</span> <span class="Keyword">function</span> <span class="Brace">(</span><span class="Parameter">value</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">valueType</span> <span class="Punctuator">=</span> <span class="Keyword">typeof</span> <span class="Parameter">value</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch LogicalExpression</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> var pattern = this.accepts &amp;&amp; </span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">accepts</span><span class="Brace">[</span><span class="Variable">valueType</span><span class="Brace">]</span><span class="Rest">;</span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Was not returned</td><td class="info-branch-code"><div class="code"><span class="Rest"> var pattern = </span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">accepts</span><span class="Rest"> &amp;&amp; this.accepts[valueType];</span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">var</span> <span class="Variable">pattern</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">accepts</span> <span class="Punctuator">&amp;&amp;</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">accepts</span><span class="Brace">[</span><span class="Variable">valueType</span><span class="Brace">]</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (this.setValue) </span><span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">setValue</span><span class="Brace">(</span><span class="Parameter">value</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"></span></span></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> }</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">if (!pattern) throw new Error(Errors.unacceptableValueType(valueType, this.accepts));</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Keyword">this</span><span class="Dot">.</span><span class="Field">setValue</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span> <span class="Punctuator">=</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">setValue</span><span class="Brace">(</span><span class="Parameter">value</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (!pattern) </span><span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">unacceptableValueType</span><span class="Brace">(</span><span class="Variable">valueType</span><span class="Punctuator">,</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">accepts</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (!pattern) throw new Error(Errors.unacceptableValueType(valueType, this.accepts));</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">if (valueType === &apos;boolean&apos;) {</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Variable">pattern</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">unacceptableValueType</span><span class="Brace">(</span><span class="Variable">valueType</span><span class="Punctuator">,</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">accepts</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (valueType === &apos;boolean&apos;) </span><span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">pattern</span><span class="Dot">.</span><span class="Field">indexOf</span><span class="Brace">(</span><span class="Parameter">value</span><span class="Brace">)</span> <span class="Punctuator">&lt;</span> <span class="Numeric">0</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">unacceptableBoolean</span><span class="Brace">(</span><span class="Variable">pattern</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span> <span class="Punctuator">=</span> <span class="Parameter">value</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"></span></span></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> }</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">if (valueType === &apos;number&apos;) {</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">valueType</span> <span class="Punctuator">===</span> <span class="String">&apos;boolean&apos;</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (pattern.indexOf(value) &lt; 0) </span><span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">unacceptableBoolean</span><span class="Brace">(</span><span class="Variable">pattern</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (pattern.indexOf(value) &lt; 0) throw new Error(Errors.unacceptableBoolean(pattern));</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Rest">this.value_ = value;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">pattern</span><span class="Dot">.</span><span class="Field">indexOf</span><span class="Brace">(</span><span class="Parameter">value</span><span class="Brace">)</span> <span class="Punctuator">&lt;</span> <span class="Numeric">0</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">unacceptableBoolean</span><span class="Brace">(</span><span class="Variable">pattern</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span> <span class="Punctuator">=</span> <span class="Parameter">value</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (valueType === &apos;number&apos;) </span><span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">value</span> <span class="Punctuator">!==</span> <span class="Identifier">parseInt</span><span class="Brace">(</span><span class="Parameter">value</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">unacceptableNumber</span><span class="Brace">(</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span> <span class="Punctuator">=</span> <span class="Keyword">new</span> <span class="Identifier">Array</span><span class="Brace">(</span><span class="Parameter">value</span> <span class="Punctuator">+</span> <span class="Numeric">1</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">join</span><span class="Brace">(</span><span class="String">&apos; &apos;</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"></span></span></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> }</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">if (valueType = &apos;string&apos;) {</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">valueType</span> <span class="Punctuator">===</span> <span class="String">&apos;number&apos;</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (value !== parseInt(value)) </span><span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">unacceptableNumber</span><span class="Brace">(</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (value !== parseInt(value)) throw new Error(Errors.unacceptableNumber());</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Rest">this.value_ = new Array(value + 1).join(&apos; &apos;);</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Parameter">value</span> <span class="Punctuator">!==</span> <span class="Identifier">parseInt</span><span class="Brace">(</span><span class="Parameter">value</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">unacceptableNumber</span><span class="Brace">(</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span> <span class="Punctuator">=</span> <span class="Keyword">new</span> <span class="Identifier">Array</span><span class="Brace">(</span><span class="Parameter">value</span> <span class="Punctuator">+</span> <span class="Numeric">1</span><span class="Brace">)</span><span class="Dot">.</span><span class="Field">join</span><span class="Brace">(</span><span class="String">&apos; &apos;</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (valueType = &apos;string&apos;) </span><span class="Brace">{</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Parameter">value</span><span class="Dot">.</span><span class="Field">match</span><span class="Brace">(</span><span class="Variable">pattern</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">unacceptableString</span><span class="Brace">(</span><span class="Variable">pattern</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><br/> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span> <span class="Punctuator">=</span> <span class="Parameter">value</span><span class="Punctuator">;</span><br/> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span><span class="Punctuator">;</span><br/> <span class="Brace">}</span><span class="Rest"></span></span></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> }</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/><br/> <span class="Rest">throw new Error(Errors.implementSetValue(valueType));</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Variable">valueType</span> <span class="Punctuator">=</span> <span class="String">&apos;string&apos;</span><span class="Brace">)</span> <span class="Brace">{</span></span></div></div><div class="line uncovered line-has-info"><div class="line-info"><table class="info-table"><tbody><tr><th colspan="2" class="info-title">Branch IfStatement</th></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Positive was not executed (if)</td><td class="info-branch-code"><div class="code"><span class="Rest"> if (!value.match(pattern)) </span><span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">unacceptableString</span><span class="Brace">(</span><span class="Variable">pattern</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span><span class="Rest"></span></div></td></tr><tr><td class="info-branch-title info-branch-uncovered">✗ Negative was not executed (else)</td><td class="info-branch-code"><div class="code"><span class="short"><span class="Rest"> if (!value.match(pattern)) throw new Error(Errors.unacceptableString(pattern));</span><span class="short-more">&middot;&middot;&middot;</span><span class="short-more-content"><br/> <span class="Rest">this.value_ = value;</span></span></span></div></td></tr><tr><td colspan="2" class="info-spacer"><div></div></td></tr></tbody></table></div><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">if</span> <span class="Brace">(</span><span class="Punctuator">!</span><span class="Parameter">value</span><span class="Dot">.</span><span class="Field">match</span><span class="Brace">(</span><span class="Variable">pattern</span><span class="Brace">)</span><span class="Brace">)</span> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">unacceptableString</span><span class="Brace">(</span><span class="Variable">pattern</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span> <span class="Punctuator">=</span> <span class="Parameter">value</span><span class="Punctuator">;</span></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">return</span> <span class="Keyword">this</span><span class="Dot">.</span><span class="Field">value_</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line uncovered"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Keyword">throw</span> <span class="Keyword">new</span> <span class="Identifier">Error</span><span class="Brace">(</span><span class="Identifier">Errors</span><span class="Dot">.</span><span class="Field">implementSetValue</span><span class="Brace">(</span><span class="Variable">valueType</span><span class="Brace">)</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span><span class="Punctuator">,</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">configurable</span><span class="Punctuator">:</span> <span class="Boolean">true</span><span class="Punctuator">,</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Field">enumerable</span><span class="Punctuator">:</span> <span class="Boolean">true</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"> <span class="Brace">}</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Brace">}</span><span class="Brace">)</span><span class="Punctuator">;</span></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"></span></div></div><div class="line no-state"><div class="line-code"><span class="line-number"></span><span class="code"><span class="Identifier">module</span><span class="Dot">.</span><span class="Field">exports</span> <span class="Punctuator">=</span> <span class="Identifier">Plugin</span><span class="Punctuator">;</span></span></div></div></div></div><script>function updateHash() {
  216. [].forEach.call(document.getElementsByClassName('thread-link'), function (node) {
  217. node.className = (node.getAttribute('href') === location.hash ?
  218. node.className + ' thread-selected' :
  219. node.className.replace(/thread\-selected/g, ''));
  220. });
  221. }
  222. window.onhashchange = updateHash;
  223. updateHash();
  224. function toggleClass(element, className) {
  225. var regexp = new RegExp('(\\s|^)' + className.replace(/\-/g, '\\-') + '(\\s|$)');
  226. console.log(regexp);
  227. if (element.className.match(regexp)) {
  228. element.className = element.className.replace(regexp, ' ');
  229. } else {
  230. element.className += ' ' + className;
  231. }
  232. };
  233. document.body.onclick = function (e) {
  234. if (e.target.className === 'short-more') {
  235. toggleClass(e.target.parentNode, 'short-more-content-visible');
  236. } else {
  237. var node = e.target;
  238. var body = document.body;
  239. while (node.parentNode && node !== body) {
  240. if (node.className === 'line-number') {
  241. toggleClass(node.parentNode.parentNode, 'line-show-more-info');
  242. }
  243. node = node.parentNode;
  244. }
  245. }
  246. };</script></body></html>