postdoc 0.1.2 → 0.2.0.beta4

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 (372) hide show
  1. checksums.yaml +5 -5
  2. data/lib/pdf.js +27 -0
  3. data/lib/postdoc.rb +3 -7
  4. data/node_modules/agent-base/History.md +113 -0
  5. data/node_modules/agent-base/README.md +145 -0
  6. data/node_modules/agent-base/index.js +160 -0
  7. data/node_modules/agent-base/package.json +35 -0
  8. data/node_modules/agent-base/patch-core.js +37 -0
  9. data/node_modules/agent-base/test/ssl-cert-snakeoil.key +15 -0
  10. data/node_modules/agent-base/test/ssl-cert-snakeoil.pem +12 -0
  11. data/node_modules/agent-base/test/test.js +673 -0
  12. data/node_modules/async-limiter/LICENSE +8 -0
  13. data/node_modules/async-limiter/coverage/coverage.json +1 -0
  14. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.html +73 -0
  15. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.js.html +246 -0
  16. data/node_modules/async-limiter/coverage/lcov-report/base.css +182 -0
  17. data/node_modules/async-limiter/coverage/lcov-report/index.html +73 -0
  18. data/node_modules/async-limiter/coverage/lcov-report/prettify.css +1 -0
  19. data/node_modules/async-limiter/coverage/lcov-report/prettify.js +1 -0
  20. data/node_modules/async-limiter/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  21. data/node_modules/async-limiter/coverage/lcov-report/sorter.js +156 -0
  22. data/node_modules/async-limiter/coverage/lcov.info +74 -0
  23. data/node_modules/async-limiter/index.js +67 -0
  24. data/node_modules/async-limiter/package.json +35 -0
  25. data/node_modules/async-limiter/readme.md +132 -0
  26. data/node_modules/balanced-match/LICENSE.md +21 -0
  27. data/node_modules/balanced-match/README.md +91 -0
  28. data/node_modules/balanced-match/index.js +59 -0
  29. data/node_modules/balanced-match/package.json +49 -0
  30. data/node_modules/brace-expansion/LICENSE +21 -0
  31. data/node_modules/brace-expansion/README.md +129 -0
  32. data/node_modules/brace-expansion/index.js +201 -0
  33. data/node_modules/brace-expansion/package.json +47 -0
  34. data/node_modules/buffer-from/index.js +69 -0
  35. data/node_modules/buffer-from/package.json +16 -0
  36. data/node_modules/buffer-from/readme.md +69 -0
  37. data/node_modules/buffer-from/test.js +12 -0
  38. data/node_modules/concat-map/LICENSE +18 -0
  39. data/node_modules/concat-map/README.markdown +62 -0
  40. data/node_modules/concat-map/example/map.js +6 -0
  41. data/node_modules/concat-map/index.js +13 -0
  42. data/node_modules/concat-map/package.json +43 -0
  43. data/node_modules/concat-map/test/map.js +39 -0
  44. data/node_modules/concat-stream/LICENSE +24 -0
  45. data/node_modules/concat-stream/index.js +144 -0
  46. data/node_modules/concat-stream/package.json +55 -0
  47. data/node_modules/concat-stream/readme.md +102 -0
  48. data/node_modules/core-util-is/LICENSE +19 -0
  49. data/node_modules/core-util-is/README.md +3 -0
  50. data/node_modules/core-util-is/float.patch +604 -0
  51. data/node_modules/core-util-is/lib/util.js +107 -0
  52. data/node_modules/core-util-is/package.json +32 -0
  53. data/node_modules/core-util-is/test.js +68 -0
  54. data/node_modules/debug/CHANGELOG.md +395 -0
  55. data/node_modules/debug/LICENSE +19 -0
  56. data/node_modules/debug/Makefile +58 -0
  57. data/node_modules/debug/README.md +368 -0
  58. data/node_modules/debug/karma.conf.js +70 -0
  59. data/node_modules/debug/node.js +1 -0
  60. data/node_modules/debug/package.json +43 -0
  61. data/node_modules/debug/src/browser.js +195 -0
  62. data/node_modules/debug/src/debug.js +225 -0
  63. data/node_modules/debug/src/index.js +10 -0
  64. data/node_modules/debug/src/node.js +186 -0
  65. data/node_modules/es6-promise/CHANGELOG.md +151 -0
  66. data/node_modules/es6-promise/LICENSE +19 -0
  67. data/node_modules/es6-promise/README.md +97 -0
  68. data/node_modules/es6-promise/auto.js +4 -0
  69. data/node_modules/es6-promise/dist/es6-promise.auto.js +1181 -0
  70. data/node_modules/es6-promise/dist/es6-promise.auto.map +1 -0
  71. data/node_modules/es6-promise/dist/es6-promise.auto.min.js +1 -0
  72. data/node_modules/es6-promise/dist/es6-promise.auto.min.map +1 -0
  73. data/node_modules/es6-promise/dist/es6-promise.js +1179 -0
  74. data/node_modules/es6-promise/dist/es6-promise.map +1 -0
  75. data/node_modules/es6-promise/dist/es6-promise.min.js +1 -0
  76. data/node_modules/es6-promise/dist/es6-promise.min.map +1 -0
  77. data/node_modules/es6-promise/es6-promise.d.ts +81 -0
  78. data/node_modules/es6-promise/lib/es6-promise/-internal.js +266 -0
  79. data/node_modules/es6-promise/lib/es6-promise/asap.js +119 -0
  80. data/node_modules/es6-promise/lib/es6-promise/enumerator.js +113 -0
  81. data/node_modules/es6-promise/lib/es6-promise/polyfill.js +35 -0
  82. data/node_modules/es6-promise/lib/es6-promise/promise/all.js +52 -0
  83. data/node_modules/es6-promise/lib/es6-promise/promise/race.js +84 -0
  84. data/node_modules/es6-promise/lib/es6-promise/promise/reject.js +46 -0
  85. data/node_modules/es6-promise/lib/es6-promise/promise/resolve.js +48 -0
  86. data/node_modules/es6-promise/lib/es6-promise/promise.js +427 -0
  87. data/node_modules/es6-promise/lib/es6-promise/then.js +32 -0
  88. data/node_modules/es6-promise/lib/es6-promise/utils.js +21 -0
  89. data/node_modules/es6-promise/lib/es6-promise.auto.js +3 -0
  90. data/node_modules/es6-promise/lib/es6-promise.js +7 -0
  91. data/node_modules/es6-promise/package.json +75 -0
  92. data/node_modules/es6-promisify/README.md +89 -0
  93. data/node_modules/es6-promisify/dist/promise.js +73 -0
  94. data/node_modules/es6-promisify/dist/promisify.js +85 -0
  95. data/node_modules/es6-promisify/package.json +41 -0
  96. data/node_modules/extract-zip/CONTRIBUTING.md +1 -0
  97. data/node_modules/extract-zip/LICENSE +23 -0
  98. data/node_modules/extract-zip/cli.js +20 -0
  99. data/node_modules/extract-zip/index.js +205 -0
  100. data/node_modules/extract-zip/node_modules/debug/CHANGELOG.md +362 -0
  101. data/node_modules/extract-zip/node_modules/debug/LICENSE +19 -0
  102. data/node_modules/extract-zip/node_modules/debug/Makefile +50 -0
  103. data/node_modules/extract-zip/node_modules/debug/README.md +312 -0
  104. data/node_modules/extract-zip/node_modules/debug/component.json +19 -0
  105. data/node_modules/extract-zip/node_modules/debug/karma.conf.js +70 -0
  106. data/node_modules/extract-zip/node_modules/debug/node.js +1 -0
  107. data/node_modules/extract-zip/node_modules/debug/package.json +49 -0
  108. data/node_modules/extract-zip/node_modules/debug/src/browser.js +185 -0
  109. data/node_modules/extract-zip/node_modules/debug/src/debug.js +202 -0
  110. data/node_modules/extract-zip/node_modules/debug/src/index.js +10 -0
  111. data/node_modules/extract-zip/node_modules/debug/src/inspector-log.js +15 -0
  112. data/node_modules/extract-zip/node_modules/debug/src/node.js +248 -0
  113. data/node_modules/extract-zip/package.json +35 -0
  114. data/node_modules/extract-zip/readme.md +49 -0
  115. data/node_modules/fd-slicer/CHANGELOG.md +49 -0
  116. data/node_modules/fd-slicer/LICENSE +21 -0
  117. data/node_modules/fd-slicer/README.md +189 -0
  118. data/node_modules/fd-slicer/index.js +277 -0
  119. data/node_modules/fd-slicer/package.json +36 -0
  120. data/node_modules/fd-slicer/test/test.js +350 -0
  121. data/node_modules/fs.realpath/LICENSE +43 -0
  122. data/node_modules/fs.realpath/README.md +33 -0
  123. data/node_modules/fs.realpath/index.js +66 -0
  124. data/node_modules/fs.realpath/old.js +303 -0
  125. data/node_modules/fs.realpath/package.json +26 -0
  126. data/node_modules/glob/LICENSE +15 -0
  127. data/node_modules/glob/README.md +368 -0
  128. data/node_modules/glob/changelog.md +67 -0
  129. data/node_modules/glob/common.js +240 -0
  130. data/node_modules/glob/glob.js +790 -0
  131. data/node_modules/glob/package.json +43 -0
  132. data/node_modules/glob/sync.js +486 -0
  133. data/node_modules/https-proxy-agent/History.md +124 -0
  134. data/node_modules/https-proxy-agent/README.md +137 -0
  135. data/node_modules/https-proxy-agent/index.js +229 -0
  136. data/node_modules/https-proxy-agent/package.json +35 -0
  137. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.key +15 -0
  138. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.pem +12 -0
  139. data/node_modules/https-proxy-agent/test/test.js +342 -0
  140. data/node_modules/inflight/LICENSE +15 -0
  141. data/node_modules/inflight/README.md +37 -0
  142. data/node_modules/inflight/inflight.js +54 -0
  143. data/node_modules/inflight/package.json +29 -0
  144. data/node_modules/inherits/LICENSE +16 -0
  145. data/node_modules/inherits/README.md +42 -0
  146. data/node_modules/inherits/inherits.js +7 -0
  147. data/node_modules/inherits/inherits_browser.js +23 -0
  148. data/node_modules/inherits/package.json +29 -0
  149. data/node_modules/isarray/Makefile +6 -0
  150. data/node_modules/isarray/README.md +60 -0
  151. data/node_modules/isarray/component.json +19 -0
  152. data/node_modules/isarray/index.js +5 -0
  153. data/node_modules/isarray/package.json +45 -0
  154. data/node_modules/isarray/test.js +20 -0
  155. data/node_modules/mime/CHANGELOG.md +225 -0
  156. data/node_modules/mime/CONTRIBUTING.md +5 -0
  157. data/node_modules/mime/LICENSE +21 -0
  158. data/node_modules/mime/Mime.js +89 -0
  159. data/node_modules/mime/README.md +188 -0
  160. data/node_modules/mime/cli.js +10 -0
  161. data/node_modules/mime/index.js +4 -0
  162. data/node_modules/mime/lite.js +4 -0
  163. data/node_modules/mime/package.json +43 -0
  164. data/node_modules/mime/src/README_js.md +179 -0
  165. data/node_modules/mime/src/build.js +71 -0
  166. data/node_modules/mime/src/test.js +257 -0
  167. data/node_modules/mime/types/other.json +1 -0
  168. data/node_modules/mime/types/standard.json +1 -0
  169. data/node_modules/minimatch/LICENSE +15 -0
  170. data/node_modules/minimatch/README.md +209 -0
  171. data/node_modules/minimatch/minimatch.js +923 -0
  172. data/node_modules/minimatch/package.json +30 -0
  173. data/node_modules/minimist/LICENSE +18 -0
  174. data/node_modules/minimist/example/parse.js +2 -0
  175. data/node_modules/minimist/index.js +187 -0
  176. data/node_modules/minimist/package.json +40 -0
  177. data/node_modules/minimist/readme.markdown +73 -0
  178. data/node_modules/minimist/test/dash.js +24 -0
  179. data/node_modules/minimist/test/default_bool.js +20 -0
  180. data/node_modules/minimist/test/dotted.js +16 -0
  181. data/node_modules/minimist/test/long.js +31 -0
  182. data/node_modules/minimist/test/parse.js +318 -0
  183. data/node_modules/minimist/test/parse_modified.js +9 -0
  184. data/node_modules/minimist/test/short.js +67 -0
  185. data/node_modules/minimist/test/whitespace.js +8 -0
  186. data/node_modules/mkdirp/LICENSE +21 -0
  187. data/node_modules/mkdirp/bin/cmd.js +33 -0
  188. data/node_modules/mkdirp/bin/usage.txt +12 -0
  189. data/node_modules/mkdirp/examples/pow.js +6 -0
  190. data/node_modules/mkdirp/index.js +98 -0
  191. data/node_modules/mkdirp/package.json +27 -0
  192. data/node_modules/mkdirp/readme.markdown +100 -0
  193. data/node_modules/mkdirp/test/chmod.js +41 -0
  194. data/node_modules/mkdirp/test/clobber.js +38 -0
  195. data/node_modules/mkdirp/test/mkdirp.js +28 -0
  196. data/node_modules/mkdirp/test/opts_fs.js +29 -0
  197. data/node_modules/mkdirp/test/opts_fs_sync.js +27 -0
  198. data/node_modules/mkdirp/test/perm.js +32 -0
  199. data/node_modules/mkdirp/test/perm_sync.js +36 -0
  200. data/node_modules/mkdirp/test/race.js +37 -0
  201. data/node_modules/mkdirp/test/rel.js +32 -0
  202. data/node_modules/mkdirp/test/return.js +25 -0
  203. data/node_modules/mkdirp/test/return_sync.js +24 -0
  204. data/node_modules/mkdirp/test/root.js +19 -0
  205. data/node_modules/mkdirp/test/sync.js +32 -0
  206. data/node_modules/mkdirp/test/umask.js +28 -0
  207. data/node_modules/mkdirp/test/umask_sync.js +32 -0
  208. data/node_modules/ms/index.js +152 -0
  209. data/node_modules/ms/license.md +21 -0
  210. data/node_modules/ms/package.json +37 -0
  211. data/node_modules/ms/readme.md +51 -0
  212. data/node_modules/once/LICENSE +15 -0
  213. data/node_modules/once/README.md +79 -0
  214. data/node_modules/once/once.js +42 -0
  215. data/node_modules/once/package.json +33 -0
  216. data/node_modules/path-is-absolute/index.js +20 -0
  217. data/node_modules/path-is-absolute/license +21 -0
  218. data/node_modules/path-is-absolute/package.json +43 -0
  219. data/node_modules/path-is-absolute/readme.md +59 -0
  220. data/node_modules/pend/LICENSE +23 -0
  221. data/node_modules/pend/README.md +41 -0
  222. data/node_modules/pend/index.js +55 -0
  223. data/node_modules/pend/package.json +18 -0
  224. data/node_modules/pend/test.js +137 -0
  225. data/node_modules/process-nextick-args/index.js +44 -0
  226. data/node_modules/process-nextick-args/license.md +19 -0
  227. data/node_modules/process-nextick-args/package.json +25 -0
  228. data/node_modules/process-nextick-args/readme.md +18 -0
  229. data/node_modules/progress/CHANGELOG.md +115 -0
  230. data/node_modules/progress/LICENSE +22 -0
  231. data/node_modules/progress/Makefile +8 -0
  232. data/node_modules/progress/README.md +146 -0
  233. data/node_modules/progress/index.js +1 -0
  234. data/node_modules/progress/lib/node-progress.js +231 -0
  235. data/node_modules/progress/package.json +25 -0
  236. data/node_modules/proxy-from-env/README.md +131 -0
  237. data/node_modules/proxy-from-env/index.js +103 -0
  238. data/node_modules/proxy-from-env/package.json +35 -0
  239. data/node_modules/proxy-from-env/test.js +393 -0
  240. data/node_modules/puppeteer/CONTRIBUTING.md +206 -0
  241. data/node_modules/puppeteer/DeviceDescriptors.js +704 -0
  242. data/node_modules/puppeteer/LICENSE +202 -0
  243. data/node_modules/puppeteer/README.md +306 -0
  244. data/node_modules/puppeteer/index.js +28 -0
  245. data/node_modules/puppeteer/install.js +122 -0
  246. data/node_modules/puppeteer/lib/Browser.js +186 -0
  247. data/node_modules/puppeteer/lib/BrowserFetcher.js +279 -0
  248. data/node_modules/puppeteer/lib/Connection.js +246 -0
  249. data/node_modules/puppeteer/lib/Coverage.js +301 -0
  250. data/node_modules/puppeteer/lib/Dialog.js +84 -0
  251. data/node_modules/puppeteer/lib/ElementHandle.js +328 -0
  252. data/node_modules/puppeteer/lib/EmulationManager.js +89 -0
  253. data/node_modules/puppeteer/lib/ExecutionContext.js +232 -0
  254. data/node_modules/puppeteer/lib/FrameManager.js +997 -0
  255. data/node_modules/puppeteer/lib/Input.js +309 -0
  256. data/node_modules/puppeteer/lib/Launcher.js +310 -0
  257. data/node_modules/puppeteer/lib/Multimap.js +95 -0
  258. data/node_modules/puppeteer/lib/NavigatorWatcher.js +137 -0
  259. data/node_modules/puppeteer/lib/NetworkManager.js +796 -0
  260. data/node_modules/puppeteer/lib/Page.js +1098 -0
  261. data/node_modules/puppeteer/lib/Pipe.js +69 -0
  262. data/node_modules/puppeteer/lib/Puppeteer.js +60 -0
  263. data/node_modules/puppeteer/lib/Target.js +88 -0
  264. data/node_modules/puppeteer/lib/TaskQueue.js +17 -0
  265. data/node_modules/puppeteer/lib/Tracing.js +99 -0
  266. data/node_modules/puppeteer/lib/USKeyboardLayout.js +281 -0
  267. data/node_modules/puppeteer/lib/helper.js +248 -0
  268. data/node_modules/puppeteer/node6/lib/Browser.js +394 -0
  269. data/node_modules/puppeteer/node6/lib/BrowserFetcher.js +357 -0
  270. data/node_modules/puppeteer/node6/lib/Connection.js +350 -0
  271. data/node_modules/puppeteer/node6/lib/Coverage.js +561 -0
  272. data/node_modules/puppeteer/node6/lib/Dialog.js +136 -0
  273. data/node_modules/puppeteer/node6/lib/ElementHandle.js +796 -0
  274. data/node_modules/puppeteer/node6/lib/EmulationManager.js +115 -0
  275. data/node_modules/puppeteer/node6/lib/ExecutionContext.js +414 -0
  276. data/node_modules/puppeteer/node6/lib/FrameManager.js +1621 -0
  277. data/node_modules/puppeteer/node6/lib/Input.js +569 -0
  278. data/node_modules/puppeteer/node6/lib/Launcher.js +362 -0
  279. data/node_modules/puppeteer/node6/lib/Multimap.js +95 -0
  280. data/node_modules/puppeteer/node6/lib/NavigatorWatcher.js +163 -0
  281. data/node_modules/puppeteer/node6/lib/NetworkManager.js +1108 -0
  282. data/node_modules/puppeteer/node6/lib/Page.js +2242 -0
  283. data/node_modules/puppeteer/node6/lib/Pipe.js +69 -0
  284. data/node_modules/puppeteer/node6/lib/Puppeteer.js +60 -0
  285. data/node_modules/puppeteer/node6/lib/Target.js +114 -0
  286. data/node_modules/puppeteer/node6/lib/TaskQueue.js +17 -0
  287. data/node_modules/puppeteer/node6/lib/Tracing.js +177 -0
  288. data/node_modules/puppeteer/node6/lib/USKeyboardLayout.js +281 -0
  289. data/node_modules/puppeteer/node6/lib/helper.js +274 -0
  290. data/node_modules/puppeteer/package.json +61 -0
  291. data/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  292. data/node_modules/readable-stream/GOVERNANCE.md +136 -0
  293. data/node_modules/readable-stream/LICENSE +47 -0
  294. data/node_modules/readable-stream/README.md +58 -0
  295. data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  296. data/node_modules/readable-stream/duplex-browser.js +1 -0
  297. data/node_modules/readable-stream/duplex.js +1 -0
  298. data/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
  299. data/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
  300. data/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
  301. data/node_modules/readable-stream/lib/_stream_transform.js +214 -0
  302. data/node_modules/readable-stream/lib/_stream_writable.js +687 -0
  303. data/node_modules/readable-stream/lib/internal/streams/BufferList.js +79 -0
  304. data/node_modules/readable-stream/lib/internal/streams/destroy.js +74 -0
  305. data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  306. data/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  307. data/node_modules/readable-stream/package.json +52 -0
  308. data/node_modules/readable-stream/passthrough.js +1 -0
  309. data/node_modules/readable-stream/readable-browser.js +7 -0
  310. data/node_modules/readable-stream/readable.js +19 -0
  311. data/node_modules/readable-stream/transform.js +1 -0
  312. data/node_modules/readable-stream/writable-browser.js +1 -0
  313. data/node_modules/readable-stream/writable.js +8 -0
  314. data/node_modules/rimraf/LICENSE +15 -0
  315. data/node_modules/rimraf/README.md +101 -0
  316. data/node_modules/rimraf/bin.js +50 -0
  317. data/node_modules/rimraf/package.json +26 -0
  318. data/node_modules/rimraf/rimraf.js +364 -0
  319. data/node_modules/safe-buffer/LICENSE +21 -0
  320. data/node_modules/safe-buffer/README.md +584 -0
  321. data/node_modules/safe-buffer/index.d.ts +187 -0
  322. data/node_modules/safe-buffer/index.js +62 -0
  323. data/node_modules/safe-buffer/package.json +37 -0
  324. data/node_modules/string_decoder/LICENSE +48 -0
  325. data/node_modules/string_decoder/README.md +47 -0
  326. data/node_modules/string_decoder/lib/string_decoder.js +296 -0
  327. data/node_modules/string_decoder/package.json +31 -0
  328. data/node_modules/typedarray/LICENSE +35 -0
  329. data/node_modules/typedarray/example/tarray.js +4 -0
  330. data/node_modules/typedarray/index.js +630 -0
  331. data/node_modules/typedarray/package.json +55 -0
  332. data/node_modules/typedarray/readme.markdown +61 -0
  333. data/node_modules/typedarray/test/server/undef_globals.js +19 -0
  334. data/node_modules/typedarray/test/tarray.js +10 -0
  335. data/node_modules/ultron/LICENSE +22 -0
  336. data/node_modules/ultron/README.md +113 -0
  337. data/node_modules/ultron/index.js +136 -0
  338. data/node_modules/ultron/package.json +41 -0
  339. data/node_modules/util-deprecate/History.md +16 -0
  340. data/node_modules/util-deprecate/LICENSE +24 -0
  341. data/node_modules/util-deprecate/README.md +53 -0
  342. data/node_modules/util-deprecate/browser.js +67 -0
  343. data/node_modules/util-deprecate/node.js +6 -0
  344. data/node_modules/util-deprecate/package.json +27 -0
  345. data/node_modules/wrappy/LICENSE +15 -0
  346. data/node_modules/wrappy/README.md +36 -0
  347. data/node_modules/wrappy/package.json +29 -0
  348. data/node_modules/wrappy/wrappy.js +33 -0
  349. data/node_modules/ws/LICENSE +21 -0
  350. data/node_modules/ws/README.md +341 -0
  351. data/node_modules/ws/index.js +15 -0
  352. data/node_modules/ws/lib/BufferUtil.js +71 -0
  353. data/node_modules/ws/lib/Constants.js +10 -0
  354. data/node_modules/ws/lib/ErrorCodes.js +28 -0
  355. data/node_modules/ws/lib/EventTarget.js +151 -0
  356. data/node_modules/ws/lib/Extensions.js +203 -0
  357. data/node_modules/ws/lib/PerMessageDeflate.js +507 -0
  358. data/node_modules/ws/lib/Receiver.js +553 -0
  359. data/node_modules/ws/lib/Sender.js +412 -0
  360. data/node_modules/ws/lib/Validation.js +17 -0
  361. data/node_modules/ws/lib/WebSocket.js +717 -0
  362. data/node_modules/ws/lib/WebSocketServer.js +326 -0
  363. data/node_modules/ws/package.json +46 -0
  364. data/node_modules/yauzl/LICENSE +21 -0
  365. data/node_modules/yauzl/README.md +467 -0
  366. data/node_modules/yauzl/index.js +626 -0
  367. data/node_modules/yauzl/package.json +36 -0
  368. data/package.json +5 -0
  369. data/yarn.lock +240 -0
  370. metadata +372 -7
  371. data/app/assets/stylesheets/default.css +0 -4
  372. data/lib/postdoc/postdoc_view_helper.rb +0 -22
