postdoc 0.2.0.beta4 → 0.2.4

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 (370) hide show
  1. checksums.yaml +4 -4
  2. data/lib/postdoc.rb +50 -18
  3. metadata +24 -378
  4. data/lib/pdf.js +0 -27
  5. data/node_modules/agent-base/History.md +0 -113
  6. data/node_modules/agent-base/README.md +0 -145
  7. data/node_modules/agent-base/index.js +0 -160
  8. data/node_modules/agent-base/package.json +0 -35
  9. data/node_modules/agent-base/patch-core.js +0 -37
  10. data/node_modules/agent-base/test/ssl-cert-snakeoil.key +0 -15
  11. data/node_modules/agent-base/test/ssl-cert-snakeoil.pem +0 -12
  12. data/node_modules/agent-base/test/test.js +0 -673
  13. data/node_modules/async-limiter/LICENSE +0 -8
  14. data/node_modules/async-limiter/coverage/coverage.json +0 -1
  15. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.html +0 -73
  16. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.js.html +0 -246
  17. data/node_modules/async-limiter/coverage/lcov-report/base.css +0 -182
  18. data/node_modules/async-limiter/coverage/lcov-report/index.html +0 -73
  19. data/node_modules/async-limiter/coverage/lcov-report/prettify.css +0 -1
  20. data/node_modules/async-limiter/coverage/lcov-report/prettify.js +0 -1
  21. data/node_modules/async-limiter/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  22. data/node_modules/async-limiter/coverage/lcov-report/sorter.js +0 -156
  23. data/node_modules/async-limiter/coverage/lcov.info +0 -74
  24. data/node_modules/async-limiter/index.js +0 -67
  25. data/node_modules/async-limiter/package.json +0 -35
  26. data/node_modules/async-limiter/readme.md +0 -132
  27. data/node_modules/balanced-match/LICENSE.md +0 -21
  28. data/node_modules/balanced-match/README.md +0 -91
  29. data/node_modules/balanced-match/index.js +0 -59
  30. data/node_modules/balanced-match/package.json +0 -49
  31. data/node_modules/brace-expansion/LICENSE +0 -21
  32. data/node_modules/brace-expansion/README.md +0 -129
  33. data/node_modules/brace-expansion/index.js +0 -201
  34. data/node_modules/brace-expansion/package.json +0 -47
  35. data/node_modules/buffer-from/index.js +0 -69
  36. data/node_modules/buffer-from/package.json +0 -16
  37. data/node_modules/buffer-from/readme.md +0 -69
  38. data/node_modules/buffer-from/test.js +0 -12
  39. data/node_modules/concat-map/LICENSE +0 -18
  40. data/node_modules/concat-map/README.markdown +0 -62
  41. data/node_modules/concat-map/example/map.js +0 -6
  42. data/node_modules/concat-map/index.js +0 -13
  43. data/node_modules/concat-map/package.json +0 -43
  44. data/node_modules/concat-map/test/map.js +0 -39
  45. data/node_modules/concat-stream/LICENSE +0 -24
  46. data/node_modules/concat-stream/index.js +0 -144
  47. data/node_modules/concat-stream/package.json +0 -55
  48. data/node_modules/concat-stream/readme.md +0 -102
  49. data/node_modules/core-util-is/LICENSE +0 -19
  50. data/node_modules/core-util-is/README.md +0 -3
  51. data/node_modules/core-util-is/float.patch +0 -604
  52. data/node_modules/core-util-is/lib/util.js +0 -107
  53. data/node_modules/core-util-is/package.json +0 -32
  54. data/node_modules/core-util-is/test.js +0 -68
  55. data/node_modules/debug/CHANGELOG.md +0 -395
  56. data/node_modules/debug/LICENSE +0 -19
  57. data/node_modules/debug/Makefile +0 -58
  58. data/node_modules/debug/README.md +0 -368
  59. data/node_modules/debug/karma.conf.js +0 -70
  60. data/node_modules/debug/node.js +0 -1
  61. data/node_modules/debug/package.json +0 -43
  62. data/node_modules/debug/src/browser.js +0 -195
  63. data/node_modules/debug/src/debug.js +0 -225
  64. data/node_modules/debug/src/index.js +0 -10
  65. data/node_modules/debug/src/node.js +0 -186
  66. data/node_modules/es6-promise/CHANGELOG.md +0 -151
  67. data/node_modules/es6-promise/LICENSE +0 -19
  68. data/node_modules/es6-promise/README.md +0 -97
  69. data/node_modules/es6-promise/auto.js +0 -4
  70. data/node_modules/es6-promise/dist/es6-promise.auto.js +0 -1181
  71. data/node_modules/es6-promise/dist/es6-promise.auto.map +0 -1
  72. data/node_modules/es6-promise/dist/es6-promise.auto.min.js +0 -1
  73. data/node_modules/es6-promise/dist/es6-promise.auto.min.map +0 -1
  74. data/node_modules/es6-promise/dist/es6-promise.js +0 -1179
  75. data/node_modules/es6-promise/dist/es6-promise.map +0 -1
  76. data/node_modules/es6-promise/dist/es6-promise.min.js +0 -1
  77. data/node_modules/es6-promise/dist/es6-promise.min.map +0 -1
  78. data/node_modules/es6-promise/es6-promise.d.ts +0 -81
  79. data/node_modules/es6-promise/lib/es6-promise.auto.js +0 -3
  80. data/node_modules/es6-promise/lib/es6-promise.js +0 -7
  81. data/node_modules/es6-promise/lib/es6-promise/-internal.js +0 -266
  82. data/node_modules/es6-promise/lib/es6-promise/asap.js +0 -119
  83. data/node_modules/es6-promise/lib/es6-promise/enumerator.js +0 -113
  84. data/node_modules/es6-promise/lib/es6-promise/polyfill.js +0 -35
  85. data/node_modules/es6-promise/lib/es6-promise/promise.js +0 -427
  86. data/node_modules/es6-promise/lib/es6-promise/promise/all.js +0 -52
  87. data/node_modules/es6-promise/lib/es6-promise/promise/race.js +0 -84
  88. data/node_modules/es6-promise/lib/es6-promise/promise/reject.js +0 -46
  89. data/node_modules/es6-promise/lib/es6-promise/promise/resolve.js +0 -48
  90. data/node_modules/es6-promise/lib/es6-promise/then.js +0 -32
  91. data/node_modules/es6-promise/lib/es6-promise/utils.js +0 -21
  92. data/node_modules/es6-promise/package.json +0 -75
  93. data/node_modules/es6-promisify/README.md +0 -89
  94. data/node_modules/es6-promisify/dist/promise.js +0 -73
  95. data/node_modules/es6-promisify/dist/promisify.js +0 -85
  96. data/node_modules/es6-promisify/package.json +0 -41
  97. data/node_modules/extract-zip/CONTRIBUTING.md +0 -1
  98. data/node_modules/extract-zip/LICENSE +0 -23
  99. data/node_modules/extract-zip/cli.js +0 -20
  100. data/node_modules/extract-zip/index.js +0 -205
  101. data/node_modules/extract-zip/node_modules/debug/CHANGELOG.md +0 -362
  102. data/node_modules/extract-zip/node_modules/debug/LICENSE +0 -19
  103. data/node_modules/extract-zip/node_modules/debug/Makefile +0 -50
  104. data/node_modules/extract-zip/node_modules/debug/README.md +0 -312
  105. data/node_modules/extract-zip/node_modules/debug/component.json +0 -19
  106. data/node_modules/extract-zip/node_modules/debug/karma.conf.js +0 -70
  107. data/node_modules/extract-zip/node_modules/debug/node.js +0 -1
  108. data/node_modules/extract-zip/node_modules/debug/package.json +0 -49
  109. data/node_modules/extract-zip/node_modules/debug/src/browser.js +0 -185
  110. data/node_modules/extract-zip/node_modules/debug/src/debug.js +0 -202
  111. data/node_modules/extract-zip/node_modules/debug/src/index.js +0 -10
  112. data/node_modules/extract-zip/node_modules/debug/src/inspector-log.js +0 -15
  113. data/node_modules/extract-zip/node_modules/debug/src/node.js +0 -248
  114. data/node_modules/extract-zip/package.json +0 -35
  115. data/node_modules/extract-zip/readme.md +0 -49
  116. data/node_modules/fd-slicer/CHANGELOG.md +0 -49
  117. data/node_modules/fd-slicer/LICENSE +0 -21
  118. data/node_modules/fd-slicer/README.md +0 -189
  119. data/node_modules/fd-slicer/index.js +0 -277
  120. data/node_modules/fd-slicer/package.json +0 -36
  121. data/node_modules/fd-slicer/test/test.js +0 -350
  122. data/node_modules/fs.realpath/LICENSE +0 -43
  123. data/node_modules/fs.realpath/README.md +0 -33
  124. data/node_modules/fs.realpath/index.js +0 -66
  125. data/node_modules/fs.realpath/old.js +0 -303
  126. data/node_modules/fs.realpath/package.json +0 -26
  127. data/node_modules/glob/LICENSE +0 -15
  128. data/node_modules/glob/README.md +0 -368
  129. data/node_modules/glob/changelog.md +0 -67
  130. data/node_modules/glob/common.js +0 -240
  131. data/node_modules/glob/glob.js +0 -790
  132. data/node_modules/glob/package.json +0 -43
  133. data/node_modules/glob/sync.js +0 -486
  134. data/node_modules/https-proxy-agent/History.md +0 -124
  135. data/node_modules/https-proxy-agent/README.md +0 -137
  136. data/node_modules/https-proxy-agent/index.js +0 -229
  137. data/node_modules/https-proxy-agent/package.json +0 -35
  138. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.key +0 -15
  139. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.pem +0 -12
  140. data/node_modules/https-proxy-agent/test/test.js +0 -342
  141. data/node_modules/inflight/LICENSE +0 -15
  142. data/node_modules/inflight/README.md +0 -37
  143. data/node_modules/inflight/inflight.js +0 -54
  144. data/node_modules/inflight/package.json +0 -29
  145. data/node_modules/inherits/LICENSE +0 -16
  146. data/node_modules/inherits/README.md +0 -42
  147. data/node_modules/inherits/inherits.js +0 -7
  148. data/node_modules/inherits/inherits_browser.js +0 -23
  149. data/node_modules/inherits/package.json +0 -29
  150. data/node_modules/isarray/Makefile +0 -6
  151. data/node_modules/isarray/README.md +0 -60
  152. data/node_modules/isarray/component.json +0 -19
  153. data/node_modules/isarray/index.js +0 -5
  154. data/node_modules/isarray/package.json +0 -45
  155. data/node_modules/isarray/test.js +0 -20
  156. data/node_modules/mime/CHANGELOG.md +0 -225
  157. data/node_modules/mime/CONTRIBUTING.md +0 -5
  158. data/node_modules/mime/LICENSE +0 -21
  159. data/node_modules/mime/Mime.js +0 -89
  160. data/node_modules/mime/README.md +0 -188
  161. data/node_modules/mime/cli.js +0 -10
  162. data/node_modules/mime/index.js +0 -4
  163. data/node_modules/mime/lite.js +0 -4
  164. data/node_modules/mime/package.json +0 -43
  165. data/node_modules/mime/src/README_js.md +0 -179
  166. data/node_modules/mime/src/build.js +0 -71
  167. data/node_modules/mime/src/test.js +0 -257
  168. data/node_modules/mime/types/other.json +0 -1
  169. data/node_modules/mime/types/standard.json +0 -1
  170. data/node_modules/minimatch/LICENSE +0 -15
  171. data/node_modules/minimatch/README.md +0 -209
  172. data/node_modules/minimatch/minimatch.js +0 -923
  173. data/node_modules/minimatch/package.json +0 -30
  174. data/node_modules/minimist/LICENSE +0 -18
  175. data/node_modules/minimist/example/parse.js +0 -2
  176. data/node_modules/minimist/index.js +0 -187
  177. data/node_modules/minimist/package.json +0 -40
  178. data/node_modules/minimist/readme.markdown +0 -73
  179. data/node_modules/minimist/test/dash.js +0 -24
  180. data/node_modules/minimist/test/default_bool.js +0 -20
  181. data/node_modules/minimist/test/dotted.js +0 -16
  182. data/node_modules/minimist/test/long.js +0 -31
  183. data/node_modules/minimist/test/parse.js +0 -318
  184. data/node_modules/minimist/test/parse_modified.js +0 -9
  185. data/node_modules/minimist/test/short.js +0 -67
  186. data/node_modules/minimist/test/whitespace.js +0 -8
  187. data/node_modules/mkdirp/LICENSE +0 -21
  188. data/node_modules/mkdirp/bin/cmd.js +0 -33
  189. data/node_modules/mkdirp/bin/usage.txt +0 -12
  190. data/node_modules/mkdirp/examples/pow.js +0 -6
  191. data/node_modules/mkdirp/index.js +0 -98
  192. data/node_modules/mkdirp/package.json +0 -27
  193. data/node_modules/mkdirp/readme.markdown +0 -100
  194. data/node_modules/mkdirp/test/chmod.js +0 -41
  195. data/node_modules/mkdirp/test/clobber.js +0 -38
  196. data/node_modules/mkdirp/test/mkdirp.js +0 -28
  197. data/node_modules/mkdirp/test/opts_fs.js +0 -29
  198. data/node_modules/mkdirp/test/opts_fs_sync.js +0 -27
  199. data/node_modules/mkdirp/test/perm.js +0 -32
  200. data/node_modules/mkdirp/test/perm_sync.js +0 -36
  201. data/node_modules/mkdirp/test/race.js +0 -37
  202. data/node_modules/mkdirp/test/rel.js +0 -32
  203. data/node_modules/mkdirp/test/return.js +0 -25
  204. data/node_modules/mkdirp/test/return_sync.js +0 -24
  205. data/node_modules/mkdirp/test/root.js +0 -19
  206. data/node_modules/mkdirp/test/sync.js +0 -32
  207. data/node_modules/mkdirp/test/umask.js +0 -28
  208. data/node_modules/mkdirp/test/umask_sync.js +0 -32
  209. data/node_modules/ms/index.js +0 -152
  210. data/node_modules/ms/license.md +0 -21
  211. data/node_modules/ms/package.json +0 -37
  212. data/node_modules/ms/readme.md +0 -51
  213. data/node_modules/once/LICENSE +0 -15
  214. data/node_modules/once/README.md +0 -79
  215. data/node_modules/once/once.js +0 -42
  216. data/node_modules/once/package.json +0 -33
  217. data/node_modules/path-is-absolute/index.js +0 -20
  218. data/node_modules/path-is-absolute/license +0 -21
  219. data/node_modules/path-is-absolute/package.json +0 -43
  220. data/node_modules/path-is-absolute/readme.md +0 -59
  221. data/node_modules/pend/LICENSE +0 -23
  222. data/node_modules/pend/README.md +0 -41
  223. data/node_modules/pend/index.js +0 -55
  224. data/node_modules/pend/package.json +0 -18
  225. data/node_modules/pend/test.js +0 -137
  226. data/node_modules/process-nextick-args/index.js +0 -44
  227. data/node_modules/process-nextick-args/license.md +0 -19
  228. data/node_modules/process-nextick-args/package.json +0 -25
  229. data/node_modules/process-nextick-args/readme.md +0 -18
  230. data/node_modules/progress/CHANGELOG.md +0 -115
  231. data/node_modules/progress/LICENSE +0 -22
  232. data/node_modules/progress/Makefile +0 -8
  233. data/node_modules/progress/README.md +0 -146
  234. data/node_modules/progress/index.js +0 -1
  235. data/node_modules/progress/lib/node-progress.js +0 -231
  236. data/node_modules/progress/package.json +0 -25
  237. data/node_modules/proxy-from-env/README.md +0 -131
  238. data/node_modules/proxy-from-env/index.js +0 -103
  239. data/node_modules/proxy-from-env/package.json +0 -35
  240. data/node_modules/proxy-from-env/test.js +0 -393
  241. data/node_modules/puppeteer/CONTRIBUTING.md +0 -206
  242. data/node_modules/puppeteer/DeviceDescriptors.js +0 -704
  243. data/node_modules/puppeteer/LICENSE +0 -202
  244. data/node_modules/puppeteer/README.md +0 -306
  245. data/node_modules/puppeteer/index.js +0 -28
  246. data/node_modules/puppeteer/install.js +0 -122
  247. data/node_modules/puppeteer/lib/Browser.js +0 -186
  248. data/node_modules/puppeteer/lib/BrowserFetcher.js +0 -279
  249. data/node_modules/puppeteer/lib/Connection.js +0 -246
  250. data/node_modules/puppeteer/lib/Coverage.js +0 -301
  251. data/node_modules/puppeteer/lib/Dialog.js +0 -84
  252. data/node_modules/puppeteer/lib/ElementHandle.js +0 -328
  253. data/node_modules/puppeteer/lib/EmulationManager.js +0 -89
  254. data/node_modules/puppeteer/lib/ExecutionContext.js +0 -232
  255. data/node_modules/puppeteer/lib/FrameManager.js +0 -997
  256. data/node_modules/puppeteer/lib/Input.js +0 -309
  257. data/node_modules/puppeteer/lib/Launcher.js +0 -310
  258. data/node_modules/puppeteer/lib/Multimap.js +0 -95
  259. data/node_modules/puppeteer/lib/NavigatorWatcher.js +0 -137
  260. data/node_modules/puppeteer/lib/NetworkManager.js +0 -796
  261. data/node_modules/puppeteer/lib/Page.js +0 -1098
  262. data/node_modules/puppeteer/lib/Pipe.js +0 -69
  263. data/node_modules/puppeteer/lib/Puppeteer.js +0 -60
  264. data/node_modules/puppeteer/lib/Target.js +0 -88
  265. data/node_modules/puppeteer/lib/TaskQueue.js +0 -17
  266. data/node_modules/puppeteer/lib/Tracing.js +0 -99
  267. data/node_modules/puppeteer/lib/USKeyboardLayout.js +0 -281
  268. data/node_modules/puppeteer/lib/helper.js +0 -248
  269. data/node_modules/puppeteer/node6/lib/Browser.js +0 -394
  270. data/node_modules/puppeteer/node6/lib/BrowserFetcher.js +0 -357
  271. data/node_modules/puppeteer/node6/lib/Connection.js +0 -350
  272. data/node_modules/puppeteer/node6/lib/Coverage.js +0 -561
  273. data/node_modules/puppeteer/node6/lib/Dialog.js +0 -136
  274. data/node_modules/puppeteer/node6/lib/ElementHandle.js +0 -796
  275. data/node_modules/puppeteer/node6/lib/EmulationManager.js +0 -115
  276. data/node_modules/puppeteer/node6/lib/ExecutionContext.js +0 -414
  277. data/node_modules/puppeteer/node6/lib/FrameManager.js +0 -1621
  278. data/node_modules/puppeteer/node6/lib/Input.js +0 -569
  279. data/node_modules/puppeteer/node6/lib/Launcher.js +0 -362
  280. data/node_modules/puppeteer/node6/lib/Multimap.js +0 -95
  281. data/node_modules/puppeteer/node6/lib/NavigatorWatcher.js +0 -163
  282. data/node_modules/puppeteer/node6/lib/NetworkManager.js +0 -1108
  283. data/node_modules/puppeteer/node6/lib/Page.js +0 -2242
  284. data/node_modules/puppeteer/node6/lib/Pipe.js +0 -69
  285. data/node_modules/puppeteer/node6/lib/Puppeteer.js +0 -60
  286. data/node_modules/puppeteer/node6/lib/Target.js +0 -114
  287. data/node_modules/puppeteer/node6/lib/TaskQueue.js +0 -17
  288. data/node_modules/puppeteer/node6/lib/Tracing.js +0 -177
  289. data/node_modules/puppeteer/node6/lib/USKeyboardLayout.js +0 -281
  290. data/node_modules/puppeteer/node6/lib/helper.js +0 -274
  291. data/node_modules/puppeteer/package.json +0 -61
  292. data/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  293. data/node_modules/readable-stream/GOVERNANCE.md +0 -136
  294. data/node_modules/readable-stream/LICENSE +0 -47
  295. data/node_modules/readable-stream/README.md +0 -58
  296. data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  297. data/node_modules/readable-stream/duplex-browser.js +0 -1
  298. data/node_modules/readable-stream/duplex.js +0 -1
  299. data/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  300. data/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  301. data/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  302. data/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  303. data/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  304. data/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  305. data/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  306. data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  307. data/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  308. data/node_modules/readable-stream/package.json +0 -52
  309. data/node_modules/readable-stream/passthrough.js +0 -1
  310. data/node_modules/readable-stream/readable-browser.js +0 -7
  311. data/node_modules/readable-stream/readable.js +0 -19
  312. data/node_modules/readable-stream/transform.js +0 -1
  313. data/node_modules/readable-stream/writable-browser.js +0 -1
  314. data/node_modules/readable-stream/writable.js +0 -8
  315. data/node_modules/rimraf/LICENSE +0 -15
  316. data/node_modules/rimraf/README.md +0 -101
  317. data/node_modules/rimraf/bin.js +0 -50
  318. data/node_modules/rimraf/package.json +0 -26
  319. data/node_modules/rimraf/rimraf.js +0 -364
  320. data/node_modules/safe-buffer/LICENSE +0 -21
  321. data/node_modules/safe-buffer/README.md +0 -584
  322. data/node_modules/safe-buffer/index.d.ts +0 -187
  323. data/node_modules/safe-buffer/index.js +0 -62
  324. data/node_modules/safe-buffer/package.json +0 -37
  325. data/node_modules/string_decoder/LICENSE +0 -48
  326. data/node_modules/string_decoder/README.md +0 -47
  327. data/node_modules/string_decoder/lib/string_decoder.js +0 -296
  328. data/node_modules/string_decoder/package.json +0 -31
  329. data/node_modules/typedarray/LICENSE +0 -35
  330. data/node_modules/typedarray/example/tarray.js +0 -4
  331. data/node_modules/typedarray/index.js +0 -630
  332. data/node_modules/typedarray/package.json +0 -55
  333. data/node_modules/typedarray/readme.markdown +0 -61
  334. data/node_modules/typedarray/test/server/undef_globals.js +0 -19
  335. data/node_modules/typedarray/test/tarray.js +0 -10
  336. data/node_modules/ultron/LICENSE +0 -22
  337. data/node_modules/ultron/README.md +0 -113
  338. data/node_modules/ultron/index.js +0 -136
  339. data/node_modules/ultron/package.json +0 -41
  340. data/node_modules/util-deprecate/History.md +0 -16
  341. data/node_modules/util-deprecate/LICENSE +0 -24
  342. data/node_modules/util-deprecate/README.md +0 -53
  343. data/node_modules/util-deprecate/browser.js +0 -67
  344. data/node_modules/util-deprecate/node.js +0 -6
  345. data/node_modules/util-deprecate/package.json +0 -27
  346. data/node_modules/wrappy/LICENSE +0 -15
  347. data/node_modules/wrappy/README.md +0 -36
  348. data/node_modules/wrappy/package.json +0 -29
  349. data/node_modules/wrappy/wrappy.js +0 -33
  350. data/node_modules/ws/LICENSE +0 -21
  351. data/node_modules/ws/README.md +0 -341
  352. data/node_modules/ws/index.js +0 -15
  353. data/node_modules/ws/lib/BufferUtil.js +0 -71
  354. data/node_modules/ws/lib/Constants.js +0 -10
  355. data/node_modules/ws/lib/ErrorCodes.js +0 -28
  356. data/node_modules/ws/lib/EventTarget.js +0 -151
  357. data/node_modules/ws/lib/Extensions.js +0 -203
  358. data/node_modules/ws/lib/PerMessageDeflate.js +0 -507
  359. data/node_modules/ws/lib/Receiver.js +0 -553
  360. data/node_modules/ws/lib/Sender.js +0 -412
  361. data/node_modules/ws/lib/Validation.js +0 -17
  362. data/node_modules/ws/lib/WebSocket.js +0 -717
  363. data/node_modules/ws/lib/WebSocketServer.js +0 -326
  364. data/node_modules/ws/package.json +0 -46
  365. data/node_modules/yauzl/LICENSE +0 -21
  366. data/node_modules/yauzl/README.md +0 -467
  367. data/node_modules/yauzl/index.js +0 -626
  368. data/node_modules/yauzl/package.json +0 -36
  369. data/package.json +0 -5
  370. data/yarn.lock +0 -240
