UrgentcareCLI 0.1.1 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (318) hide show
  1. checksums.yaml +4 -4
  2. data/lib/UrgentCare/CLI.rb +57 -22
  3. data/lib/UrgentCare/Office.rb +1 -5
  4. data/lib/UrgentCare/Scraper.rb +71 -0
  5. data/lib/UrgentCare/version.rb +2 -2
  6. data/lib/UrgentCare.rb +2 -1
  7. metadata +27 -321
  8. data/.gitignore +0 -11
  9. data/.rspec +0 -3
  10. data/.travis.yml +0 -5
  11. data/CODE_OF_CONDUCT.md +0 -74
  12. data/Gemfile +0 -12
  13. data/Gemfile.lock +0 -84
  14. data/LICENSE.txt +0 -21
  15. data/Notes +0 -41
  16. data/README.md +0 -41
  17. data/Rakefile +0 -8
  18. data/UrgentCare.gemspec +0 -39
  19. data/background.jpg +0 -0
  20. data/data.txt +0 -4
  21. data/lib/Urgentcare/Scraper.rb +0 -78
  22. data/node_modules/.bin/rimraf +0 -1
  23. data/node_modules/.package-lock.json +0 -250
  24. data/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  25. data/node_modules/balanced-match/LICENSE.md +0 -21
  26. data/node_modules/balanced-match/README.md +0 -97
  27. data/node_modules/balanced-match/index.js +0 -62
  28. data/node_modules/balanced-match/package.json +0 -48
  29. data/node_modules/brace-expansion/LICENSE +0 -21
  30. data/node_modules/brace-expansion/README.md +0 -129
  31. data/node_modules/brace-expansion/index.js +0 -201
  32. data/node_modules/brace-expansion/package.json +0 -47
  33. data/node_modules/concat-map/.travis.yml +0 -4
  34. data/node_modules/concat-map/LICENSE +0 -18
  35. data/node_modules/concat-map/README.markdown +0 -62
  36. data/node_modules/concat-map/example/map.js +0 -6
  37. data/node_modules/concat-map/index.js +0 -13
  38. data/node_modules/concat-map/package.json +0 -43
  39. data/node_modules/concat-map/test/map.js +0 -39
  40. data/node_modules/core-util-is/LICENSE +0 -19
  41. data/node_modules/core-util-is/README.md +0 -3
  42. data/node_modules/core-util-is/float.patch +0 -604
  43. data/node_modules/core-util-is/lib/util.js +0 -107
  44. data/node_modules/core-util-is/package.json +0 -32
  45. data/node_modules/core-util-is/test.js +0 -68
  46. data/node_modules/fs.realpath/LICENSE +0 -43
  47. data/node_modules/fs.realpath/README.md +0 -33
  48. data/node_modules/fs.realpath/index.js +0 -66
  49. data/node_modules/fs.realpath/old.js +0 -303
  50. data/node_modules/fs.realpath/package.json +0 -26
  51. data/node_modules/glob/LICENSE +0 -21
  52. data/node_modules/glob/README.md +0 -375
  53. data/node_modules/glob/changelog.md +0 -67
  54. data/node_modules/glob/common.js +0 -234
  55. data/node_modules/glob/glob.js +0 -788
  56. data/node_modules/glob/package.json +0 -51
  57. data/node_modules/glob/sync.js +0 -484
  58. data/node_modules/immediate/LICENSE.txt +0 -20
  59. data/node_modules/immediate/README.md +0 -93
  60. data/node_modules/immediate/dist/immediate.js +0 -75
  61. data/node_modules/immediate/dist/immediate.min.js +0 -1
  62. data/node_modules/immediate/lib/browser.js +0 -69
  63. data/node_modules/immediate/lib/index.js +0 -73
  64. data/node_modules/immediate/package.json +0 -42
  65. data/node_modules/inflight/LICENSE +0 -15
  66. data/node_modules/inflight/README.md +0 -37
  67. data/node_modules/inflight/inflight.js +0 -54
  68. data/node_modules/inflight/package.json +0 -29
  69. data/node_modules/inherits/LICENSE +0 -16
  70. data/node_modules/inherits/README.md +0 -42
  71. data/node_modules/inherits/inherits.js +0 -9
  72. data/node_modules/inherits/inherits_browser.js +0 -27
  73. data/node_modules/inherits/package.json +0 -29
  74. data/node_modules/isarray/.npmignore +0 -1
  75. data/node_modules/isarray/.travis.yml +0 -4
  76. data/node_modules/isarray/Makefile +0 -6
  77. data/node_modules/isarray/README.md +0 -60
  78. data/node_modules/isarray/component.json +0 -19
  79. data/node_modules/isarray/index.js +0 -5
  80. data/node_modules/isarray/package.json +0 -45
  81. data/node_modules/isarray/test.js +0 -20
  82. data/node_modules/jszip/.codeclimate.yml +0 -16
  83. data/node_modules/jszip/.editorconfig +0 -8
  84. data/node_modules/jszip/.jshintignore +0 -1
  85. data/node_modules/jszip/.jshintrc +0 -21
  86. data/node_modules/jszip/.travis.yml +0 -17
  87. data/node_modules/jszip/CHANGES.md +0 -163
  88. data/node_modules/jszip/LICENSE.markdown +0 -651
  89. data/node_modules/jszip/README.markdown +0 -35
  90. data/node_modules/jszip/dist/jszip.js +0 -30
  91. data/node_modules/jszip/dist/jszip.min.js +0 -13
  92. data/node_modules/jszip/index.d.ts +0 -270
  93. data/node_modules/jszip/lib/base64.js +0 -106
  94. data/node_modules/jszip/lib/compressedObject.js +0 -74
  95. data/node_modules/jszip/lib/compressions.js +0 -14
  96. data/node_modules/jszip/lib/crc32.js +0 -77
  97. data/node_modules/jszip/lib/defaults.js +0 -11
  98. data/node_modules/jszip/lib/external.js +0 -19
  99. data/node_modules/jszip/lib/flate.js +0 -85
  100. data/node_modules/jszip/lib/generate/ZipFileWorker.js +0 -540
  101. data/node_modules/jszip/lib/generate/index.js +0 -57
  102. data/node_modules/jszip/lib/index.js +0 -52
  103. data/node_modules/jszip/lib/license_header.js +0 -11
  104. data/node_modules/jszip/lib/load.js +0 -81
  105. data/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +0 -74
  106. data/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +0 -42
  107. data/node_modules/jszip/lib/nodejsUtils.js +0 -57
  108. data/node_modules/jszip/lib/object.js +0 -389
  109. data/node_modules/jszip/lib/readable-stream-browser.js +0 -9
  110. data/node_modules/jszip/lib/reader/ArrayReader.js +0 -57
  111. data/node_modules/jszip/lib/reader/DataReader.js +0 -116
  112. data/node_modules/jszip/lib/reader/NodeBufferReader.js +0 -19
  113. data/node_modules/jszip/lib/reader/StringReader.js +0 -38
  114. data/node_modules/jszip/lib/reader/Uint8ArrayReader.js +0 -22
  115. data/node_modules/jszip/lib/reader/readerFor.js +0 -28
  116. data/node_modules/jszip/lib/signature.js +0 -7
  117. data/node_modules/jszip/lib/stream/ConvertWorker.js +0 -26
  118. data/node_modules/jszip/lib/stream/Crc32Probe.js +0 -24
  119. data/node_modules/jszip/lib/stream/DataLengthProbe.js +0 -29
  120. data/node_modules/jszip/lib/stream/DataWorker.js +0 -116
  121. data/node_modules/jszip/lib/stream/GenericWorker.js +0 -263
  122. data/node_modules/jszip/lib/stream/StreamHelper.js +0 -212
  123. data/node_modules/jszip/lib/support.js +0 -38
  124. data/node_modules/jszip/lib/utf8.js +0 -275
  125. data/node_modules/jszip/lib/utils.js +0 -476
  126. data/node_modules/jszip/lib/zipEntries.js +0 -262
  127. data/node_modules/jszip/lib/zipEntry.js +0 -294
  128. data/node_modules/jszip/lib/zipObject.js +0 -133
  129. data/node_modules/jszip/package.json +0 -63
  130. data/node_modules/jszip/vendor/FileSaver.js +0 -247
  131. data/node_modules/lie/README.md +0 -62
  132. data/node_modules/lie/dist/lie.js +0 -350
  133. data/node_modules/lie/dist/lie.min.js +0 -1
  134. data/node_modules/lie/dist/lie.polyfill.js +0 -358
  135. data/node_modules/lie/dist/lie.polyfill.min.js +0 -1
  136. data/node_modules/lie/lib/browser.js +0 -273
  137. data/node_modules/lie/lib/index.js +0 -298
  138. data/node_modules/lie/license.md +0 -7
  139. data/node_modules/lie/lie.d.ts +0 -244
  140. data/node_modules/lie/package.json +0 -69
  141. data/node_modules/lie/polyfill.js +0 -4
  142. data/node_modules/minimatch/LICENSE +0 -15
  143. data/node_modules/minimatch/README.md +0 -209
  144. data/node_modules/minimatch/minimatch.js +0 -923
  145. data/node_modules/minimatch/package.json +0 -30
  146. data/node_modules/once/LICENSE +0 -15
  147. data/node_modules/once/README.md +0 -79
  148. data/node_modules/once/once.js +0 -42
  149. data/node_modules/once/package.json +0 -33
  150. data/node_modules/pako/CHANGELOG.md +0 -164
  151. data/node_modules/pako/LICENSE +0 -21
  152. data/node_modules/pako/README.md +0 -191
  153. data/node_modules/pako/dist/pako.js +0 -6818
  154. data/node_modules/pako/dist/pako.min.js +0 -1
  155. data/node_modules/pako/dist/pako_deflate.js +0 -3997
  156. data/node_modules/pako/dist/pako_deflate.min.js +0 -1
  157. data/node_modules/pako/dist/pako_inflate.js +0 -3300
  158. data/node_modules/pako/dist/pako_inflate.min.js +0 -1
  159. data/node_modules/pako/index.js +0 -14
  160. data/node_modules/pako/lib/deflate.js +0 -400
  161. data/node_modules/pako/lib/inflate.js +0 -423
  162. data/node_modules/pako/lib/utils/common.js +0 -105
  163. data/node_modules/pako/lib/utils/strings.js +0 -187
  164. data/node_modules/pako/lib/zlib/README +0 -59
  165. data/node_modules/pako/lib/zlib/adler32.js +0 -51
  166. data/node_modules/pako/lib/zlib/constants.js +0 -68
  167. data/node_modules/pako/lib/zlib/crc32.js +0 -59
  168. data/node_modules/pako/lib/zlib/deflate.js +0 -1874
  169. data/node_modules/pako/lib/zlib/gzheader.js +0 -58
  170. data/node_modules/pako/lib/zlib/inffast.js +0 -345
  171. data/node_modules/pako/lib/zlib/inflate.js +0 -1556
  172. data/node_modules/pako/lib/zlib/inftrees.js +0 -343
  173. data/node_modules/pako/lib/zlib/messages.js +0 -32
  174. data/node_modules/pako/lib/zlib/trees.js +0 -1222
  175. data/node_modules/pako/lib/zlib/zstream.js +0 -47
  176. data/node_modules/pako/package.json +0 -44
  177. data/node_modules/path-is-absolute/index.js +0 -20
  178. data/node_modules/path-is-absolute/license +0 -21
  179. data/node_modules/path-is-absolute/package.json +0 -43
  180. data/node_modules/path-is-absolute/readme.md +0 -59
  181. data/node_modules/process-nextick-args/index.js +0 -45
  182. data/node_modules/process-nextick-args/license.md +0 -19
  183. data/node_modules/process-nextick-args/package.json +0 -25
  184. data/node_modules/process-nextick-args/readme.md +0 -18
  185. data/node_modules/readable-stream/.travis.yml +0 -34
  186. data/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  187. data/node_modules/readable-stream/GOVERNANCE.md +0 -136
  188. data/node_modules/readable-stream/LICENSE +0 -47
  189. data/node_modules/readable-stream/README.md +0 -58
  190. data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  191. data/node_modules/readable-stream/duplex-browser.js +0 -1
  192. data/node_modules/readable-stream/duplex.js +0 -1
  193. data/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  194. data/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  195. data/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  196. data/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  197. data/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  198. data/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  199. data/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  200. data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  201. data/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  202. data/node_modules/readable-stream/package.json +0 -52
  203. data/node_modules/readable-stream/passthrough.js +0 -1
  204. data/node_modules/readable-stream/readable-browser.js +0 -7
  205. data/node_modules/readable-stream/readable.js +0 -19
  206. data/node_modules/readable-stream/transform.js +0 -1
  207. data/node_modules/readable-stream/writable-browser.js +0 -1
  208. data/node_modules/readable-stream/writable.js +0 -8
  209. data/node_modules/rimraf/LICENSE +0 -15
  210. data/node_modules/rimraf/README.md +0 -101
  211. data/node_modules/rimraf/bin.js +0 -50
  212. data/node_modules/rimraf/package.json +0 -29
  213. data/node_modules/rimraf/rimraf.js +0 -372
  214. data/node_modules/safe-buffer/LICENSE +0 -21
  215. data/node_modules/safe-buffer/README.md +0 -584
  216. data/node_modules/safe-buffer/index.d.ts +0 -187
  217. data/node_modules/safe-buffer/index.js +0 -62
  218. data/node_modules/safe-buffer/package.json +0 -37
  219. data/node_modules/selenium-webdriver/CHANGES.md +0 -1114
  220. data/node_modules/selenium-webdriver/LICENSE +0 -202
  221. data/node_modules/selenium-webdriver/NOTICE +0 -2
  222. data/node_modules/selenium-webdriver/README.md +0 -229
  223. data/node_modules/selenium-webdriver/chrome.js +0 -295
  224. data/node_modules/selenium-webdriver/chromium.js +0 -829
  225. data/node_modules/selenium-webdriver/devtools/CDPConnection.js +0 -35
  226. data/node_modules/selenium-webdriver/edge.js +0 -224
  227. data/node_modules/selenium-webdriver/example/chrome_android.js +0 -45
  228. data/node_modules/selenium-webdriver/example/chrome_mobile_emulation.js +0 -46
  229. data/node_modules/selenium-webdriver/example/firefox_channels.js +0 -84
  230. data/node_modules/selenium-webdriver/example/google_search.js +0 -50
  231. data/node_modules/selenium-webdriver/example/google_search_test.js +0 -70
  232. data/node_modules/selenium-webdriver/example/headless.js +0 -63
  233. data/node_modules/selenium-webdriver/example/logging.js +0 -64
  234. data/node_modules/selenium-webdriver/firefox.js +0 -789
  235. data/node_modules/selenium-webdriver/http/index.js +0 -324
  236. data/node_modules/selenium-webdriver/http/util.js +0 -172
  237. data/node_modules/selenium-webdriver/ie.js +0 -503
  238. data/node_modules/selenium-webdriver/index.js +0 -825
  239. data/node_modules/selenium-webdriver/io/exec.js +0 -162
  240. data/node_modules/selenium-webdriver/io/index.js +0 -348
  241. data/node_modules/selenium-webdriver/io/zip.js +0 -223
  242. data/node_modules/selenium-webdriver/lib/atoms/find-elements.js +0 -123
  243. data/node_modules/selenium-webdriver/lib/atoms/get-attribute.js +0 -101
  244. data/node_modules/selenium-webdriver/lib/atoms/is-displayed.js +0 -101
  245. data/node_modules/selenium-webdriver/lib/atoms/mutation-listener.js +0 -55
  246. data/node_modules/selenium-webdriver/lib/by.js +0 -415
  247. data/node_modules/selenium-webdriver/lib/capabilities.js +0 -553
  248. data/node_modules/selenium-webdriver/lib/command.js +0 -206
  249. data/node_modules/selenium-webdriver/lib/error.js +0 -605
  250. data/node_modules/selenium-webdriver/lib/http.js +0 -704
  251. data/node_modules/selenium-webdriver/lib/input.js +0 -946
  252. data/node_modules/selenium-webdriver/lib/logging.js +0 -661
  253. data/node_modules/selenium-webdriver/lib/promise.js +0 -285
  254. data/node_modules/selenium-webdriver/lib/proxy.js +0 -212
  255. data/node_modules/selenium-webdriver/lib/session.js +0 -77
  256. data/node_modules/selenium-webdriver/lib/symbols.js +0 -37
  257. data/node_modules/selenium-webdriver/lib/until.js +0 -429
  258. data/node_modules/selenium-webdriver/lib/webdriver.js +0 -2919
  259. data/node_modules/selenium-webdriver/net/index.js +0 -107
  260. data/node_modules/selenium-webdriver/net/portprober.js +0 -75
  261. data/node_modules/selenium-webdriver/opera.js +0 -406
  262. data/node_modules/selenium-webdriver/package.json +0 -54
  263. data/node_modules/selenium-webdriver/proxy.js +0 -32
  264. data/node_modules/selenium-webdriver/remote/index.js +0 -624
  265. data/node_modules/selenium-webdriver/safari.js +0 -168
  266. data/node_modules/selenium-webdriver/testing/index.js +0 -504
  267. data/node_modules/set-immediate-shim/index.js +0 -7
  268. data/node_modules/set-immediate-shim/package.json +0 -34
  269. data/node_modules/set-immediate-shim/readme.md +0 -31
  270. data/node_modules/string_decoder/.travis.yml +0 -50
  271. data/node_modules/string_decoder/LICENSE +0 -48
  272. data/node_modules/string_decoder/README.md +0 -47
  273. data/node_modules/string_decoder/lib/string_decoder.js +0 -296
  274. data/node_modules/string_decoder/package.json +0 -31
  275. data/node_modules/tmp/CHANGELOG.md +0 -288
  276. data/node_modules/tmp/LICENSE +0 -21
  277. data/node_modules/tmp/README.md +0 -365
  278. data/node_modules/tmp/lib/tmp.js +0 -780
  279. data/node_modules/tmp/node_modules/.bin/rimraf +0 -1
  280. data/node_modules/tmp/node_modules/rimraf/CHANGELOG.md +0 -65
  281. data/node_modules/tmp/node_modules/rimraf/LICENSE +0 -15
  282. data/node_modules/tmp/node_modules/rimraf/README.md +0 -101
  283. data/node_modules/tmp/node_modules/rimraf/bin.js +0 -68
  284. data/node_modules/tmp/node_modules/rimraf/package.json +0 -32
  285. data/node_modules/tmp/node_modules/rimraf/rimraf.js +0 -360
  286. data/node_modules/tmp/package.json +0 -58
  287. data/node_modules/util-deprecate/History.md +0 -16
  288. data/node_modules/util-deprecate/LICENSE +0 -24
  289. data/node_modules/util-deprecate/README.md +0 -53
  290. data/node_modules/util-deprecate/browser.js +0 -67
  291. data/node_modules/util-deprecate/node.js +0 -6
  292. data/node_modules/util-deprecate/package.json +0 -27
  293. data/node_modules/wrappy/LICENSE +0 -15
  294. data/node_modules/wrappy/README.md +0 -36
  295. data/node_modules/wrappy/package.json +0 -29
  296. data/node_modules/wrappy/wrappy.js +0 -33
  297. data/node_modules/ws/LICENSE +0 -21
  298. data/node_modules/ws/README.md +0 -496
  299. data/node_modules/ws/browser.js +0 -8
  300. data/node_modules/ws/index.js +0 -10
  301. data/node_modules/ws/lib/buffer-util.js +0 -129
  302. data/node_modules/ws/lib/constants.js +0 -10
  303. data/node_modules/ws/lib/event-target.js +0 -184
  304. data/node_modules/ws/lib/extension.js +0 -223
  305. data/node_modules/ws/lib/limiter.js +0 -55
  306. data/node_modules/ws/lib/permessage-deflate.js +0 -517
  307. data/node_modules/ws/lib/receiver.js +0 -507
  308. data/node_modules/ws/lib/sender.js +0 -405
  309. data/node_modules/ws/lib/stream.js +0 -165
  310. data/node_modules/ws/lib/validation.js +0 -104
  311. data/node_modules/ws/lib/websocket-server.js +0 -418
  312. data/node_modules/ws/lib/websocket.js +0 -942
  313. data/node_modules/ws/package.json +0 -56
  314. data/package-lock.json +0 -458
  315. data/package.json +0 -5
  316. data/selenium.log +0 -1
  317. data/spec.md +0 -6
  318. data/test.data +0 -2110
