postdoc 0.2.0.beta4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. checksums.yaml +4 -4
  2. data/lib/postdoc/postdoc_view_helper.rb +15 -0
  3. data/lib/postdoc.rb +34 -14
  4. metadata +20 -373
  5. data/lib/pdf.js +0 -27
  6. data/node_modules/agent-base/History.md +0 -113
  7. data/node_modules/agent-base/README.md +0 -145
  8. data/node_modules/agent-base/index.js +0 -160
  9. data/node_modules/agent-base/package.json +0 -35
  10. data/node_modules/agent-base/patch-core.js +0 -37
  11. data/node_modules/agent-base/test/ssl-cert-snakeoil.key +0 -15
  12. data/node_modules/agent-base/test/ssl-cert-snakeoil.pem +0 -12
  13. data/node_modules/agent-base/test/test.js +0 -673
  14. data/node_modules/async-limiter/LICENSE +0 -8
  15. data/node_modules/async-limiter/coverage/coverage.json +0 -1
  16. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.html +0 -73
  17. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.js.html +0 -246
  18. data/node_modules/async-limiter/coverage/lcov-report/base.css +0 -182
  19. data/node_modules/async-limiter/coverage/lcov-report/index.html +0 -73
  20. data/node_modules/async-limiter/coverage/lcov-report/prettify.css +0 -1
  21. data/node_modules/async-limiter/coverage/lcov-report/prettify.js +0 -1
  22. data/node_modules/async-limiter/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  23. data/node_modules/async-limiter/coverage/lcov-report/sorter.js +0 -156
  24. data/node_modules/async-limiter/coverage/lcov.info +0 -74
  25. data/node_modules/async-limiter/index.js +0 -67
  26. data/node_modules/async-limiter/package.json +0 -35
  27. data/node_modules/async-limiter/readme.md +0 -132
  28. data/node_modules/balanced-match/LICENSE.md +0 -21
  29. data/node_modules/balanced-match/README.md +0 -91
  30. data/node_modules/balanced-match/index.js +0 -59
  31. data/node_modules/balanced-match/package.json +0 -49
  32. data/node_modules/brace-expansion/LICENSE +0 -21
  33. data/node_modules/brace-expansion/README.md +0 -129
  34. data/node_modules/brace-expansion/index.js +0 -201
  35. data/node_modules/brace-expansion/package.json +0 -47
  36. data/node_modules/buffer-from/index.js +0 -69
  37. data/node_modules/buffer-from/package.json +0 -16
  38. data/node_modules/buffer-from/readme.md +0 -69
  39. data/node_modules/buffer-from/test.js +0 -12
  40. data/node_modules/concat-map/LICENSE +0 -18
  41. data/node_modules/concat-map/README.markdown +0 -62
  42. data/node_modules/concat-map/example/map.js +0 -6
  43. data/node_modules/concat-map/index.js +0 -13
  44. data/node_modules/concat-map/package.json +0 -43
  45. data/node_modules/concat-map/test/map.js +0 -39
  46. data/node_modules/concat-stream/LICENSE +0 -24
  47. data/node_modules/concat-stream/index.js +0 -144
  48. data/node_modules/concat-stream/package.json +0 -55
  49. data/node_modules/concat-stream/readme.md +0 -102
  50. data/node_modules/core-util-is/LICENSE +0 -19
  51. data/node_modules/core-util-is/README.md +0 -3
  52. data/node_modules/core-util-is/float.patch +0 -604
  53. data/node_modules/core-util-is/lib/util.js +0 -107
  54. data/node_modules/core-util-is/package.json +0 -32
  55. data/node_modules/core-util-is/test.js +0 -68
  56. data/node_modules/debug/CHANGELOG.md +0 -395
  57. data/node_modules/debug/LICENSE +0 -19
  58. data/node_modules/debug/Makefile +0 -58
  59. data/node_modules/debug/README.md +0 -368
  60. data/node_modules/debug/karma.conf.js +0 -70
  61. data/node_modules/debug/node.js +0 -1
  62. data/node_modules/debug/package.json +0 -43
  63. data/node_modules/debug/src/browser.js +0 -195
  64. data/node_modules/debug/src/debug.js +0 -225
  65. data/node_modules/debug/src/index.js +0 -10
  66. data/node_modules/debug/src/node.js +0 -186
  67. data/node_modules/es6-promise/CHANGELOG.md +0 -151
  68. data/node_modules/es6-promise/LICENSE +0 -19
  69. data/node_modules/es6-promise/README.md +0 -97
  70. data/node_modules/es6-promise/auto.js +0 -4
  71. data/node_modules/es6-promise/dist/es6-promise.auto.js +0 -1181
  72. data/node_modules/es6-promise/dist/es6-promise.auto.map +0 -1
  73. data/node_modules/es6-promise/dist/es6-promise.auto.min.js +0 -1
  74. data/node_modules/es6-promise/dist/es6-promise.auto.min.map +0 -1
  75. data/node_modules/es6-promise/dist/es6-promise.js +0 -1179
  76. data/node_modules/es6-promise/dist/es6-promise.map +0 -1
  77. data/node_modules/es6-promise/dist/es6-promise.min.js +0 -1
  78. data/node_modules/es6-promise/dist/es6-promise.min.map +0 -1
  79. data/node_modules/es6-promise/es6-promise.d.ts +0 -81
  80. data/node_modules/es6-promise/lib/es6-promise/-internal.js +0 -266
  81. data/node_modules/es6-promise/lib/es6-promise/asap.js +0 -119
  82. data/node_modules/es6-promise/lib/es6-promise/enumerator.js +0 -113
  83. data/node_modules/es6-promise/lib/es6-promise/polyfill.js +0 -35
  84. data/node_modules/es6-promise/lib/es6-promise/promise/all.js +0 -52
  85. data/node_modules/es6-promise/lib/es6-promise/promise/race.js +0 -84
  86. data/node_modules/es6-promise/lib/es6-promise/promise/reject.js +0 -46
  87. data/node_modules/es6-promise/lib/es6-promise/promise/resolve.js +0 -48
  88. data/node_modules/es6-promise/lib/es6-promise/promise.js +0 -427
  89. data/node_modules/es6-promise/lib/es6-promise/then.js +0 -32
  90. data/node_modules/es6-promise/lib/es6-promise/utils.js +0 -21
  91. data/node_modules/es6-promise/lib/es6-promise.auto.js +0 -3
  92. data/node_modules/es6-promise/lib/es6-promise.js +0 -7
  93. data/node_modules/es6-promise/package.json +0 -75
  94. data/node_modules/es6-promisify/README.md +0 -89
  95. data/node_modules/es6-promisify/dist/promise.js +0 -73
  96. data/node_modules/es6-promisify/dist/promisify.js +0 -85
  97. data/node_modules/es6-promisify/package.json +0 -41
  98. data/node_modules/extract-zip/CONTRIBUTING.md +0 -1
  99. data/node_modules/extract-zip/LICENSE +0 -23
  100. data/node_modules/extract-zip/cli.js +0 -20
  101. data/node_modules/extract-zip/index.js +0 -205
  102. data/node_modules/extract-zip/node_modules/debug/CHANGELOG.md +0 -362
  103. data/node_modules/extract-zip/node_modules/debug/LICENSE +0 -19
  104. data/node_modules/extract-zip/node_modules/debug/Makefile +0 -50
  105. data/node_modules/extract-zip/node_modules/debug/README.md +0 -312
  106. data/node_modules/extract-zip/node_modules/debug/component.json +0 -19
  107. data/node_modules/extract-zip/node_modules/debug/karma.conf.js +0 -70
  108. data/node_modules/extract-zip/node_modules/debug/node.js +0 -1
  109. data/node_modules/extract-zip/node_modules/debug/package.json +0 -49
  110. data/node_modules/extract-zip/node_modules/debug/src/browser.js +0 -185
  111. data/node_modules/extract-zip/node_modules/debug/src/debug.js +0 -202
  112. data/node_modules/extract-zip/node_modules/debug/src/index.js +0 -10
  113. data/node_modules/extract-zip/node_modules/debug/src/inspector-log.js +0 -15
  114. data/node_modules/extract-zip/node_modules/debug/src/node.js +0 -248
  115. data/node_modules/extract-zip/package.json +0 -35
  116. data/node_modules/extract-zip/readme.md +0 -49
  117. data/node_modules/fd-slicer/CHANGELOG.md +0 -49
  118. data/node_modules/fd-slicer/LICENSE +0 -21
  119. data/node_modules/fd-slicer/README.md +0 -189
  120. data/node_modules/fd-slicer/index.js +0 -277
  121. data/node_modules/fd-slicer/package.json +0 -36
  122. data/node_modules/fd-slicer/test/test.js +0 -350
  123. data/node_modules/fs.realpath/LICENSE +0 -43
  124. data/node_modules/fs.realpath/README.md +0 -33
  125. data/node_modules/fs.realpath/index.js +0 -66
  126. data/node_modules/fs.realpath/old.js +0 -303
  127. data/node_modules/fs.realpath/package.json +0 -26
  128. data/node_modules/glob/LICENSE +0 -15
  129. data/node_modules/glob/README.md +0 -368
  130. data/node_modules/glob/changelog.md +0 -67
  131. data/node_modules/glob/common.js +0 -240
  132. data/node_modules/glob/glob.js +0 -790
  133. data/node_modules/glob/package.json +0 -43
  134. data/node_modules/glob/sync.js +0 -486
  135. data/node_modules/https-proxy-agent/History.md +0 -124
  136. data/node_modules/https-proxy-agent/README.md +0 -137
  137. data/node_modules/https-proxy-agent/index.js +0 -229
  138. data/node_modules/https-proxy-agent/package.json +0 -35
  139. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.key +0 -15
  140. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.pem +0 -12
  141. data/node_modules/https-proxy-agent/test/test.js +0 -342
  142. data/node_modules/inflight/LICENSE +0 -15
  143. data/node_modules/inflight/README.md +0 -37
  144. data/node_modules/inflight/inflight.js +0 -54
  145. data/node_modules/inflight/package.json +0 -29
  146. data/node_modules/inherits/LICENSE +0 -16
  147. data/node_modules/inherits/README.md +0 -42
  148. data/node_modules/inherits/inherits.js +0 -7
  149. data/node_modules/inherits/inherits_browser.js +0 -23
  150. data/node_modules/inherits/package.json +0 -29
  151. data/node_modules/isarray/Makefile +0 -6
  152. data/node_modules/isarray/README.md +0 -60
  153. data/node_modules/isarray/component.json +0 -19
  154. data/node_modules/isarray/index.js +0 -5
  155. data/node_modules/isarray/package.json +0 -45
  156. data/node_modules/isarray/test.js +0 -20
  157. data/node_modules/mime/CHANGELOG.md +0 -225
  158. data/node_modules/mime/CONTRIBUTING.md +0 -5
  159. data/node_modules/mime/LICENSE +0 -21
  160. data/node_modules/mime/Mime.js +0 -89
  161. data/node_modules/mime/README.md +0 -188
  162. data/node_modules/mime/cli.js +0 -10
  163. data/node_modules/mime/index.js +0 -4
  164. data/node_modules/mime/lite.js +0 -4
  165. data/node_modules/mime/package.json +0 -43
  166. data/node_modules/mime/src/README_js.md +0 -179
  167. data/node_modules/mime/src/build.js +0 -71
  168. data/node_modules/mime/src/test.js +0 -257
  169. data/node_modules/mime/types/other.json +0 -1
  170. data/node_modules/mime/types/standard.json +0 -1
  171. data/node_modules/minimatch/LICENSE +0 -15
  172. data/node_modules/minimatch/README.md +0 -209
  173. data/node_modules/minimatch/minimatch.js +0 -923
  174. data/node_modules/minimatch/package.json +0 -30
  175. data/node_modules/minimist/LICENSE +0 -18
  176. data/node_modules/minimist/example/parse.js +0 -2
  177. data/node_modules/minimist/index.js +0 -187
  178. data/node_modules/minimist/package.json +0 -40
  179. data/node_modules/minimist/readme.markdown +0 -73
  180. data/node_modules/minimist/test/dash.js +0 -24
  181. data/node_modules/minimist/test/default_bool.js +0 -20
  182. data/node_modules/minimist/test/dotted.js +0 -16
  183. data/node_modules/minimist/test/long.js +0 -31
  184. data/node_modules/minimist/test/parse.js +0 -318
  185. data/node_modules/minimist/test/parse_modified.js +0 -9
  186. data/node_modules/minimist/test/short.js +0 -67
  187. data/node_modules/minimist/test/whitespace.js +0 -8
  188. data/node_modules/mkdirp/LICENSE +0 -21
  189. data/node_modules/mkdirp/bin/cmd.js +0 -33
  190. data/node_modules/mkdirp/bin/usage.txt +0 -12
  191. data/node_modules/mkdirp/examples/pow.js +0 -6
  192. data/node_modules/mkdirp/index.js +0 -98
  193. data/node_modules/mkdirp/package.json +0 -27
  194. data/node_modules/mkdirp/readme.markdown +0 -100
  195. data/node_modules/mkdirp/test/chmod.js +0 -41
  196. data/node_modules/mkdirp/test/clobber.js +0 -38
  197. data/node_modules/mkdirp/test/mkdirp.js +0 -28
  198. data/node_modules/mkdirp/test/opts_fs.js +0 -29
  199. data/node_modules/mkdirp/test/opts_fs_sync.js +0 -27
  200. data/node_modules/mkdirp/test/perm.js +0 -32
  201. data/node_modules/mkdirp/test/perm_sync.js +0 -36
  202. data/node_modules/mkdirp/test/race.js +0 -37
  203. data/node_modules/mkdirp/test/rel.js +0 -32
  204. data/node_modules/mkdirp/test/return.js +0 -25
  205. data/node_modules/mkdirp/test/return_sync.js +0 -24
  206. data/node_modules/mkdirp/test/root.js +0 -19
  207. data/node_modules/mkdirp/test/sync.js +0 -32
  208. data/node_modules/mkdirp/test/umask.js +0 -28
  209. data/node_modules/mkdirp/test/umask_sync.js +0 -32
  210. data/node_modules/ms/index.js +0 -152
  211. data/node_modules/ms/license.md +0 -21
  212. data/node_modules/ms/package.json +0 -37
  213. data/node_modules/ms/readme.md +0 -51
  214. data/node_modules/once/LICENSE +0 -15
  215. data/node_modules/once/README.md +0 -79
  216. data/node_modules/once/once.js +0 -42
  217. data/node_modules/once/package.json +0 -33
  218. data/node_modules/path-is-absolute/index.js +0 -20
  219. data/node_modules/path-is-absolute/license +0 -21
  220. data/node_modules/path-is-absolute/package.json +0 -43
  221. data/node_modules/path-is-absolute/readme.md +0 -59
  222. data/node_modules/pend/LICENSE +0 -23
  223. data/node_modules/pend/README.md +0 -41
  224. data/node_modules/pend/index.js +0 -55
  225. data/node_modules/pend/package.json +0 -18
  226. data/node_modules/pend/test.js +0 -137
  227. data/node_modules/process-nextick-args/index.js +0 -44
  228. data/node_modules/process-nextick-args/license.md +0 -19
  229. data/node_modules/process-nextick-args/package.json +0 -25
  230. data/node_modules/process-nextick-args/readme.md +0 -18
  231. data/node_modules/progress/CHANGELOG.md +0 -115
  232. data/node_modules/progress/LICENSE +0 -22
  233. data/node_modules/progress/Makefile +0 -8
  234. data/node_modules/progress/README.md +0 -146
  235. data/node_modules/progress/index.js +0 -1
  236. data/node_modules/progress/lib/node-progress.js +0 -231
  237. data/node_modules/progress/package.json +0 -25
  238. data/node_modules/proxy-from-env/README.md +0 -131
  239. data/node_modules/proxy-from-env/index.js +0 -103
  240. data/node_modules/proxy-from-env/package.json +0 -35
  241. data/node_modules/proxy-from-env/test.js +0 -393
  242. data/node_modules/puppeteer/CONTRIBUTING.md +0 -206
  243. data/node_modules/puppeteer/DeviceDescriptors.js +0 -704
  244. data/node_modules/puppeteer/LICENSE +0 -202
  245. data/node_modules/puppeteer/README.md +0 -306
  246. data/node_modules/puppeteer/index.js +0 -28
  247. data/node_modules/puppeteer/install.js +0 -122
  248. data/node_modules/puppeteer/lib/Browser.js +0 -186
  249. data/node_modules/puppeteer/lib/BrowserFetcher.js +0 -279
  250. data/node_modules/puppeteer/lib/Connection.js +0 -246
  251. data/node_modules/puppeteer/lib/Coverage.js +0 -301
  252. data/node_modules/puppeteer/lib/Dialog.js +0 -84
  253. data/node_modules/puppeteer/lib/ElementHandle.js +0 -328
  254. data/node_modules/puppeteer/lib/EmulationManager.js +0 -89
  255. data/node_modules/puppeteer/lib/ExecutionContext.js +0 -232
  256. data/node_modules/puppeteer/lib/FrameManager.js +0 -997
  257. data/node_modules/puppeteer/lib/Input.js +0 -309
  258. data/node_modules/puppeteer/lib/Launcher.js +0 -310
  259. data/node_modules/puppeteer/lib/Multimap.js +0 -95
  260. data/node_modules/puppeteer/lib/NavigatorWatcher.js +0 -137
  261. data/node_modules/puppeteer/lib/NetworkManager.js +0 -796
  262. data/node_modules/puppeteer/lib/Page.js +0 -1098
  263. data/node_modules/puppeteer/lib/Pipe.js +0 -69
  264. data/node_modules/puppeteer/lib/Puppeteer.js +0 -60
  265. data/node_modules/puppeteer/lib/Target.js +0 -88
  266. data/node_modules/puppeteer/lib/TaskQueue.js +0 -17
  267. data/node_modules/puppeteer/lib/Tracing.js +0 -99
  268. data/node_modules/puppeteer/lib/USKeyboardLayout.js +0 -281
  269. data/node_modules/puppeteer/lib/helper.js +0 -248
  270. data/node_modules/puppeteer/node6/lib/Browser.js +0 -394
  271. data/node_modules/puppeteer/node6/lib/BrowserFetcher.js +0 -357
  272. data/node_modules/puppeteer/node6/lib/Connection.js +0 -350
  273. data/node_modules/puppeteer/node6/lib/Coverage.js +0 -561
  274. data/node_modules/puppeteer/node6/lib/Dialog.js +0 -136
  275. data/node_modules/puppeteer/node6/lib/ElementHandle.js +0 -796
  276. data/node_modules/puppeteer/node6/lib/EmulationManager.js +0 -115
  277. data/node_modules/puppeteer/node6/lib/ExecutionContext.js +0 -414
  278. data/node_modules/puppeteer/node6/lib/FrameManager.js +0 -1621
  279. data/node_modules/puppeteer/node6/lib/Input.js +0 -569
  280. data/node_modules/puppeteer/node6/lib/Launcher.js +0 -362
  281. data/node_modules/puppeteer/node6/lib/Multimap.js +0 -95
  282. data/node_modules/puppeteer/node6/lib/NavigatorWatcher.js +0 -163
  283. data/node_modules/puppeteer/node6/lib/NetworkManager.js +0 -1108
  284. data/node_modules/puppeteer/node6/lib/Page.js +0 -2242
  285. data/node_modules/puppeteer/node6/lib/Pipe.js +0 -69
  286. data/node_modules/puppeteer/node6/lib/Puppeteer.js +0 -60
  287. data/node_modules/puppeteer/node6/lib/Target.js +0 -114
  288. data/node_modules/puppeteer/node6/lib/TaskQueue.js +0 -17
  289. data/node_modules/puppeteer/node6/lib/Tracing.js +0 -177
  290. data/node_modules/puppeteer/node6/lib/USKeyboardLayout.js +0 -281
  291. data/node_modules/puppeteer/node6/lib/helper.js +0 -274
  292. data/node_modules/puppeteer/package.json +0 -61
  293. data/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  294. data/node_modules/readable-stream/GOVERNANCE.md +0 -136
  295. data/node_modules/readable-stream/LICENSE +0 -47
  296. data/node_modules/readable-stream/README.md +0 -58
  297. data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  298. data/node_modules/readable-stream/duplex-browser.js +0 -1
  299. data/node_modules/readable-stream/duplex.js +0 -1
  300. data/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  301. data/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  302. data/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  303. data/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  304. data/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  305. data/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  306. data/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  307. data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  308. data/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  309. data/node_modules/readable-stream/package.json +0 -52
  310. data/node_modules/readable-stream/passthrough.js +0 -1
  311. data/node_modules/readable-stream/readable-browser.js +0 -7
  312. data/node_modules/readable-stream/readable.js +0 -19
  313. data/node_modules/readable-stream/transform.js +0 -1
  314. data/node_modules/readable-stream/writable-browser.js +0 -1
  315. data/node_modules/readable-stream/writable.js +0 -8
  316. data/node_modules/rimraf/LICENSE +0 -15
  317. data/node_modules/rimraf/README.md +0 -101
  318. data/node_modules/rimraf/bin.js +0 -50
  319. data/node_modules/rimraf/package.json +0 -26
  320. data/node_modules/rimraf/rimraf.js +0 -364
  321. data/node_modules/safe-buffer/LICENSE +0 -21
  322. data/node_modules/safe-buffer/README.md +0 -584
  323. data/node_modules/safe-buffer/index.d.ts +0 -187
  324. data/node_modules/safe-buffer/index.js +0 -62
  325. data/node_modules/safe-buffer/package.json +0 -37
  326. data/node_modules/string_decoder/LICENSE +0 -48
  327. data/node_modules/string_decoder/README.md +0 -47
  328. data/node_modules/string_decoder/lib/string_decoder.js +0 -296
  329. data/node_modules/string_decoder/package.json +0 -31
  330. data/node_modules/typedarray/LICENSE +0 -35
  331. data/node_modules/typedarray/example/tarray.js +0 -4
  332. data/node_modules/typedarray/index.js +0 -630
  333. data/node_modules/typedarray/package.json +0 -55
  334. data/node_modules/typedarray/readme.markdown +0 -61
  335. data/node_modules/typedarray/test/server/undef_globals.js +0 -19
  336. data/node_modules/typedarray/test/tarray.js +0 -10
  337. data/node_modules/ultron/LICENSE +0 -22
  338. data/node_modules/ultron/README.md +0 -113
  339. data/node_modules/ultron/index.js +0 -136
  340. data/node_modules/ultron/package.json +0 -41
  341. data/node_modules/util-deprecate/History.md +0 -16
  342. data/node_modules/util-deprecate/LICENSE +0 -24
  343. data/node_modules/util-deprecate/README.md +0 -53
  344. data/node_modules/util-deprecate/browser.js +0 -67
  345. data/node_modules/util-deprecate/node.js +0 -6
  346. data/node_modules/util-deprecate/package.json +0 -27
  347. data/node_modules/wrappy/LICENSE +0 -15
  348. data/node_modules/wrappy/README.md +0 -36
  349. data/node_modules/wrappy/package.json +0 -29
  350. data/node_modules/wrappy/wrappy.js +0 -33
  351. data/node_modules/ws/LICENSE +0 -21
  352. data/node_modules/ws/README.md +0 -341
  353. data/node_modules/ws/index.js +0 -15
  354. data/node_modules/ws/lib/BufferUtil.js +0 -71
  355. data/node_modules/ws/lib/Constants.js +0 -10
  356. data/node_modules/ws/lib/ErrorCodes.js +0 -28
  357. data/node_modules/ws/lib/EventTarget.js +0 -151
  358. data/node_modules/ws/lib/Extensions.js +0 -203
  359. data/node_modules/ws/lib/PerMessageDeflate.js +0 -507
  360. data/node_modules/ws/lib/Receiver.js +0 -553
  361. data/node_modules/ws/lib/Sender.js +0 -412
  362. data/node_modules/ws/lib/Validation.js +0 -17
  363. data/node_modules/ws/lib/WebSocket.js +0 -717
  364. data/node_modules/ws/lib/WebSocketServer.js +0 -326
  365. data/node_modules/ws/package.json +0 -46
  366. data/node_modules/yauzl/LICENSE +0 -21
  367. data/node_modules/yauzl/README.md +0 -467
  368. data/node_modules/yauzl/index.js +0 -626
  369. data/node_modules/yauzl/package.json +0 -36
  370. data/package.json +0 -5
  371. data/yarn.lock +0 -240
