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,561 @@
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, debugError} = require('./helper');
18
+
19
+ /**
20
+ * @typedef {Object} CoverageEntry
21
+ * @property {string} url
22
+ * @property {string} text
23
+ * @property {!Array<!{start: number, end: number}>} ranges
24
+ */
25
+
26
+ class Coverage {
27
+ /**
28
+ * @param {!Puppeteer.CDPSession} client
29
+ */
30
+ constructor(client) {
31
+ this._jsCoverage = new JSCoverage(client);
32
+ this._cssCoverage = new CSSCoverage(client);
33
+ }
34
+
35
+ /**
36
+ * @param {!Object} options
37
+ */
38
+ /* async */ startJSCoverage(options) {return (fn => {
39
+ const gen = fn.call(this);
40
+ return new Promise((resolve, reject) => {
41
+ function step(key, arg) {
42
+ let info, value;
43
+ try {
44
+ info = gen[key](arg);
45
+ value = info.value;
46
+ } catch (error) {
47
+ reject(error);
48
+ return;
49
+ }
50
+ if (info.done) {
51
+ resolve(value);
52
+ } else {
53
+ return Promise.resolve(value).then(
54
+ value => {
55
+ step('next', value);
56
+ },
57
+ err => {
58
+ step('throw', err);
59
+ });
60
+ }
61
+ }
62
+ return step('next');
63
+ });
64
+ })(function*(){
65
+ return (yield this._jsCoverage.start(options));
66
+ });}
67
+
68
+ /**
69
+ * @return {!Promise<!Array<!CoverageEntry>>}
70
+ */
71
+ /* async */ stopJSCoverage() {return (fn => {
72
+ const gen = fn.call(this);
73
+ return new Promise((resolve, reject) => {
74
+ function step(key, arg) {
75
+ let info, value;
76
+ try {
77
+ info = gen[key](arg);
78
+ value = info.value;
79
+ } catch (error) {
80
+ reject(error);
81
+ return;
82
+ }
83
+ if (info.done) {
84
+ resolve(value);
85
+ } else {
86
+ return Promise.resolve(value).then(
87
+ value => {
88
+ step('next', value);
89
+ },
90
+ err => {
91
+ step('throw', err);
92
+ });
93
+ }
94
+ }
95
+ return step('next');
96
+ });
97
+ })(function*(){
98
+ return (yield this._jsCoverage.stop());
99
+ });}
100
+
101
+ /**
102
+ * @param {!Object} options
103
+ */
104
+ /* async */ startCSSCoverage(options) {return (fn => {
105
+ const gen = fn.call(this);
106
+ return new Promise((resolve, reject) => {
107
+ function step(key, arg) {
108
+ let info, value;
109
+ try {
110
+ info = gen[key](arg);
111
+ value = info.value;
112
+ } catch (error) {
113
+ reject(error);
114
+ return;
115
+ }
116
+ if (info.done) {
117
+ resolve(value);
118
+ } else {
119
+ return Promise.resolve(value).then(
120
+ value => {
121
+ step('next', value);
122
+ },
123
+ err => {
124
+ step('throw', err);
125
+ });
126
+ }
127
+ }
128
+ return step('next');
129
+ });
130
+ })(function*(){
131
+ return (yield this._cssCoverage.start(options));
132
+ });}
133
+
134
+ /**
135
+ * @return {!Promise<!Array<!CoverageEntry>>}
136
+ */
137
+ /* async */ stopCSSCoverage() {return (fn => {
138
+ const gen = fn.call(this);
139
+ return new Promise((resolve, reject) => {
140
+ function step(key, arg) {
141
+ let info, value;
142
+ try {
143
+ info = gen[key](arg);
144
+ value = info.value;
145
+ } catch (error) {
146
+ reject(error);
147
+ return;
148
+ }
149
+ if (info.done) {
150
+ resolve(value);
151
+ } else {
152
+ return Promise.resolve(value).then(
153
+ value => {
154
+ step('next', value);
155
+ },
156
+ err => {
157
+ step('throw', err);
158
+ });
159
+ }
160
+ }
161
+ return step('next');
162
+ });
163
+ })(function*(){
164
+ return (yield this._cssCoverage.stop());
165
+ });}
166
+ }
167
+
168
+ module.exports = {Coverage};
169
+ helper.tracePublicAPI(Coverage);
170
+
171
+ class JSCoverage {
172
+ /**
173
+ * @param {!Puppeteer.CDPSession} client
174
+ */
175
+ constructor(client) {
176
+ this._client = client;
177
+ this._enabled = false;
178
+ this._scriptURLs = new Map();
179
+ this._scriptSources = new Map();
180
+ this._eventListeners = [];
181
+ this._resetOnNavigation = false;
182
+ }
183
+
184
+ /**
185
+ * @param {!Object} options
186
+ */
187
+ /* async */ start(options = {}) {return (fn => {
188
+ const gen = fn.call(this);
189
+ return new Promise((resolve, reject) => {
190
+ function step(key, arg) {
191
+ let info, value;
192
+ try {
193
+ info = gen[key](arg);
194
+ value = info.value;
195
+ } catch (error) {
196
+ reject(error);
197
+ return;
198
+ }
199
+ if (info.done) {
200
+ resolve(value);
201
+ } else {
202
+ return Promise.resolve(value).then(
203
+ value => {
204
+ step('next', value);
205
+ },
206
+ err => {
207
+ step('throw', err);
208
+ });
209
+ }
210
+ }
211
+ return step('next');
212
+ });
213
+ })(function*(){
214
+ console.assert(!this._enabled, 'JSCoverage is already enabled');
215
+ this._resetOnNavigation = options.resetOnNavigation === undefined ? true : !!options.resetOnNavigation;
216
+ this._enabled = true;
217
+ this._scriptURLs.clear();
218
+ this._scriptSources.clear();
219
+ this._eventListeners = [
220
+ helper.addEventListener(this._client, 'Debugger.scriptParsed', this._onScriptParsed.bind(this)),
221
+ helper.addEventListener(this._client, 'Runtime.executionContextsCleared', this._onExecutionContextsCleared.bind(this)),
222
+ ];
223
+ (yield Promise.all([
224
+ this._client.send('Profiler.enable'),
225
+ this._client.send('Profiler.startPreciseCoverage', {callCount: false, detailed: true}),
226
+ this._client.send('Debugger.enable'),
227
+ this._client.send('Debugger.setSkipAllPauses', {skip: true})
228
+ ]));
229
+ });}
230
+
231
+ _onExecutionContextsCleared() {
232
+ if (!this._resetOnNavigation)
233
+ return;
234
+ this._scriptURLs.clear();
235
+ this._scriptSources.clear();
236
+ }
237
+
238
+ /**
239
+ * @param {!Protocol.Debugger.scriptParsedPayload} event
240
+ */
241
+ /* async */ _onScriptParsed(event) {return (fn => {
242
+ const gen = fn.call(this);
243
+ return new Promise((resolve, reject) => {
244
+ function step(key, arg) {
245
+ let info, value;
246
+ try {
247
+ info = gen[key](arg);
248
+ value = info.value;
249
+ } catch (error) {
250
+ reject(error);
251
+ return;
252
+ }
253
+ if (info.done) {
254
+ resolve(value);
255
+ } else {
256
+ return Promise.resolve(value).then(
257
+ value => {
258
+ step('next', value);
259
+ },
260
+ err => {
261
+ step('throw', err);
262
+ });
263
+ }
264
+ }
265
+ return step('next');
266
+ });
267
+ })(function*(){
268
+ // Ignore anonymous scripts
269
+ if (!event.url)
270
+ return;
271
+ try {
272
+ const response = (yield this._client.send('Debugger.getScriptSource', {scriptId: event.scriptId}));
273
+ this._scriptURLs.set(event.scriptId, event.url);
274
+ this._scriptSources.set(event.scriptId, response.scriptSource);
275
+ } catch (e) {
276
+ // This might happen if the page has already navigated away.
277
+ debugError(e);
278
+ }
279
+ });}
280
+
281
+ /**
282
+ * @return {!Promise<!Array<!CoverageEntry>>}
283
+ */
284
+ /* async */ stop() {return (fn => {
285
+ const gen = fn.call(this);
286
+ return new Promise((resolve, reject) => {
287
+ function step(key, arg) {
288
+ let info, value;
289
+ try {
290
+ info = gen[key](arg);
291
+ value = info.value;
292
+ } catch (error) {
293
+ reject(error);
294
+ return;
295
+ }
296
+ if (info.done) {
297
+ resolve(value);
298
+ } else {
299
+ return Promise.resolve(value).then(
300
+ value => {
301
+ step('next', value);
302
+ },
303
+ err => {
304
+ step('throw', err);
305
+ });
306
+ }
307
+ }
308
+ return step('next');
309
+ });
310
+ })(function*(){
311
+ console.assert(this._enabled, 'JSCoverage is not enabled');
312
+ this._enabled = false;
313
+ const [profileResponse] = (yield Promise.all([
314
+ this._client.send('Profiler.takePreciseCoverage'),
315
+ this._client.send('Profiler.stopPreciseCoverage'),
316
+ this._client.send('Profiler.disable'),
317
+ this._client.send('Debugger.disable'),
318
+ ]));
319
+ helper.removeEventListeners(this._eventListeners);
320
+
321
+ const coverage = [];
322
+ for (const entry of profileResponse.result) {
323
+ const url = this._scriptURLs.get(entry.scriptId);
324
+ const text = this._scriptSources.get(entry.scriptId);
325
+ if (text === undefined || url === undefined)
326
+ continue;
327
+ const flattenRanges = [];
328
+ for (const func of entry.functions)
329
+ flattenRanges.push(...func.ranges);
330
+ const ranges = convertToDisjointRanges(flattenRanges);
331
+ coverage.push({url, ranges, text});
332
+ }
333
+ return coverage;
334
+ });}
335
+ }
336
+
337
+ class CSSCoverage {
338
+ /**
339
+ * @param {!Puppeteer.CDPSession} client
340
+ */
341
+ constructor(client) {
342
+ this._client = client;
343
+ this._enabled = false;
344
+ this._stylesheetURLs = new Map();
345
+ this._stylesheetSources = new Map();
346
+ this._eventListeners = [];
347
+ this._resetOnNavigation = false;
348
+ }
349
+
350
+ /**
351
+ * @param {!Object} options
352
+ */
353
+ /* async */ start(options = {}) {return (fn => {
354
+ const gen = fn.call(this);
355
+ return new Promise((resolve, reject) => {
356
+ function step(key, arg) {
357
+ let info, value;
358
+ try {
359
+ info = gen[key](arg);
360
+ value = info.value;
361
+ } catch (error) {
362
+ reject(error);
363
+ return;
364
+ }
365
+ if (info.done) {
366
+ resolve(value);
367
+ } else {
368
+ return Promise.resolve(value).then(
369
+ value => {
370
+ step('next', value);
371
+ },
372
+ err => {
373
+ step('throw', err);
374
+ });
375
+ }
376
+ }
377
+ return step('next');
378
+ });
379
+ })(function*(){
380
+ console.assert(!this._enabled, 'CSSCoverage is already enabled');
381
+ this._resetOnNavigation = options.resetOnNavigation === undefined ? true : !!options.resetOnNavigation;
382
+ this._enabled = true;
383
+ this._stylesheetURLs.clear();
384
+ this._stylesheetSources.clear();
385
+ this._eventListeners = [
386
+ helper.addEventListener(this._client, 'CSS.styleSheetAdded', this._onStyleSheet.bind(this)),
387
+ helper.addEventListener(this._client, 'Runtime.executionContextsCleared', this._onExecutionContextsCleared.bind(this)),
388
+ ];
389
+ (yield Promise.all([
390
+ this._client.send('DOM.enable'),
391
+ this._client.send('CSS.enable'),
392
+ this._client.send('CSS.startRuleUsageTracking'),
393
+ ]));
394
+ });}
395
+
396
+ _onExecutionContextsCleared() {
397
+ if (!this._resetOnNavigation)
398
+ return;
399
+ this._stylesheetURLs.clear();
400
+ this._stylesheetSources.clear();
401
+ }
402
+
403
+ /**
404
+ * @param {!Protocol.CSS.styleSheetAddedPayload} event
405
+ */
406
+ /* async */ _onStyleSheet(event) {return (fn => {
407
+ const gen = fn.call(this);
408
+ return new Promise((resolve, reject) => {
409
+ function step(key, arg) {
410
+ let info, value;
411
+ try {
412
+ info = gen[key](arg);
413
+ value = info.value;
414
+ } catch (error) {
415
+ reject(error);
416
+ return;
417
+ }
418
+ if (info.done) {
419
+ resolve(value);
420
+ } else {
421
+ return Promise.resolve(value).then(
422
+ value => {
423
+ step('next', value);
424
+ },
425
+ err => {
426
+ step('throw', err);
427
+ });
428
+ }
429
+ }
430
+ return step('next');
431
+ });
432
+ })(function*(){
433
+ const header = event.header;
434
+ // Ignore anonymous scripts
435
+ if (!header.sourceURL)
436
+ return;
437
+ try {
438
+ const response = (yield this._client.send('CSS.getStyleSheetText', {styleSheetId: header.styleSheetId}));
439
+ this._stylesheetURLs.set(header.styleSheetId, header.sourceURL);
440
+ this._stylesheetSources.set(header.styleSheetId, response.text);
441
+ } catch (e) {
442
+ // This might happen if the page has already navigated away.
443
+ debugError(e);
444
+ }
445
+ });}
446
+
447
+ /**
448
+ * @return {!Promise<!Array<!CoverageEntry>>}
449
+ */
450
+ /* async */ stop() {return (fn => {
451
+ const gen = fn.call(this);
452
+ return new Promise((resolve, reject) => {
453
+ function step(key, arg) {
454
+ let info, value;
455
+ try {
456
+ info = gen[key](arg);
457
+ value = info.value;
458
+ } catch (error) {
459
+ reject(error);
460
+ return;
461
+ }
462
+ if (info.done) {
463
+ resolve(value);
464
+ } else {
465
+ return Promise.resolve(value).then(
466
+ value => {
467
+ step('next', value);
468
+ },
469
+ err => {
470
+ step('throw', err);
471
+ });
472
+ }
473
+ }
474
+ return step('next');
475
+ });
476
+ })(function*(){
477
+ console.assert(this._enabled, 'CSSCoverage is not enabled');
478
+ this._enabled = false;
479
+ const [ruleTrackingResponse] = (yield Promise.all([
480
+ this._client.send('CSS.stopRuleUsageTracking'),
481
+ this._client.send('CSS.disable'),
482
+ this._client.send('DOM.disable'),
483
+ ]));
484
+ helper.removeEventListeners(this._eventListeners);
485
+
486
+ // aggregate by styleSheetId
487
+ const styleSheetIdToCoverage = new Map();
488
+ for (const entry of ruleTrackingResponse.ruleUsage) {
489
+ let ranges = styleSheetIdToCoverage.get(entry.styleSheetId);
490
+ if (!ranges) {
491
+ ranges = [];
492
+ styleSheetIdToCoverage.set(entry.styleSheetId, ranges);
493
+ }
494
+ ranges.push({
495
+ startOffset: entry.startOffset,
496
+ endOffset: entry.endOffset,
497
+ count: entry.used ? 1 : 0,
498
+ });
499
+ }
500
+
501
+ const coverage = [];
502
+ for (const styleSheetId of this._stylesheetURLs.keys()) {
503
+ const url = this._stylesheetURLs.get(styleSheetId);
504
+ const text = this._stylesheetSources.get(styleSheetId);
505
+ const ranges = convertToDisjointRanges(styleSheetIdToCoverage.get(styleSheetId) || []);
506
+ coverage.push({url, ranges, text});
507
+ }
508
+
509
+ return coverage;
510
+ });}
511
+ }
512
+
513
+ /**
514
+ * @param {!Array<!{startOffset:number, endOffset:number, count:number}>} nestedRanges
515
+ * @return {!Array<!{start:number, end:number}>}
516
+ */
517
+ function convertToDisjointRanges(nestedRanges) {
518
+ const points = [];
519
+ for (const range of nestedRanges) {
520
+ points.push({ offset: range.startOffset, type: 0, range });
521
+ points.push({ offset: range.endOffset, type: 1, range });
522
+ }
523
+ // Sort points to form a valid parenthesis sequence.
524
+ points.sort((a, b) => {
525
+ // Sort with increasing offsets.
526
+ if (a.offset !== b.offset)
527
+ return a.offset - b.offset;
528
+ // All "end" points should go before "start" points.
529
+ if (a.type !== b.type)
530
+ return b.type - a.type;
531
+ const aLength = a.range.endOffset - a.range.startOffset;
532
+ const bLength = b.range.endOffset - b.range.startOffset;
533
+ // For two "start" points, the one with longer range goes first.
534
+ if (a.type === 0)
535
+ return bLength - aLength;
536
+ // For two "end" points, the one with shorter range goes first.
537
+ return aLength - bLength;
538
+ });
539
+
540
+ const hitCountStack = [];
541
+ const results = [];
542
+ let lastOffset = 0;
543
+ // Run scanning line to intersect all ranges.
544
+ for (const point of points) {
545
+ if (hitCountStack.length && lastOffset < point.offset && hitCountStack[hitCountStack.length - 1] > 0) {
546
+ const lastResult = results.length ? results[results.length - 1] : null;
547
+ if (lastResult && lastResult.end === lastOffset)
548
+ lastResult.end = point.offset;
549
+ else
550
+ results.push({start: lastOffset, end: point.offset});
551
+ }
552
+ lastOffset = point.offset;
553
+ if (point.type === 0)
554
+ hitCountStack.push(point.range.count);
555
+ else
556
+ hitCountStack.pop();
557
+ }
558
+ // Filter out empty ranges.
559
+ return results.filter(range => range.end - range.start > 1);
560
+ }
561
+
@@ -0,0 +1,136 @@
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
+
19
+ class Dialog {
20
+ /**
21
+ * @param {!Puppeteer.CDPSession} client
22
+ * @param {string} type
23
+ * @param {string} message
24
+ * @param {(string|undefined)} defaultValue
25
+ */
26
+ constructor(client, type, message, defaultValue = '') {
27
+ this._client = client;
28
+ this._type = type;
29
+ this._message = message;
30
+ this._handled = false;
31
+ this._defaultValue = defaultValue;
32
+ }
33
+
34
+ /**
35
+ * @return {string}
36
+ */
37
+ type() {
38
+ return this._type;
39
+ }
40
+
41
+ /**
42
+ * @return {string}
43
+ */
44
+ message() {
45
+ return this._message;
46
+ }
47
+
48
+ /**
49
+ * @return {string}
50
+ */
51
+ defaultValue() {
52
+ return this._defaultValue;
53
+ }
54
+
55
+ /**
56
+ * @param {string=} promptText
57
+ */
58
+ /* async */ accept(promptText) {return (fn => {
59
+ const gen = fn.call(this);
60
+ return new Promise((resolve, reject) => {
61
+ function step(key, arg) {
62
+ let info, value;
63
+ try {
64
+ info = gen[key](arg);
65
+ value = info.value;
66
+ } catch (error) {
67
+ reject(error);
68
+ return;
69
+ }
70
+ if (info.done) {
71
+ resolve(value);
72
+ } else {
73
+ return Promise.resolve(value).then(
74
+ value => {
75
+ step('next', value);
76
+ },
77
+ err => {
78
+ step('throw', err);
79
+ });
80
+ }
81
+ }
82
+ return step('next');
83
+ });
84
+ })(function*(){
85
+ console.assert(!this._handled, 'Cannot accept dialog which is already handled!');
86
+ this._handled = true;
87
+ (yield this._client.send('Page.handleJavaScriptDialog', {
88
+ accept: true,
89
+ promptText: promptText
90
+ }));
91
+ });}
92
+
93
+ /* async */ dismiss() {return (fn => {
94
+ const gen = fn.call(this);
95
+ return new Promise((resolve, reject) => {
96
+ function step(key, arg) {
97
+ let info, value;
98
+ try {
99
+ info = gen[key](arg);
100
+ value = info.value;
101
+ } catch (error) {
102
+ reject(error);
103
+ return;
104
+ }
105
+ if (info.done) {
106
+ resolve(value);
107
+ } else {
108
+ return Promise.resolve(value).then(
109
+ value => {
110
+ step('next', value);
111
+ },
112
+ err => {
113
+ step('throw', err);
114
+ });
115
+ }
116
+ }
117
+ return step('next');
118
+ });
119
+ })(function*(){
120
+ console.assert(!this._handled, 'Cannot dismiss dialog which is already handled!');
121
+ this._handled = true;
122
+ (yield this._client.send('Page.handleJavaScriptDialog', {
123
+ accept: false
124
+ }));
125
+ });}
126
+ }
127
+
128
+ Dialog.Type = {
129
+ Alert: 'alert',
130
+ BeforeUnload: 'beforeunload',
131
+ Confirm: 'confirm',
132
+ Prompt: 'prompt'
133
+ };
134
+
135
+ module.exports = Dialog;
136
+ helper.tracePublicAPI(Dialog);