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,248 @@
1
+ /**
2
+ * Copyright 2017 Google Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ const fs = require('fs');
17
+ const path = require('path');
18
+
19
+ const debugError = require('debug')(`puppeteer:error`);
20
+ /** @type {?Map<string, boolean>} */
21
+ let apiCoverage = null;
22
+ let projectRoot = null;
23
+ class Helper {
24
+ /**
25
+ * @param {Function|string} fun
26
+ * @param {!Array<*>} args
27
+ * @return {string}
28
+ */
29
+ static evaluationString(fun, ...args) {
30
+ if (Helper.isString(fun)) {
31
+ console.assert(args.length === 0, 'Cannot evaluate a string with arguments');
32
+ return /** @type {string} */ (fun);
33
+ }
34
+ return `(${fun})(${args.map(serializeArgument).join(',')})`;
35
+
36
+ /**
37
+ * @param {*} arg
38
+ * @return {string}
39
+ */
40
+ function serializeArgument(arg) {
41
+ if (Object.is(arg, undefined))
42
+ return 'undefined';
43
+ return JSON.stringify(arg);
44
+ }
45
+ }
46
+
47
+ /**
48
+ * @return {string}
49
+ */
50
+ static projectRoot() {
51
+ if (!projectRoot) {
52
+ // Project root will be different for node6-transpiled code.
53
+ projectRoot = fs.existsSync(path.join(__dirname, '..', 'package.json')) ? path.join(__dirname, '..') : path.join(__dirname, '..', '..');
54
+ }
55
+ return projectRoot;
56
+ }
57
+
58
+ /**
59
+ * @param {!Protocol.Runtime.ExceptionDetails} exceptionDetails
60
+ * @return {string}
61
+ */
62
+ static getExceptionMessage(exceptionDetails) {
63
+ if (exceptionDetails.exception)
64
+ return exceptionDetails.exception.description;
65
+ let message = exceptionDetails.text;
66
+ if (exceptionDetails.stackTrace) {
67
+ for (const callframe of exceptionDetails.stackTrace.callFrames) {
68
+ const location = callframe.url + ':' + callframe.lineNumber + ':' + callframe.columnNumber;
69
+ const functionName = callframe.functionName || '<anonymous>';
70
+ message += `\n at ${functionName} (${location})`;
71
+ }
72
+ }
73
+ return message;
74
+ }
75
+
76
+ /**
77
+ * @param {!Protocol.Runtime.RemoteObject} remoteObject
78
+ * @return {*}
79
+ */
80
+ static valueFromRemoteObject(remoteObject) {
81
+ console.assert(!remoteObject.objectId, 'Cannot extract value when objectId is given');
82
+ if (remoteObject.unserializableValue) {
83
+ switch (remoteObject.unserializableValue) {
84
+ case '-0':
85
+ return -0;
86
+ case 'NaN':
87
+ return NaN;
88
+ case 'Infinity':
89
+ return Infinity;
90
+ case '-Infinity':
91
+ return -Infinity;
92
+ default:
93
+ throw new Error('Unsupported unserializable value: ' + remoteObject.unserializableValue);
94
+ }
95
+ }
96
+ return remoteObject.value;
97
+ }
98
+
99
+ /**
100
+ * @param {!Puppeteer.CDPSession} client
101
+ * @param {!Protocol.Runtime.RemoteObject} remoteObject
102
+ */
103
+ static async releaseObject(client, remoteObject) {
104
+ if (!remoteObject.objectId)
105
+ return;
106
+ await client.send('Runtime.releaseObject', {objectId: remoteObject.objectId}).catch(error => {
107
+ // Exceptions might happen in case of a page been navigated or closed.
108
+ // Swallow these since they are harmless and we don't leak anything in this case.
109
+ debugError(error);
110
+ });
111
+ }
112
+
113
+ /**
114
+ * @param {!Object} classType
115
+ * @param {string=} publicName
116
+ */
117
+ static tracePublicAPI(classType, publicName) {
118
+ let className = publicName || classType.prototype.constructor.name;
119
+ className = className.substring(0, 1).toLowerCase() + className.substring(1);
120
+ const debug = require('debug')(`puppeteer:${className}`);
121
+ if (!debug.enabled && !apiCoverage)
122
+ return;
123
+ for (const methodName of Reflect.ownKeys(classType.prototype)) {
124
+ const method = Reflect.get(classType.prototype, methodName);
125
+ if (methodName === 'constructor' || typeof methodName !== 'string' || methodName.startsWith('_') || typeof method !== 'function')
126
+ continue;
127
+ if (apiCoverage)
128
+ apiCoverage.set(`${className}.${methodName}`, false);
129
+ Reflect.set(classType.prototype, methodName, function(...args) {
130
+ const argsText = args.map(stringifyArgument).join(', ');
131
+ const callsite = `${className}.${methodName}(${argsText})`;
132
+ if (debug.enabled)
133
+ debug(callsite);
134
+ if (apiCoverage)
135
+ apiCoverage.set(`${className}.${methodName}`, true);
136
+ return method.call(this, ...args);
137
+ });
138
+ }
139
+
140
+ if (classType.Events) {
141
+ if (apiCoverage) {
142
+ for (const event of Object.values(classType.Events))
143
+ apiCoverage.set(`${className}.emit(${JSON.stringify(event)})`, false);
144
+ }
145
+ const method = Reflect.get(classType.prototype, 'emit');
146
+ Reflect.set(classType.prototype, 'emit', function(event, ...args) {
147
+ const argsText = [JSON.stringify(event)].concat(args.map(stringifyArgument)).join(', ');
148
+ if (debug.enabled && this.listenerCount(event))
149
+ debug(`${className}.emit(${argsText})`);
150
+ if (apiCoverage && this.listenerCount(event))
151
+ apiCoverage.set(`${className}.emit(${JSON.stringify(event)})`, true);
152
+ return method.call(this, event, ...args);
153
+ });
154
+ }
155
+
156
+ /**
157
+ * @param {!Object} arg
158
+ * @return {string}
159
+ */
160
+ function stringifyArgument(arg) {
161
+ if (Helper.isString(arg) || Helper.isNumber(arg) || !arg)
162
+ return JSON.stringify(arg);
163
+ if (typeof arg === 'function') {
164
+ let text = arg.toString().split('\n').map(line => line.trim()).join('');
165
+ if (text.length > 20)
166
+ text = text.substring(0, 20) + '…';
167
+ return `"${text}"`;
168
+ }
169
+ const state = {};
170
+ const keys = Object.keys(arg);
171
+ for (const key of keys) {
172
+ const value = arg[key];
173
+ if (Helper.isString(value) || Helper.isNumber(value))
174
+ state[key] = JSON.stringify(value);
175
+ }
176
+ const name = arg.constructor.name === 'Object' ? '' : arg.constructor.name;
177
+ return name + JSON.stringify(state);
178
+ }
179
+ }
180
+
181
+ /**
182
+ * @param {!NodeJS.EventEmitter} emitter
183
+ * @param {string} eventName
184
+ * @param {function(?)} handler
185
+ * @return {{emitter: !NodeJS.EventEmitter, eventName: string, handler: function(?)}}
186
+ */
187
+ static addEventListener(emitter, eventName, handler) {
188
+ emitter.on(eventName, handler);
189
+ return { emitter, eventName, handler };
190
+ }
191
+
192
+ /**
193
+ * @param {!Array<{emitter: !NodeJS.EventEmitter, eventName: string, handler: function(?)}>} listeners
194
+ */
195
+ static removeEventListeners(listeners) {
196
+ for (const listener of listeners)
197
+ listener.emitter.removeListener(listener.eventName, listener.handler);
198
+ listeners.splice(0, listeners.length);
199
+ }
200
+
201
+ /**
202
+ * @return {?Map<string, boolean>}
203
+ */
204
+ static publicAPICoverage() {
205
+ return apiCoverage;
206
+ }
207
+
208
+ static recordPublicAPICoverage() {
209
+ apiCoverage = new Map();
210
+ }
211
+
212
+ /**
213
+ * @param {!Object} obj
214
+ * @return {boolean}
215
+ */
216
+ static isString(obj) {
217
+ return typeof obj === 'string' || obj instanceof String;
218
+ }
219
+
220
+ /**
221
+ * @param {!Object} obj
222
+ * @return {boolean}
223
+ */
224
+ static isNumber(obj) {
225
+ return typeof obj === 'number' || obj instanceof Number;
226
+ }
227
+
228
+ static promisify(nodeFunction) {
229
+ function promisified(...args) {
230
+ return new Promise((resolve, reject) => {
231
+ function callback(err, ...result) {
232
+ if (err)
233
+ return reject(err);
234
+ if (result.length === 1)
235
+ return resolve(result[0]);
236
+ return resolve(result);
237
+ }
238
+ nodeFunction.call(null, ...args, callback);
239
+ });
240
+ }
241
+ return promisified;
242
+ }
243
+ }
244
+
245
+ module.exports = {
246
+ helper: Helper,
247
+ debugError
248
+ };
@@ -0,0 +1,394 @@
1
+ /**
2
+ * Copyright 2017 Google Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ const { helper } = require('./helper');
18
+ const Target = require('./Target');
19
+ const EventEmitter = require('events');
20
+ const TaskQueue = require('./TaskQueue');
21
+
22
+ class Browser extends EventEmitter {
23
+ /**
24
+ * @param {!Puppeteer.Connection} connection
25
+ * @param {!BrowserOptions=} options
26
+ * @param {?Puppeteer.ChildProcess} process
27
+ * @param {(function():Promise)=} closeCallback
28
+ */
29
+ constructor(connection, options = {}, process, closeCallback) {
30
+ super();
31
+ this._ignoreHTTPSErrors = !!options.ignoreHTTPSErrors;
32
+ this._appMode = !!options.appMode;
33
+ this._process = process;
34
+ this._screenshotTaskQueue = new TaskQueue();
35
+ this._connection = connection;
36
+ this._closeCallback = closeCallback || new Function();
37
+ /** @type {Map<string, Target>} */
38
+ this._targets = new Map();
39
+ this._connection.setClosedCallback(() => {
40
+ this.emit(Browser.Events.Disconnected);
41
+ });
42
+ this._connection.on('Target.targetCreated', this._targetCreated.bind(this));
43
+ this._connection.on('Target.targetDestroyed', this._targetDestroyed.bind(this));
44
+ this._connection.on('Target.targetInfoChanged', this._targetInfoChanged.bind(this));
45
+ }
46
+
47
+ /**
48
+ * @return {?Puppeteer.ChildProcess}
49
+ */
50
+ process() {
51
+ return this._process;
52
+ }
53
+
54
+ /**
55
+ * @param {!Puppeteer.Connection} connection
56
+ * @param {!BrowserOptions=} options
57
+ * @param {?Puppeteer.ChildProcess} process
58
+ * @param {function()=} closeCallback
59
+ */
60
+ static /* async */ create(connection, options, process, closeCallback) {return (fn => {
61
+ const gen = fn.call(this);
62
+ return new Promise((resolve, reject) => {
63
+ function step(key, arg) {
64
+ let info, value;
65
+ try {
66
+ info = gen[key](arg);
67
+ value = info.value;
68
+ } catch (error) {
69
+ reject(error);
70
+ return;
71
+ }
72
+ if (info.done) {
73
+ resolve(value);
74
+ } else {
75
+ return Promise.resolve(value).then(
76
+ value => {
77
+ step('next', value);
78
+ },
79
+ err => {
80
+ step('throw', err);
81
+ });
82
+ }
83
+ }
84
+ return step('next');
85
+ });
86
+ })(function*(){
87
+ const browser = new Browser(connection, options, process, closeCallback);
88
+ (yield connection.send('Target.setDiscoverTargets', {discover: true}));
89
+ return browser;
90
+ });}
91
+
92
+ /**
93
+ * @param {{targetInfo: !Puppeteer.TargetInfo}} event
94
+ */
95
+ /* async */ _targetCreated(event) {return (fn => {
96
+ const gen = fn.call(this);
97
+ return new Promise((resolve, reject) => {
98
+ function step(key, arg) {
99
+ let info, value;
100
+ try {
101
+ info = gen[key](arg);
102
+ value = info.value;
103
+ } catch (error) {
104
+ reject(error);
105
+ return;
106
+ }
107
+ if (info.done) {
108
+ resolve(value);
109
+ } else {
110
+ return Promise.resolve(value).then(
111
+ value => {
112
+ step('next', value);
113
+ },
114
+ err => {
115
+ step('throw', err);
116
+ });
117
+ }
118
+ }
119
+ return step('next');
120
+ });
121
+ })(function*(){
122
+ const targetInfo = event.targetInfo;
123
+ const target = new Target(targetInfo, this, () => this._connection.createSession(targetInfo.targetId), this._ignoreHTTPSErrors, !this._appMode, this._screenshotTaskQueue);
124
+ console.assert(!this._targets.has(event.targetInfo.targetId), 'Target should not exist before targetCreated');
125
+ this._targets.set(event.targetInfo.targetId, target);
126
+
127
+ if ((yield target._initializedPromise))
128
+ this.emit(Browser.Events.TargetCreated, target);
129
+ });}
130
+
131
+ /**
132
+ * @param {{targetId: string}} event
133
+ */
134
+ /* async */ _targetDestroyed(event) {return (fn => {
135
+ const gen = fn.call(this);
136
+ return new Promise((resolve, reject) => {
137
+ function step(key, arg) {
138
+ let info, value;
139
+ try {
140
+ info = gen[key](arg);
141
+ value = info.value;
142
+ } catch (error) {
143
+ reject(error);
144
+ return;
145
+ }
146
+ if (info.done) {
147
+ resolve(value);
148
+ } else {
149
+ return Promise.resolve(value).then(
150
+ value => {
151
+ step('next', value);
152
+ },
153
+ err => {
154
+ step('throw', err);
155
+ });
156
+ }
157
+ }
158
+ return step('next');
159
+ });
160
+ })(function*(){
161
+ const target = this._targets.get(event.targetId);
162
+ target._initializedCallback(false);
163
+ this._targets.delete(event.targetId);
164
+ target._closedCallback();
165
+ if ((yield target._initializedPromise))
166
+ this.emit(Browser.Events.TargetDestroyed, target);
167
+ });}
168
+
169
+ /**
170
+ * @param {{targetInfo: !Puppeteer.TargetInfo}} event
171
+ */
172
+ _targetInfoChanged(event) {
173
+ const target = this._targets.get(event.targetInfo.targetId);
174
+ console.assert(target, 'target should exist before targetInfoChanged');
175
+ const previousURL = target.url();
176
+ const wasInitialized = target._isInitialized;
177
+ target._targetInfoChanged(event.targetInfo);
178
+ if (wasInitialized && previousURL !== target.url())
179
+ this.emit(Browser.Events.TargetChanged, target);
180
+ }
181
+
182
+ /**
183
+ * @return {string}
184
+ */
185
+ wsEndpoint() {
186
+ return this._connection.url();
187
+ }
188
+
189
+ /**
190
+ * @return {!Promise<!Puppeteer.Page>}
191
+ */
192
+ /* async */ newPage() {return (fn => {
193
+ const gen = fn.call(this);
194
+ return new Promise((resolve, reject) => {
195
+ function step(key, arg) {
196
+ let info, value;
197
+ try {
198
+ info = gen[key](arg);
199
+ value = info.value;
200
+ } catch (error) {
201
+ reject(error);
202
+ return;
203
+ }
204
+ if (info.done) {
205
+ resolve(value);
206
+ } else {
207
+ return Promise.resolve(value).then(
208
+ value => {
209
+ step('next', value);
210
+ },
211
+ err => {
212
+ step('throw', err);
213
+ });
214
+ }
215
+ }
216
+ return step('next');
217
+ });
218
+ })(function*(){
219
+ const {targetId} = (yield this._connection.send('Target.createTarget', {url: 'about:blank'}));
220
+ const target = (yield this._targets.get(targetId));
221
+ console.assert((yield target._initializedPromise), 'Failed to create target for page');
222
+ const page = (yield target.page());
223
+ return page;
224
+ });}
225
+
226
+ /**
227
+ * @return {!Array<!Target>}
228
+ */
229
+ targets() {
230
+ return Array.from(this._targets.values()).filter(target => target._isInitialized);
231
+ }
232
+
233
+ /**
234
+ * @return {!Promise<!Array<!Puppeteer.Page>>}
235
+ */
236
+ /* async */ pages() {return (fn => {
237
+ const gen = fn.call(this);
238
+ return new Promise((resolve, reject) => {
239
+ function step(key, arg) {
240
+ let info, value;
241
+ try {
242
+ info = gen[key](arg);
243
+ value = info.value;
244
+ } catch (error) {
245
+ reject(error);
246
+ return;
247
+ }
248
+ if (info.done) {
249
+ resolve(value);
250
+ } else {
251
+ return Promise.resolve(value).then(
252
+ value => {
253
+ step('next', value);
254
+ },
255
+ err => {
256
+ step('throw', err);
257
+ });
258
+ }
259
+ }
260
+ return step('next');
261
+ });
262
+ })(function*(){
263
+ const pages = (yield Promise.all(this.targets().map(target => target.page())));
264
+ return pages.filter(page => !!page);
265
+ });}
266
+
267
+ /**
268
+ * @return {!Promise<string>}
269
+ */
270
+ /* async */ version() {return (fn => {
271
+ const gen = fn.call(this);
272
+ return new Promise((resolve, reject) => {
273
+ function step(key, arg) {
274
+ let info, value;
275
+ try {
276
+ info = gen[key](arg);
277
+ value = info.value;
278
+ } catch (error) {
279
+ reject(error);
280
+ return;
281
+ }
282
+ if (info.done) {
283
+ resolve(value);
284
+ } else {
285
+ return Promise.resolve(value).then(
286
+ value => {
287
+ step('next', value);
288
+ },
289
+ err => {
290
+ step('throw', err);
291
+ });
292
+ }
293
+ }
294
+ return step('next');
295
+ });
296
+ })(function*(){
297
+ const version = (yield this._getVersion());
298
+ return version.product;
299
+ });}
300
+
301
+ /**
302
+ * @return {!Promise<string>}
303
+ */
304
+ /* async */ userAgent() {return (fn => {
305
+ const gen = fn.call(this);
306
+ return new Promise((resolve, reject) => {
307
+ function step(key, arg) {
308
+ let info, value;
309
+ try {
310
+ info = gen[key](arg);
311
+ value = info.value;
312
+ } catch (error) {
313
+ reject(error);
314
+ return;
315
+ }
316
+ if (info.done) {
317
+ resolve(value);
318
+ } else {
319
+ return Promise.resolve(value).then(
320
+ value => {
321
+ step('next', value);
322
+ },
323
+ err => {
324
+ step('throw', err);
325
+ });
326
+ }
327
+ }
328
+ return step('next');
329
+ });
330
+ })(function*(){
331
+ const version = (yield this._getVersion());
332
+ return version.userAgent;
333
+ });}
334
+
335
+ /* async */ close() {return (fn => {
336
+ const gen = fn.call(this);
337
+ return new Promise((resolve, reject) => {
338
+ function step(key, arg) {
339
+ let info, value;
340
+ try {
341
+ info = gen[key](arg);
342
+ value = info.value;
343
+ } catch (error) {
344
+ reject(error);
345
+ return;
346
+ }
347
+ if (info.done) {
348
+ resolve(value);
349
+ } else {
350
+ return Promise.resolve(value).then(
351
+ value => {
352
+ step('next', value);
353
+ },
354
+ err => {
355
+ step('throw', err);
356
+ });
357
+ }
358
+ }
359
+ return step('next');
360
+ });
361
+ })(function*(){
362
+ (yield this._closeCallback.call(null));
363
+ this.disconnect();
364
+ });}
365
+
366
+ disconnect() {
367
+ this._connection.dispose();
368
+ }
369
+
370
+ /**
371
+ * @return {!Promise<!Object>}
372
+ */
373
+ _getVersion() {
374
+ return this._connection.send('Browser.getVersion');
375
+ }
376
+ }
377
+
378
+ /** @enum {string} */
379
+ Browser.Events = {
380
+ TargetCreated: 'targetcreated',
381
+ TargetDestroyed: 'targetdestroyed',
382
+ TargetChanged: 'targetchanged',
383
+ Disconnected: 'disconnected'
384
+ };
385
+
386
+ helper.tracePublicAPI(Browser);
387
+
388
+ module.exports = Browser;
389
+
390
+ /**
391
+ * @typedef {Object} BrowserOptions
392
+ * @property {boolean=} appMode
393
+ * @property {boolean=} ignoreHTTPSErrors
394
+ */