123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293 |
- <!DOCTYPE html><html><head><title>Coverage report</title><meta charset="utf-8"><style>body, html {
- margin: 0;
- height: 100%;
- background: #3C3F41;
- font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, sans-serif;
- font-size: 12px;
- }
- .tree {
- float: left;
- width: 20%;
- height: 100%;
- overflow: auto;
- padding-right: 10px;
- box-sizing: border-box;
- border-right: #262729 1px solid;
- position: fixed;
- }
- .thread-name, .thread-link {
- color: #aeb4b4;
- text-decoration: none;
- white-space: nowrap;
- }
- .thread-name {
- color: gray;
- }
- .thread-selected .thread-link-name {
- color: #45a7b5;
- }
- .thread-items {
- margin-left: 20px;
- }
- .thread-dir, .thread-file {
- width: 15px;
- height: 15px;
- display: inline-block;
- background: no-repeat center center;
- opacity: 0.5;
- margin-right: 5px;
- top: 2px;
- }
- .thread-dir {
- background-image: url(data:image/gif;base64,R0lGODlhDgAMAHcAACH5BAEAAAIALAAAAAAOAAwAh9OIgOG8uPDw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgrAAEIHBhAgMGDAgYqLIgwocKHECNGbNhQIUWEFi8azKiR40WPFCWKHDkwIAA7);
- }
- .thread-file {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAMAAAAI/bVFAAADAFBMVEU+QEJMR0WBYFKCYVKcnJyrq6usrKzGgmLOzs7f39/zl2z19fX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8nRl7AAABAHRSTlP///////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////m2mkrAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB9wMGQsNM0fic1oAAAAHdEVYdEF1dGhvcgCprsxIAAAADHRFWHREZXNjcmlwdGlvbgATCSEjAAAACnRFWHRDb3B5cmlnaHQArA/MOgAAAA50RVh0Q3JlYXRpb24gdGltZQA19w8JAAAACXRFWHRTb2Z0d2FyZQBdcP86AAAAC3RFWHREaXNjbGFpbWVyALfAtI8AAAAIdEVYdFdhcm5pbmcAwBvmhwAAAAd0RVh0U291cmNlAPX/g+sAAAAIdEVYdENvbW1lbnQA9syWvwAAAAZ0RVh0VGl0bGUAqO7SJwAAAEdJREFUCJllzYEOgCAIBNCzKBH5/+9NFBnVbWw82ADkYR3B1sVLNlTqNyeRNVuqrS1JxAU5gaRS864aQ4Mu4Jgl/5uvf5GvHm/RBckCfu/CAAAAAElFTkSuQmCC);
- }
- .thread-level {
- color: gray;
- font-size: 10px;
- margin-left: 10px;
- }
- .thread-high .thread-level {
- color: #66B029;
- }
- .thread-medium .thread-level {
- color: #B28C00;
- }
- .thread-low .thread-level {
- color: #993300;
- }
- .source-file {
- background: #2B2B2B;
- color: #E6E1DC;
- counter-reset: file-line-counter;
- position: relative;
- display: none;
- min-height: 100%;
- width: 80%;
- margin-left: 20%;
- overflow-x: auto;
- }
- .source-file-info {
- z-index: 1;
- position: relative;
- background: #3C3F41;
- padding: 10px;
- margin-bottom: 10px;
- }
- .source-file:before {
- content: '';
- position: absolute;
- height: 100%;
- width: 0;
- top: 0;
- left: 45px;
- border-right: 1px rgba(255, 255, 255, 0.5) solid;
- }
- .source-file:target {
- display: block;
- }
- .line-number {
- display: inline-block;
- }
- .line-number:before {
- content: counter(file-line-counter);
- counter-increment: file-line-counter;
- display: inline-block;
- width: 40px;
- padding-right: 5px;
- margin-right: 10px;
- text-align: right;
- color: rgba(255, 255, 255, 0.5);
- white-space: nowrap;
- line-height: 20px;
- }
- .line-has-info .line-number {
- cursor: pointer;
- }
- .line-has-info .line-number:before {
- text-decoration: underline;
- }
- .line.uncovered .line-number:before {
- background: rgba(255, 0, 0, 0.50);
- }
- .line.covered .line-number:before {
- background: rgba(0, 128, 0, 0.50);
- }
- .line.semi-covered .line-number:before {
- background: rgba(255, 255, 0, 0.50);
- }
- .line-code {
- white-space: pre;
- }
- .line-info {
- background: #44443f;
- margin-left: 46px;
- font-size: 12px;
- display: none;
- }
- .line-show-more-info .line-info {
- display: block;
- }
- .line:hover, .line-show-more-info {
- background: #444546;
- }
- .info-table {
- border-collapse: collapse;
- width: 100%;
- margin-top: 15px;
- }
- .info-table th, .info-table td {
- text-align: left;
- vertical-align: top;
- padding: 2px 5px;
- border-bottom: rgba(255,255,255,0.5) 1px solid;
- border-right: rgba(255,255,255,0.5) 1px solid;
- }
- .info-table tr:last-child {
- display: none;
- }
- .info-branch-code {
- white-space: pre;
- }
- .info-branch-title {
- white-space: nowrap;
- }
- .info-branch-covered {
- color: lime;
- }
- .info-branch-uncovered {
- color: red;
- }
- td.info-spacer {
- border-bottom: none;
- }
- .info-spacer div {
- height: 10px;
- }
- .code, .line-number {
- font-family: monaco, monospaced, Courier, monospace;
- }
- .short.short-more-content-visible .short-more-content {
- display: inline;
- }
- .short-more {
- background: rgba(255,255,255,0.2);
- color: rgba(255,255,255,0.5);
- border-radius: 5px;
- margin-left: 10px;
- padding: 0 5px;
- cursor: pointer;
- }
- .short-more-content {
- display: none;
- }
- .Rest {
- color: gray;
- }
- .Punctuator {
- color: #CC7833;
- }
- .Keyword, .Boolean, .Null {
- color: #CC7833;
- }
- .String, .RegularExpression, .Numeric {
- color: #A5C261;
- }
- .Block, .Line {
- color: #BC9458;
- }
- .Variable {
- color: #64A2A2;
- }
- .ImplicitGlobalVariable {
- color: #D0D0FF;
- }
- .Parameter {
- border-bottom: #E6E1DC 1px solid;
- }
- .Field {
- color: #979748;
- }
- .FunctionName {
- color: #FFC66D;
- }</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">'use strict'</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">'Cannot call a class as a function'</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">'Cannot call a class as a function'</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('Cannot call a class as a function'); }</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">'Cannot call a class as a function'</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">'babel/polyfill'</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">'fs'</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">'gonzales-pe'</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">'minimatch'</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">'./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="Keyword">var</span> <span class="Variable">Plugin</span> <span class="Punctuator">=</span> <span class="Identifier">require</span><span class="Brace">(</span><span class="String">'./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></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">'vow'</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">'vow-fs'</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">···</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">···</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">'object'</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"><</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">···</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">'object'</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">···</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">···</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">···</span><span class="short-more-content"><br/><br/> <span class="Rest">for (var i = 0, l = this.plugins.length; i < 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"><</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">···</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">···</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"><</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">'/'</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">&&</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">···</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"><</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">'/'</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() && 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() && 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() && </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"> && 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() && 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() && this.shouldProcess(fullname)) files = files.concat(this.getAcceptableFilesFromDirectory(fullname));else if (this.shouldProcessFile(fullname)) files.push(fullname);</span><span class="short-more">···</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">&&</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">···</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">···</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">···</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">'.'</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">'.'</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">···</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">···</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">''</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">''</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 <Array> 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">···</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 <Array> 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">···</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">&&</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">'function'</span> <span class="Punctuator">&&</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">···</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">&&</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">'function'</span> <span class="Punctuator">&&</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">···</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">&&</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">'function'</span> <span class="Punctuator">&&</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 && typeof plugin.lint === 'function' && </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">&&</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">'function'</span><span class="Rest"> && 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 && </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">'function'</span><span class="Rest"> && 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"> && typeof plugin.lint === 'function' && 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">&&</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">'function'</span> <span class="Punctuator">&&</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">···</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">···</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">···</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">···</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">···</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">&&</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">&&</span> <span class="Parameter">options</span><span class="Dot">.</span><span class="Field">filename</span> <span class="Punctuator">||</span> <span class="String">''</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">&&</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">'css'</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">'../package.json'</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">'CSScomb Core version: '</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">'\n'</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 && </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"> && 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">&&</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 && options.filename || </span><span class="String">''</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">&&</span> <span class="Parameter">options</span><span class="Dot">.</span><span class="Field">filename</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"> var filename = options && </span><span class="Parameter">options</span><span class="Dot">.</span><span class="Field">filename</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="Rest"> && options.filename || '';</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">&&</span> <span class="Parameter">options</span><span class="Dot">.</span><span class="Field">filename</span> <span class="Punctuator">||</span> <span class="String">''</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 && </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"> && 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">&&</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">···</span><span class="short-more-content"><br/><br/> <span class="Rest">if (!syntax) syntax = 'css';</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">'css'</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 = 'css';</span><span class="short-more">···</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">'css'</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">···</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">'../package.json'</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">'CSScomb Core version: '</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">'\n'</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">'../package.json'</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">'CSScomb Core version: '</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">'\n'</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">···</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">···</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">···</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">···</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">···</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">···</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">'/'</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">&&</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">···</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">'/'</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">&&</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">···</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">'/'</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">&&</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">'/'</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">···</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">&&</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() && that.shouldProcess(fullname)) </span><span class="Brace">{</span><span class="short-more">···</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">···</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() && </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"> && 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">&&</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">···</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">···</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">'utf8'</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">'.'</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">' '</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">'utf8'</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">'✓'</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">···</span><span class="short-more-content"><br/><br/> <span class="Rest">return vfs.read(path, 'utf8').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, 'utf8').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">···</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">'.'</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">' '</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">'utf8'</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">'✓'</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">'utf8'</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">'.'</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">···</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">···</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">' '</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">···</span><span class="short-more-content"><br/><br/> <span class="Rest">return vfs.write(path, processedData, 'utf8').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">' '</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(' ', path);</span><span class="short-more">···</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">' '</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, 'utf8').then(</span><span class="Keyword">function</span> <span class="Brace">(</span><span class="Brace">)</span> <span class="Brace">{</span><span class="short-more">···</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">'✓'</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">'utf8'</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">'✓'</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('✓', path);</span><span class="short-more">···</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">'✓'</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">···</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">'utf8'</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">···</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">'utf8'</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">···</span><span class="short-more-content"><br/><br/> <span class="Rest">fs.readFile(path, 'utf8', 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, 'utf8', </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">···</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">'utf8'</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">···</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">···</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">''</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">''</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">···</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">···</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">···</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">···</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">···</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">···</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">&&</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">'function'</span> <span class="Punctuator">&&</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">···</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">&&</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">'function'</span> <span class="Punctuator">&&</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">···</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">&&</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">'function'</span> <span class="Punctuator">&&</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 && typeof plugin.process === 'function' && </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">&&</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">'function'</span><span class="Rest"> && 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 && </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">'function'</span><span class="Rest"> && 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"> && typeof plugin.process === 'function' && 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">&&</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">'function'</span> <span class="Punctuator">&&</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">···</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">···</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">''</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">'Path '</span> <span class="Punctuator">+</span> <span class="Parameter">path</span> <span class="Punctuator">+</span> <span class="String">' was not found.'</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">''</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">''</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">···</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">'Path '</span> <span class="Punctuator">+</span> <span class="Parameter">path</span> <span class="Punctuator">+</span> <span class="String">' was not found.'</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">···</span><span class="short-more-content"><br/><br/> <span class="Rest">path = path.replace(/^\.\//, '');</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">'Path '</span> <span class="Punctuator">+</span> <span class="Parameter">path</span> <span class="Punctuator">+</span> <span class="String">' was not found.'</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">''</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">···</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">···</span><span class="short-more-content"><br/> <span class="Line">// Get file'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">'.'</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'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">'.'</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">···</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">···</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"><</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">···</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">···</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">···</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">···</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">···</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">···</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">···</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">···</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">···</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">···</span><span class="short-more-content"><br/><br/> <span class="Rest">for (var i = 0, l = dependents.length; i < 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"><</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">'use strict'</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">'./format'</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">···</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">'undefined'</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">'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 "'</span> <span class="Punctuator">+</span> <span class="Parameter">valueType</span> <span class="Punctuator">+</span> <span class="String">'"\n you need to implement custom `setValue()` method.'</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 === 'undefined') </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 === 'undefined') throw new Error();</span><span class="short-more">···</span><span class="short-more-content"><br/><br/> <span class="Rest">return format('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 "' + valueType + '"\n you need to implement custom `setValue()` method.');</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">'undefined'</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">'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 "'</span> <span class="Punctuator">+</span> <span class="Parameter">valueType</span> <span class="Punctuator">+</span> <span class="String">'"\n you need to implement custom `setValue()` 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 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">···</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="String">'Plugin must have a valid `name` property.'</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">'Plugin must have a valid `name` property.'</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">···</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="Identifier">format</span><span class="Brace">(</span><span class="String">'Plugin must either implemet `setValue()` method\n or provide `accepts` object with acceptable values.'</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">'Plugin must either implemet `setValue()` method\n or provide `accepts` object with acceptable values.'</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">···</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="String">'Plugin must list supported syntaxes.'</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">'Plugin must list supported syntaxes.'</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">···</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">'undefined'</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">'You\'re trying to use one plugin twice:\n '</span> <span class="Punctuator">+</span> <span class="Parameter">pluginName</span> <span class="Punctuator">+</span> <span class="String">'. Please make sure there are not two different\n plugins with the same name.'</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 === 'undefined') </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 === 'undefined') throw new Error();</span><span class="short-more">···</span><span class="short-more-content"><br/><br/> <span class="Rest">return format('You\'re trying to use one plugin twice:\n ' + pluginName + '. Please make sure there are not two different\n plugins with the same name.');</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">'undefined'</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">'You\'re trying to use one plugin twice:\n '</span> <span class="Punctuator">+</span> <span class="Parameter">pluginName</span> <span class="Punctuator">+</span> <span class="String">'. Please make sure there are not two different\n plugins with the same name.'</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">···</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">'undefined'</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">'Value must be one of the following: '</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">', '</span><span class="Brace">)</span> <span class="Punctuator">+</span> <span class="String">'.'</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 === 'undefined') </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 === 'undefined') throw new Error();</span><span class="short-more">···</span><span class="short-more-content"><br/><br/> <span class="Rest">return 'Value must be one of the following: ' + pattern.join(', ') + '.';</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">'undefined'</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">'Value must be one of the following: '</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">', '</span><span class="Brace">)</span> <span class="Punctuator">+</span> <span class="String">'.'</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">···</span><span class="short-more-content"><br/> <span class="Keyword">return</span> <span class="String">'Value must be an integer.'</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">'Value must be an integer.'</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">···</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">'undefined'</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">'Value must match pattern '</span> <span class="Punctuator">+</span> <span class="Parameter">pattern</span> <span class="Punctuator">+</span> <span class="String">'.'</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 === 'undefined') </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 === 'undefined') throw new Error();</span><span class="short-more">···</span><span class="short-more-content"><br/><br/> <span class="Rest">return 'Value must match pattern ' + pattern + '.';</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">'undefined'</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">'Value must match pattern '</span> <span class="Punctuator">+</span> <span class="Parameter">pattern</span> <span class="Punctuator">+</span> <span class="String">'.'</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">···</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">'undefined'</span> <span class="Punctuator">||</span> <span class="Keyword">typeof</span> <span class="Parameter">accepts</span> <span class="Punctuator">===</span> <span class="String">'undefined'</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">'The option does not accept values of type\n '</span> <span class="Punctuator">+</span> <span class="Parameter">valueType</span> <span class="Punctuator">+</span> <span class="String">'.\nValue\'s type must be one the following:\n '</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">', '</span><span class="Brace">)</span> <span class="Punctuator">+</span> <span class="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="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 === 'undefined' || typeof accepts === 'undefined') </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 === 'undefined' || typeof accepts === 'undefined') throw new Error();</span><span class="short-more">···</span><span class="short-more-content"><br/><br/> <span class="Rest">return format('The option does not accept values of type\n ' + valueType + '.\nValue\'s type must be one the following:\n ' + Object.keys(accepts).join(', ') + '.');</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 === 'undefined' || </span><span class="Keyword">typeof</span> <span class="Parameter">accepts</span> <span class="Punctuator">===</span> <span class="String">'undefined'</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">'undefined'</span><span class="Rest"> || typeof accepts === 'undefined') 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">'undefined'</span> <span class="Punctuator">||</span> <span class="Keyword">typeof</span> <span class="Parameter">accepts</span> <span class="Punctuator">===</span> <span class="String">'undefined'</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">'The option does not accept values of type\n '</span> <span class="Punctuator">+</span> <span class="Parameter">valueType</span> <span class="Punctuator">+</span> <span class="String">'.\nValue\'s type must be one the following:\n '</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">', '</span><span class="Brace">)</span> <span class="Punctuator">+</span> <span class="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></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">'use strict'</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">···</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">' '</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">' '</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">'use strict'</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">'./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></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">···</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">'function'</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 === 'function' ? </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 === 'function' ? 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">'function'</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'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">···</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">'string'</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">'object'</span> <span class="Punctuator">&&</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">'function'</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 !== 'string' || !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 !== 'string' || !this.name) throw new Error(Errors.missingName());</span><span class="short-more">···</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 !== 'string' || </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">'string'</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">'string'</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">···</span><span class="short-more-content"><br/><br/> <span class="Rest">if (typeof this.accepts !== 'object' && typeof this.setValue !== 'function') 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 !== 'object' && typeof this.setValue !== 'function') </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 !== 'object' && typeof this.setValue !== 'function') throw new Error(Errors.missingSetValue());</span><span class="short-more">···</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 !== 'object' && </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">'function'</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">'object'</span><span class="Rest"> && typeof this.setValue !== 'function') 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">'object'</span> <span class="Punctuator">&&</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">'function'</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">···</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">···</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">&&</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">'boolean'</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"><</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">'number'</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">' '</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">'string'</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 && </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"> && 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">&&</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">···</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">···</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">···</span><span class="short-more-content"><br/><br/> <span class="Rest">if (valueType === 'boolean') {</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 === 'boolean') </span><span class="Brace">{</span><span class="short-more">···</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"><</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">···</span><span class="short-more-content"><br/><br/> <span class="Rest">if (valueType === 'number') {</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">'boolean'</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) < 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) < 0) throw new Error(Errors.unacceptableBoolean(pattern));</span><span class="short-more">···</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"><</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 === 'number') </span><span class="Brace">{</span><span class="short-more">···</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">' '</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">···</span><span class="short-more-content"><br/><br/> <span class="Rest">if (valueType = '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="Variable">valueType</span> <span class="Punctuator">===</span> <span class="String">'number'</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">···</span><span class="short-more-content"><br/> <span class="Rest">this.value_ = new Array(value + 1).join(' ');</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">' '</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 = 'string') </span><span class="Brace">{</span><span class="short-more">···</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">···</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">'string'</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">···</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() {
- [].forEach.call(document.getElementsByClassName('thread-link'), function (node) {
- node.className = (node.getAttribute('href') === location.hash ?
- node.className + ' thread-selected' :
- node.className.replace(/thread\-selected/g, ''));
- });
- }
- window.onhashchange = updateHash;
- updateHash();
- function toggleClass(element, className) {
- var regexp = new RegExp('(\\s|^)' + className.replace(/\-/g, '\\-') + '(\\s|$)');
- console.log(regexp);
- if (element.className.match(regexp)) {
- element.className = element.className.replace(regexp, ' ');
- } else {
- element.className += ' ' + className;
- }
- };
- document.body.onclick = function (e) {
- if (e.target.className === 'short-more') {
- toggleClass(e.target.parentNode, 'short-more-content-visible');
- } else {
- var node = e.target;
- var body = document.body;
- while (node.parentNode && node !== body) {
- if (node.className === 'line-number') {
- toggleClass(node.parentNode.parentNode, 'line-show-more-info');
- }
- node = node.parentNode;
- }
- }
- };</script></body></html>
|