@@ -0,0 +1,189 @@
1
+ # fd-slicer
2
+
3
+ [![Build Status](https://travis-ci.org/andrewrk/node-fd-slicer.svg?branch=master)](https://travis-ci.org/andrewrk/node-fd-slicer)
4
+ [![Coverage Status](https://img.shields.io/coveralls/andrewrk/node-fd-slicer.svg)](https://coveralls.io/r/andrewrk/node-fd-slicer)
5
+
6
+ Safe `fs.ReadStream` and `fs.WriteStream` using the same fd.
7
+
8
+ Let's say that you want to perform a parallel upload of a file to a remote
9
+ server. To do this, we want to create multiple read streams. The first thing
10
+ you might think of is to use the `{start: 0, end: 0}` API of
11
+ `fs.createReadStream`. This gives you two choices:
12
+
13
+ 0. Use the same file descriptor for all `fs.ReadStream` objects.
14
+ 0. Open the file multiple times, resulting in a separate file descriptor
15
+ for each read stream.
16
+
17
+ Neither of these are acceptable options. The first one is a severe bug,
18
+ because the API docs for `fs.write` state:
19
+
20
+ > Note that it is unsafe to use `fs.write` multiple times on the same file
21
+ > without waiting for the callback. For this scenario, `fs.createWriteStream`
22
+ > is strongly recommended.
23
+
24
+ `fs.createWriteStream` will solve the problem if you only create one of them
25
+ for the file descriptor, but it will exhibit this unsafety if you create
26
+ multiple write streams per file descriptor.
27
+
28
+ The second option suffers from a race condition. For each additional time the
29
+ file is opened after the first, it is possible that the file is modified. So
30
+ in our parallel uploading example, we might upload a corrupt file that never
31
+ existed on the client's computer.
32
+
33
+ This module solves this problem by providing `createReadStream` and
34
+ `createWriteStream` that operate on a shared file descriptor and provides
35
+ the convenient stream API while still allowing slicing and dicing.
36
+
37
+ This module also gives you some additional power that the builtin
38
+ `fs.createWriteStream` do not give you. These features are:
39
+
40
+ * Emitting a 'progress' event on write.
41
+ * Ability to set a maximum size and emit an error if this size is exceeded.
42
+ * Ability to create an `FdSlicer` instance from a `Buffer`. This enables you
43
+ to provide API for handling files as well as buffers using the same API.
44
+
45
+ ## Usage
46
+
47
+ ```js
48
+ var fdSlicer = require('fd-slicer');
49
+ var fs = require('fs');
50
+
51
+ fs.open("file.txt", 'r', function(err, fd) {
52
+ if (err) throw err;
53
+ var slicer = fdSlicer.createFromFd(fd);
54
+ var firstPart = slicer.createReadStream({start: 0, end: 100});
55
+ var secondPart = slicer.createReadStream({start: 100});
56
+ var firstOut = fs.createWriteStream("first.txt");
57
+ var secondOut = fs.createWriteStream("second.txt");
58
+ firstPart.pipe(firstOut);
59
+ secondPart.pipe(secondOut);
60
+ });
61
+ ```
62
+
63
+ You can also create from a buffer:
64
+
65
+ ```js
66
+ var fdSlicer = require('fd-slicer');
67
+ var slicer = FdSlicer.createFromBuffer(someBuffer);
68
+ var firstPart = slicer.createReadStream({start: 0, end: 100});
69
+ var secondPart = slicer.createReadStream({start: 100});
70
+ var firstOut = fs.createWriteStream("first.txt");
71
+ var secondOut = fs.createWriteStream("second.txt");
72
+ firstPart.pipe(firstOut);
73
+ secondPart.pipe(secondOut);
74
+ ```
75
+
76
+ ## API Documentation
77
+
78
+ ### fdSlicer.createFromFd(fd, [options])
79
+
80
+ ```js
81
+ var fdSlicer = require('fd-slicer');
82
+ fs.open("file.txt", 'r', function(err, fd) {
83
+ if (err) throw err;
84
+ var slicer = fdSlicer.createFromFd(fd);
85
+ // ...
86
+ });
87
+ ```
88
+
89
+ Make sure `fd` is a properly initialized file descriptor. If you want to
90
+ use `createReadStream` make sure you open it for reading and if you want
91
+ to use `createWriteStream` make sure you open it for writing.
92
+
93
+ `options` is an optional object which can contain:
94
+
95
+ * `autoClose` - if set to `true`, the file descriptor will be automatically
96
+ closed once the last stream that references it is closed. Defaults to
97
+ `false`. `ref()` and `unref()` can be used to increase or decrease the
98
+ reference count, respectively.
99
+
100
+ ### fdSlicer.createFromBuffer(buffer)
101
+
102
+ ```js
103
+ var fdSlicer = require('fd-slicer');
104
+ var slicer = fdSlicer.createFromBuffer(someBuffer);
105
+ // ...
106
+ ```
107
+
108
+ #### Properties
109
+
110
+ ##### fd
111
+
112
+ The file descriptor passed in. `undefined` if created from a buffer.
113
+
114
+ #### Methods
115
+
116
+ ##### createReadStream(options)
117
+
118
+ Available `options`:
119
+
120
+ * `start` - Number. The offset into the file to start reading from. Defaults
121
+ to 0.
122
+ * `end` - Number. Exclusive upper bound offset into the file to stop reading
123
+ from.
124
+ * `highWaterMark` - Number. The maximum number of bytes to store in the
125
+ internal buffer before ceasing to read from the underlying resource.
126
+ Defaults to 16 KB.
127
+ * `encoding` - String. If specified, then buffers will be decoded to strings
128
+ using the specified encoding. Defaults to `null`.
129
+
130
+ The ReadableStream that this returns has these additional methods:
131
+
132
+ * `destroy(err)` - stop streaming. `err` is optional and is the error that
133
+ will be emitted in order to cause the streaming to stop. Defaults to
134
+ `new Error("stream destroyed")`.
135
+
136
+ ##### createWriteStream(options)
137
+
138
+ Available `options`:
139
+
140
+ * `start` - Number. The offset into the file to start writing to. Defaults to
141
+ 0.
142
+ * `end` - Number. Exclusive upper bound offset into the file. If this offset
143
+ is reached, the write stream will emit an 'error' event and stop functioning.
144
+ In this situation, `err.code === 'ETOOBIG'`. Defaults to `Infinity`.
145
+ * `highWaterMark` - Number. Buffer level when `write()` starts returning
146
+ false. Defaults to 16KB.
147
+ * `decodeStrings` - Boolean. Whether or not to decode strings into Buffers
148
+ before passing them to` _write()`. Defaults to `true`.
149
+
150
+ The WritableStream that this returns has these additional methods:
151
+
152
+ * `destroy()` - stop streaming
153
+
154
+ And these additional properties:
155
+
156
+ * `bytesWritten` - number of bytes written to the stream
157
+
158
+ And these additional events:
159
+
160
+ * 'progress' - emitted when `bytesWritten` changes.
161
+
162
+ ##### read(buffer, offset, length, position, callback)
163
+
164
+ Equivalent to `fs.read`, but with concurrency protection.
165
+ `callback` must be defined.
166
+
167
+ ##### write(buffer, offset, length, position, callback)
168
+
169
+ Equivalent to `fs.write`, but with concurrency protection.
170
+ `callback` must be defined.
171
+
172
+ ##### ref()
173
+
174
+ Increase the `autoClose` reference count by 1.
175
+
176
+ ##### unref()
177
+
178
+ Decrease the `autoClose` reference count by 1.
179
+
180
+ #### Events
181
+
182
+ ##### 'error'
183
+
184
+ Emitted if `fs.close` returns an error when auto closing.
185
+
186
+ ##### 'close'
187
+
188
+ Emitted when fd-slicer closes the file descriptor due to `autoClose`. Never
189
+ emitted if created from a buffer.
@@ -0,0 +1,277 @@
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
+ }
@@ -0,0 +1,36 @@
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
+ }