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,1181 @@
1
+ /*!
2
+ * @overview es6-promise - a tiny implementation of Promises/A+.
3
+ * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
4
+ * @license Licensed under MIT license
5
+ * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
6
+ * @version v4.2.4+314e4831
7
+ */
8
+
9
+ (function (global, factory) {
10
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
11
+ typeof define === 'function' && define.amd ? define(factory) :
12
+ (global.ES6Promise = factory());
13
+ }(this, (function () { 'use strict';
14
+
15
+ function objectOrFunction(x) {
16
+ var type = typeof x;
17
+ return x !== null && (type === 'object' || type === 'function');
18
+ }
19
+
20
+ function isFunction(x) {
21
+ return typeof x === 'function';
22
+ }
23
+
24
+
25
+
26
+ var _isArray = void 0;
27
+ if (Array.isArray) {
28
+ _isArray = Array.isArray;
29
+ } else {
30
+ _isArray = function (x) {
31
+ return Object.prototype.toString.call(x) === '[object Array]';
32
+ };
33
+ }
34
+
35
+ var isArray = _isArray;
36
+
37
+ var len = 0;
38
+ var vertxNext = void 0;
39
+ var customSchedulerFn = void 0;
40
+
41
+ var asap = function asap(callback, arg) {
42
+ queue[len] = callback;
43
+ queue[len + 1] = arg;
44
+ len += 2;
45
+ if (len === 2) {
46
+ // If len is 2, that means that we need to schedule an async flush.
47
+ // If additional callbacks are queued before the queue is flushed, they
48
+ // will be processed by this flush that we are scheduling.
49
+ if (customSchedulerFn) {
50
+ customSchedulerFn(flush);
51
+ } else {
52
+ scheduleFlush();
53
+ }
54
+ }
55
+ };
56
+
57
+ function setScheduler(scheduleFn) {
58
+ customSchedulerFn = scheduleFn;
59
+ }
60
+
61
+ function setAsap(asapFn) {
62
+ asap = asapFn;
63
+ }
64
+
65
+ var browserWindow = typeof window !== 'undefined' ? window : undefined;
66
+ var browserGlobal = browserWindow || {};
67
+ var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;
68
+ var isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';
69
+
70
+ // test for web worker but not in IE10
71
+ var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';
72
+
73
+ // node
74
+ function useNextTick() {
75
+ // node version 0.10.x displays a deprecation warning when nextTick is used recursively
76
+ // see https://github.com/cujojs/when/issues/410 for details
77
+ return function () {
78
+ return process.nextTick(flush);
79
+ };
80
+ }
81
+
82
+ // vertx
83
+ function useVertxTimer() {
84
+ if (typeof vertxNext !== 'undefined') {
85
+ return function () {
86
+ vertxNext(flush);
87
+ };
88
+ }
89
+
90
+ return useSetTimeout();
91
+ }
92
+
93
+ function useMutationObserver() {
94
+ var iterations = 0;
95
+ var observer = new BrowserMutationObserver(flush);
96
+ var node = document.createTextNode('');
97
+ observer.observe(node, { characterData: true });
98
+
99
+ return function () {
100
+ node.data = iterations = ++iterations % 2;
101
+ };
102
+ }
103
+
104
+ // web worker
105
+ function useMessageChannel() {
106
+ var channel = new MessageChannel();
107
+ channel.port1.onmessage = flush;
108
+ return function () {
109
+ return channel.port2.postMessage(0);
110
+ };
111
+ }
112
+
113
+ function useSetTimeout() {
114
+ // Store setTimeout reference so es6-promise will be unaffected by
115
+ // other code modifying setTimeout (like sinon.useFakeTimers())
116
+ var globalSetTimeout = setTimeout;
117
+ return function () {
118
+ return globalSetTimeout(flush, 1);
119
+ };
120
+ }
121
+
122
+ var queue = new Array(1000);
123
+ function flush() {
124
+ for (var i = 0; i < len; i += 2) {
125
+ var callback = queue[i];
126
+ var arg = queue[i + 1];
127
+
128
+ callback(arg);
129
+
130
+ queue[i] = undefined;
131
+ queue[i + 1] = undefined;
132
+ }
133
+
134
+ len = 0;
135
+ }
136
+
137
+ function attemptVertx() {
138
+ try {
139
+ var vertx = Function('return this')().require('vertx');
140
+ vertxNext = vertx.runOnLoop || vertx.runOnContext;
141
+ return useVertxTimer();
142
+ } catch (e) {
143
+ return useSetTimeout();
144
+ }
145
+ }
146
+
147
+ var scheduleFlush = void 0;
148
+ // Decide what async method to use to triggering processing of queued callbacks:
149
+ if (isNode) {
150
+ scheduleFlush = useNextTick();
151
+ } else if (BrowserMutationObserver) {
152
+ scheduleFlush = useMutationObserver();
153
+ } else if (isWorker) {
154
+ scheduleFlush = useMessageChannel();
155
+ } else if (browserWindow === undefined && typeof require === 'function') {
156
+ scheduleFlush = attemptVertx();
157
+ } else {
158
+ scheduleFlush = useSetTimeout();
159
+ }
160
+
161
+ function then(onFulfillment, onRejection) {
162
+ var parent = this;
163
+
164
+ var child = new this.constructor(noop);
165
+
166
+ if (child[PROMISE_ID] === undefined) {
167
+ makePromise(child);
168
+ }
169
+
170
+ var _state = parent._state;
171
+
172
+
173
+ if (_state) {
174
+ var callback = arguments[_state - 1];
175
+ asap(function () {
176
+ return invokeCallback(_state, child, callback, parent._result);
177
+ });
178
+ } else {
179
+ subscribe(parent, child, onFulfillment, onRejection);
180
+ }
181
+
182
+ return child;
183
+ }
184
+
185
+ /**
186
+ `Promise.resolve` returns a promise that will become resolved with the
187
+ passed `value`. It is shorthand for the following:
188
+
189
+ ```javascript
190
+ let promise = new Promise(function(resolve, reject){
191
+ resolve(1);
192
+ });
193
+
194
+ promise.then(function(value){
195
+ // value === 1
196
+ });
197
+ ```
198
+
199
+ Instead of writing the above, your code now simply becomes the following:
200
+
201
+ ```javascript
202
+ let promise = Promise.resolve(1);
203
+
204
+ promise.then(function(value){
205
+ // value === 1
206
+ });
207
+ ```
208
+
209
+ @method resolve
210
+ @static
211
+ @param {Any} value value that the returned promise will be resolved with
212
+ Useful for tooling.
213
+ @return {Promise} a promise that will become fulfilled with the given
214
+ `value`
215
+ */
216
+ function resolve$1(object) {
217
+ /*jshint validthis:true */
218
+ var Constructor = this;
219
+
220
+ if (object && typeof object === 'object' && object.constructor === Constructor) {
221
+ return object;
222
+ }
223
+
224
+ var promise = new Constructor(noop);
225
+ resolve(promise, object);
226
+ return promise;
227
+ }
228
+
229
+ var PROMISE_ID = Math.random().toString(36).substring(2);
230
+
231
+ function noop() {}
232
+
233
+ var PENDING = void 0;
234
+ var FULFILLED = 1;
235
+ var REJECTED = 2;
236
+
237
+ var TRY_CATCH_ERROR = { error: null };
238
+
239
+ function selfFulfillment() {
240
+ return new TypeError("You cannot resolve a promise with itself");
241
+ }
242
+
243
+ function cannotReturnOwn() {
244
+ return new TypeError('A promises callback cannot return that same promise.');
245
+ }
246
+
247
+ function getThen(promise) {
248
+ try {
249
+ return promise.then;
250
+ } catch (error) {
251
+ TRY_CATCH_ERROR.error = error;
252
+ return TRY_CATCH_ERROR;
253
+ }
254
+ }
255
+
256
+ function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {
257
+ try {
258
+ then$$1.call(value, fulfillmentHandler, rejectionHandler);
259
+ } catch (e) {
260
+ return e;
261
+ }
262
+ }
263
+
264
+ function handleForeignThenable(promise, thenable, then$$1) {
265
+ asap(function (promise) {
266
+ var sealed = false;
267
+ var error = tryThen(then$$1, thenable, function (value) {
268
+ if (sealed) {
269
+ return;
270
+ }
271
+ sealed = true;
272
+ if (thenable !== value) {
273
+ resolve(promise, value);
274
+ } else {
275
+ fulfill(promise, value);
276
+ }
277
+ }, function (reason) {
278
+ if (sealed) {
279
+ return;
280
+ }
281
+ sealed = true;
282
+
283
+ reject(promise, reason);
284
+ }, 'Settle: ' + (promise._label || ' unknown promise'));
285
+
286
+ if (!sealed && error) {
287
+ sealed = true;
288
+ reject(promise, error);
289
+ }
290
+ }, promise);
291
+ }
292
+
293
+ function handleOwnThenable(promise, thenable) {
294
+ if (thenable._state === FULFILLED) {
295
+ fulfill(promise, thenable._result);
296
+ } else if (thenable._state === REJECTED) {
297
+ reject(promise, thenable._result);
298
+ } else {
299
+ subscribe(thenable, undefined, function (value) {
300
+ return resolve(promise, value);
301
+ }, function (reason) {
302
+ return reject(promise, reason);
303
+ });
304
+ }
305
+ }
306
+
307
+ function handleMaybeThenable(promise, maybeThenable, then$$1) {
308
+ if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {
309
+ handleOwnThenable(promise, maybeThenable);
310
+ } else {
311
+ if (then$$1 === TRY_CATCH_ERROR) {
312
+ reject(promise, TRY_CATCH_ERROR.error);
313
+ TRY_CATCH_ERROR.error = null;
314
+ } else if (then$$1 === undefined) {
315
+ fulfill(promise, maybeThenable);
316
+ } else if (isFunction(then$$1)) {
317
+ handleForeignThenable(promise, maybeThenable, then$$1);
318
+ } else {
319
+ fulfill(promise, maybeThenable);
320
+ }
321
+ }
322
+ }
323
+
324
+ function resolve(promise, value) {
325
+ if (promise === value) {
326
+ reject(promise, selfFulfillment());
327
+ } else if (objectOrFunction(value)) {
328
+ handleMaybeThenable(promise, value, getThen(value));
329
+ } else {
330
+ fulfill(promise, value);
331
+ }
332
+ }
333
+
334
+ function publishRejection(promise) {
335
+ if (promise._onerror) {
336
+ promise._onerror(promise._result);
337
+ }
338
+
339
+ publish(promise);
340
+ }
341
+
342
+ function fulfill(promise, value) {
343
+ if (promise._state !== PENDING) {
344
+ return;
345
+ }
346
+
347
+ promise._result = value;
348
+ promise._state = FULFILLED;
349
+
350
+ if (promise._subscribers.length !== 0) {
351
+ asap(publish, promise);
352
+ }
353
+ }
354
+
355
+ function reject(promise, reason) {
356
+ if (promise._state !== PENDING) {
357
+ return;
358
+ }
359
+ promise._state = REJECTED;
360
+ promise._result = reason;
361
+
362
+ asap(publishRejection, promise);
363
+ }
364
+
365
+ function subscribe(parent, child, onFulfillment, onRejection) {
366
+ var _subscribers = parent._subscribers;
367
+ var length = _subscribers.length;
368
+
369
+
370
+ parent._onerror = null;
371
+
372
+ _subscribers[length] = child;
373
+ _subscribers[length + FULFILLED] = onFulfillment;
374
+ _subscribers[length + REJECTED] = onRejection;
375
+
376
+ if (length === 0 && parent._state) {
377
+ asap(publish, parent);
378
+ }
379
+ }
380
+
381
+ function publish(promise) {
382
+ var subscribers = promise._subscribers;
383
+ var settled = promise._state;
384
+
385
+ if (subscribers.length === 0) {
386
+ return;
387
+ }
388
+
389
+ var child = void 0,
390
+ callback = void 0,
391
+ detail = promise._result;
392
+
393
+ for (var i = 0; i < subscribers.length; i += 3) {
394
+ child = subscribers[i];
395
+ callback = subscribers[i + settled];
396
+
397
+ if (child) {
398
+ invokeCallback(settled, child, callback, detail);
399
+ } else {
400
+ callback(detail);
401
+ }
402
+ }
403
+
404
+ promise._subscribers.length = 0;
405
+ }
406
+
407
+ function tryCatch(callback, detail) {
408
+ try {
409
+ return callback(detail);
410
+ } catch (e) {
411
+ TRY_CATCH_ERROR.error = e;
412
+ return TRY_CATCH_ERROR;
413
+ }
414
+ }
415
+
416
+ function invokeCallback(settled, promise, callback, detail) {
417
+ var hasCallback = isFunction(callback),
418
+ value = void 0,
419
+ error = void 0,
420
+ succeeded = void 0,
421
+ failed = void 0;
422
+
423
+ if (hasCallback) {
424
+ value = tryCatch(callback, detail);
425
+
426
+ if (value === TRY_CATCH_ERROR) {
427
+ failed = true;
428
+ error = value.error;
429
+ value.error = null;
430
+ } else {
431
+ succeeded = true;
432
+ }
433
+
434
+ if (promise === value) {
435
+ reject(promise, cannotReturnOwn());
436
+ return;
437
+ }
438
+ } else {
439
+ value = detail;
440
+ succeeded = true;
441
+ }
442
+
443
+ if (promise._state !== PENDING) {
444
+ // noop
445
+ } else if (hasCallback && succeeded) {
446
+ resolve(promise, value);
447
+ } else if (failed) {
448
+ reject(promise, error);
449
+ } else if (settled === FULFILLED) {
450
+ fulfill(promise, value);
451
+ } else if (settled === REJECTED) {
452
+ reject(promise, value);
453
+ }
454
+ }
455
+
456
+ function initializePromise(promise, resolver) {
457
+ try {
458
+ resolver(function resolvePromise(value) {
459
+ resolve(promise, value);
460
+ }, function rejectPromise(reason) {
461
+ reject(promise, reason);
462
+ });
463
+ } catch (e) {
464
+ reject(promise, e);
465
+ }
466
+ }
467
+
468
+ var id = 0;
469
+ function nextId() {
470
+ return id++;
471
+ }
472
+
473
+ function makePromise(promise) {
474
+ promise[PROMISE_ID] = id++;
475
+ promise._state = undefined;
476
+ promise._result = undefined;
477
+ promise._subscribers = [];
478
+ }
479
+
480
+ function validationError() {
481
+ return new Error('Array Methods must be provided an Array');
482
+ }
483
+
484
+ var Enumerator = function () {
485
+ function Enumerator(Constructor, input) {
486
+ this._instanceConstructor = Constructor;
487
+ this.promise = new Constructor(noop);
488
+
489
+ if (!this.promise[PROMISE_ID]) {
490
+ makePromise(this.promise);
491
+ }
492
+
493
+ if (isArray(input)) {
494
+ this.length = input.length;
495
+ this._remaining = input.length;
496
+
497
+ this._result = new Array(this.length);
498
+
499
+ if (this.length === 0) {
500
+ fulfill(this.promise, this._result);
501
+ } else {
502
+ this.length = this.length || 0;
503
+ this._enumerate(input);
504
+ if (this._remaining === 0) {
505
+ fulfill(this.promise, this._result);
506
+ }
507
+ }
508
+ } else {
509
+ reject(this.promise, validationError());
510
+ }
511
+ }
512
+
513
+ Enumerator.prototype._enumerate = function _enumerate(input) {
514
+ for (var i = 0; this._state === PENDING && i < input.length; i++) {
515
+ this._eachEntry(input[i], i);
516
+ }
517
+ };
518
+
519
+ Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {
520
+ var c = this._instanceConstructor;
521
+ var resolve$$1 = c.resolve;
522
+
523
+
524
+ if (resolve$$1 === resolve$1) {
525
+ var _then = getThen(entry);
526
+
527
+ if (_then === then && entry._state !== PENDING) {
528
+ this._settledAt(entry._state, i, entry._result);
529
+ } else if (typeof _then !== 'function') {
530
+ this._remaining--;
531
+ this._result[i] = entry;
532
+ } else if (c === Promise$2) {
533
+ var promise = new c(noop);
534
+ handleMaybeThenable(promise, entry, _then);
535
+ this._willSettleAt(promise, i);
536
+ } else {
537
+ this._willSettleAt(new c(function (resolve$$1) {
538
+ return resolve$$1(entry);
539
+ }), i);
540
+ }
541
+ } else {
542
+ this._willSettleAt(resolve$$1(entry), i);
543
+ }
544
+ };
545
+
546
+ Enumerator.prototype._settledAt = function _settledAt(state, i, value) {
547
+ var promise = this.promise;
548
+
549
+
550
+ if (promise._state === PENDING) {
551
+ this._remaining--;
552
+
553
+ if (state === REJECTED) {
554
+ reject(promise, value);
555
+ } else {
556
+ this._result[i] = value;
557
+ }
558
+ }
559
+
560
+ if (this._remaining === 0) {
561
+ fulfill(promise, this._result);
562
+ }
563
+ };
564
+
565
+ Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {
566
+ var enumerator = this;
567
+
568
+ subscribe(promise, undefined, function (value) {
569
+ return enumerator._settledAt(FULFILLED, i, value);
570
+ }, function (reason) {
571
+ return enumerator._settledAt(REJECTED, i, reason);
572
+ });
573
+ };
574
+
575
+ return Enumerator;
576
+ }();
577
+
578
+ /**
579
+ `Promise.all` accepts an array of promises, and returns a new promise which
580
+ is fulfilled with an array of fulfillment values for the passed promises, or
581
+ rejected with the reason of the first passed promise to be rejected. It casts all
582
+ elements of the passed iterable to promises as it runs this algorithm.
583
+
584
+ Example:
585
+
586
+ ```javascript
587
+ let promise1 = resolve(1);
588
+ let promise2 = resolve(2);
589
+ let promise3 = resolve(3);
590
+ let promises = [ promise1, promise2, promise3 ];
591
+
592
+ Promise.all(promises).then(function(array){
593
+ // The array here would be [ 1, 2, 3 ];
594
+ });
595
+ ```
596
+
597
+ If any of the `promises` given to `all` are rejected, the first promise
598
+ that is rejected will be given as an argument to the returned promises's
599
+ rejection handler. For example:
600
+
601
+ Example:
602
+
603
+ ```javascript
604
+ let promise1 = resolve(1);
605
+ let promise2 = reject(new Error("2"));
606
+ let promise3 = reject(new Error("3"));
607
+ let promises = [ promise1, promise2, promise3 ];
608
+
609
+ Promise.all(promises).then(function(array){
610
+ // Code here never runs because there are rejected promises!
611
+ }, function(error) {
612
+ // error.message === "2"
613
+ });
614
+ ```
615
+
616
+ @method all
617
+ @static
618
+ @param {Array} entries array of promises
619
+ @param {String} label optional string for labeling the promise.
620
+ Useful for tooling.
621
+ @return {Promise} promise that is fulfilled when all `promises` have been
622
+ fulfilled, or rejected if any of them become rejected.
623
+ @static
624
+ */
625
+ function all(entries) {
626
+ return new Enumerator(this, entries).promise;
627
+ }
628
+
629
+ /**
630
+ `Promise.race` returns a new promise which is settled in the same way as the
631
+ first passed promise to settle.
632
+
633
+ Example:
634
+
635
+ ```javascript
636
+ let promise1 = new Promise(function(resolve, reject){
637
+ setTimeout(function(){
638
+ resolve('promise 1');
639
+ }, 200);
640
+ });
641
+
642
+ let promise2 = new Promise(function(resolve, reject){
643
+ setTimeout(function(){
644
+ resolve('promise 2');
645
+ }, 100);
646
+ });
647
+
648
+ Promise.race([promise1, promise2]).then(function(result){
649
+ // result === 'promise 2' because it was resolved before promise1
650
+ // was resolved.
651
+ });
652
+ ```
653
+
654
+ `Promise.race` is deterministic in that only the state of the first
655
+ settled promise matters. For example, even if other promises given to the
656
+ `promises` array argument are resolved, but the first settled promise has
657
+ become rejected before the other promises became fulfilled, the returned
658
+ promise will become rejected:
659
+
660
+ ```javascript
661
+ let promise1 = new Promise(function(resolve, reject){
662
+ setTimeout(function(){
663
+ resolve('promise 1');
664
+ }, 200);
665
+ });
666
+
667
+ let promise2 = new Promise(function(resolve, reject){
668
+ setTimeout(function(){
669
+ reject(new Error('promise 2'));
670
+ }, 100);
671
+ });
672
+
673
+ Promise.race([promise1, promise2]).then(function(result){
674
+ // Code here never runs
675
+ }, function(reason){
676
+ // reason.message === 'promise 2' because promise 2 became rejected before
677
+ // promise 1 became fulfilled
678
+ });
679
+ ```
680
+
681
+ An example real-world use case is implementing timeouts:
682
+
683
+ ```javascript
684
+ Promise.race([ajax('foo.json'), timeout(5000)])
685
+ ```
686
+
687
+ @method race
688
+ @static
689
+ @param {Array} promises array of promises to observe
690
+ Useful for tooling.
691
+ @return {Promise} a promise which settles in the same way as the first passed
692
+ promise to settle.
693
+ */
694
+ function race(entries) {
695
+ /*jshint validthis:true */
696
+ var Constructor = this;
697
+
698
+ if (!isArray(entries)) {
699
+ return new Constructor(function (_, reject) {
700
+ return reject(new TypeError('You must pass an array to race.'));
701
+ });
702
+ } else {
703
+ return new Constructor(function (resolve, reject) {
704
+ var length = entries.length;
705
+ for (var i = 0; i < length; i++) {
706
+ Constructor.resolve(entries[i]).then(resolve, reject);
707
+ }
708
+ });
709
+ }
710
+ }
711
+
712
+ /**
713
+ `Promise.reject` returns a promise rejected with the passed `reason`.
714
+ It is shorthand for the following:
715
+
716
+ ```javascript
717
+ let promise = new Promise(function(resolve, reject){
718
+ reject(new Error('WHOOPS'));
719
+ });
720
+
721
+ promise.then(function(value){
722
+ // Code here doesn't run because the promise is rejected!
723
+ }, function(reason){
724
+ // reason.message === 'WHOOPS'
725
+ });
726
+ ```
727
+
728
+ Instead of writing the above, your code now simply becomes the following:
729
+
730
+ ```javascript
731
+ let promise = Promise.reject(new Error('WHOOPS'));
732
+
733
+ promise.then(function(value){
734
+ // Code here doesn't run because the promise is rejected!
735
+ }, function(reason){
736
+ // reason.message === 'WHOOPS'
737
+ });
738
+ ```
739
+
740
+ @method reject
741
+ @static
742
+ @param {Any} reason value that the returned promise will be rejected with.
743
+ Useful for tooling.
744
+ @return {Promise} a promise rejected with the given `reason`.
745
+ */
746
+ function reject$1(reason) {
747
+ /*jshint validthis:true */
748
+ var Constructor = this;
749
+ var promise = new Constructor(noop);
750
+ reject(promise, reason);
751
+ return promise;
752
+ }
753
+
754
+ function needsResolver() {
755
+ throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');
756
+ }
757
+
758
+ function needsNew() {
759
+ throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");
760
+ }
761
+
762
+ /**
763
+ Promise objects represent the eventual result of an asynchronous operation. The
764
+ primary way of interacting with a promise is through its `then` method, which
765
+ registers callbacks to receive either a promise's eventual value or the reason
766
+ why the promise cannot be fulfilled.
767
+
768
+ Terminology
769
+ -----------
770
+
771
+ - `promise` is an object or function with a `then` method whose behavior conforms to this specification.
772
+ - `thenable` is an object or function that defines a `then` method.
773
+ - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).
774
+ - `exception` is a value that is thrown using the throw statement.
775
+ - `reason` is a value that indicates why a promise was rejected.
776
+ - `settled` the final resting state of a promise, fulfilled or rejected.
777
+
778
+ A promise can be in one of three states: pending, fulfilled, or rejected.
779
+
780
+ Promises that are fulfilled have a fulfillment value and are in the fulfilled
781
+ state. Promises that are rejected have a rejection reason and are in the
782
+ rejected state. A fulfillment value is never a thenable.
783
+
784
+ Promises can also be said to *resolve* a value. If this value is also a
785
+ promise, then the original promise's settled state will match the value's
786
+ settled state. So a promise that *resolves* a promise that rejects will
787
+ itself reject, and a promise that *resolves* a promise that fulfills will
788
+ itself fulfill.
789
+
790
+
791
+ Basic Usage:
792
+ ------------
793
+
794
+ ```js
795
+ let promise = new Promise(function(resolve, reject) {
796
+ // on success
797
+ resolve(value);
798
+
799
+ // on failure
800
+ reject(reason);
801
+ });
802
+
803
+ promise.then(function(value) {
804
+ // on fulfillment
805
+ }, function(reason) {
806
+ // on rejection
807
+ });
808
+ ```
809
+
810
+ Advanced Usage:
811
+ ---------------
812
+
813
+ Promises shine when abstracting away asynchronous interactions such as
814
+ `XMLHttpRequest`s.
815
+
816
+ ```js
817
+ function getJSON(url) {
818
+ return new Promise(function(resolve, reject){
819
+ let xhr = new XMLHttpRequest();
820
+
821
+ xhr.open('GET', url);
822
+ xhr.onreadystatechange = handler;
823
+ xhr.responseType = 'json';
824
+ xhr.setRequestHeader('Accept', 'application/json');
825
+ xhr.send();
826
+
827
+ function handler() {
828
+ if (this.readyState === this.DONE) {
829
+ if (this.status === 200) {
830
+ resolve(this.response);
831
+ } else {
832
+ reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));
833
+ }
834
+ }
835
+ };
836
+ });
837
+ }
838
+
839
+ getJSON('/posts.json').then(function(json) {
840
+ // on fulfillment
841
+ }, function(reason) {
842
+ // on rejection
843
+ });
844
+ ```
845
+
846
+ Unlike callbacks, promises are great composable primitives.
847
+
848
+ ```js
849
+ Promise.all([
850
+ getJSON('/posts'),
851
+ getJSON('/comments')
852
+ ]).then(function(values){
853
+ values[0] // => postsJSON
854
+ values[1] // => commentsJSON
855
+
856
+ return values;
857
+ });
858
+ ```
859
+
860
+ @class Promise
861
+ @param {Function} resolver
862
+ Useful for tooling.
863
+ @constructor
864
+ */
865
+
866
+ var Promise$2 = function () {
867
+ function Promise(resolver) {
868
+ this[PROMISE_ID] = nextId();
869
+ this._result = this._state = undefined;
870
+ this._subscribers = [];
871
+
872
+ if (noop !== resolver) {
873
+ typeof resolver !== 'function' && needsResolver();
874
+ this instanceof Promise ? initializePromise(this, resolver) : needsNew();
875
+ }
876
+ }
877
+
878
+ /**
879
+ The primary way of interacting with a promise is through its `then` method,
880
+ which registers callbacks to receive either a promise's eventual value or the
881
+ reason why the promise cannot be fulfilled.
882
+ ```js
883
+ findUser().then(function(user){
884
+ // user is available
885
+ }, function(reason){
886
+ // user is unavailable, and you are given the reason why
887
+ });
888
+ ```
889
+ Chaining
890
+ --------
891
+ The return value of `then` is itself a promise. This second, 'downstream'
892
+ promise is resolved with the return value of the first promise's fulfillment
893
+ or rejection handler, or rejected if the handler throws an exception.
894
+ ```js
895
+ findUser().then(function (user) {
896
+ return user.name;
897
+ }, function (reason) {
898
+ return 'default name';
899
+ }).then(function (userName) {
900
+ // If `findUser` fulfilled, `userName` will be the user's name, otherwise it
901
+ // will be `'default name'`
902
+ });
903
+ findUser().then(function (user) {
904
+ throw new Error('Found user, but still unhappy');
905
+ }, function (reason) {
906
+ throw new Error('`findUser` rejected and we're unhappy');
907
+ }).then(function (value) {
908
+ // never reached
909
+ }, function (reason) {
910
+ // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.
911
+ // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.
912
+ });
913
+ ```
914
+ If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.
915
+ ```js
916
+ findUser().then(function (user) {
917
+ throw new PedagogicalException('Upstream error');
918
+ }).then(function (value) {
919
+ // never reached
920
+ }).then(function (value) {
921
+ // never reached
922
+ }, function (reason) {
923
+ // The `PedgagocialException` is propagated all the way down to here
924
+ });
925
+ ```
926
+ Assimilation
927
+ ------------
928
+ Sometimes the value you want to propagate to a downstream promise can only be
929
+ retrieved asynchronously. This can be achieved by returning a promise in the
930
+ fulfillment or rejection handler. The downstream promise will then be pending
931
+ until the returned promise is settled. This is called *assimilation*.
932
+ ```js
933
+ findUser().then(function (user) {
934
+ return findCommentsByAuthor(user);
935
+ }).then(function (comments) {
936
+ // The user's comments are now available
937
+ });
938
+ ```
939
+ If the assimliated promise rejects, then the downstream promise will also reject.
940
+ ```js
941
+ findUser().then(function (user) {
942
+ return findCommentsByAuthor(user);
943
+ }).then(function (comments) {
944
+ // If `findCommentsByAuthor` fulfills, we'll have the value here
945
+ }, function (reason) {
946
+ // If `findCommentsByAuthor` rejects, we'll have the reason here
947
+ });
948
+ ```
949
+ Simple Example
950
+ --------------
951
+ Synchronous Example
952
+ ```javascript
953
+ let result;
954
+ try {
955
+ result = findResult();
956
+ // success
957
+ } catch(reason) {
958
+ // failure
959
+ }
960
+ ```
961
+ Errback Example
962
+ ```js
963
+ findResult(function(result, err){
964
+ if (err) {
965
+ // failure
966
+ } else {
967
+ // success
968
+ }
969
+ });
970
+ ```
971
+ Promise Example;
972
+ ```javascript
973
+ findResult().then(function(result){
974
+ // success
975
+ }, function(reason){
976
+ // failure
977
+ });
978
+ ```
979
+ Advanced Example
980
+ --------------
981
+ Synchronous Example
982
+ ```javascript
983
+ let author, books;
984
+ try {
985
+ author = findAuthor();
986
+ books = findBooksByAuthor(author);
987
+ // success
988
+ } catch(reason) {
989
+ // failure
990
+ }
991
+ ```
992
+ Errback Example
993
+ ```js
994
+ function foundBooks(books) {
995
+ }
996
+ function failure(reason) {
997
+ }
998
+ findAuthor(function(author, err){
999
+ if (err) {
1000
+ failure(err);
1001
+ // failure
1002
+ } else {
1003
+ try {
1004
+ findBoooksByAuthor(author, function(books, err) {
1005
+ if (err) {
1006
+ failure(err);
1007
+ } else {
1008
+ try {
1009
+ foundBooks(books);
1010
+ } catch(reason) {
1011
+ failure(reason);
1012
+ }
1013
+ }
1014
+ });
1015
+ } catch(error) {
1016
+ failure(err);
1017
+ }
1018
+ // success
1019
+ }
1020
+ });
1021
+ ```
1022
+ Promise Example;
1023
+ ```javascript
1024
+ findAuthor().
1025
+ then(findBooksByAuthor).
1026
+ then(function(books){
1027
+ // found books
1028
+ }).catch(function(reason){
1029
+ // something went wrong
1030
+ });
1031
+ ```
1032
+ @method then
1033
+ @param {Function} onFulfilled
1034
+ @param {Function} onRejected
1035
+ Useful for tooling.
1036
+ @return {Promise}
1037
+ */
1038
+
1039
+ /**
1040
+ `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same
1041
+ as the catch block of a try/catch statement.
1042
+ ```js
1043
+ function findAuthor(){
1044
+ throw new Error('couldn't find that author');
1045
+ }
1046
+ // synchronous
1047
+ try {
1048
+ findAuthor();
1049
+ } catch(reason) {
1050
+ // something went wrong
1051
+ }
1052
+ // async with promises
1053
+ findAuthor().catch(function(reason){
1054
+ // something went wrong
1055
+ });
1056
+ ```
1057
+ @method catch
1058
+ @param {Function} onRejection
1059
+ Useful for tooling.
1060
+ @return {Promise}
1061
+ */
1062
+
1063
+
1064
+ Promise.prototype.catch = function _catch(onRejection) {
1065
+ return this.then(null, onRejection);
1066
+ };
1067
+
1068
+ /**
1069
+ `finally` will be invoked regardless of the promise's fate just as native
1070
+ try/catch/finally behaves
1071
+
1072
+ Synchronous example:
1073
+
1074
+ ```js
1075
+ findAuthor() {
1076
+ if (Math.random() > 0.5) {
1077
+ throw new Error();
1078
+ }
1079
+ return new Author();
1080
+ }
1081
+
1082
+ try {
1083
+ return findAuthor(); // succeed or fail
1084
+ } catch(error) {
1085
+ return findOtherAuther();
1086
+ } finally {
1087
+ // always runs
1088
+ // doesn't affect the return value
1089
+ }
1090
+ ```
1091
+
1092
+ Asynchronous example:
1093
+
1094
+ ```js
1095
+ findAuthor().catch(function(reason){
1096
+ return findOtherAuther();
1097
+ }).finally(function(){
1098
+ // author was either found, or not
1099
+ });
1100
+ ```
1101
+
1102
+ @method finally
1103
+ @param {Function} callback
1104
+ @return {Promise}
1105
+ */
1106
+
1107
+
1108
+ Promise.prototype.finally = function _finally(callback) {
1109
+ var promise = this;
1110
+ var constructor = promise.constructor;
1111
+
1112
+ return promise.then(function (value) {
1113
+ return constructor.resolve(callback()).then(function () {
1114
+ return value;
1115
+ });
1116
+ }, function (reason) {
1117
+ return constructor.resolve(callback()).then(function () {
1118
+ throw reason;
1119
+ });
1120
+ });
1121
+ };
1122
+
1123
+ return Promise;
1124
+ }();
1125
+
1126
+ Promise$2.prototype.then = then;
1127
+ Promise$2.all = all;
1128
+ Promise$2.race = race;
1129
+ Promise$2.resolve = resolve$1;
1130
+ Promise$2.reject = reject$1;
1131
+ Promise$2._setScheduler = setScheduler;
1132
+ Promise$2._setAsap = setAsap;
1133
+ Promise$2._asap = asap;
1134
+
1135
+ /*global self*/
1136
+ function polyfill() {
1137
+ var local = void 0;
1138
+
1139
+ if (typeof global !== 'undefined') {
1140
+ local = global;
1141
+ } else if (typeof self !== 'undefined') {
1142
+ local = self;
1143
+ } else {
1144
+ try {
1145
+ local = Function('return this')();
1146
+ } catch (e) {
1147
+ throw new Error('polyfill failed because global object is unavailable in this environment');
1148
+ }
1149
+ }
1150
+
1151
+ var P = local.Promise;
1152
+
1153
+ if (P) {
1154
+ var promiseToString = null;
1155
+ try {
1156
+ promiseToString = Object.prototype.toString.call(P.resolve());
1157
+ } catch (e) {
1158
+ // silently ignored
1159
+ }
1160
+
1161
+ if (promiseToString === '[object Promise]' && !P.cast) {
1162
+ return;
1163
+ }
1164
+ }
1165
+
1166
+ local.Promise = Promise$2;
1167
+ }
1168
+
1169
+ // Strange compat..
1170
+ Promise$2.polyfill = polyfill;
1171
+ Promise$2.Promise = Promise$2;
1172
+
1173
+ Promise$2.polyfill();
1174
+
1175
+ return Promise$2;
1176
+
1177
+ })));
1178
+
1179
+
1180
+
1181
+ //# sourceMappingURL=es6-promise.auto.map