@@ -1,687 +0,0 @@
1
- // Copyright Joyent, Inc. and other Node contributors.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a
4
- // copy of this software and associated documentation files (the
5
- // "Software"), to deal in the Software without restriction, including
6
- // without limitation the rights to use, copy, modify, merge, publish,
7
- // distribute, sublicense, and/or sell copies of the Software, and to permit
8
- // persons to whom the Software is furnished to do so, subject to the
9
- // following conditions:
10
- //
11
- // The above copyright notice and this permission notice shall be included
12
- // in all copies or substantial portions of the Software.
13
- //
14
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
17
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
19
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
21
-
22
- // A bit simpler than readable streams.
23
- // Implement an async ._write(chunk, encoding, cb), and it'll handle all
24
- // the drain event emission and buffering.
25
-
26
- 'use strict';
27
-
28
- /*<replacement>*/
29
-
30
- var pna = require('process-nextick-args');
31
- /*</replacement>*/
32
-
33
- module.exports = Writable;
34
-
35
- /* <replacement> */
36
- function WriteReq(chunk, encoding, cb) {
37
- this.chunk = chunk;
38
- this.encoding = encoding;
39
- this.callback = cb;
40
- this.next = null;
41
- }
42
-
43
- // It seems a linked list but it is not
44
- // there will be only 2 of these for each stream
45
- function CorkedRequest(state) {
46
- var _this = this;
47
-
48
- this.next = null;
49
- this.entry = null;
50
- this.finish = function () {
51
- onCorkedFinish(_this, state);
52
- };
53
- }
54
- /* </replacement> */
55
-
56
- /*<replacement>*/
57
- var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
58
- /*</replacement>*/
59
-
60
- /*<replacement>*/
61
- var Duplex;
62
- /*</replacement>*/
63
-
64
- Writable.WritableState = WritableState;
65
-
66
- /*<replacement>*/
67
- var util = require('core-util-is');
68
- util.inherits = require('inherits');
69
- /*</replacement>*/
70
-
71
- /*<replacement>*/
72
- var internalUtil = {
73
- deprecate: require('util-deprecate')
74
- };
75
- /*</replacement>*/
76
-
77
- /*<replacement>*/
78
- var Stream = require('./internal/streams/stream');
79
- /*</replacement>*/
80
-
81
- /*<replacement>*/
82
-
83
- var Buffer = require('safe-buffer').Buffer;
84
- var OurUint8Array = global.Uint8Array || function () {};
85
- function _uint8ArrayToBuffer(chunk) {
86
- return Buffer.from(chunk);
87
- }
88
- function _isUint8Array(obj) {
89
- return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
90
- }
91
-
92
- /*</replacement>*/
93
-
94
- var destroyImpl = require('./internal/streams/destroy');
95
-
96
- util.inherits(Writable, Stream);
97
-
98
- function nop() {}
99
-
100
- function WritableState(options, stream) {
101
- Duplex = Duplex || require('./_stream_duplex');
102
-
103
- options = options || {};
104
-
105
- // Duplex streams are both readable and writable, but share
106
- // the same options object.
107
- // However, some cases require setting options to different
108
- // values for the readable and the writable sides of the duplex stream.
109
- // These options can be provided separately as readableXXX and writableXXX.
110
- var isDuplex = stream instanceof Duplex;
111
-
112
- // object stream flag to indicate whether or not this stream
113
- // contains buffers or objects.
114
- this.objectMode = !!options.objectMode;
115
-
116
- if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
117
-
118
- // the point at which write() starts returning false
119
- // Note: 0 is a valid value, means that we always return false if
120
- // the entire buffer is not flushed immediately on write()
121
- var hwm = options.highWaterMark;
122
- var writableHwm = options.writableHighWaterMark;
123
- var defaultHwm = this.objectMode ? 16 : 16 * 1024;
124
-
125
- if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;
126
-
127
- // cast to ints.
128
- this.highWaterMark = Math.floor(this.highWaterMark);
129
-
130
- // if _final has been called
131
- this.finalCalled = false;
132
-
133
- // drain event flag.
134
- this.needDrain = false;
135
- // at the start of calling end()
136
- this.ending = false;
137
- // when end() has been called, and returned
138
- this.ended = false;
139
- // when 'finish' is emitted
140
- this.finished = false;
141
-
142
- // has it been destroyed
143
- this.destroyed = false;
144
-
145
- // should we decode strings into buffers before passing to _write?
146
- // this is here so that some node-core streams can optimize string
147
- // handling at a lower level.
148
- var noDecode = options.decodeStrings === false;
149
- this.decodeStrings = !noDecode;
150
-
151
- // Crypto is kind of old and crusty. Historically, its default string
152
- // encoding is 'binary' so we have to make this configurable.
153
- // Everything else in the universe uses 'utf8', though.
154
- this.defaultEncoding = options.defaultEncoding || 'utf8';
155
-
156
- // not an actual buffer we keep track of, but a measurement
157
- // of how much we're waiting to get pushed to some underlying
158
- // socket or file.
159
- this.length = 0;
160
-
161
- // a flag to see when we're in the middle of a write.
162
- this.writing = false;
163
-
164
- // when true all writes will be buffered until .uncork() call
165
- this.corked = 0;
166
-
167
- // a flag to be able to tell if the onwrite cb is called immediately,
168
- // or on a later tick. We set this to true at first, because any
169
- // actions that shouldn't happen until "later" should generally also
170
- // not happen before the first write call.
171
- this.sync = true;
172
-
173
- // a flag to know if we're processing previously buffered items, which
174
- // may call the _write() callback in the same tick, so that we don't
175
- // end up in an overlapped onwrite situation.
176
- this.bufferProcessing = false;
177
-
178
- // the callback that's passed to _write(chunk,cb)
179
- this.onwrite = function (er) {
180
- onwrite(stream, er);
181
- };
182
-
183
- // the callback that the user supplies to write(chunk,encoding,cb)
184
- this.writecb = null;
185
-
186
- // the amount that is being written when _write is called.
187
- this.writelen = 0;
188
-
189
- this.bufferedRequest = null;
190
- this.lastBufferedRequest = null;
191
-
192
- // number of pending user-supplied write callbacks
193
- // this must be 0 before 'finish' can be emitted
194
- this.pendingcb = 0;
195
-
196
- // emit prefinish if the only thing we're waiting for is _write cbs
197
- // This is relevant for synchronous Transform streams
198
- this.prefinished = false;
199
-
200
- // True if the error was already emitted and should not be thrown again
201
- this.errorEmitted = false;
202
-
203
- // count buffered requests
204
- this.bufferedRequestCount = 0;
205
-
206
- // allocate the first CorkedRequest, there is always
207
- // one allocated and free to use, and we maintain at most two
208
- this.corkedRequestsFree = new CorkedRequest(this);
209
- }
210
-
211
- WritableState.prototype.getBuffer = function getBuffer() {
212
- var current = this.bufferedRequest;
213
- var out = [];
214
- while (current) {
215
- out.push(current);
216
- current = current.next;
217
- }
218
- return out;
219
- };
220
-
221
- (function () {
222
- try {
223
- Object.defineProperty(WritableState.prototype, 'buffer', {
224
- get: internalUtil.deprecate(function () {
225
- return this.getBuffer();
226
- }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')
227
- });
228
- } catch (_) {}
229
- })();
230
-
231
- // Test _writableState for inheritance to account for Duplex streams,
232
- // whose prototype chain only points to Readable.
233
- var realHasInstance;
234
- if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {
235
- realHasInstance = Function.prototype[Symbol.hasInstance];
236
- Object.defineProperty(Writable, Symbol.hasInstance, {
237
- value: function (object) {
238
- if (realHasInstance.call(this, object)) return true;
239
- if (this !== Writable) return false;
240
-
241
- return object && object._writableState instanceof WritableState;
242
- }
243
- });
244
- } else {
245
- realHasInstance = function (object) {
246
- return object instanceof this;
247
- };
248
- }
249
-
250
- function Writable(options) {
251
- Duplex = Duplex || require('./_stream_duplex');
252
-
253
- // Writable ctor is applied to Duplexes, too.
254
- // `realHasInstance` is necessary because using plain `instanceof`
255
- // would return false, as no `_writableState` property is attached.
256
-
257
- // Trying to use the custom `instanceof` for Writable here will also break the
258
- // Node.js LazyTransform implementation, which has a non-trivial getter for
259
- // `_writableState` that would lead to infinite recursion.
260
- if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
261
- return new Writable(options);
262
- }
263
-
264
- this._writableState = new WritableState(options, this);
265
-
266
- // legacy.
267
- this.writable = true;
268
-
269
- if (options) {
270
- if (typeof options.write === 'function') this._write = options.write;
271
-
272
- if (typeof options.writev === 'function') this._writev = options.writev;
273
-
274
- if (typeof options.destroy === 'function') this._destroy = options.destroy;
275
-
276
- if (typeof options.final === 'function') this._final = options.final;
277
- }
278
-
279
- Stream.call(this);
280
- }
281
-
282
- // Otherwise people can pipe Writable streams, which is just wrong.
283
- Writable.prototype.pipe = function () {
284
- this.emit('error', new Error('Cannot pipe, not readable'));
285
- };
286
-
287
- function writeAfterEnd(stream, cb) {
288
- var er = new Error('write after end');
289
- // TODO: defer error events consistently everywhere, not just the cb
290
- stream.emit('error', er);
291
- pna.nextTick(cb, er);
292
- }
293
-
294
- // Checks that a user-supplied chunk is valid, especially for the particular
295
- // mode the stream is in. Currently this means that `null` is never accepted
296
- // and undefined/non-string values are only allowed in object mode.
297
- function validChunk(stream, state, chunk, cb) {
298
- var valid = true;
299
- var er = false;
300
-
301
- if (chunk === null) {
302
- er = new TypeError('May not write null values to stream');
303
- } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {
304
- er = new TypeError('Invalid non-string/buffer chunk');
305
- }
306
- if (er) {
307
- stream.emit('error', er);
308
- pna.nextTick(cb, er);
309
- valid = false;
310
- }
311
- return valid;
312
- }
313
-
314
- Writable.prototype.write = function (chunk, encoding, cb) {
315
- var state = this._writableState;
316
- var ret = false;
317
- var isBuf = !state.objectMode && _isUint8Array(chunk);
318
-
319
- if (isBuf && !Buffer.isBuffer(chunk)) {
320
- chunk = _uint8ArrayToBuffer(chunk);
321
- }
322
-
323
- if (typeof encoding === 'function') {
324
- cb = encoding;
325
- encoding = null;
326
- }
327
-
328
- if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;
329
-
330
- if (typeof cb !== 'function') cb = nop;
331
-
332
- if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {
333
- state.pendingcb++;
334
- ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
335
- }
336
-
337
- return ret;
338
- };
339
-
340
- Writable.prototype.cork = function () {
341
- var state = this._writableState;
342
-
343
- state.corked++;
344
- };
345
-
346
- Writable.prototype.uncork = function () {
347
- var state = this._writableState;
348
-
349
- if (state.corked) {
350
- state.corked--;
351
-
352
- if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
353
- }
354
- };
355
-
356
- Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
357
- // node::ParseEncoding() requires lower case.
358
- if (typeof encoding === 'string') encoding = encoding.toLowerCase();
359
- 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);
360
- this._writableState.defaultEncoding = encoding;
361
- return this;
362
- };
363
-
364
- function decodeChunk(state, chunk, encoding) {
365
- if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {
366
- chunk = Buffer.from(chunk, encoding);
367
- }
368
- return chunk;
369
- }
370
-
371
- Object.defineProperty(Writable.prototype, 'writableHighWaterMark', {
372
- // making it explicit this property is not enumerable
373
- // because otherwise some prototype manipulation in
374
- // userland will fail
375
- enumerable: false,
376
- get: function () {
377
- return this._writableState.highWaterMark;
378
- }
379
- });
380
-
381
- // if we're already writing something, then just put this
382
- // in the queue, and wait our turn. Otherwise, call _write
383
- // If we return false, then we need a drain event, so set that flag.
384
- function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
385
- if (!isBuf) {
386
- var newChunk = decodeChunk(state, chunk, encoding);
387
- if (chunk !== newChunk) {
388
- isBuf = true;
389
- encoding = 'buffer';
390
- chunk = newChunk;
391
- }
392
- }
393
- var len = state.objectMode ? 1 : chunk.length;
394
-
395
- state.length += len;
396
-
397
- var ret = state.length < state.highWaterMark;
398
- // we must ensure that previous needDrain will not be reset to false.
399
- if (!ret) state.needDrain = true;
400
-
401
- if (state.writing || state.corked) {
402
- var last = state.lastBufferedRequest;
403
- state.lastBufferedRequest = {
404
- chunk: chunk,
405
- encoding: encoding,
406
- isBuf: isBuf,
407
- callback: cb,
408
- next: null
409
- };
410
- if (last) {
411
- last.next = state.lastBufferedRequest;
412
- } else {
413
- state.bufferedRequest = state.lastBufferedRequest;
414
- }
415
- state.bufferedRequestCount += 1;
416
- } else {
417
- doWrite(stream, state, false, len, chunk, encoding, cb);
418
- }
419
-
420
- return ret;
421
- }
422
-
423
- function doWrite(stream, state, writev, len, chunk, encoding, cb) {
424
- state.writelen = len;
425
- state.writecb = cb;
426
- state.writing = true;
427
- state.sync = true;
428
- if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);
429
- state.sync = false;
430
- }
431
-
432
- function onwriteError(stream, state, sync, er, cb) {
433
- --state.pendingcb;
434
-
435
- if (sync) {
436
- // defer the callback if we are being called synchronously
437
- // to avoid piling up things on the stack
438
- pna.nextTick(cb, er);
439
- // this can emit finish, and it will always happen
440
- // after error
441
- pna.nextTick(finishMaybe, stream, state);
442
- stream._writableState.errorEmitted = true;
443
- stream.emit('error', er);
444
- } else {
445
- // the caller expect this to happen before if
446
- // it is async
447
- cb(er);
448
- stream._writableState.errorEmitted = true;
449
- stream.emit('error', er);
450
- // this can emit finish, but finish must
451
- // always follow error
452
- finishMaybe(stream, state);
453
- }
454
- }
455
-
456
- function onwriteStateUpdate(state) {
457
- state.writing = false;
458
- state.writecb = null;
459
- state.length -= state.writelen;
460
- state.writelen = 0;
461
- }
462
-
463
- function onwrite(stream, er) {
464
- var state = stream._writableState;
465
- var sync = state.sync;
466
- var cb = state.writecb;
467
-
468
- onwriteStateUpdate(state);
469
-
470
- if (er) onwriteError(stream, state, sync, er, cb);else {
471
- // Check if we're actually ready to finish, but don't emit yet
472
- var finished = needFinish(state);
473
-
474
- if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
475
- clearBuffer(stream, state);
476
- }
477
-
478
- if (sync) {
479
- /*<replacement>*/
480
- asyncWrite(afterWrite, stream, state, finished, cb);
481
- /*</replacement>*/
482
- } else {
483
- afterWrite(stream, state, finished, cb);
484
- }
485
- }
486
- }
487
-
488
- function afterWrite(stream, state, finished, cb) {
489
- if (!finished) onwriteDrain(stream, state);
490
- state.pendingcb--;
491
- cb();
492
- finishMaybe(stream, state);
493
- }
494
-
495
- // Must force callback to be called on nextTick, so that we don't
496
- // emit 'drain' before the write() consumer gets the 'false' return
497
- // value, and has a chance to attach a 'drain' listener.
498
- function onwriteDrain(stream, state) {
499
- if (state.length === 0 && state.needDrain) {
500
- state.needDrain = false;
501
- stream.emit('drain');
502
- }
503
- }
504
-
505
- // if there's something in the buffer waiting, then process it
506
- function clearBuffer(stream, state) {
507
- state.bufferProcessing = true;
508
- var entry = state.bufferedRequest;
509
-
510
- if (stream._writev && entry && entry.next) {
511
- // Fast case, write everything using _writev()
512
- var l = state.bufferedRequestCount;
513
- var buffer = new Array(l);
514
- var holder = state.corkedRequestsFree;
515
- holder.entry = entry;
516
-
517
- var count = 0;
518
- var allBuffers = true;
519
- while (entry) {
520
- buffer[count] = entry;
521
- if (!entry.isBuf) allBuffers = false;
522
- entry = entry.next;
523
- count += 1;
524
- }
525
- buffer.allBuffers = allBuffers;
526
-
527
- doWrite(stream, state, true, state.length, buffer, '', holder.finish);
528
-
529
- // doWrite is almost always async, defer these to save a bit of time
530
- // as the hot path ends with doWrite
531
- state.pendingcb++;
532
- state.lastBufferedRequest = null;
533
- if (holder.next) {
534
- state.corkedRequestsFree = holder.next;
535
- holder.next = null;
536
- } else {
537
- state.corkedRequestsFree = new CorkedRequest(state);
538
- }
539
- state.bufferedRequestCount = 0;
540
- } else {
541
- // Slow case, write chunks one-by-one
542
- while (entry) {
543
- var chunk = entry.chunk;
544
- var encoding = entry.encoding;
545
- var cb = entry.callback;
546
- var len = state.objectMode ? 1 : chunk.length;
547
-
548
- doWrite(stream, state, false, len, chunk, encoding, cb);
549
- entry = entry.next;
550
- state.bufferedRequestCount--;
551
- // if we didn't call the onwrite immediately, then
552
- // it means that we need to wait until it does.
553
- // also, that means that the chunk and cb are currently
554
- // being processed, so move the buffer counter past them.
555
- if (state.writing) {
556
- break;
557
- }
558
- }
559
-
560
- if (entry === null) state.lastBufferedRequest = null;
561
- }
562
-
563
- state.bufferedRequest = entry;
564
- state.bufferProcessing = false;
565
- }
566
-
567
- Writable.prototype._write = function (chunk, encoding, cb) {
568
- cb(new Error('_write() is not implemented'));
569
- };
570
-
571
- Writable.prototype._writev = null;
572
-
573
- Writable.prototype.end = function (chunk, encoding, cb) {
574
- var state = this._writableState;
575
-
576
- if (typeof chunk === 'function') {
577
- cb = chunk;
578
- chunk = null;
579
- encoding = null;
580
- } else if (typeof encoding === 'function') {
581
- cb = encoding;
582
- encoding = null;
583
- }
584
-
585
- if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);
586
-
587
- // .end() fully uncorks
588
- if (state.corked) {
589
- state.corked = 1;
590
- this.uncork();
591
- }
592
-
593
- // ignore unnecessary end() calls.
594
- if (!state.ending && !state.finished) endWritable(this, state, cb);
595
- };
596
-
597
- function needFinish(state) {
598
- return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
599
- }
600
- function callFinal(stream, state) {
601
- stream._final(function (err) {
602
- state.pendingcb--;
603
- if (err) {
604
- stream.emit('error', err);
605
- }
606
- state.prefinished = true;
607
- stream.emit('prefinish');
608
- finishMaybe(stream, state);
609
- });
610
- }
611
- function prefinish(stream, state) {
612
- if (!state.prefinished && !state.finalCalled) {
613
- if (typeof stream._final === 'function') {
614
- state.pendingcb++;
615
- state.finalCalled = true;
616
- pna.nextTick(callFinal, stream, state);
617
- } else {
618
- state.prefinished = true;
619
- stream.emit('prefinish');
620
- }
621
- }
622
- }
623
-
624
- function finishMaybe(stream, state) {
625
- var need = needFinish(state);
626
- if (need) {
627
- prefinish(stream, state);
628
- if (state.pendingcb === 0) {
629
- state.finished = true;
630
- stream.emit('finish');
631
- }
632
- }
633
- return need;
634
- }
635
-
636
- function endWritable(stream, state, cb) {
637
- state.ending = true;
638
- finishMaybe(stream, state);
639
- if (cb) {
640
- if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);
641
- }
642
- state.ended = true;
643
- stream.writable = false;
644
- }
645
-
646
- function onCorkedFinish(corkReq, state, err) {
647
- var entry = corkReq.entry;
648
- corkReq.entry = null;
649
- while (entry) {
650
- var cb = entry.callback;
651
- state.pendingcb--;
652
- cb(err);
653
- entry = entry.next;
654
- }
655
- if (state.corkedRequestsFree) {
656
- state.corkedRequestsFree.next = corkReq;
657
- } else {
658
- state.corkedRequestsFree = corkReq;
659
- }
660
- }
661
-
662
- Object.defineProperty(Writable.prototype, 'destroyed', {
663
- get: function () {
664
- if (this._writableState === undefined) {
665
- return false;
666
- }
667
- return this._writableState.destroyed;
668
- },
669
- set: function (value) {
670
- // we ignore the value if the stream
671
- // has not been initialized yet
672
- if (!this._writableState) {
673
- return;
674
- }
675
-
676
- // backward compatibility, the user is explicitly
677
- // managing destroyed
678
- this._writableState.destroyed = value;
679
- }
680
- });
681
-
682
- Writable.prototype.destroy = destroyImpl.destroy;
683
- Writable.prototype._undestroy = destroyImpl.undestroy;
684
- Writable.prototype._destroy = function (err, cb) {
685
- this.end();
686
- cb(err);
687
- };