postdoc 0.2.0.beta4 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (371) hide show
  1. checksums.yaml +4 -4
  2. data/lib/postdoc/postdoc_view_helper.rb +15 -0
  3. data/lib/postdoc.rb +34 -14
  4. metadata +20 -373
  5. data/lib/pdf.js +0 -27
  6. data/node_modules/agent-base/History.md +0 -113
  7. data/node_modules/agent-base/README.md +0 -145
  8. data/node_modules/agent-base/index.js +0 -160
  9. data/node_modules/agent-base/package.json +0 -35
  10. data/node_modules/agent-base/patch-core.js +0 -37
  11. data/node_modules/agent-base/test/ssl-cert-snakeoil.key +0 -15
  12. data/node_modules/agent-base/test/ssl-cert-snakeoil.pem +0 -12
  13. data/node_modules/agent-base/test/test.js +0 -673
  14. data/node_modules/async-limiter/LICENSE +0 -8
  15. data/node_modules/async-limiter/coverage/coverage.json +0 -1
  16. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.html +0 -73
  17. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.js.html +0 -246
  18. data/node_modules/async-limiter/coverage/lcov-report/base.css +0 -182
  19. data/node_modules/async-limiter/coverage/lcov-report/index.html +0 -73
  20. data/node_modules/async-limiter/coverage/lcov-report/prettify.css +0 -1
  21. data/node_modules/async-limiter/coverage/lcov-report/prettify.js +0 -1
  22. data/node_modules/async-limiter/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  23. data/node_modules/async-limiter/coverage/lcov-report/sorter.js +0 -156
  24. data/node_modules/async-limiter/coverage/lcov.info +0 -74
  25. data/node_modules/async-limiter/index.js +0 -67
  26. data/node_modules/async-limiter/package.json +0 -35
  27. data/node_modules/async-limiter/readme.md +0 -132
  28. data/node_modules/balanced-match/LICENSE.md +0 -21
  29. data/node_modules/balanced-match/README.md +0 -91
  30. data/node_modules/balanced-match/index.js +0 -59
  31. data/node_modules/balanced-match/package.json +0 -49
  32. data/node_modules/brace-expansion/LICENSE +0 -21
  33. data/node_modules/brace-expansion/README.md +0 -129
  34. data/node_modules/brace-expansion/index.js +0 -201
  35. data/node_modules/brace-expansion/package.json +0 -47
  36. data/node_modules/buffer-from/index.js +0 -69
  37. data/node_modules/buffer-from/package.json +0 -16
  38. data/node_modules/buffer-from/readme.md +0 -69
  39. data/node_modules/buffer-from/test.js +0 -12
  40. data/node_modules/concat-map/LICENSE +0 -18
  41. data/node_modules/concat-map/README.markdown +0 -62
  42. data/node_modules/concat-map/example/map.js +0 -6
  43. data/node_modules/concat-map/index.js +0 -13
  44. data/node_modules/concat-map/package.json +0 -43
  45. data/node_modules/concat-map/test/map.js +0 -39
  46. data/node_modules/concat-stream/LICENSE +0 -24
  47. data/node_modules/concat-stream/index.js +0 -144
  48. data/node_modules/concat-stream/package.json +0 -55
  49. data/node_modules/concat-stream/readme.md +0 -102
  50. data/node_modules/core-util-is/LICENSE +0 -19
  51. data/node_modules/core-util-is/README.md +0 -3
  52. data/node_modules/core-util-is/float.patch +0 -604
  53. data/node_modules/core-util-is/lib/util.js +0 -107
  54. data/node_modules/core-util-is/package.json +0 -32
  55. data/node_modules/core-util-is/test.js +0 -68
  56. data/node_modules/debug/CHANGELOG.md +0 -395
  57. data/node_modules/debug/LICENSE +0 -19
  58. data/node_modules/debug/Makefile +0 -58
  59. data/node_modules/debug/README.md +0 -368
  60. data/node_modules/debug/karma.conf.js +0 -70
  61. data/node_modules/debug/node.js +0 -1
  62. data/node_modules/debug/package.json +0 -43
  63. data/node_modules/debug/src/browser.js +0 -195
  64. data/node_modules/debug/src/debug.js +0 -225
  65. data/node_modules/debug/src/index.js +0 -10
  66. data/node_modules/debug/src/node.js +0 -186
  67. data/node_modules/es6-promise/CHANGELOG.md +0 -151
  68. data/node_modules/es6-promise/LICENSE +0 -19
  69. data/node_modules/es6-promise/README.md +0 -97
  70. data/node_modules/es6-promise/auto.js +0 -4
  71. data/node_modules/es6-promise/dist/es6-promise.auto.js +0 -1181
  72. data/node_modules/es6-promise/dist/es6-promise.auto.map +0 -1
  73. data/node_modules/es6-promise/dist/es6-promise.auto.min.js +0 -1
  74. data/node_modules/es6-promise/dist/es6-promise.auto.min.map +0 -1
  75. data/node_modules/es6-promise/dist/es6-promise.js +0 -1179
  76. data/node_modules/es6-promise/dist/es6-promise.map +0 -1
  77. data/node_modules/es6-promise/dist/es6-promise.min.js +0 -1
  78. data/node_modules/es6-promise/dist/es6-promise.min.map +0 -1
  79. data/node_modules/es6-promise/es6-promise.d.ts +0 -81
  80. data/node_modules/es6-promise/lib/es6-promise/-internal.js +0 -266
  81. data/node_modules/es6-promise/lib/es6-promise/asap.js +0 -119
  82. data/node_modules/es6-promise/lib/es6-promise/enumerator.js +0 -113
  83. data/node_modules/es6-promise/lib/es6-promise/polyfill.js +0 -35
  84. data/node_modules/es6-promise/lib/es6-promise/promise/all.js +0 -52
  85. data/node_modules/es6-promise/lib/es6-promise/promise/race.js +0 -84
  86. data/node_modules/es6-promise/lib/es6-promise/promise/reject.js +0 -46
  87. data/node_modules/es6-promise/lib/es6-promise/promise/resolve.js +0 -48
  88. data/node_modules/es6-promise/lib/es6-promise/promise.js +0 -427
  89. data/node_modules/es6-promise/lib/es6-promise/then.js +0 -32
  90. data/node_modules/es6-promise/lib/es6-promise/utils.js +0 -21
  91. data/node_modules/es6-promise/lib/es6-promise.auto.js +0 -3
  92. data/node_modules/es6-promise/lib/es6-promise.js +0 -7
  93. data/node_modules/es6-promise/package.json +0 -75
  94. data/node_modules/es6-promisify/README.md +0 -89
  95. data/node_modules/es6-promisify/dist/promise.js +0 -73
  96. data/node_modules/es6-promisify/dist/promisify.js +0 -85
  97. data/node_modules/es6-promisify/package.json +0 -41
  98. data/node_modules/extract-zip/CONTRIBUTING.md +0 -1
  99. data/node_modules/extract-zip/LICENSE +0 -23
  100. data/node_modules/extract-zip/cli.js +0 -20
  101. data/node_modules/extract-zip/index.js +0 -205
  102. data/node_modules/extract-zip/node_modules/debug/CHANGELOG.md +0 -362
  103. data/node_modules/extract-zip/node_modules/debug/LICENSE +0 -19
  104. data/node_modules/extract-zip/node_modules/debug/Makefile +0 -50
  105. data/node_modules/extract-zip/node_modules/debug/README.md +0 -312
  106. data/node_modules/extract-zip/node_modules/debug/component.json +0 -19
  107. data/node_modules/extract-zip/node_modules/debug/karma.conf.js +0 -70
  108. data/node_modules/extract-zip/node_modules/debug/node.js +0 -1
  109. data/node_modules/extract-zip/node_modules/debug/package.json +0 -49
  110. data/node_modules/extract-zip/node_modules/debug/src/browser.js +0 -185
  111. data/node_modules/extract-zip/node_modules/debug/src/debug.js +0 -202
  112. data/node_modules/extract-zip/node_modules/debug/src/index.js +0 -10
  113. data/node_modules/extract-zip/node_modules/debug/src/inspector-log.js +0 -15
  114. data/node_modules/extract-zip/node_modules/debug/src/node.js +0 -248
  115. data/node_modules/extract-zip/package.json +0 -35
  116. data/node_modules/extract-zip/readme.md +0 -49
  117. data/node_modules/fd-slicer/CHANGELOG.md +0 -49
  118. data/node_modules/fd-slicer/LICENSE +0 -21
  119. data/node_modules/fd-slicer/README.md +0 -189
  120. data/node_modules/fd-slicer/index.js +0 -277
  121. data/node_modules/fd-slicer/package.json +0 -36
  122. data/node_modules/fd-slicer/test/test.js +0 -350
  123. data/node_modules/fs.realpath/LICENSE +0 -43
  124. data/node_modules/fs.realpath/README.md +0 -33
  125. data/node_modules/fs.realpath/index.js +0 -66
  126. data/node_modules/fs.realpath/old.js +0 -303
  127. data/node_modules/fs.realpath/package.json +0 -26
  128. data/node_modules/glob/LICENSE +0 -15
  129. data/node_modules/glob/README.md +0 -368
  130. data/node_modules/glob/changelog.md +0 -67
  131. data/node_modules/glob/common.js +0 -240
  132. data/node_modules/glob/glob.js +0 -790
  133. data/node_modules/glob/package.json +0 -43
  134. data/node_modules/glob/sync.js +0 -486
  135. data/node_modules/https-proxy-agent/History.md +0 -124
  136. data/node_modules/https-proxy-agent/README.md +0 -137
  137. data/node_modules/https-proxy-agent/index.js +0 -229
  138. data/node_modules/https-proxy-agent/package.json +0 -35
  139. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.key +0 -15
  140. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.pem +0 -12
  141. data/node_modules/https-proxy-agent/test/test.js +0 -342
  142. data/node_modules/inflight/LICENSE +0 -15
  143. data/node_modules/inflight/README.md +0 -37
  144. data/node_modules/inflight/inflight.js +0 -54
  145. data/node_modules/inflight/package.json +0 -29
  146. data/node_modules/inherits/LICENSE +0 -16
  147. data/node_modules/inherits/README.md +0 -42
  148. data/node_modules/inherits/inherits.js +0 -7
  149. data/node_modules/inherits/inherits_browser.js +0 -23
  150. data/node_modules/inherits/package.json +0 -29
  151. data/node_modules/isarray/Makefile +0 -6
  152. data/node_modules/isarray/README.md +0 -60
  153. data/node_modules/isarray/component.json +0 -19
  154. data/node_modules/isarray/index.js +0 -5
  155. data/node_modules/isarray/package.json +0 -45
  156. data/node_modules/isarray/test.js +0 -20
  157. data/node_modules/mime/CHANGELOG.md +0 -225
  158. data/node_modules/mime/CONTRIBUTING.md +0 -5
  159. data/node_modules/mime/LICENSE +0 -21
  160. data/node_modules/mime/Mime.js +0 -89
  161. data/node_modules/mime/README.md +0 -188
  162. data/node_modules/mime/cli.js +0 -10
  163. data/node_modules/mime/index.js +0 -4
  164. data/node_modules/mime/lite.js +0 -4
  165. data/node_modules/mime/package.json +0 -43
  166. data/node_modules/mime/src/README_js.md +0 -179
  167. data/node_modules/mime/src/build.js +0 -71
  168. data/node_modules/mime/src/test.js +0 -257
  169. data/node_modules/mime/types/other.json +0 -1
  170. data/node_modules/mime/types/standard.json +0 -1
  171. data/node_modules/minimatch/LICENSE +0 -15
  172. data/node_modules/minimatch/README.md +0 -209
  173. data/node_modules/minimatch/minimatch.js +0 -923
  174. data/node_modules/minimatch/package.json +0 -30
  175. data/node_modules/minimist/LICENSE +0 -18
  176. data/node_modules/minimist/example/parse.js +0 -2
  177. data/node_modules/minimist/index.js +0 -187
  178. data/node_modules/minimist/package.json +0 -40
  179. data/node_modules/minimist/readme.markdown +0 -73
  180. data/node_modules/minimist/test/dash.js +0 -24
  181. data/node_modules/minimist/test/default_bool.js +0 -20
  182. data/node_modules/minimist/test/dotted.js +0 -16
  183. data/node_modules/minimist/test/long.js +0 -31
  184. data/node_modules/minimist/test/parse.js +0 -318
  185. data/node_modules/minimist/test/parse_modified.js +0 -9
  186. data/node_modules/minimist/test/short.js +0 -67
  187. data/node_modules/minimist/test/whitespace.js +0 -8
  188. data/node_modules/mkdirp/LICENSE +0 -21
  189. data/node_modules/mkdirp/bin/cmd.js +0 -33
  190. data/node_modules/mkdirp/bin/usage.txt +0 -12
  191. data/node_modules/mkdirp/examples/pow.js +0 -6
  192. data/node_modules/mkdirp/index.js +0 -98
  193. data/node_modules/mkdirp/package.json +0 -27
  194. data/node_modules/mkdirp/readme.markdown +0 -100
  195. data/node_modules/mkdirp/test/chmod.js +0 -41
  196. data/node_modules/mkdirp/test/clobber.js +0 -38
  197. data/node_modules/mkdirp/test/mkdirp.js +0 -28
  198. data/node_modules/mkdirp/test/opts_fs.js +0 -29
  199. data/node_modules/mkdirp/test/opts_fs_sync.js +0 -27
  200. data/node_modules/mkdirp/test/perm.js +0 -32
  201. data/node_modules/mkdirp/test/perm_sync.js +0 -36
  202. data/node_modules/mkdirp/test/race.js +0 -37
  203. data/node_modules/mkdirp/test/rel.js +0 -32
  204. data/node_modules/mkdirp/test/return.js +0 -25
  205. data/node_modules/mkdirp/test/return_sync.js +0 -24
  206. data/node_modules/mkdirp/test/root.js +0 -19
  207. data/node_modules/mkdirp/test/sync.js +0 -32
  208. data/node_modules/mkdirp/test/umask.js +0 -28
  209. data/node_modules/mkdirp/test/umask_sync.js +0 -32
  210. data/node_modules/ms/index.js +0 -152
  211. data/node_modules/ms/license.md +0 -21
  212. data/node_modules/ms/package.json +0 -37
  213. data/node_modules/ms/readme.md +0 -51
  214. data/node_modules/once/LICENSE +0 -15
  215. data/node_modules/once/README.md +0 -79
  216. data/node_modules/once/once.js +0 -42
  217. data/node_modules/once/package.json +0 -33
  218. data/node_modules/path-is-absolute/index.js +0 -20
  219. data/node_modules/path-is-absolute/license +0 -21
  220. data/node_modules/path-is-absolute/package.json +0 -43
  221. data/node_modules/path-is-absolute/readme.md +0 -59
  222. data/node_modules/pend/LICENSE +0 -23
  223. data/node_modules/pend/README.md +0 -41
  224. data/node_modules/pend/index.js +0 -55
  225. data/node_modules/pend/package.json +0 -18
  226. data/node_modules/pend/test.js +0 -137
  227. data/node_modules/process-nextick-args/index.js +0 -44
  228. data/node_modules/process-nextick-args/license.md +0 -19
  229. data/node_modules/process-nextick-args/package.json +0 -25
  230. data/node_modules/process-nextick-args/readme.md +0 -18
  231. data/node_modules/progress/CHANGELOG.md +0 -115
  232. data/node_modules/progress/LICENSE +0 -22
  233. data/node_modules/progress/Makefile +0 -8
  234. data/node_modules/progress/README.md +0 -146
  235. data/node_modules/progress/index.js +0 -1
  236. data/node_modules/progress/lib/node-progress.js +0 -231
  237. data/node_modules/progress/package.json +0 -25
  238. data/node_modules/proxy-from-env/README.md +0 -131
  239. data/node_modules/proxy-from-env/index.js +0 -103
  240. data/node_modules/proxy-from-env/package.json +0 -35
  241. data/node_modules/proxy-from-env/test.js +0 -393
  242. data/node_modules/puppeteer/CONTRIBUTING.md +0 -206
  243. data/node_modules/puppeteer/DeviceDescriptors.js +0 -704
  244. data/node_modules/puppeteer/LICENSE +0 -202
  245. data/node_modules/puppeteer/README.md +0 -306
  246. data/node_modules/puppeteer/index.js +0 -28
  247. data/node_modules/puppeteer/install.js +0 -122
  248. data/node_modules/puppeteer/lib/Browser.js +0 -186
  249. data/node_modules/puppeteer/lib/BrowserFetcher.js +0 -279
  250. data/node_modules/puppeteer/lib/Connection.js +0 -246
  251. data/node_modules/puppeteer/lib/Coverage.js +0 -301
  252. data/node_modules/puppeteer/lib/Dialog.js +0 -84
  253. data/node_modules/puppeteer/lib/ElementHandle.js +0 -328
  254. data/node_modules/puppeteer/lib/EmulationManager.js +0 -89
  255. data/node_modules/puppeteer/lib/ExecutionContext.js +0 -232
  256. data/node_modules/puppeteer/lib/FrameManager.js +0 -997
  257. data/node_modules/puppeteer/lib/Input.js +0 -309
  258. data/node_modules/puppeteer/lib/Launcher.js +0 -310
  259. data/node_modules/puppeteer/lib/Multimap.js +0 -95
  260. data/node_modules/puppeteer/lib/NavigatorWatcher.js +0 -137
  261. data/node_modules/puppeteer/lib/NetworkManager.js +0 -796
  262. data/node_modules/puppeteer/lib/Page.js +0 -1098
  263. data/node_modules/puppeteer/lib/Pipe.js +0 -69
  264. data/node_modules/puppeteer/lib/Puppeteer.js +0 -60
  265. data/node_modules/puppeteer/lib/Target.js +0 -88
  266. data/node_modules/puppeteer/lib/TaskQueue.js +0 -17
  267. data/node_modules/puppeteer/lib/Tracing.js +0 -99
  268. data/node_modules/puppeteer/lib/USKeyboardLayout.js +0 -281
  269. data/node_modules/puppeteer/lib/helper.js +0 -248
  270. data/node_modules/puppeteer/node6/lib/Browser.js +0 -394
  271. data/node_modules/puppeteer/node6/lib/BrowserFetcher.js +0 -357
  272. data/node_modules/puppeteer/node6/lib/Connection.js +0 -350
  273. data/node_modules/puppeteer/node6/lib/Coverage.js +0 -561
  274. data/node_modules/puppeteer/node6/lib/Dialog.js +0 -136
  275. data/node_modules/puppeteer/node6/lib/ElementHandle.js +0 -796
  276. data/node_modules/puppeteer/node6/lib/EmulationManager.js +0 -115
  277. data/node_modules/puppeteer/node6/lib/ExecutionContext.js +0 -414
  278. data/node_modules/puppeteer/node6/lib/FrameManager.js +0 -1621
  279. data/node_modules/puppeteer/node6/lib/Input.js +0 -569
  280. data/node_modules/puppeteer/node6/lib/Launcher.js +0 -362
  281. data/node_modules/puppeteer/node6/lib/Multimap.js +0 -95
  282. data/node_modules/puppeteer/node6/lib/NavigatorWatcher.js +0 -163
  283. data/node_modules/puppeteer/node6/lib/NetworkManager.js +0 -1108
  284. data/node_modules/puppeteer/node6/lib/Page.js +0 -2242
  285. data/node_modules/puppeteer/node6/lib/Pipe.js +0 -69
  286. data/node_modules/puppeteer/node6/lib/Puppeteer.js +0 -60
  287. data/node_modules/puppeteer/node6/lib/Target.js +0 -114
  288. data/node_modules/puppeteer/node6/lib/TaskQueue.js +0 -17
  289. data/node_modules/puppeteer/node6/lib/Tracing.js +0 -177
  290. data/node_modules/puppeteer/node6/lib/USKeyboardLayout.js +0 -281
  291. data/node_modules/puppeteer/node6/lib/helper.js +0 -274
  292. data/node_modules/puppeteer/package.json +0 -61
  293. data/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  294. data/node_modules/readable-stream/GOVERNANCE.md +0 -136
  295. data/node_modules/readable-stream/LICENSE +0 -47
  296. data/node_modules/readable-stream/README.md +0 -58
  297. data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  298. data/node_modules/readable-stream/duplex-browser.js +0 -1
  299. data/node_modules/readable-stream/duplex.js +0 -1
  300. data/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  301. data/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  302. data/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  303. data/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  304. data/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  305. data/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  306. data/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  307. data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  308. data/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  309. data/node_modules/readable-stream/package.json +0 -52
  310. data/node_modules/readable-stream/passthrough.js +0 -1
  311. data/node_modules/readable-stream/readable-browser.js +0 -7
  312. data/node_modules/readable-stream/readable.js +0 -19
  313. data/node_modules/readable-stream/transform.js +0 -1
  314. data/node_modules/readable-stream/writable-browser.js +0 -1
  315. data/node_modules/readable-stream/writable.js +0 -8
  316. data/node_modules/rimraf/LICENSE +0 -15
  317. data/node_modules/rimraf/README.md +0 -101
  318. data/node_modules/rimraf/bin.js +0 -50
  319. data/node_modules/rimraf/package.json +0 -26
  320. data/node_modules/rimraf/rimraf.js +0 -364
  321. data/node_modules/safe-buffer/LICENSE +0 -21
  322. data/node_modules/safe-buffer/README.md +0 -584
  323. data/node_modules/safe-buffer/index.d.ts +0 -187
  324. data/node_modules/safe-buffer/index.js +0 -62
  325. data/node_modules/safe-buffer/package.json +0 -37
  326. data/node_modules/string_decoder/LICENSE +0 -48
  327. data/node_modules/string_decoder/README.md +0 -47
  328. data/node_modules/string_decoder/lib/string_decoder.js +0 -296
  329. data/node_modules/string_decoder/package.json +0 -31
  330. data/node_modules/typedarray/LICENSE +0 -35
  331. data/node_modules/typedarray/example/tarray.js +0 -4
  332. data/node_modules/typedarray/index.js +0 -630
  333. data/node_modules/typedarray/package.json +0 -55
  334. data/node_modules/typedarray/readme.markdown +0 -61
  335. data/node_modules/typedarray/test/server/undef_globals.js +0 -19
  336. data/node_modules/typedarray/test/tarray.js +0 -10
  337. data/node_modules/ultron/LICENSE +0 -22
  338. data/node_modules/ultron/README.md +0 -113
  339. data/node_modules/ultron/index.js +0 -136
  340. data/node_modules/ultron/package.json +0 -41
  341. data/node_modules/util-deprecate/History.md +0 -16
  342. data/node_modules/util-deprecate/LICENSE +0 -24
  343. data/node_modules/util-deprecate/README.md +0 -53
  344. data/node_modules/util-deprecate/browser.js +0 -67
  345. data/node_modules/util-deprecate/node.js +0 -6
  346. data/node_modules/util-deprecate/package.json +0 -27
  347. data/node_modules/wrappy/LICENSE +0 -15
  348. data/node_modules/wrappy/README.md +0 -36
  349. data/node_modules/wrappy/package.json +0 -29
  350. data/node_modules/wrappy/wrappy.js +0 -33
  351. data/node_modules/ws/LICENSE +0 -21
  352. data/node_modules/ws/README.md +0 -341
  353. data/node_modules/ws/index.js +0 -15
  354. data/node_modules/ws/lib/BufferUtil.js +0 -71
  355. data/node_modules/ws/lib/Constants.js +0 -10
  356. data/node_modules/ws/lib/ErrorCodes.js +0 -28
  357. data/node_modules/ws/lib/EventTarget.js +0 -151
  358. data/node_modules/ws/lib/Extensions.js +0 -203
  359. data/node_modules/ws/lib/PerMessageDeflate.js +0 -507
  360. data/node_modules/ws/lib/Receiver.js +0 -553
  361. data/node_modules/ws/lib/Sender.js +0 -412
  362. data/node_modules/ws/lib/Validation.js +0 -17
  363. data/node_modules/ws/lib/WebSocket.js +0 -717
  364. data/node_modules/ws/lib/WebSocketServer.js +0 -326
  365. data/node_modules/ws/package.json +0 -46
  366. data/node_modules/yauzl/LICENSE +0 -21
  367. data/node_modules/yauzl/README.md +0 -467
  368. data/node_modules/yauzl/index.js +0 -626
  369. data/node_modules/yauzl/package.json +0 -36
  370. data/package.json +0 -5
  371. data/yarn.lock +0 -240
@@ -1,1179 +0,0 @@
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$1) {
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$1 = 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$1.prototype.then = then;
1127
- Promise$1.all = all;
1128
- Promise$1.race = race;
1129
- Promise$1.resolve = resolve$1;
1130
- Promise$1.reject = reject$1;
1131
- Promise$1._setScheduler = setScheduler;
1132
- Promise$1._setAsap = setAsap;
1133
- Promise$1._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$1;
1167
- }
1168
-
1169
- // Strange compat..
1170
- Promise$1.polyfill = polyfill;
1171
- Promise$1.Promise = Promise$1;
1172
-
1173
- return Promise$1;
1174
-
1175
- })));
1176
-
1177
-
1178
-
1179
- //# sourceMappingURL=es6-promise.map