diff options
author | Kat Marchán <kzm@sykosomatic.org> | 2016-05-27 14:07:59 -0700 |
---|---|---|
committer | Jeremiah Senkpiel <fishrock123@rocketmail.com> | 2016-05-28 10:42:48 -0400 |
commit | bd8b1ddb2007dcc8ec2a0a08e16208aa21b83400 (patch) | |
tree | aab54a7bbc42e1477a8a2b175dfc9f9eb36ca9e2 /deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_writable.js.html | |
parent | 16f98e589c69ffe6283aa11493fd417368708557 (diff) | |
download | android-node-v8-bd8b1ddb2007dcc8ec2a0a08e16208aa21b83400.tar.gz android-node-v8-bd8b1ddb2007dcc8ec2a0a08e16208aa21b83400.tar.bz2 android-node-v8-bd8b1ddb2007dcc8ec2a0a08e16208aa21b83400.zip |
deps: upgrade npm to 3.9.3
Contains the following npm releases:
- v3.9.0: https://github.com/npm/npm/releases/tag/v3.9.0
- v3.9.1: https://github.com/npm/npm/releases/tag/v3.9.1
- v3.9.2: https://github.com/npm/npm/releases/tag/v3.9.2
- v3.9.3: https://github.com/npm/npm/releases/tag/v3.9.3
PR-URL: https://github.com/nodejs/node/pull/7030
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Diffstat (limited to 'deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_writable.js.html')
-rw-r--r-- | deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_writable.js.html | 1640 |
1 files changed, 1640 insertions, 0 deletions
diff --git a/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_writable.js.html b/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_writable.js.html new file mode 100644 index 0000000000..0b200c9e09 --- /dev/null +++ b/deps/npm/node_modules/readable-stream/coverage/lcov-report/lib/_stream_writable.js.html @@ -0,0 +1,1640 @@ +<!doctype html> +<html lang="en"> +<head> + <title>Code coverage report for lib/_stream_writable.js</title> + <meta charset="utf-8" /> + <link rel="stylesheet" href="../prettify.css" /> + <link rel="stylesheet" href="../base.css" /> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <style type='text/css'> + .coverage-summary .sorter { + background-image: url(../sort-arrow-sprite.png); + } + </style> +</head> +<body> +<div class='wrapper'> + <div class='pad1'> + <h1> + <a href="../index.html">all files</a> / <a href="index.html">lib/</a> _stream_writable.js + </h1> + <div class='clearfix'> + <div class='fl pad1y space-right2'> + <span class="strong">95.52% </span> + <span class="quiet">Statements</span> + <span class='fraction'>277/290</span> + </div> + <div class='fl pad1y space-right2'> + <span class="strong">94% </span> + <span class="quiet">Branches</span> + <span class='fraction'>141/150</span> + </div> + <div class='fl pad1y space-right2'> + <span class="strong">90.91% </span> + <span class="quiet">Functions</span> + <span class='fraction'>30/33</span> + </div> + <div class='fl pad1y space-right2'> + <span class="strong">96.58% </span> + <span class="quiet">Lines</span> + <span class='fraction'>254/263</span> + </div> + </div> + </div> + <div class='status-line high'></div> +<pre><table class="coverage"> +<tr><td class="line-count quiet">1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526</td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">2305×</span> +<span class="cline-any cline-yes">2305×</span> +<span class="cline-any cline-yes">2305×</span> +<span class="cline-any cline-yes">2305×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-yes">4574×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">1×</span> +<span class="cline-any cline-yes">1×</span> +<span class="cline-any cline-yes">1×</span> +<span class="cline-any cline-yes">5×</span> +<span class="cline-any cline-yes">5×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">97×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">97×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-yes">50×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">50×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">96×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">1×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">1×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">1×</span> +<span class="cline-any cline-yes">1×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">4625×</span> +<span class="cline-any cline-yes">4625×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4625×</span> +<span class="cline-any cline-yes">2×</span> +<span class="cline-any cline-yes">4623×</span> +<span class="cline-any cline-yes">2×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4625×</span> +<span class="cline-any cline-yes">4×</span> +<span class="cline-any cline-yes">2×</span> +<span class="cline-any cline-yes">2×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4623×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">4626×</span> +<span class="cline-any cline-yes">4626×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4626×</span> +<span class="cline-any cline-yes">59×</span> +<span class="cline-any cline-yes">59×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4626×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4626×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4626×</span> +<span class="cline-any cline-yes">4621×</span> +<span class="cline-any cline-yes">4621×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4624×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">13×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">13×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">13×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">13×</span> +<span class="cline-any cline-yes">13×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">13×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">3×</span> +<span class="cline-any cline-yes">3×</span> +<span class="cline-any cline-yes">2×</span> +<span class="cline-any cline-yes">2×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">4621×</span> +<span class="cline-any cline-yes">2273×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4621×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">4621×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4621×</span> +<span class="cline-any cline-yes">4621×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4621×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4621×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4621×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4621×</span> +<span class="cline-any cline-yes">2305×</span> +<span class="cline-any cline-yes">2305×</span> +<span class="cline-any cline-yes">2305×</span> +<span class="cline-any cline-yes">2265×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">40×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2305×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2316×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4621×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">4582×</span> +<span class="cline-any cline-yes">4582×</span> +<span class="cline-any cline-yes">4582×</span> +<span class="cline-any cline-yes">4582×</span> +<span class="cline-any cline-yes">4582×</span> +<span class="cline-any cline-yes">4582×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">4574×</span> +<span class="cline-any cline-yes">4574×</span> +<span class="cline-any cline-yes">4574×</span> +<span class="cline-any cline-yes">4574×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">4574×</span> +<span class="cline-any cline-yes">4574×</span> +<span class="cline-any cline-yes">4574×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4574×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4574×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4574×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4574×</span> +<span class="cline-any cline-yes">2254×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4574×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2230×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2344×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">4574×</span> +<span class="cline-any cline-yes">4574×</span> +<span class="cline-any cline-yes">4574×</span> +<span class="cline-any cline-yes">4574×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">4557×</span> +<span class="cline-any cline-yes">27×</span> +<span class="cline-any cline-yes">27×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">2263×</span> +<span class="cline-any cline-yes">2263×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2263×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9×</span> +<span class="cline-any cline-yes">9×</span> +<span class="cline-any cline-yes">9×</span> +<span class="cline-any cline-yes">9×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9×</span> +<span class="cline-any cline-yes">9×</span> +<span class="cline-any cline-yes">42×</span> +<span class="cline-any cline-yes">42×</span> +<span class="cline-any cline-yes">42×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9×</span> +<span class="cline-any cline-yes">9×</span> +<span class="cline-any cline-yes">9×</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">9×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2254×</span> +<span class="cline-any cline-yes">2257×</span> +<span class="cline-any cline-yes">2257×</span> +<span class="cline-any cline-yes">2257×</span> +<span class="cline-any cline-yes">2257×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2257×</span> +<span class="cline-any cline-yes">2257×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2257×</span> +<span class="cline-any cline-yes">2252×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2254×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">2263×</span> +<span class="cline-any cline-yes">2263×</span> +<span class="cline-any cline-yes">2263×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">65×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">65×</span> +<span class="cline-any cline-yes">11×</span> +<span class="cline-any cline-yes">11×</span> +<span class="cline-any cline-yes">11×</span> +<span class="cline-any cline-yes">54×</span> +<span class="cline-any cline-yes">1×</span> +<span class="cline-any cline-yes">1×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">65×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">65×</span> +<span class="cline-any cline-yes">5×</span> +<span class="cline-any cline-yes">5×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">65×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">9209×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">125×</span> +<span class="cline-any cline-yes">57×</span> +<span class="cline-any cline-yes">57×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">4635×</span> +<span class="cline-any cline-yes">4635×</span> +<span class="cline-any cline-yes">125×</span> +<span class="cline-any cline-yes">57×</span> +<span class="cline-any cline-yes">57×</span> +<span class="cline-any cline-yes">57×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">68×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">4635×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">61×</span> +<span class="cline-any cline-yes">61×</span> +<span class="cline-any cline-yes">61×</span> +<span class="cline-any cline-yes">13×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">61×</span> +<span class="cline-any cline-yes">61×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">49×</span> +<span class="cline-any cline-yes">105×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">105×</span> +<span class="cline-any cline-yes">105×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">105×</span> +<span class="cline-any cline-yes">8×</span> +<span class="cline-any cline-yes">8×</span> +<span class="cline-any cline-yes">8×</span> +<span class="cline-any cline-yes">40×</span> +<span class="cline-any cline-yes">40×</span> +<span class="cline-any cline-yes">40×</span> +<span class="cline-any cline-yes">40×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-yes">8×</span> +<span class="cline-any cline-yes">8×</span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-no"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span> +<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">// A bit simpler than readable streams. +// Implement an async ._write(chunk, encoding, cb), and it'll handle all +// the drain event emission and buffering. + +'use strict'; + +module.exports = Writable; + +/*<replacement>*/ +var processNextTick = require('process-nextick-args'); +/*</replacement>*/ + +/*<replacement>*/ +var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? <span class="branch-0 cbranch-no" title="branch not covered" >setImmediate </span>: processNextTick; +/*</replacement>*/ + +Writable.WritableState = WritableState; + +/*<replacement>*/ +var util = require('core-util-is'); +util.inherits = require('inherits'); +/*</replacement>*/ + +/*<replacement>*/ +var internalUtil = { + deprecate: require('util-deprecate') +}; +/*</replacement>*/ + +/*<replacement>*/ +var Stream; +(function () { + try { + Stream = require('st' + 'ream'); + } catch (_) {} finally { + <span class="missing-if-branch" title="if path not taken" >I</span>if (!Stream) <span class="cstat-no" title="statement not covered" >Stream = require('events').EventEmitter;</span> + } +})(); +/*</replacement>*/ + +var Buffer = require('buffer').Buffer; +/*<replacement>*/ +var bufferShim = require('buffer-shims'); +/*</replacement>*/ + +util.inherits(Writable, Stream); + +function nop() {} + +function WriteReq(chunk, encoding, cb) { + this.chunk = chunk; + this.encoding = encoding; + this.callback = cb; + this.next = null; +} + +var Duplex; +function WritableState(options, stream) { + Duplex = Duplex || <span class="branch-1 cbranch-no" title="branch not covered" >require('./_stream_duplex');</span> + + options = options || {}; + + // object stream flag to indicate whether or not this stream + // contains buffers or objects. + this.objectMode = !!options.objectMode; + + if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.writableObjectMode; + + // the point at which write() starts returning false + // Note: 0 is a valid value, means that we always return false if + // the entire buffer is not flushed immediately on write() + var hwm = options.highWaterMark; + var defaultHwm = this.objectMode ? 16 : 16 * 1024; + this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm; + + // cast to ints. + this.highWaterMark = ~ ~this.highWaterMark; + + this.needDrain = false; + // at the start of calling end() + this.ending = false; + // when end() has been called, and returned + this.ended = false; + // when 'finish' is emitted + this.finished = false; + + // should we decode strings into buffers before passing to _write? + // this is here so that some node-core streams can optimize string + // handling at a lower level. + var noDecode = options.decodeStrings === false; + this.decodeStrings = !noDecode; + + // Crypto is kind of old and crusty. Historically, its default string + // encoding is 'binary' so we have to make this configurable. + // Everything else in the universe uses 'utf8', though. + this.defaultEncoding = options.defaultEncoding || 'utf8'; + + // not an actual buffer we keep track of, but a measurement + // of how much we're waiting to get pushed to some underlying + // socket or file. + this.length = 0; + + // a flag to see when we're in the middle of a write. + this.writing = false; + + // when true all writes will be buffered until .uncork() call + this.corked = 0; + + // a flag to be able to tell if the onwrite cb is called immediately, + // or on a later tick. We set this to true at first, because any + // actions that shouldn't happen until "later" should generally also + // not happen before the first write call. + this.sync = true; + + // a flag to know if we're processing previously buffered items, which + // may call the _write() callback in the same tick, so that we don't + // end up in an overlapped onwrite situation. + this.bufferProcessing = false; + + // the callback that's passed to _write(chunk,cb) + this.onwrite = function (er) { + onwrite(stream, er); + }; + + // the callback that the user supplies to write(chunk,encoding,cb) + this.writecb = null; + + // the amount that is being written when _write is called. + this.writelen = 0; + + this.bufferedRequest = null; + this.lastBufferedRequest = null; + + // number of pending user-supplied write callbacks + // this must be 0 before 'finish' can be emitted + this.pendingcb = 0; + + // emit prefinish if the only thing we're waiting for is _write cbs + // This is relevant for synchronous Transform streams + this.prefinished = false; + + // True if the error was already emitted and should not be thrown again + this.errorEmitted = false; + + // count buffered requests + this.bufferedRequestCount = 0; + + // allocate the first CorkedRequest, there is always + // one allocated and free to use, and we maintain at most two + this.corkedRequestsFree = new CorkedRequest(this); +} + +WritableState.prototype.getBuffer = function writableStateGetBuffer() { + var current = this.bufferedRequest; + var out = []; + while (current) { + out.push(current); + current = current.next; + } + return out; +}; + +(function () { + try { + Object.defineProperty(WritableState.prototype, 'buffer', { + get: internalUtil.deprecate(<span class="fstat-no" title="function not covered" >function () {</span> +<span class="cstat-no" title="statement not covered" > return this.getBuffer();</span> + }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.') + }); + } catch (_) {} +})(); + +var Duplex; +function Writable(options) { + Duplex = Duplex || require('./_stream_duplex'); + + // Writable ctor is applied to Duplexes, though they're not + // instanceof Writable, they're instanceof Readable. + if (!(this instanceof Writable) && !(this instanceof Duplex)) return new Writable(options); + + this._writableState = new WritableState(options, this); + + // legacy. + this.writable = true; + + if (options) { + if (typeof options.write === 'function') this._write = options.write; + + if (typeof options.writev === 'function') this._writev = options.writev; + } + + Stream.call(this); +} + +// Otherwise people can pipe Writable streams, which is just wrong. +Writable.prototype.pipe = function () { + this.emit('error', new Error('Cannot pipe, not readable')); +}; + +function writeAfterEnd(stream, cb) { + var er = new Error('write after end'); + // TODO: defer error events consistently everywhere, not just the cb + stream.emit('error', er); + processNextTick(cb, er); +} + +// If we get something that is not a buffer, string, null, or undefined, +// and we're not in objectMode, then that's an error. +// Otherwise stream chunks are all considered to be of length=1, and the +// watermarks determine how many objects to keep in the buffer, rather than +// how many bytes or characters. +function validChunk(stream, state, chunk, cb) { + var valid = true; + var er = false; + // Always throw error if a null is written + // if we are not in object mode then throw + // if it is not a buffer, string, or undefined. + if (chunk === null) { + er = new TypeError('May not write null values to stream'); + } else if (!Buffer.isBuffer(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { + er = new TypeError('Invalid non-string/buffer chunk'); + } + if (er) { + stream.emit('error', er); + processNextTick(cb, er); + valid = false; + } + return valid; +} + +Writable.prototype.write = function (chunk, encoding, cb) { + var state = this._writableState; + var ret = false; + + if (typeof encoding === 'function') { + cb = encoding; + encoding = null; + } + + if (Buffer.isBuffer(chunk)) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding; + + if (typeof cb !== 'function') cb = nop; + + if (state.ended) writeAfterEnd(this, cb);else if (validChunk(this, state, chunk, cb)) { + state.pendingcb++; + ret = writeOrBuffer(this, state, chunk, encoding, cb); + } + + return ret; +}; + +Writable.prototype.cork = function () { + var state = this._writableState; + + state.corked++; +}; + +Writable.prototype.uncork = function () { + var state = this._writableState; + + <span class="missing-if-branch" title="else path not taken" >E</span>if (state.corked) { + state.corked--; + + if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state); + } +}; + +Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { + // node::ParseEncoding() requires lower case. + if (typeof encoding === 'string') encoding = encoding.toLowerCase(); + if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding); + this._writableState.defaultEncoding = encoding; + return this; +}; + +function decodeChunk(state, chunk, encoding) { + if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') { + chunk = bufferShim.from(chunk, encoding); + } + return chunk; +} + +// if we're already writing something, then just put this +// in the queue, and wait our turn. Otherwise, call _write +// If we return false, then we need a drain event, so set that flag. +function writeOrBuffer(stream, state, chunk, encoding, cb) { + chunk = decodeChunk(state, chunk, encoding); + + if (Buffer.isBuffer(chunk)) encoding = 'buffer'; + var len = state.objectMode ? 1 : chunk.length; + + state.length += len; + + var ret = state.length < state.highWaterMark; + // we must ensure that previous needDrain will not be reset to false. + if (!ret) state.needDrain = true; + + if (state.writing || state.corked) { + var last = state.lastBufferedRequest; + state.lastBufferedRequest = new WriteReq(chunk, encoding, cb); + if (last) { + last.next = state.lastBufferedRequest; + } else { + state.bufferedRequest = state.lastBufferedRequest; + } + state.bufferedRequestCount += 1; + } else { + doWrite(stream, state, false, len, chunk, encoding, cb); + } + + return ret; +} + +function doWrite(stream, state, writev, len, chunk, encoding, cb) { + state.writelen = len; + state.writecb = cb; + state.writing = true; + state.sync = true; + if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite); + state.sync = false; +} + +<span class="fstat-no" title="function not covered" >function onwriteError(stream, state, sync, er, cb) {</span> +<span class="cstat-no" title="statement not covered" > --state.pendingcb;</span> +<span class="cstat-no" title="statement not covered" > if (sync) <span class="cstat-no" title="statement not covered" >processNextTick(cb, er);e</span>lse <span class="cstat-no" title="statement not covered" >cb(er);</span></span> + +<span class="cstat-no" title="statement not covered" > stream._writableState.errorEmitted = true;</span> +<span class="cstat-no" title="statement not covered" > stream.emit('error', er);</span> +} + +function onwriteStateUpdate(state) { + state.writing = false; + state.writecb = null; + state.length -= state.writelen; + state.writelen = 0; +} + +function onwrite(stream, er) { + var state = stream._writableState; + var sync = state.sync; + var cb = state.writecb; + + onwriteStateUpdate(state); + + <span class="missing-if-branch" title="if path not taken" >I</span>if (er) <span class="cstat-no" title="statement not covered" >onwriteError(stream, state, sync, er, cb);e</span>lse { + // Check if we're actually ready to finish, but don't emit yet + var finished = needFinish(state); + + if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { + clearBuffer(stream, state); + } + + if (sync) { + /*<replacement>*/ + asyncWrite(afterWrite, stream, state, finished, cb); + /*</replacement>*/ + } else { + afterWrite(stream, state, finished, cb); + } + } +} + +function afterWrite(stream, state, finished, cb) { + if (!finished) onwriteDrain(stream, state); + state.pendingcb--; + cb(); + finishMaybe(stream, state); +} + +// Must force callback to be called on nextTick, so that we don't +// emit 'drain' before the write() consumer gets the 'false' return +// value, and has a chance to attach a 'drain' listener. +function onwriteDrain(stream, state) { + if (state.length === 0 && state.needDrain) { + state.needDrain = false; + stream.emit('drain'); + } +} + +// if there's something in the buffer waiting, then process it +function clearBuffer(stream, state) { + state.bufferProcessing = true; + var entry = state.bufferedRequest; + + if (stream._writev && entry && entry.next) { + // Fast case, write everything using _writev() + var l = state.bufferedRequestCount; + var buffer = new Array(l); + var holder = state.corkedRequestsFree; + holder.entry = entry; + + var count = 0; + while (entry) { + buffer[count] = entry; + entry = entry.next; + count += 1; + } + + doWrite(stream, state, true, state.length, buffer, '', holder.finish); + + // doWrite is almost always async, defer these to save a bit of time + // as the hot path ends with doWrite + state.pendingcb++; + state.lastBufferedRequest = null; + <span class="missing-if-branch" title="if path not taken" >I</span>if (holder.next) { +<span class="cstat-no" title="statement not covered" > state.corkedRequestsFree = holder.next;</span> +<span class="cstat-no" title="statement not covered" > holder.next = null;</span> + } else { + state.corkedRequestsFree = new CorkedRequest(state); + } + } else { + // Slow case, write chunks one-by-one + while (entry) { + var chunk = entry.chunk; + var encoding = entry.encoding; + var cb = entry.callback; + var len = state.objectMode ? 1 : chunk.length; + + doWrite(stream, state, false, len, chunk, encoding, cb); + entry = entry.next; + // if we didn't call the onwrite immediately, then + // it means that we need to wait until it does. + // also, that means that the chunk and cb are currently + // being processed, so move the buffer counter past them. + if (state.writing) { + break; + } + } + + if (entry === null) state.lastBufferedRequest = null; + } + + state.bufferedRequestCount = 0; + state.bufferedRequest = entry; + state.bufferProcessing = false; +} + +Writable.prototype._write = <span class="fstat-no" title="function not covered" >function (chunk, encoding, cb) {</span> +<span class="cstat-no" title="statement not covered" > cb(new Error('not implemented'));</span> +}; + +Writable.prototype._writev = null; + +Writable.prototype.end = function (chunk, encoding, cb) { + var state = this._writableState; + + if (typeof chunk === 'function') { + cb = chunk; + chunk = null; + encoding = null; + } else if (typeof encoding === 'function') { + cb = encoding; + encoding = null; + } + + if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); + + // .end() fully uncorks + if (state.corked) { + state.corked = 1; + this.uncork(); + } + + // ignore unnecessary end() calls. + if (!state.ending && !state.finished) endWritable(this, state, cb); +}; + +function needFinish(state) { + return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; +} + +function prefinish(stream, state) { + if (!state.prefinished) { + state.prefinished = true; + stream.emit('prefinish'); + } +} + +function finishMaybe(stream, state) { + var need = needFinish(state); + if (need) { + if (state.pendingcb === 0) { + prefinish(stream, state); + state.finished = true; + stream.emit('finish'); + } else { + prefinish(stream, state); + } + } + return need; +} + +function endWritable(stream, state, cb) { + state.ending = true; + finishMaybe(stream, state); + if (cb) { + if (state.finished) processNextTick(cb);else stream.once('finish', cb); + } + state.ended = true; + stream.writable = false; +} + +// It seems a linked list but it is not +// there will be only 2 of these for each stream +function CorkedRequest(state) { + var _this = this; + + this.next = null; + this.entry = null; + + this.finish = function (err) { + var entry = _this.entry; + _this.entry = null; + while (entry) { + var cb = entry.callback; + state.pendingcb--; + cb(err); + entry = entry.next; + } + <span class="missing-if-branch" title="else path not taken" >E</span>if (state.corkedRequestsFree) { + state.corkedRequestsFree.next = _this; + } else { +<span class="cstat-no" title="statement not covered" > state.corkedRequestsFree = _this;</span> + } + }; +}</pre></td></tr> +</table></pre> +<div class='push'></div><!-- for sticky footer --> +</div><!-- /wrapper --> +<div class='footer quiet pad2 space-top1 center small'> + Code coverage + generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed May 18 2016 10:10:05 GMT-0400 (EDT) +</div> +</div> +<script src="../prettify.js"></script> +<script> +window.onload = function () { + if (typeof prettyPrint === 'function') { + prettyPrint(); + } +}; +</script> +<script src="../sorter.js"></script> +</body> +</html> |