postdoc 0.1.2 → 0.2.0.beta4

Sign up to get free protection for your applications and to get access to all the features.
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
+ }