@@ -1,63 +0,0 @@
1
- {
2
- "name": "jszip",
3
- "version": "3.6.0",
4
- "author": "Stuart Knightley <stuart@stuartk.com>",
5
- "description": "Create, read and edit .zip files with JavaScript http://stuartk.com/jszip",
6
- "scripts": {
7
- "test": "npm run test-node && npm run test-browser",
8
- "test-node": "qunit --require ./test/helpers/test-utils.js --require ./test/helpers/node-test-utils.js test/asserts/",
9
- "test-browser": "grunt build && grunt test",
10
- "lint": "grunt jshint"
11
- },
12
- "contributors": [
13
- {
14
- "name": "Franz Buchinger"
15
- },
16
- {
17
- "name": "António Afonso"
18
- },
19
- {
20
- "name": "David Duponchel"
21
- },
22
- {
23
- "name": "yiminghe"
24
- }
25
- ],
26
- "main": "./lib/index",
27
- "browser": {
28
- "readable-stream": "./lib/readable-stream-browser.js",
29
- "./lib/index": "./dist/jszip.min.js"
30
- },
31
- "types": "./index.d.ts",
32
- "repository": {
33
- "type": "git",
34
- "url": "https://github.com/Stuk/jszip.git"
35
- },
36
- "keywords": [
37
- "zip",
38
- "deflate",
39
- "inflate"
40
- ],
41
- "devDependencies": {
42
- "browserify": "~13.0.0",
43
- "grunt": "~0.4.1",
44
- "grunt-browserify": "~5.0.0",
45
- "grunt-cli": "~1.1.0",
46
- "grunt-contrib-connect": "~2.0.0",
47
- "grunt-contrib-jshint": "~1.0.0",
48
- "grunt-contrib-uglify": "~4.0.1",
49
- "grunt-saucelabs": "Stuk/grunt-saucelabs#v10.0.0",
50
- "jshint": "~2.9.1",
51
- "jszip-utils": "~0.0.2",
52
- "package-json-versionify": "1.0.2",
53
- "qunit": "~2.9.2",
54
- "tmp": "0.0.28"
55
- },
56
- "dependencies": {
57
- "lie": "~3.3.0",
58
- "pako": "~1.0.2",
59
- "readable-stream": "~2.3.6",
60
- "set-immediate-shim": "~1.0.1"
61
- },
62
- "license": "(MIT OR GPL-3.0)"
63
- }
@@ -1,247 +0,0 @@
1
- /*! FileSaver.js
2
- * A saveAs() FileSaver implementation.
3
- * 2014-01-24
4
- *
5
- * By Eli Grey, http://eligrey.com
6
- * License: X11/MIT
7
- * See LICENSE.md
8
- */
9
-
10
- /*global self */
11
- /*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */
12
-
13
- /*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
14
-
15
- var saveAs = saveAs
16
- // IE 10+ (native saveAs)
17
- || (typeof navigator !== "undefined" &&
18
- navigator.msSaveOrOpenBlob && navigator.msSaveOrOpenBlob.bind(navigator))
19
- // Everyone else
20
- || (function(view) {
21
- "use strict";
22
- // IE <10 is explicitly unsupported
23
- if (typeof navigator !== "undefined" &&
24
- /MSIE [1-9]\./.test(navigator.userAgent)) {
25
- return;
26
- }
27
- var
28
- doc = view.document
29
- // only get URL when necessary in case BlobBuilder.js hasn't overridden it yet
30
- , get_URL = function() {
31
- return view.URL || view.webkitURL || view;
32
- }
33
- , URL = view.URL || view.webkitURL || view
34
- , save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a")
35
- , can_use_save_link = !view.externalHost && "download" in save_link
36
- , click = function(node) {
37
- var event = doc.createEvent("MouseEvents");
38
- event.initMouseEvent(
39
- "click", true, false, view, 0, 0, 0, 0, 0
40
- , false, false, false, false, 0, null
41
- );
42
- node.dispatchEvent(event);
43
- }
44
- , webkit_req_fs = view.webkitRequestFileSystem
45
- , req_fs = view.requestFileSystem || webkit_req_fs || view.mozRequestFileSystem
46
- , throw_outside = function(ex) {
47
- (view.setImmediate || view.setTimeout)(function() {
48
- throw ex;
49
- }, 0);
50
- }
51
- , force_saveable_type = "application/octet-stream"
52
- , fs_min_size = 0
53
- , deletion_queue = []
54
- , process_deletion_queue = function() {
55
- var i = deletion_queue.length;
56
- while (i--) {
57
- var file = deletion_queue[i];
58
- if (typeof file === "string") { // file is an object URL
59
- URL.revokeObjectURL(file);
60
- } else { // file is a File
61
- file.remove();
62
- }
63
- }
64
- deletion_queue.length = 0; // clear queue
65
- }
66
- , dispatch = function(filesaver, event_types, event) {
67
- event_types = [].concat(event_types);
68
- var i = event_types.length;
69
- while (i--) {
70
- var listener = filesaver["on" + event_types[i]];
71
- if (typeof listener === "function") {
72
- try {
73
- listener.call(filesaver, event || filesaver);
74
- } catch (ex) {
75
- throw_outside(ex);
76
- }
77
- }
78
- }
79
- }
80
- , FileSaver = function(blob, name) {
81
- // First try a.download, then web filesystem, then object URLs
82
- var
83
- filesaver = this
84
- , type = blob.type
85
- , blob_changed = false
86
- , object_url
87
- , target_view
88
- , get_object_url = function() {
89
- var object_url = get_URL().createObjectURL(blob);
90
- deletion_queue.push(object_url);
91
- return object_url;
92
- }
93
- , dispatch_all = function() {
94
- dispatch(filesaver, "writestart progress write writeend".split(" "));
95
- }
96
- // on any filesys errors revert to saving with object URLs
97
- , fs_error = function() {
98
- // don't create more object URLs than needed
99
- if (blob_changed || !object_url) {
100
- object_url = get_object_url(blob);
101
- }
102
- if (target_view) {
103
- target_view.location.href = object_url;
104
- } else {
105
- window.open(object_url, "_blank");
106
- }
107
- filesaver.readyState = filesaver.DONE;
108
- dispatch_all();
109
- }
110
- , abortable = function(func) {
111
- return function() {
112
- if (filesaver.readyState !== filesaver.DONE) {
113
- return func.apply(this, arguments);
114
- }
115
- };
116
- }
117
- , create_if_not_found = {create: true, exclusive: false}
118
- , slice
119
- ;
120
- filesaver.readyState = filesaver.INIT;
121
- if (!name) {
122
- name = "download";
123
- }
124
- if (can_use_save_link) {
125
- object_url = get_object_url(blob);
126
- // FF for Android has a nasty garbage collection mechanism
127
- // that turns all objects that are not pure javascript into 'deadObject'
128
- // this means `doc` and `save_link` are unusable and need to be recreated
129
- // `view` is usable though:
130
- doc = view.document;
131
- save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a");
132
- save_link.href = object_url;
133
- save_link.download = name;
134
- var event = doc.createEvent("MouseEvents");
135
- event.initMouseEvent(
136
- "click", true, false, view, 0, 0, 0, 0, 0
137
- , false, false, false, false, 0, null
138
- );
139
- save_link.dispatchEvent(event);
140
- filesaver.readyState = filesaver.DONE;
141
- dispatch_all();
142
- return;
143
- }
144
- // Object and web filesystem URLs have a problem saving in Google Chrome when
145
- // viewed in a tab, so I force save with application/octet-stream
146
- // http://code.google.com/p/chromium/issues/detail?id=91158
147
- if (view.chrome && type && type !== force_saveable_type) {
148
- slice = blob.slice || blob.webkitSlice;
149
- blob = slice.call(blob, 0, blob.size, force_saveable_type);
150
- blob_changed = true;
151
- }
152
- // Since I can't be sure that the guessed media type will trigger a download
153
- // in WebKit, I append .download to the filename.
154
- // https://bugs.webkit.org/show_bug.cgi?id=65440
155
- if (webkit_req_fs && name !== "download") {
156
- name += ".download";
157
- }
158
- if (type === force_saveable_type || webkit_req_fs) {
159
- target_view = view;
160
- }
161
- if (!req_fs) {
162
- fs_error();
163
- return;
164
- }
165
- fs_min_size += blob.size;
166
- req_fs(view.TEMPORARY, fs_min_size, abortable(function(fs) {
167
- fs.root.getDirectory("saved", create_if_not_found, abortable(function(dir) {
168
- var save = function() {
169
- dir.getFile(name, create_if_not_found, abortable(function(file) {
170
- file.createWriter(abortable(function(writer) {
171
- writer.onwriteend = function(event) {
172
- target_view.location.href = file.toURL();
173
- deletion_queue.push(file);
174
- filesaver.readyState = filesaver.DONE;
175
- dispatch(filesaver, "writeend", event);
176
- };
177
- writer.onerror = function() {
178
- var error = writer.error;
179
- if (error.code !== error.ABORT_ERR) {
180
- fs_error();
181
- }
182
- };
183
- "writestart progress write abort".split(" ").forEach(function(event) {
184
- writer["on" + event] = filesaver["on" + event];
185
- });
186
- writer.write(blob);
187
- filesaver.abort = function() {
188
- writer.abort();
189
- filesaver.readyState = filesaver.DONE;
190
- };
191
- filesaver.readyState = filesaver.WRITING;
192
- }), fs_error);
193
- }), fs_error);
194
- };
195
- dir.getFile(name, {create: false}, abortable(function(file) {
196
- // delete file if it already exists
197
- file.remove();
198
- save();
199
- }), abortable(function(ex) {
200
- if (ex.code === ex.NOT_FOUND_ERR) {
201
- save();
202
- } else {
203
- fs_error();
204
- }
205
- }));
206
- }), fs_error);
207
- }), fs_error);
208
- }
209
- , FS_proto = FileSaver.prototype
210
- , saveAs = function(blob, name) {
211
- return new FileSaver(blob, name);
212
- }
213
- ;
214
- FS_proto.abort = function() {
215
- var filesaver = this;
216
- filesaver.readyState = filesaver.DONE;
217
- dispatch(filesaver, "abort");
218
- };
219
- FS_proto.readyState = FS_proto.INIT = 0;
220
- FS_proto.WRITING = 1;
221
- FS_proto.DONE = 2;
222
-
223
- FS_proto.error =
224
- FS_proto.onwritestart =
225
- FS_proto.onprogress =
226
- FS_proto.onwrite =
227
- FS_proto.onabort =
228
- FS_proto.onerror =
229
- FS_proto.onwriteend =
230
- null;
231
-
232
- view.addEventListener("unload", process_deletion_queue, false);
233
- saveAs.unload = function() {
234
- process_deletion_queue();
235
- view.removeEventListener("unload", process_deletion_queue, false);
236
- };
237
- return saveAs;
238
- }(
239
- typeof self !== "undefined" && self
240
- || typeof window !== "undefined" && window
241
- || this.content
242
- ));
243
- // `self` is undefined in Firefox for Android content script context
244
- // while `this` is nsIContentFrameMessageManager
245
- // with an attribute `content` that corresponds to the window
246
-
247
- if (typeof module !== "undefined") module.exports = saveAs;
@@ -1,62 +0,0 @@
1
- # lie
2
- <a href="http://promises-aplus.github.com/promises-spec">
3
- <img src="http://promises-aplus.github.com/promises-spec/assets/logo-small.png"
4
- alt="Promises/A+ logo" title="Promises/A+ 1.1 compliant" align="right" />
5
- </a> [![Build Status](https://travis-ci.org/calvinmetcalf/lie.svg)](https://travis-ci.org/calvinmetcalf/lie)
6
-
7
- lie is a small, performant promise library implementing the [Promises/A+ spec](http://promises-aplus.github.com/promises-spec/) (Version 1.1).
8
-
9
- Originally a fork of [Ruben Verborgh](https://github.com/RubenVerborgh)'s [promiscuous](https://github.com/RubenVerborgh/promiscuous), with version 2.6 it became a fork of [ayepromise](https://github.com/cburgmer/ayepromise) by [Chris Burgmer](https://github.com/cburgmer).
10
-
11
- ```bash
12
- npm install lie
13
-
14
- ```
15
-
16
- ```javascript
17
- var Promise = require('lie');
18
- // or use the pollyfill
19
- require('lie/polyfill');
20
- ```
21
-
22
- ## Usage
23
-
24
- Either use it with [browserify](http://browserify.org/) (recommended) or grab one of the files from the dist folder:
25
-
26
- - lie.js/lie.min.js exposes 'Promise' either as a UMD module or from the global scope, depending on if a CJS or AMD loader is available.
27
- - lie.polyfill.js/lie.polyfill.min.js adds 'Promise' to the global scope only if it's not already defined (not a UMD).
28
-
29
- ## API
30
-
31
- Implements the standard ES6 api:
32
-
33
- ```js
34
- new Promise(function(resolve, reject){
35
- doSomething(function(err, result) {
36
- if (err) {
37
- reject(err);
38
- } else {
39
- resolve(result);
40
- }
41
- });
42
- }).then(function (value) {
43
- //on success
44
- }, function (reason) {
45
- //on error
46
- }).catch(function (reason) {
47
- //shortcut for error handling
48
- });
49
-
50
- Promise.all([
51
- //array of promises or values
52
- ]).then(function ([/* array of results */]));
53
-
54
- Promise.race([
55
- //array of promises or values
56
- ]);
57
- // either resolves or rejects depending on the first value to do so
58
- ```
59
-
60
- ## Unhandled Rejections
61
-
62
- In Node.js, lie emits an `unhandledRejection` event when a rejected promise isn't caught, in line with [how io.js does it](https://iojs.org/api/process.html#process_event_unhandledrejection). This allows it to act as a promise shim in both Node.js and the browser.