postdoc 0.1.2 → 0.2.0.beta4

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