postdoc 0.1.2 → 0.2.0.beta4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,342 @@
1
+
2
+ /**
3
+ * Module dependencies.
4
+ */
5
+
6
+ var fs = require('fs');
7
+ var url = require('url');
8
+ var http = require('http');
9
+ var https = require('https');
10
+ var assert = require('assert');
11
+ var Proxy = require('proxy');
12
+ var HttpsProxyAgent = require('../');
13
+
14
+ describe('HttpsProxyAgent', function () {
15
+
16
+ var server;
17
+ var serverPort;
18
+
19
+ var sslServer;
20
+ var sslServerPort;
21
+
22
+ var proxy;
23
+ var proxyPort;
24
+
25
+ var sslProxy;
26
+ var sslProxyPort;
27
+
28
+ before(function (done) {
29
+ // setup target HTTP server
30
+ server = http.createServer();
31
+ server.listen(function () {
32
+ serverPort = server.address().port;
33
+ done();
34
+ });
35
+ });
36
+
37
+ before(function (done) {
38
+ // setup HTTP proxy server
39
+ proxy = Proxy();
40
+ proxy.listen(function () {
41
+ proxyPort = proxy.address().port;
42
+ done();
43
+ });
44
+ });
45
+
46
+ before(function (done) {
47
+ // setup target HTTPS server
48
+ var options = {
49
+ key: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.key'),
50
+ cert: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.pem')
51
+ };
52
+ sslServer = https.createServer(options);
53
+ sslServer.listen(function () {
54
+ sslServerPort = sslServer.address().port;
55
+ done();
56
+ });
57
+ });
58
+
59
+ before(function (done) {
60
+ // setup SSL HTTP proxy server
61
+ var options = {
62
+ key: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.key'),
63
+ cert: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.pem')
64
+ };
65
+ sslProxy = Proxy(https.createServer(options));
66
+ sslProxy.listen(function () {
67
+ sslProxyPort = sslProxy.address().port;
68
+ done();
69
+ });
70
+ });
71
+
72
+ // shut down test HTTP server
73
+ after(function (done) {
74
+ server.once('close', function () { done(); });
75
+ server.close();
76
+ });
77
+
78
+ after(function (done) {
79
+ proxy.once('close', function () { done(); });
80
+ proxy.close();
81
+ });
82
+
83
+ after(function (done) {
84
+ sslServer.once('close', function () { done(); });
85
+ sslServer.close();
86
+ });
87
+
88
+ after(function (done) {
89
+ sslProxy.once('close', function () { done(); });
90
+ sslProxy.close();
91
+ });
92
+
93
+ describe('constructor', function () {
94
+ it('should throw an Error if no "proxy" argument is given', function () {
95
+ assert.throws(function () {
96
+ new HttpsProxyAgent();
97
+ });
98
+ });
99
+ it('should accept a "string" proxy argument', function () {
100
+ var agent = new HttpsProxyAgent('http://127.0.0.1:' + proxyPort);
101
+ assert.equal('127.0.0.1', agent.proxy.host);
102
+ assert.equal(proxyPort, agent.proxy.port);
103
+ });
104
+ it('should accept a `url.parse()` result object argument', function () {
105
+ var opts = url.parse('http://127.0.0.1:' + proxyPort);
106
+ var agent = new HttpsProxyAgent(opts);
107
+ assert.equal('127.0.0.1', agent.proxy.host);
108
+ assert.equal(proxyPort, agent.proxy.port);
109
+ });
110
+ it('should set a `defaultPort` property', function () {
111
+ var opts = url.parse("http://127.0.0.1:" + proxyPort);
112
+ var agent = new HttpsProxyAgent(opts);
113
+ assert.equal(443, agent.defaultPort);
114
+ });
115
+ describe('secureProxy', function () {
116
+ it('should default to `false`', function () {
117
+ var agent = new HttpsProxyAgent({ port: proxyPort });
118
+ assert.equal(false, agent.secureProxy);
119
+ });
120
+ it('should be `false` when "http:" protocol is used', function () {
121
+ var agent = new HttpsProxyAgent({ port: proxyPort, protocol: 'http:' });
122
+ assert.equal(false, agent.secureProxy);
123
+ });
124
+ it('should be `true` when "https:" protocol is used', function () {
125
+ var agent = new HttpsProxyAgent({ port: proxyPort, protocol: 'https:' });
126
+ assert.equal(true, agent.secureProxy);
127
+ });
128
+ it('should be `true` when "https" protocol is used', function () {
129
+ var agent = new HttpsProxyAgent({ port: proxyPort, protocol: 'https' });
130
+ assert.equal(true, agent.secureProxy);
131
+ });
132
+ });
133
+ });
134
+
135
+ describe('"http" module', function () {
136
+
137
+ beforeEach(function () {
138
+ delete proxy.authenticate;
139
+ });
140
+
141
+ it('should work over an HTTP proxy', function (done) {
142
+ server.once('request', function (req, res) {
143
+ res.end(JSON.stringify(req.headers));
144
+ });
145
+
146
+ var proxy = process.env.HTTP_PROXY || process.env.http_proxy || 'http://127.0.0.1:' + proxyPort;
147
+ var agent = new HttpsProxyAgent(proxy);
148
+
149
+ var opts = url.parse('http://127.0.0.1:' + serverPort);
150
+ opts.agent = agent;
151
+
152
+ var req = http.get(opts, function (res) {
153
+ var data = '';
154
+ res.setEncoding('utf8');
155
+ res.on('data', function (b) {
156
+ data += b;
157
+ });
158
+ res.on('end', function () {
159
+ data = JSON.parse(data);
160
+ assert.equal('127.0.0.1:' + serverPort, data.host);
161
+ done();
162
+ });
163
+ });
164
+ req.once('error', done);
165
+ });
166
+ it('should work over an HTTPS proxy', function (done) {
167
+ server.once('request', function (req, res) {
168
+ res.end(JSON.stringify(req.headers));
169
+ });
170
+
171
+ var proxy = process.env.HTTPS_PROXY || process.env.https_proxy || 'https://127.0.0.1:' + sslProxyPort;
172
+ proxy = url.parse(proxy);
173
+ proxy.rejectUnauthorized = false;
174
+ var agent = new HttpsProxyAgent(proxy);
175
+
176
+ var opts = url.parse('http://127.0.0.1:' + serverPort);
177
+ opts.agent = agent;
178
+
179
+ http.get(opts, function (res) {
180
+ var data = '';
181
+ res.setEncoding('utf8');
182
+ res.on('data', function (b) {
183
+ data += b;
184
+ });
185
+ res.on('end', function () {
186
+ data = JSON.parse(data);
187
+ assert.equal('127.0.0.1:' + serverPort, data.host);
188
+ done();
189
+ });
190
+ });
191
+ });
192
+ it('should receive the 407 authorization code on the `http.ClientResponse`', function (done) {
193
+ // set a proxy authentication function for this test
194
+ proxy.authenticate = function (req, fn) {
195
+ // reject all requests
196
+ fn(null, false);
197
+ };
198
+
199
+ var proxyUri = process.env.HTTP_PROXY || process.env.http_proxy || 'http://127.0.0.1:' + proxyPort;
200
+ var agent = new HttpsProxyAgent(proxyUri);
201
+
202
+ var opts = {};
203
+ // `host` and `port` don't really matter since the proxy will reject anyways
204
+ opts.host = '127.0.0.1';
205
+ opts.port = 80;
206
+ opts.agent = agent;
207
+
208
+ var req = http.get(opts, function (res) {
209
+ assert.equal(407, res.statusCode);
210
+ assert('proxy-authenticate' in res.headers);
211
+ done();
212
+ });
213
+ });
214
+ it('should emit an "error" event on the `http.ClientRequest` if the proxy does not exist', function (done) {
215
+ // port 4 is a reserved, but "unassigned" port
216
+ var proxyUri = 'http://127.0.0.1:4';
217
+ var agent = new HttpsProxyAgent(proxyUri);
218
+
219
+ var opts = url.parse('http://nodejs.org');
220
+ opts.agent = agent;
221
+
222
+ var req = http.get(opts);
223
+ req.once('error', function (err) {
224
+ assert.equal('ECONNREFUSED', err.code);
225
+ req.abort();
226
+ done();
227
+ });
228
+ });
229
+
230
+ it('should allow custom proxy "headers"', function (done) {
231
+ server.once('connect', function (req, socket, head) {
232
+ assert.equal('CONNECT', req.method);
233
+ assert.equal('bar', req.headers.foo);
234
+ socket.destroy();
235
+ done();
236
+ });
237
+
238
+ var uri = 'http://127.0.0.1:' + serverPort;
239
+ var proxyOpts = url.parse(uri);
240
+ proxyOpts.headers = {
241
+ 'Foo': 'bar'
242
+ };
243
+ var agent = new HttpsProxyAgent(proxyOpts);
244
+
245
+ var opts = {};
246
+ // `host` and `port` don't really matter since the proxy will reject anyways
247
+ opts.host = '127.0.0.1';
248
+ opts.port = 80;
249
+ opts.agent = agent;
250
+
251
+ http.get(opts);
252
+ });
253
+
254
+ });
255
+
256
+ describe('"https" module', function () {
257
+ it('should work over an HTTP proxy', function (done) {
258
+ sslServer.once('request', function (req, res) {
259
+ res.end(JSON.stringify(req.headers));
260
+ });
261
+
262
+ var proxy = process.env.HTTP_PROXY || process.env.http_proxy || 'http://127.0.0.1:' + proxyPort;
263
+ var agent = new HttpsProxyAgent(proxy);
264
+
265
+ var opts = url.parse('https://127.0.0.1:' + sslServerPort);
266
+ opts.rejectUnauthorized = false;
267
+ opts.agent = agent;
268
+
269
+ https.get(opts, function (res) {
270
+ var data = '';
271
+ res.setEncoding('utf8');
272
+ res.on('data', function (b) {
273
+ data += b;
274
+ });
275
+ res.on('end', function () {
276
+ data = JSON.parse(data);
277
+ assert.equal('127.0.0.1:' + sslServerPort, data.host);
278
+ done();
279
+ });
280
+ });
281
+ });
282
+
283
+ it('should work over an HTTPS proxy', function (done) {
284
+ sslServer.once('request', function (req, res) {
285
+ res.end(JSON.stringify(req.headers));
286
+ });
287
+
288
+ var proxy = process.env.HTTPS_PROXY || process.env.https_proxy || 'https://127.0.0.1:' + sslProxyPort;
289
+ proxy = url.parse(proxy);
290
+ proxy.rejectUnauthorized = false;
291
+ var agent = new HttpsProxyAgent(proxy);
292
+
293
+ var opts = url.parse('https://127.0.0.1:' + sslServerPort);
294
+ opts.agent = agent;
295
+ opts.rejectUnauthorized = false;
296
+
297
+ https.get(opts, function (res) {
298
+ var data = '';
299
+ res.setEncoding('utf8');
300
+ res.on('data', function (b) {
301
+ data += b;
302
+ });
303
+ res.on('end', function () {
304
+ data = JSON.parse(data);
305
+ assert.equal('127.0.0.1:' + sslServerPort, data.host);
306
+ done();
307
+ });
308
+ });
309
+ });
310
+
311
+ it('should not send a port number for the default port', function (done) {
312
+ sslServer.once('request', function (req, res) {
313
+ res.end(JSON.stringify(req.headers));
314
+ });
315
+
316
+ var proxy = process.env.HTTPS_PROXY || process.env.https_proxy || "https://127.0.0.1:" + sslProxyPort;
317
+ proxy = url.parse(proxy);
318
+ proxy.rejectUnauthorized = false;
319
+ var agent = new HttpsProxyAgent(proxy);
320
+ agent.defaultPort = sslServerPort;
321
+
322
+ var opts = url.parse("https://127.0.0.1:" + sslServerPort);
323
+ opts.agent = agent;
324
+ opts.rejectUnauthorized = false;
325
+
326
+ https.get(opts, function(res) {
327
+ var data = "";
328
+ res.setEncoding("utf8");
329
+ res.on("data", function(b) {
330
+ data += b;
331
+ });
332
+ res.on("end", function() {
333
+ data = JSON.parse(data);
334
+ assert.equal("127.0.0.1", data.host);
335
+ done();
336
+ });
337
+ });
338
+ });
339
+
340
+ });
341
+
342
+ });
@@ -0,0 +1,15 @@
1
+ The ISC License
2
+
3
+ Copyright (c) Isaac Z. Schlueter
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15
+ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1,37 @@
1
+ # inflight
2
+
3
+ Add callbacks to requests in flight to avoid async duplication
4
+
5
+ ## USAGE
6
+
7
+ ```javascript
8
+ var inflight = require('inflight')
9
+
10
+ // some request that does some stuff
11
+ function req(key, callback) {
12
+ // key is any random string. like a url or filename or whatever.
13
+ //
14
+ // will return either a falsey value, indicating that the
15
+ // request for this key is already in flight, or a new callback
16
+ // which when called will call all callbacks passed to inflightk
17
+ // with the same key
18
+ callback = inflight(key, callback)
19
+
20
+ // If we got a falsey value back, then there's already a req going
21
+ if (!callback) return
22
+
23
+ // this is where you'd fetch the url or whatever
24
+ // callback is also once()-ified, so it can safely be assigned
25
+ // to multiple events etc. First call wins.
26
+ setTimeout(function() {
27
+ callback(null, key)
28
+ }, 100)
29
+ }
30
+
31
+ // only assigns a single setTimeout
32
+ // when it dings, all cbs get called
33
+ req('foo', cb1)
34
+ req('foo', cb2)
35
+ req('foo', cb3)
36
+ req('foo', cb4)
37
+ ```
@@ -0,0 +1,54 @@
1
+ var wrappy = require('wrappy')
2
+ var reqs = Object.create(null)
3
+ var once = require('once')
4
+
5
+ module.exports = wrappy(inflight)
6
+
7
+ function inflight (key, cb) {
8
+ if (reqs[key]) {
9
+ reqs[key].push(cb)
10
+ return null
11
+ } else {
12
+ reqs[key] = [cb]
13
+ return makeres(key)
14
+ }
15
+ }
16
+
17
+ function makeres (key) {
18
+ return once(function RES () {
19
+ var cbs = reqs[key]
20
+ var len = cbs.length
21
+ var args = slice(arguments)
22
+
23
+ // XXX It's somewhat ambiguous whether a new callback added in this
24
+ // pass should be queued for later execution if something in the
25
+ // list of callbacks throws, or if it should just be discarded.
26
+ // However, it's such an edge case that it hardly matters, and either
27
+ // choice is likely as surprising as the other.
28
+ // As it happens, we do go ahead and schedule it for later execution.
29
+ try {
30
+ for (var i = 0; i < len; i++) {
31
+ cbs[i].apply(null, args)
32
+ }
33
+ } finally {
34
+ if (cbs.length > len) {
35
+ // added more in the interim.
36
+ // de-zalgo, just in case, but don't call again.
37
+ cbs.splice(0, len)
38
+ process.nextTick(function () {
39
+ RES.apply(null, args)
40
+ })
41
+ } else {
42
+ delete reqs[key]
43
+ }
44
+ }
45
+ })
46
+ }
47
+
48
+ function slice (args) {
49
+ var length = args.length
50
+ var array = []
51
+
52
+ for (var i = 0; i < length; i++) array[i] = args[i]
53
+ return array
54
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "inflight",
3
+ "version": "1.0.6",
4
+ "description": "Add callbacks to requests in flight to avoid async duplication",
5
+ "main": "inflight.js",
6
+ "files": [
7
+ "inflight.js"
8
+ ],
9
+ "dependencies": {
10
+ "once": "^1.3.0",
11
+ "wrappy": "1"
12
+ },
13
+ "devDependencies": {
14
+ "tap": "^7.1.2"
15
+ },
16
+ "scripts": {
17
+ "test": "tap test.js --100"
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "https://github.com/npm/inflight.git"
22
+ },
23
+ "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
24
+ "bugs": {
25
+ "url": "https://github.com/isaacs/inflight/issues"
26
+ },
27
+ "homepage": "https://github.com/isaacs/inflight",
28
+ "license": "ISC"
29
+ }
@@ -0,0 +1,16 @@
1
+ The ISC License
2
+
3
+ Copyright (c) Isaac Z. Schlueter
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
11
+ FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
+ PERFORMANCE OF THIS SOFTWARE.
16
+
@@ -0,0 +1,42 @@
1
+ Browser-friendly inheritance fully compatible with standard node.js
2
+ [inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).
3
+
4
+ This package exports standard `inherits` from node.js `util` module in
5
+ node environment, but also provides alternative browser-friendly
6
+ implementation through [browser
7
+ field](https://gist.github.com/shtylman/4339901). Alternative
8
+ implementation is a literal copy of standard one located in standalone
9
+ module to avoid requiring of `util`. It also has a shim for old
10
+ browsers with no `Object.create` support.
11
+
12
+ While keeping you sure you are using standard `inherits`
13
+ implementation in node.js environment, it allows bundlers such as
14
+ [browserify](https://github.com/substack/node-browserify) to not
15
+ include full `util` package to your client code if all you need is
16
+ just `inherits` function. It worth, because browser shim for `util`
17
+ package is large and `inherits` is often the single function you need
18
+ from it.
19
+
20
+ It's recommended to use this package instead of
21
+ `require('util').inherits` for any code that has chances to be used
22
+ not only in node.js but in browser too.
23
+
24
+ ## usage
25
+
26
+ ```js
27
+ var inherits = require('inherits');
28
+ // then use exactly as the standard one
29
+ ```
30
+
31
+ ## note on version ~1.0
32
+
33
+ Version ~1.0 had completely different motivation and is not compatible
34
+ neither with 2.0 nor with standard node.js `inherits`.
35
+
36
+ If you are using version ~1.0 and planning to switch to ~2.0, be
37
+ careful:
38
+
39
+ * new version uses `super_` instead of `super` for referencing
40
+ superclass
41
+ * new version overwrites current prototype while old one preserves any
42
+ existing fields on it
@@ -0,0 +1,7 @@
1
+ try {
2
+ var util = require('util');
3
+ if (typeof util.inherits !== 'function') throw '';
4
+ module.exports = util.inherits;
5
+ } catch (e) {
6
+ module.exports = require('./inherits_browser.js');
7
+ }
@@ -0,0 +1,23 @@
1
+ if (typeof Object.create === 'function') {
2
+ // implementation from standard node.js 'util' module
3
+ module.exports = function inherits(ctor, superCtor) {
4
+ ctor.super_ = superCtor
5
+ ctor.prototype = Object.create(superCtor.prototype, {
6
+ constructor: {
7
+ value: ctor,
8
+ enumerable: false,
9
+ writable: true,
10
+ configurable: true
11
+ }
12
+ });
13
+ };
14
+ } else {
15
+ // old school shim for old browsers
16
+ module.exports = function inherits(ctor, superCtor) {
17
+ ctor.super_ = superCtor
18
+ var TempCtor = function () {}
19
+ TempCtor.prototype = superCtor.prototype
20
+ ctor.prototype = new TempCtor()
21
+ ctor.prototype.constructor = ctor
22
+ }
23
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "inherits",
3
+ "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()",
4
+ "version": "2.0.3",
5
+ "keywords": [
6
+ "inheritance",
7
+ "class",
8
+ "klass",
9
+ "oop",
10
+ "object-oriented",
11
+ "inherits",
12
+ "browser",
13
+ "browserify"
14
+ ],
15
+ "main": "./inherits.js",
16
+ "browser": "./inherits_browser.js",
17
+ "repository": "git://github.com/isaacs/inherits",
18
+ "license": "ISC",
19
+ "scripts": {
20
+ "test": "node test"
21
+ },
22
+ "devDependencies": {
23
+ "tap": "^7.1.0"
24
+ },
25
+ "files": [
26
+ "inherits.js",
27
+ "inherits_browser.js"
28
+ ]
29
+ }
@@ -0,0 +1,6 @@
1
+
2
+ test:
3
+ @node_modules/.bin/tape test.js
4
+
5
+ .PHONY: test
6
+
@@ -0,0 +1,60 @@
1
+
2
+ # isarray
3
+
4
+ `Array#isArray` for older browsers.
5
+
6
+ [![build status](https://secure.travis-ci.org/juliangruber/isarray.svg)](http://travis-ci.org/juliangruber/isarray)
7
+ [![downloads](https://img.shields.io/npm/dm/isarray.svg)](https://www.npmjs.org/package/isarray)
8
+
9
+ [![browser support](https://ci.testling.com/juliangruber/isarray.png)
10
+ ](https://ci.testling.com/juliangruber/isarray)
11
+
12
+ ## Usage
13
+
14
+ ```js
15
+ var isArray = require('isarray');
16
+
17
+ console.log(isArray([])); // => true
18
+ console.log(isArray({})); // => false
19
+ ```
20
+
21
+ ## Installation
22
+
23
+ With [npm](http://npmjs.org) do
24
+
25
+ ```bash
26
+ $ npm install isarray
27
+ ```
28
+
29
+ Then bundle for the browser with
30
+ [browserify](https://github.com/substack/browserify).
31
+
32
+ With [component](http://component.io) do
33
+
34
+ ```bash
35
+ $ component install juliangruber/isarray
36
+ ```
37
+
38
+ ## License
39
+
40
+ (MIT)
41
+
42
+ Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
43
+
44
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
45
+ this software and associated documentation files (the "Software"), to deal in
46
+ the Software without restriction, including without limitation the rights to
47
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
48
+ of the Software, and to permit persons to whom the Software is furnished to do
49
+ so, subject to the following conditions:
50
+
51
+ The above copyright notice and this permission notice shall be included in all
52
+ copies or substantial portions of the Software.
53
+
54
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
55
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
56
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
57
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
58
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
59
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
60
+ SOFTWARE.
@@ -0,0 +1,19 @@
1
+ {
2
+ "name" : "isarray",
3
+ "description" : "Array#isArray for older browsers",
4
+ "version" : "0.0.1",
5
+ "repository" : "juliangruber/isarray",
6
+ "homepage": "https://github.com/juliangruber/isarray",
7
+ "main" : "index.js",
8
+ "scripts" : [
9
+ "index.js"
10
+ ],
11
+ "dependencies" : {},
12
+ "keywords": ["browser","isarray","array"],
13
+ "author": {
14
+ "name": "Julian Gruber",
15
+ "email": "mail@juliangruber.com",
16
+ "url": "http://juliangruber.com"
17
+ },
18
+ "license": "MIT"
19
+ }