@@ -1,277 +0,0 @@
1
- var fs = require('fs');
2
- var util = require('util');
3
- var stream = require('stream');
4
- var Readable = stream.Readable;
5
- var Writable = stream.Writable;
6
- var PassThrough = stream.PassThrough;
7
- var Pend = require('pend');
8
- var EventEmitter = require('events').EventEmitter;
9
-
10
- exports.createFromBuffer = createFromBuffer;
11
- exports.createFromFd = createFromFd;
12
- exports.BufferSlicer = BufferSlicer;
13
- exports.FdSlicer = FdSlicer;
14
-
15
- util.inherits(FdSlicer, EventEmitter);
16
- function FdSlicer(fd, options) {
17
- options = options || {};
18
- EventEmitter.call(this);
19
-
20
- this.fd = fd;
21
- this.pend = new Pend();
22
- this.pend.max = 1;
23
- this.refCount = 0;
24
- this.autoClose = !!options.autoClose;
25
- }
26
-
27
- FdSlicer.prototype.read = function(buffer, offset, length, position, callback) {
28
- var self = this;
29
- self.pend.go(function(cb) {
30
- fs.read(self.fd, buffer, offset, length, position, function(err, bytesRead, buffer) {
31
- cb();
32
- callback(err, bytesRead, buffer);
33
- });
34
- });
35
- };
36
-
37
- FdSlicer.prototype.write = function(buffer, offset, length, position, callback) {
38
- var self = this;
39
- self.pend.go(function(cb) {
40
- fs.write(self.fd, buffer, offset, length, position, function(err, written, buffer) {
41
- cb();
42
- callback(err, written, buffer);
43
- });
44
- });
45
- };
46
-
47
- FdSlicer.prototype.createReadStream = function(options) {
48
- return new ReadStream(this, options);
49
- };
50
-
51
- FdSlicer.prototype.createWriteStream = function(options) {
52
- return new WriteStream(this, options);
53
- };
54
-
55
- FdSlicer.prototype.ref = function() {
56
- this.refCount += 1;
57
- };
58
-
59
- FdSlicer.prototype.unref = function() {
60
- var self = this;
61
- self.refCount -= 1;
62
-
63
- if (self.refCount > 0) return;
64
- if (self.refCount < 0) throw new Error("invalid unref");
65
-
66
- if (self.autoClose) {
67
- fs.close(self.fd, onCloseDone);
68
- }
69
-
70
- function onCloseDone(err) {
71
- if (err) {
72
- self.emit('error', err);
73
- } else {
74
- self.emit('close');
75
- }
76
- }
77
- };
78
-
79
- util.inherits(ReadStream, Readable);
80
- function ReadStream(context, options) {
81
- options = options || {};
82
- Readable.call(this, options);
83
-
84
- this.context = context;
85
- this.context.ref();
86
-
87
- this.start = options.start || 0;
88
- this.endOffset = options.end;
89
- this.pos = this.start;
90
- this.destroyed = false;
91
- }
92
-
93
- ReadStream.prototype._read = function(n) {
94
- var self = this;
95
- if (self.destroyed) return;
96
-
97
- var toRead = Math.min(self._readableState.highWaterMark, n);
98
- if (self.endOffset != null) {
99
- toRead = Math.min(toRead, self.endOffset - self.pos);
100
- }
101
- if (toRead <= 0) {
102
- self.destroyed = true;
103
- self.push(null);
104
- self.context.unref();
105
- return;
106
- }
107
- self.context.pend.go(function(cb) {
108
- if (self.destroyed) return cb();
109
- var buffer = new Buffer(toRead);
110
- fs.read(self.context.fd, buffer, 0, toRead, self.pos, function(err, bytesRead) {
111
- if (err) {
112
- self.destroy(err);
113
- } else if (bytesRead === 0) {
114
- self.destroyed = true;
115
- self.push(null);
116
- self.context.unref();
117
- } else {
118
- self.pos += bytesRead;
119
- self.push(buffer.slice(0, bytesRead));
120
- }
121
- cb();
122
- });
123
- });
124
- };
125
-
126
- ReadStream.prototype.destroy = function(err) {
127
- if (this.destroyed) return;
128
- err = err || new Error("stream destroyed");
129
- this.destroyed = true;
130
- this.emit('error', err);
131
- this.context.unref();
132
- };
133
-
134
- util.inherits(WriteStream, Writable);
135
- function WriteStream(context, options) {
136
- options = options || {};
137
- Writable.call(this, options);
138
-
139
- this.context = context;
140
- this.context.ref();
141
-
142
- this.start = options.start || 0;
143
- this.endOffset = (options.end == null) ? Infinity : +options.end;
144
- this.bytesWritten = 0;
145
- this.pos = this.start;
146
- this.destroyed = false;
147
-
148
- this.on('finish', this.destroy.bind(this));
149
- }
150
-
151
- WriteStream.prototype._write = function(buffer, encoding, callback) {
152
- var self = this;
153
- if (self.destroyed) return;
154
-
155
- if (self.pos + buffer.length > self.endOffset) {
156
- var err = new Error("maximum file length exceeded");
157
- err.code = 'ETOOBIG';
158
- self.destroy();
159
- callback(err);
160
- return;
161
- }
162
- self.context.pend.go(function(cb) {
163
- if (self.destroyed) return cb();
164
- fs.write(self.context.fd, buffer, 0, buffer.length, self.pos, function(err, bytes) {
165
- if (err) {
166
- self.destroy();
167
- cb();
168
- callback(err);
169
- } else {
170
- self.bytesWritten += bytes;
171
- self.pos += bytes;
172
- self.emit('progress');
173
- cb();
174
- callback();
175
- }
176
- });
177
- });
178
- };
179
-
180
- WriteStream.prototype.destroy = function() {
181
- if (this.destroyed) return;
182
- this.destroyed = true;
183
- this.context.unref();
184
- };
185
-
186
- util.inherits(BufferSlicer, EventEmitter);
187
- function BufferSlicer(buffer) {
188
- EventEmitter.call(this);
189
-
190
- this.refCount = 0;
191
- this.buffer = buffer;
192
- }
193
-
194
- BufferSlicer.prototype.read = function(buffer, offset, length, position, callback) {
195
- var end = position + length;
196
- var delta = end - this.buffer.length;
197
- var written = (delta > 0) ? delta : length;
198
- this.buffer.copy(buffer, offset, position, end);
199
- setImmediate(function() {
200
- callback(null, written);
201
- });
202
- };
203
-
204
- BufferSlicer.prototype.write = function(buffer, offset, length, position, callback) {
205
- buffer.copy(this.buffer, position, offset, offset + length);
206
- setImmediate(function() {
207
- callback(null, length, buffer);
208
- });
209
- };
210
-
211
- BufferSlicer.prototype.createReadStream = function(options) {
212
- options = options || {};
213
- var readStream = new PassThrough(options);
214
- readStream.start = options.start || 0;
215
- readStream.endOffset = options.end;
216
- readStream.pos = readStream.endOffset || this.buffer.length; // yep, we're already done
217
- readStream.destroyed = false;
218
- readStream.write(this.buffer.slice(readStream.start, readStream.pos));
219
- readStream.end();
220
- readStream.destroy = function() {
221
- readStream.destroyed = true;
222
- };
223
- return readStream;
224
- };
225
-
226
- BufferSlicer.prototype.createWriteStream = function(options) {
227
- var bufferSlicer = this;
228
- options = options || {};
229
- var writeStream = new Writable(options);
230
- writeStream.start = options.start || 0;
231
- writeStream.endOffset = (options.end == null) ? this.buffer.length : +options.end;
232
- writeStream.bytesWritten = 0;
233
- writeStream.pos = writeStream.start;
234
- writeStream.destroyed = false;
235
- writeStream._write = function(buffer, encoding, callback) {
236
- if (writeStream.destroyed) return;
237
-
238
- var end = writeStream.pos + buffer.length;
239
- if (end > writeStream.endOffset) {
240
- var err = new Error("maximum file length exceeded");
241
- err.code = 'ETOOBIG';
242
- writeStream.destroyed = true;
243
- callback(err);
244
- return;
245
- }
246
- buffer.copy(bufferSlicer.buffer, writeStream.pos, 0, buffer.length);
247
-
248
- writeStream.bytesWritten += buffer.length;
249
- writeStream.pos = end;
250
- writeStream.emit('progress');
251
- callback();
252
- };
253
- writeStream.destroy = function() {
254
- writeStream.destroyed = true;
255
- };
256
- return writeStream;
257
- };
258
-
259
- BufferSlicer.prototype.ref = function() {
260
- this.refCount += 1;
261
- };
262
-
263
- BufferSlicer.prototype.unref = function() {
264
- this.refCount -= 1;
265
-
266
- if (this.refCount < 0) {
267
- throw new Error("invalid unref");
268
- }
269
- };
270
-
271
- function createFromBuffer(buffer) {
272
- return new BufferSlicer(buffer);
273
- }
274
-
275
- function createFromFd(fd, options) {
276
- return new FdSlicer(fd, options);
277
- }
@@ -1,36 +0,0 @@
1
- {
2
- "name": "fd-slicer",
3
- "version": "1.0.1",
4
- "description": "safely create multiple ReadStream or WriteStream objects from the same file descriptor",
5
- "main": "index.js",
6
- "scripts": {
7
- "test": "mocha --reporter spec --check-leaks",
8
- "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/test.js",
9
- "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --timeout 10000 --reporter spec --check-leaks test/test.js"
10
- },
11
- "author": "Andrew Kelley <superjoe30@gmail.com>",
12
- "license": "MIT",
13
- "devDependencies": {
14
- "istanbul": "~0.3.3",
15
- "mocha": "~2.0.1",
16
- "stream-equal": "~0.1.5",
17
- "streamsink": "~1.2.0"
18
- },
19
- "dependencies": {
20
- "pend": "~1.2.0"
21
- },
22
- "directories": {
23
- "test": "test"
24
- },
25
- "repository": {
26
- "type": "git",
27
- "url": "git://github.com/andrewrk/node-fd-slicer.git"
28
- },
29
- "bugs": {
30
- "url": "https://github.com/andrewrk/node-fd-slicer/issues"
31
- },
32
- "keywords": [
33
- "createReadStream",
34
- "createWriteStream"
35
- ]
36
- }
@@ -1,350 +0,0 @@
1
- var fdSlicer = require('../');
2
- var fs = require('fs');
3
- var crypto = require('crypto');
4
- var path = require('path');
5
- var streamEqual = require('stream-equal');
6
- var assert = require('assert');
7
- var Pend = require('pend');
8
- var StreamSink = require('streamsink');
9
-
10
- var describe = global.describe;
11
- var it = global.it;
12
- var before = global.before;
13
- var beforeEach = global.beforeEach;
14
- var after = global.after;
15
-
16
- var testBlobFile = path.join(__dirname, "test-blob.bin");
17
- var testBlobFileSize = 20 * 1024 * 1024;
18
- var testOutBlobFile = path.join(__dirname, "test-blob-out.bin");
19
-
20
- describe("FdSlicer", function() {
21
- before(function(done) {
22
- var out = fs.createWriteStream(testBlobFile);
23
- for (var i = 0; i < testBlobFileSize / 1024; i += 1) {
24
- out.write(crypto.pseudoRandomBytes(1024));
25
- }
26
- out.end();
27
- out.on('close', done);
28
- });
29
- beforeEach(function() {
30
- try {
31
- fs.unlinkSync(testOutBlobFile);
32
- } catch (err) {
33
- }
34
- });
35
- after(function() {
36
- try {
37
- fs.unlinkSync(testBlobFile);
38
- fs.unlinkSync(testOutBlobFile);
39
- } catch (err) {
40
- }
41
- });
42
- it("reads a 20MB file (autoClose on)", function(done) {
43
- fs.open(testBlobFile, 'r', function(err, fd) {
44
- if (err) return done(err);
45
- var slicer = fdSlicer.createFromFd(fd, {autoClose: true});
46
- var actualStream = slicer.createReadStream();
47
- var expectedStream = fs.createReadStream(testBlobFile);
48
-
49
- var pend = new Pend();
50
- pend.go(function(cb) {
51
- slicer.on('close', cb);
52
- });
53
- pend.go(function(cb) {
54
- streamEqual(expectedStream, actualStream, function(err, equal) {
55
- if (err) return done(err);
56
- assert.ok(equal);
57
- cb();
58
- });
59
- });
60
- pend.wait(done);
61
- });
62
- });
63
- it("reads 4 chunks simultaneously", function(done) {
64
- fs.open(testBlobFile, 'r', function(err, fd) {
65
- if (err) return done(err);
66
- var slicer = fdSlicer.createFromFd(fd);
67
- var actualPart1 = slicer.createReadStream({start: testBlobFileSize * 0/4, end: testBlobFileSize * 1/4});
68
- var actualPart2 = slicer.createReadStream({start: testBlobFileSize * 1/4, end: testBlobFileSize * 2/4});
69
- var actualPart3 = slicer.createReadStream({start: testBlobFileSize * 2/4, end: testBlobFileSize * 3/4});
70
- var actualPart4 = slicer.createReadStream({start: testBlobFileSize * 3/4, end: testBlobFileSize * 4/4});
71
- var expectedPart1 = slicer.createReadStream({start: testBlobFileSize * 0/4, end: testBlobFileSize * 1/4});
72
- var expectedPart2 = slicer.createReadStream({start: testBlobFileSize * 1/4, end: testBlobFileSize * 2/4});
73
- var expectedPart3 = slicer.createReadStream({start: testBlobFileSize * 2/4, end: testBlobFileSize * 3/4});
74
- var expectedPart4 = slicer.createReadStream({start: testBlobFileSize * 3/4, end: testBlobFileSize * 4/4});
75
- var pend = new Pend();
76
- pend.go(function(cb) {
77
- streamEqual(expectedPart1, actualPart1, function(err, equal) {
78
- assert.ok(equal);
79
- cb(err);
80
- });
81
- });
82
- pend.go(function(cb) {
83
- streamEqual(expectedPart2, actualPart2, function(err, equal) {
84
- assert.ok(equal);
85
- cb(err);
86
- });
87
- });
88
- pend.go(function(cb) {
89
- streamEqual(expectedPart3, actualPart3, function(err, equal) {
90
- assert.ok(equal);
91
- cb(err);
92
- });
93
- });
94
- pend.go(function(cb) {
95
- streamEqual(expectedPart4, actualPart4, function(err, equal) {
96
- assert.ok(equal);
97
- cb(err);
98
- });
99
- });
100
- pend.wait(function(err) {
101
- if (err) return done(err);
102
- fs.close(fd, done);
103
- });
104
- });
105
- });
106
-
107
- it("writes a 20MB file (autoClose on)", function(done) {
108
- fs.open(testOutBlobFile, 'w', function(err, fd) {
109
- if (err) return done(err);
110
- var slicer = fdSlicer.createFromFd(fd, {autoClose: true});
111
- var actualStream = slicer.createWriteStream();
112
- var inStream = fs.createReadStream(testBlobFile);
113
-
114
- slicer.on('close', function() {
115
- var expected = fs.createReadStream(testBlobFile);
116
- var actual = fs.createReadStream(testOutBlobFile);
117
-
118
- streamEqual(expected, actual, function(err, equal) {
119
- if (err) return done(err);
120
- assert.ok(equal);
121
- done();
122
- });
123
- });
124
- inStream.pipe(actualStream);
125
- });
126
- });
127
-
128
- it("writes 4 chunks simultaneously", function(done) {
129
- fs.open(testOutBlobFile, 'w', function(err, fd) {
130
- if (err) return done(err);
131
- var slicer = fdSlicer.createFromFd(fd);
132
- var actualPart1 = slicer.createWriteStream({start: testBlobFileSize * 0/4});
133
- var actualPart2 = slicer.createWriteStream({start: testBlobFileSize * 1/4});
134
- var actualPart3 = slicer.createWriteStream({start: testBlobFileSize * 2/4});
135
- var actualPart4 = slicer.createWriteStream({start: testBlobFileSize * 3/4});
136
- var in1 = fs.createReadStream(testBlobFile, {start: testBlobFileSize * 0/4, end: testBlobFileSize * 1/4});
137
- var in2 = fs.createReadStream(testBlobFile, {start: testBlobFileSize * 1/4, end: testBlobFileSize * 2/4});
138
- var in3 = fs.createReadStream(testBlobFile, {start: testBlobFileSize * 2/4, end: testBlobFileSize * 3/4});
139
- var in4 = fs.createReadStream(testBlobFile, {start: testBlobFileSize * 3/4, end: testBlobFileSize * 4/4});
140
- var pend = new Pend();
141
- pend.go(function(cb) {
142
- actualPart1.on('finish', cb);
143
- });
144
- pend.go(function(cb) {
145
- actualPart2.on('finish', cb);
146
- });
147
- pend.go(function(cb) {
148
- actualPart3.on('finish', cb);
149
- });
150
- pend.go(function(cb) {
151
- actualPart4.on('finish', cb);
152
- });
153
- in1.pipe(actualPart1);
154
- in2.pipe(actualPart2);
155
- in3.pipe(actualPart3);
156
- in4.pipe(actualPart4);
157
- pend.wait(function() {
158
- fs.close(fd, function(err) {
159
- if (err) return done(err);
160
- var expected = fs.createReadStream(testBlobFile);
161
- var actual = fs.createReadStream(testOutBlobFile);
162
- streamEqual(expected, actual, function(err, equal) {
163
- if (err) return done(err);
164
- assert.ok(equal);
165
- done();
166
- });
167
- });
168
- });
169
- });
170
- });
171
-
172
- it("throws on invalid ref", function(done) {
173
- fs.open(testOutBlobFile, 'w', function(err, fd) {
174
- if (err) return done(err);
175
- var slicer = fdSlicer.createFromFd(fd, {autoClose: true});
176
- assert.throws(function() {
177
- slicer.unref();
178
- }, /invalid unref/);
179
- fs.close(fd, done);
180
- });
181
- });
182
-
183
- it("write stream emits error when max size exceeded", function(done) {
184
- fs.open(testOutBlobFile, 'w', function(err, fd) {
185
- if (err) return done(err);
186
- var slicer = fdSlicer.createFromFd(fd, {autoClose: true});
187
- var ws = slicer.createWriteStream({start: 0, end: 1000});
188
- ws.on('error', function(err) {
189
- assert.strictEqual(err.code, 'ETOOBIG');
190
- slicer.on('close', done);
191
- });
192
- ws.end(new Buffer(1001));
193
- });
194
- });
195
-
196
- it("write stream does not emit error when max size not exceeded", function(done) {
197
- fs.open(testOutBlobFile, 'w', function(err, fd) {
198
- if (err) return done(err);
199
- var slicer = fdSlicer.createFromFd(fd, {autoClose: true});
200
- var ws = slicer.createWriteStream({end: 1000});
201
- slicer.on('close', done);
202
- ws.end(new Buffer(1000));
203
- });
204
- });
205
-
206
- it("write stream start and end work together", function(done) {
207
- fs.open(testOutBlobFile, 'w', function(err, fd) {
208
- if (err) return done(err);
209
- var slicer = fdSlicer.createFromFd(fd, {autoClose: true});
210
- var ws = slicer.createWriteStream({start: 1, end: 1000});
211
- ws.on('error', function(err) {
212
- assert.strictEqual(err.code, 'ETOOBIG');
213
- slicer.on('close', done);
214
- });
215
- ws.end(new Buffer(1000));
216
- });
217
- });
218
-
219
- it("write stream emits progress events", function(done) {
220
- fs.open(testOutBlobFile, 'w', function(err, fd) {
221
- if (err) return done(err);
222
- var slicer = fdSlicer.createFromFd(fd, {autoClose: true});
223
- var ws = slicer.createWriteStream();
224
- var progressEventCount = 0;
225
- var prevBytesWritten = 0;
226
- ws.on('progress', function() {
227
- progressEventCount += 1;
228
- assert.ok(ws.bytesWritten > prevBytesWritten);
229
- prevBytesWritten = ws.bytesWritten;
230
- });
231
- slicer.on('close', function() {
232
- assert.ok(progressEventCount > 5);
233
- done();
234
- });
235
- for (var i = 0; i < 10; i += 1) {
236
- ws.write(new Buffer(16 * 1024 * 2));
237
- }
238
- ws.end();
239
- });
240
- });
241
-
242
- it("write stream unrefs when destroyed", function(done) {
243
- fs.open(testOutBlobFile, 'w', function(err, fd) {
244
- if (err) return done(err);
245
- var slicer = fdSlicer.createFromFd(fd, {autoClose: true});
246
- var ws = slicer.createWriteStream();
247
- slicer.on('close', done);
248
- ws.write(new Buffer(1000));
249
- ws.destroy();
250
- });
251
- });
252
-
253
- it("read stream unrefs when destroyed", function(done) {
254
- fs.open(testBlobFile, 'r', function(err, fd) {
255
- if (err) return done(err);
256
- var slicer = fdSlicer.createFromFd(fd, {autoClose: true});
257
- var rs = slicer.createReadStream();
258
- rs.on('error', function(err) {
259
- assert.strictEqual(err.message, "stream destroyed");
260
- slicer.on('close', done);
261
- });
262
- rs.destroy();
263
- });
264
- });
265
-
266
- it("fdSlicer.read", function(done) {
267
- fs.open(testBlobFile, 'r', function(err, fd) {
268
- if (err) return done(err);
269
- var slicer = fdSlicer.createFromFd(fd);
270
- var outBuf = new Buffer(1024);
271
- slicer.read(outBuf, 0, 10, 0, function(err, bytesRead, buf) {
272
- assert.strictEqual(bytesRead, 10);
273
- fs.close(fd, done);
274
- });
275
- });
276
- });
277
-
278
- it("fdSlicer.write", function(done) {
279
- fs.open(testOutBlobFile, 'w', function(err, fd) {
280
- if (err) return done(err);
281
- var slicer = fdSlicer.createFromFd(fd);
282
- slicer.write(new Buffer("blah\n"), 0, 5, 0, function() {
283
- if (err) return done(err);
284
- fs.close(fd, done);
285
- });
286
- });
287
- });
288
- });
289
-
290
- describe("BufferSlicer", function() {
291
- it("invalid ref", function() {
292
- var slicer = fdSlicer.createFromBuffer(new Buffer(16));
293
- slicer.ref();
294
- slicer.unref();
295
- assert.throws(function() {
296
- slicer.unref();
297
- }, /invalid unref/);
298
- });
299
- it("read and write", function(done) {
300
- var buf = new Buffer("through the tangled thread the needle finds its way");
301
- var slicer = fdSlicer.createFromBuffer(buf);
302
- var outBuf = new Buffer(1024);
303
- slicer.read(outBuf, 10, 11, 8, function(err) {
304
- if (err) return done(err);
305
- assert.strictEqual(outBuf.toString('utf8', 10, 21), "the tangled");
306
- slicer.write(new Buffer("derp"), 0, 4, 7, function(err) {
307
- if (err) return done(err);
308
- assert.strictEqual(buf.toString('utf8', 7, 19), "derp tangled");
309
- done();
310
- });
311
- });
312
- });
313
- it("createReadStream", function(done) {
314
- var str = "I never conquered rarely came, 16 just held such better days";
315
- var buf = new Buffer(str);
316
- var slicer = fdSlicer.createFromBuffer(buf);
317
- var inStream = slicer.createReadStream();
318
- var sink = new StreamSink();
319
- inStream.pipe(sink);
320
- sink.on('finish', function() {
321
- assert.strictEqual(sink.toString(), str);
322
- inStream.destroy();
323
- done();
324
- });
325
- });
326
- it("createWriteStream exceed buffer size", function(done) {
327
- var slicer = fdSlicer.createFromBuffer(new Buffer(4));
328
- var outStream = slicer.createWriteStream();
329
- outStream.on('error', function(err) {
330
- assert.strictEqual(err.code, 'ETOOBIG');
331
- done();
332
- });
333
- outStream.write("hi!\n");
334
- outStream.write("it warked\n");
335
- outStream.end();
336
- });
337
- it("createWriteStream ok", function(done) {
338
- var buf = new Buffer(1024);
339
- var slicer = fdSlicer.createFromBuffer(buf);
340
- var outStream = slicer.createWriteStream();
341
- outStream.on('finish', function() {
342
- assert.strictEqual(buf.toString('utf8', 0, "hi!\nit warked\n".length), "hi!\nit warked\n");
343
- outStream.destroy();
344
- done();
345
- });
346
- outStream.write("hi!\n");
347
- outStream.write("it warked\n");
348
- outStream.end();
349
- });
350
- });