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,796 @@
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 path = require('path');
17
+ const {JSHandle} = require('./ExecutionContext');
18
+ const {helper, debugError} = require('./helper');
19
+
20
+ class ElementHandle extends JSHandle {
21
+ /**
22
+ * @param {!Puppeteer.ExecutionContext} context
23
+ * @param {!Puppeteer.CDPSession} client
24
+ * @param {!Protocol.Runtime.RemoteObject} remoteObject
25
+ * @param {!Puppeteer.Page} page
26
+ * @param {!Puppeteer.FrameManager} frameManager
27
+ */
28
+ constructor(context, client, remoteObject, page, frameManager) {
29
+ super(context, client, remoteObject);
30
+ this._client = client;
31
+ this._remoteObject = remoteObject;
32
+ this._page = page;
33
+ this._frameManager = frameManager;
34
+ this._disposed = false;
35
+ }
36
+
37
+ /**
38
+ * @override
39
+ * @return {?ElementHandle}
40
+ */
41
+ asElement() {
42
+ return this;
43
+ }
44
+
45
+ /**
46
+ * @return {!Promise<?Puppeteer.Frame>}
47
+ */
48
+ /* async */ contentFrame() {return (fn => {
49
+ const gen = fn.call(this);
50
+ return new Promise((resolve, reject) => {
51
+ function step(key, arg) {
52
+ let info, value;
53
+ try {
54
+ info = gen[key](arg);
55
+ value = info.value;
56
+ } catch (error) {
57
+ reject(error);
58
+ return;
59
+ }
60
+ if (info.done) {
61
+ resolve(value);
62
+ } else {
63
+ return Promise.resolve(value).then(
64
+ value => {
65
+ step('next', value);
66
+ },
67
+ err => {
68
+ step('throw', err);
69
+ });
70
+ }
71
+ }
72
+ return step('next');
73
+ });
74
+ })(function*(){
75
+ const nodeInfo = (yield this._client.send('DOM.describeNode', {
76
+ objectId: this._remoteObject.objectId
77
+ }));
78
+ if (typeof nodeInfo.node.frameId !== 'string')
79
+ return null;
80
+ return this._frameManager.frame(nodeInfo.node.frameId);
81
+ });}
82
+
83
+ /* async */ _scrollIntoViewIfNeeded() {return (fn => {
84
+ const gen = fn.call(this);
85
+ return new Promise((resolve, reject) => {
86
+ function step(key, arg) {
87
+ let info, value;
88
+ try {
89
+ info = gen[key](arg);
90
+ value = info.value;
91
+ } catch (error) {
92
+ reject(error);
93
+ return;
94
+ }
95
+ if (info.done) {
96
+ resolve(value);
97
+ } else {
98
+ return Promise.resolve(value).then(
99
+ value => {
100
+ step('next', value);
101
+ },
102
+ err => {
103
+ step('throw', err);
104
+ });
105
+ }
106
+ }
107
+ return step('next');
108
+ });
109
+ })(function*(){
110
+ const error = (yield this.executionContext().evaluate(element => {
111
+ if (!element.isConnected)
112
+ return 'Node is detached from document';
113
+ if (element.nodeType !== Node.ELEMENT_NODE)
114
+ return 'Node is not of type HTMLElement';
115
+ element.scrollIntoViewIfNeeded();
116
+ return false;
117
+ }, this));
118
+ if (error)
119
+ throw new Error(error);
120
+ });}
121
+
122
+ /**
123
+ * @return {!Promise<{x: number, y: number}>}
124
+ */
125
+ /* async */ _visibleCenter() {return (fn => {
126
+ const gen = fn.call(this);
127
+ return new Promise((resolve, reject) => {
128
+ function step(key, arg) {
129
+ let info, value;
130
+ try {
131
+ info = gen[key](arg);
132
+ value = info.value;
133
+ } catch (error) {
134
+ reject(error);
135
+ return;
136
+ }
137
+ if (info.done) {
138
+ resolve(value);
139
+ } else {
140
+ return Promise.resolve(value).then(
141
+ value => {
142
+ step('next', value);
143
+ },
144
+ err => {
145
+ step('throw', err);
146
+ });
147
+ }
148
+ }
149
+ return step('next');
150
+ });
151
+ })(function*(){
152
+ (yield this._scrollIntoViewIfNeeded());
153
+ const box = (yield this._assertBoundingBox());
154
+ return {
155
+ x: box.x + box.width / 2,
156
+ y: box.y + box.height / 2
157
+ };
158
+ });}
159
+
160
+ /**
161
+ * @return {!Promise<void|Protocol.DOM.getBoxModelReturnValue>}
162
+ */
163
+ _getBoxModel() {
164
+ return this._client.send('DOM.getBoxModel', {
165
+ objectId: this._remoteObject.objectId
166
+ }).catch(error => debugError(error));
167
+ }
168
+
169
+ /**
170
+ * @param {!Array<number>} quad
171
+ * @return {!Array<object>}
172
+ */
173
+ _fromProtocolQuad(quad) {
174
+ return [
175
+ {x: quad[0], y: quad[1]},
176
+ {x: quad[2], y: quad[3]},
177
+ {x: quad[4], y: quad[5]},
178
+ {x: quad[6], y: quad[7]}
179
+ ];
180
+ }
181
+
182
+ /* async */ hover() {return (fn => {
183
+ const gen = fn.call(this);
184
+ return new Promise((resolve, reject) => {
185
+ function step(key, arg) {
186
+ let info, value;
187
+ try {
188
+ info = gen[key](arg);
189
+ value = info.value;
190
+ } catch (error) {
191
+ reject(error);
192
+ return;
193
+ }
194
+ if (info.done) {
195
+ resolve(value);
196
+ } else {
197
+ return Promise.resolve(value).then(
198
+ value => {
199
+ step('next', value);
200
+ },
201
+ err => {
202
+ step('throw', err);
203
+ });
204
+ }
205
+ }
206
+ return step('next');
207
+ });
208
+ })(function*(){
209
+ const {x, y} = (yield this._visibleCenter());
210
+ (yield this._page.mouse.move(x, y));
211
+ });}
212
+
213
+ /**
214
+ * @param {!Object=} options
215
+ */
216
+ /* async */ click(options = {}) {return (fn => {
217
+ const gen = fn.call(this);
218
+ return new Promise((resolve, reject) => {
219
+ function step(key, arg) {
220
+ let info, value;
221
+ try {
222
+ info = gen[key](arg);
223
+ value = info.value;
224
+ } catch (error) {
225
+ reject(error);
226
+ return;
227
+ }
228
+ if (info.done) {
229
+ resolve(value);
230
+ } else {
231
+ return Promise.resolve(value).then(
232
+ value => {
233
+ step('next', value);
234
+ },
235
+ err => {
236
+ step('throw', err);
237
+ });
238
+ }
239
+ }
240
+ return step('next');
241
+ });
242
+ })(function*(){
243
+ const {x, y} = (yield this._visibleCenter());
244
+ (yield this._page.mouse.click(x, y, options));
245
+ });}
246
+
247
+ /**
248
+ * @param {!Array<string>} filePaths
249
+ * @return {!Promise}
250
+ */
251
+ /* async */ uploadFile(...filePaths) {return (fn => {
252
+ const gen = fn.call(this);
253
+ return new Promise((resolve, reject) => {
254
+ function step(key, arg) {
255
+ let info, value;
256
+ try {
257
+ info = gen[key](arg);
258
+ value = info.value;
259
+ } catch (error) {
260
+ reject(error);
261
+ return;
262
+ }
263
+ if (info.done) {
264
+ resolve(value);
265
+ } else {
266
+ return Promise.resolve(value).then(
267
+ value => {
268
+ step('next', value);
269
+ },
270
+ err => {
271
+ step('throw', err);
272
+ });
273
+ }
274
+ }
275
+ return step('next');
276
+ });
277
+ })(function*(){
278
+ const files = filePaths.map(filePath => path.resolve(filePath));
279
+ const objectId = this._remoteObject.objectId;
280
+ return this._client.send('DOM.setFileInputFiles', { objectId, files });
281
+ });}
282
+
283
+ /* async */ tap() {return (fn => {
284
+ const gen = fn.call(this);
285
+ return new Promise((resolve, reject) => {
286
+ function step(key, arg) {
287
+ let info, value;
288
+ try {
289
+ info = gen[key](arg);
290
+ value = info.value;
291
+ } catch (error) {
292
+ reject(error);
293
+ return;
294
+ }
295
+ if (info.done) {
296
+ resolve(value);
297
+ } else {
298
+ return Promise.resolve(value).then(
299
+ value => {
300
+ step('next', value);
301
+ },
302
+ err => {
303
+ step('throw', err);
304
+ });
305
+ }
306
+ }
307
+ return step('next');
308
+ });
309
+ })(function*(){
310
+ const {x, y} = (yield this._visibleCenter());
311
+ (yield this._page.touchscreen.tap(x, y));
312
+ });}
313
+
314
+ /* async */ focus() {return (fn => {
315
+ const gen = fn.call(this);
316
+ return new Promise((resolve, reject) => {
317
+ function step(key, arg) {
318
+ let info, value;
319
+ try {
320
+ info = gen[key](arg);
321
+ value = info.value;
322
+ } catch (error) {
323
+ reject(error);
324
+ return;
325
+ }
326
+ if (info.done) {
327
+ resolve(value);
328
+ } else {
329
+ return Promise.resolve(value).then(
330
+ value => {
331
+ step('next', value);
332
+ },
333
+ err => {
334
+ step('throw', err);
335
+ });
336
+ }
337
+ }
338
+ return step('next');
339
+ });
340
+ })(function*(){
341
+ (yield this.executionContext().evaluate(element => element.focus(), this));
342
+ });}
343
+
344
+ /**
345
+ * @param {string} text
346
+ * @param {{delay: (number|undefined)}=} options
347
+ */
348
+ /* async */ type(text, options) {return (fn => {
349
+ const gen = fn.call(this);
350
+ return new Promise((resolve, reject) => {
351
+ function step(key, arg) {
352
+ let info, value;
353
+ try {
354
+ info = gen[key](arg);
355
+ value = info.value;
356
+ } catch (error) {
357
+ reject(error);
358
+ return;
359
+ }
360
+ if (info.done) {
361
+ resolve(value);
362
+ } else {
363
+ return Promise.resolve(value).then(
364
+ value => {
365
+ step('next', value);
366
+ },
367
+ err => {
368
+ step('throw', err);
369
+ });
370
+ }
371
+ }
372
+ return step('next');
373
+ });
374
+ })(function*(){
375
+ (yield this.focus());
376
+ (yield this._page.keyboard.type(text, options));
377
+ });}
378
+
379
+ /**
380
+ * @param {string} key
381
+ * @param {!Object=} options
382
+ */
383
+ /* async */ press(key, options) {return (fn => {
384
+ const gen = fn.call(this);
385
+ return new Promise((resolve, reject) => {
386
+ function step(key, arg) {
387
+ let info, value;
388
+ try {
389
+ info = gen[key](arg);
390
+ value = info.value;
391
+ } catch (error) {
392
+ reject(error);
393
+ return;
394
+ }
395
+ if (info.done) {
396
+ resolve(value);
397
+ } else {
398
+ return Promise.resolve(value).then(
399
+ value => {
400
+ step('next', value);
401
+ },
402
+ err => {
403
+ step('throw', err);
404
+ });
405
+ }
406
+ }
407
+ return step('next');
408
+ });
409
+ })(function*(){
410
+ (yield this.focus());
411
+ (yield this._page.keyboard.press(key, options));
412
+ });}
413
+
414
+ /**
415
+ * @return {!Promise<?{x: number, y: number, width: number, height: number}>}
416
+ */
417
+ /* async */ boundingBox() {return (fn => {
418
+ const gen = fn.call(this);
419
+ return new Promise((resolve, reject) => {
420
+ function step(key, arg) {
421
+ let info, value;
422
+ try {
423
+ info = gen[key](arg);
424
+ value = info.value;
425
+ } catch (error) {
426
+ reject(error);
427
+ return;
428
+ }
429
+ if (info.done) {
430
+ resolve(value);
431
+ } else {
432
+ return Promise.resolve(value).then(
433
+ value => {
434
+ step('next', value);
435
+ },
436
+ err => {
437
+ step('throw', err);
438
+ });
439
+ }
440
+ }
441
+ return step('next');
442
+ });
443
+ })(function*(){
444
+ const result = (yield this._getBoxModel());
445
+
446
+ if (!result)
447
+ return null;
448
+
449
+ const quad = result.model.border;
450
+ const x = Math.min(quad[0], quad[2], quad[4], quad[6]);
451
+ const y = Math.min(quad[1], quad[3], quad[5], quad[7]);
452
+ const width = Math.max(quad[0], quad[2], quad[4], quad[6]) - x;
453
+ const height = Math.max(quad[1], quad[3], quad[5], quad[7]) - y;
454
+
455
+ return {x, y, width, height};
456
+ });}
457
+
458
+ /**
459
+ * @return {!Promise<?object>}
460
+ */
461
+ /* async */ boxModel() {return (fn => {
462
+ const gen = fn.call(this);
463
+ return new Promise((resolve, reject) => {
464
+ function step(key, arg) {
465
+ let info, value;
466
+ try {
467
+ info = gen[key](arg);
468
+ value = info.value;
469
+ } catch (error) {
470
+ reject(error);
471
+ return;
472
+ }
473
+ if (info.done) {
474
+ resolve(value);
475
+ } else {
476
+ return Promise.resolve(value).then(
477
+ value => {
478
+ step('next', value);
479
+ },
480
+ err => {
481
+ step('throw', err);
482
+ });
483
+ }
484
+ }
485
+ return step('next');
486
+ });
487
+ })(function*(){
488
+ const result = (yield this._getBoxModel());
489
+
490
+ if (!result)
491
+ return null;
492
+
493
+ const {content, padding, border, margin, width, height} = result.model;
494
+ return {
495
+ content: this._fromProtocolQuad(content),
496
+ padding: this._fromProtocolQuad(padding),
497
+ border: this._fromProtocolQuad(border),
498
+ margin: this._fromProtocolQuad(margin),
499
+ width,
500
+ height
501
+ };
502
+ });}
503
+
504
+ /**
505
+ * @return {!Promise<?{x: number, y: number, width: number, height: number}>}
506
+ */
507
+ /* async */ _assertBoundingBox() {return (fn => {
508
+ const gen = fn.call(this);
509
+ return new Promise((resolve, reject) => {
510
+ function step(key, arg) {
511
+ let info, value;
512
+ try {
513
+ info = gen[key](arg);
514
+ value = info.value;
515
+ } catch (error) {
516
+ reject(error);
517
+ return;
518
+ }
519
+ if (info.done) {
520
+ resolve(value);
521
+ } else {
522
+ return Promise.resolve(value).then(
523
+ value => {
524
+ step('next', value);
525
+ },
526
+ err => {
527
+ step('throw', err);
528
+ });
529
+ }
530
+ }
531
+ return step('next');
532
+ });
533
+ })(function*(){
534
+ const boundingBox = (yield this.boundingBox());
535
+ if (boundingBox)
536
+ return boundingBox;
537
+
538
+ throw new Error('Node is either not visible or not an HTMLElement');
539
+ });}
540
+
541
+ /**
542
+ *
543
+ * @param {!Object=} options
544
+ * @returns {!Promise<Object>}
545
+ */
546
+ /* async */ screenshot(options = {}) {return (fn => {
547
+ const gen = fn.call(this);
548
+ return new Promise((resolve, reject) => {
549
+ function step(key, arg) {
550
+ let info, value;
551
+ try {
552
+ info = gen[key](arg);
553
+ value = info.value;
554
+ } catch (error) {
555
+ reject(error);
556
+ return;
557
+ }
558
+ if (info.done) {
559
+ resolve(value);
560
+ } else {
561
+ return Promise.resolve(value).then(
562
+ value => {
563
+ step('next', value);
564
+ },
565
+ err => {
566
+ step('throw', err);
567
+ });
568
+ }
569
+ }
570
+ return step('next');
571
+ });
572
+ })(function*(){
573
+ let needsViewportReset = false;
574
+
575
+ let boundingBox = (yield this._assertBoundingBox());
576
+
577
+ const viewport = this._page.viewport();
578
+
579
+ if (boundingBox.width > viewport.width || boundingBox.height > viewport.height) {
580
+ const newViewport = {
581
+ width: Math.max(viewport.width, Math.ceil(boundingBox.width)),
582
+ height: Math.max(viewport.height, Math.ceil(boundingBox.height)),
583
+ };
584
+ (yield this._page.setViewport(Object.assign({}, viewport, newViewport)));
585
+
586
+ needsViewportReset = true;
587
+ }
588
+
589
+ (yield this.executionContext().evaluate(function(element) {
590
+ element.scrollIntoView({block: 'center', inline: 'center', behavior: 'instant'});
591
+ }, this));
592
+
593
+ boundingBox = (yield this._assertBoundingBox());
594
+
595
+ const { layoutViewport: { pageX, pageY } } = (yield this._client.send('Page.getLayoutMetrics'));
596
+
597
+ const clip = Object.assign({}, boundingBox);
598
+ clip.x += pageX;
599
+ clip.y += pageY;
600
+
601
+ const imageData = (yield this._page.screenshot(Object.assign({}, {
602
+ clip
603
+ }, options)));
604
+
605
+ if (needsViewportReset)
606
+ (yield this._page.setViewport(viewport));
607
+
608
+ return imageData;
609
+ });}
610
+
611
+ /**
612
+ * @param {string} selector
613
+ * @return {!Promise<?ElementHandle>}
614
+ */
615
+ /* async */ $(selector) {return (fn => {
616
+ const gen = fn.call(this);
617
+ return new Promise((resolve, reject) => {
618
+ function step(key, arg) {
619
+ let info, value;
620
+ try {
621
+ info = gen[key](arg);
622
+ value = info.value;
623
+ } catch (error) {
624
+ reject(error);
625
+ return;
626
+ }
627
+ if (info.done) {
628
+ resolve(value);
629
+ } else {
630
+ return Promise.resolve(value).then(
631
+ value => {
632
+ step('next', value);
633
+ },
634
+ err => {
635
+ step('throw', err);
636
+ });
637
+ }
638
+ }
639
+ return step('next');
640
+ });
641
+ })(function*(){
642
+ const handle = (yield this.executionContext().evaluateHandle(
643
+ (element, selector) => element.querySelector(selector),
644
+ this, selector
645
+ ));
646
+ const element = handle.asElement();
647
+ if (element)
648
+ return element;
649
+ (yield handle.dispose());
650
+ return null;
651
+ });}
652
+
653
+ /**
654
+ * @param {string} selector
655
+ * @return {!Promise<!Array<!ElementHandle>>}
656
+ */
657
+ /* async */ $$(selector) {return (fn => {
658
+ const gen = fn.call(this);
659
+ return new Promise((resolve, reject) => {
660
+ function step(key, arg) {
661
+ let info, value;
662
+ try {
663
+ info = gen[key](arg);
664
+ value = info.value;
665
+ } catch (error) {
666
+ reject(error);
667
+ return;
668
+ }
669
+ if (info.done) {
670
+ resolve(value);
671
+ } else {
672
+ return Promise.resolve(value).then(
673
+ value => {
674
+ step('next', value);
675
+ },
676
+ err => {
677
+ step('throw', err);
678
+ });
679
+ }
680
+ }
681
+ return step('next');
682
+ });
683
+ })(function*(){
684
+ const arrayHandle = (yield this.executionContext().evaluateHandle(
685
+ (element, selector) => element.querySelectorAll(selector),
686
+ this, selector
687
+ ));
688
+ const properties = (yield arrayHandle.getProperties());
689
+ (yield arrayHandle.dispose());
690
+ const result = [];
691
+ for (const property of properties.values()) {
692
+ const elementHandle = property.asElement();
693
+ if (elementHandle)
694
+ result.push(elementHandle);
695
+ }
696
+ return result;
697
+ });}
698
+
699
+ /**
700
+ * @param {string} selector
701
+ * @param {Function|String} pageFunction
702
+ * @param {!Array<*>} args
703
+ * @return {!Promise<(!Object|undefined)>}
704
+ */
705
+ /* async */ $eval(selector, pageFunction, ...args) {return (fn => {
706
+ const gen = fn.call(this);
707
+ return new Promise((resolve, reject) => {
708
+ function step(key, arg) {
709
+ let info, value;
710
+ try {
711
+ info = gen[key](arg);
712
+ value = info.value;
713
+ } catch (error) {
714
+ reject(error);
715
+ return;
716
+ }
717
+ if (info.done) {
718
+ resolve(value);
719
+ } else {
720
+ return Promise.resolve(value).then(
721
+ value => {
722
+ step('next', value);
723
+ },
724
+ err => {
725
+ step('throw', err);
726
+ });
727
+ }
728
+ }
729
+ return step('next');
730
+ });
731
+ })(function*(){
732
+ const elementHandle = (yield this.$(selector));
733
+ if (!elementHandle)
734
+ throw new Error(`Error: failed to find element matching selector "${selector}"`);
735
+ const result = (yield this.executionContext().evaluate(pageFunction, elementHandle, ...args));
736
+ (yield elementHandle.dispose());
737
+ return result;
738
+ });}
739
+
740
+ /**
741
+ * @param {string} expression
742
+ * @return {!Promise<!Array<!ElementHandle>>}
743
+ */
744
+ /* async */ $x(expression) {return (fn => {
745
+ const gen = fn.call(this);
746
+ return new Promise((resolve, reject) => {
747
+ function step(key, arg) {
748
+ let info, value;
749
+ try {
750
+ info = gen[key](arg);
751
+ value = info.value;
752
+ } catch (error) {
753
+ reject(error);
754
+ return;
755
+ }
756
+ if (info.done) {
757
+ resolve(value);
758
+ } else {
759
+ return Promise.resolve(value).then(
760
+ value => {
761
+ step('next', value);
762
+ },
763
+ err => {
764
+ step('throw', err);
765
+ });
766
+ }
767
+ }
768
+ return step('next');
769
+ });
770
+ })(function*(){
771
+ const arrayHandle = (yield this.executionContext().evaluateHandle(
772
+ (element, expression) => {
773
+ const document = element.ownerDocument || element;
774
+ const iterator = document.evaluate(expression, element, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE);
775
+ const array = [];
776
+ let item;
777
+ while ((item = iterator.iterateNext()))
778
+ array.push(item);
779
+ return array;
780
+ },
781
+ this, expression
782
+ ));
783
+ const properties = (yield arrayHandle.getProperties());
784
+ (yield arrayHandle.dispose());
785
+ const result = [];
786
+ for (const property of properties.values()) {
787
+ const elementHandle = property.asElement();
788
+ if (elementHandle)
789
+ result.push(elementHandle);
790
+ }
791
+ return result;
792
+ });}
793
+ }
794
+
795
+ module.exports = ElementHandle;
796
+ helper.tracePublicAPI(ElementHandle);