UrgentcareCLI 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (308) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +60 -25
  4. data/Notes +1 -1
  5. data/README.md +5 -5
  6. data/Rakefile +2 -0
  7. data/UrgentCare.gemspec +3 -3
  8. data/background.jpg +0 -0
  9. data/lib/UrgentCare.rb +3 -0
  10. data/lib/UrgentCare/CLI.rb +6 -2
  11. data/lib/UrgentCare/version.rb +1 -1
  12. data/lib/Urgentcare/Scraper.rb +65 -23
  13. data/node_modules/.bin/rimraf +1 -0
  14. data/node_modules/.package-lock.json +250 -0
  15. data/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  16. data/node_modules/balanced-match/LICENSE.md +21 -0
  17. data/node_modules/balanced-match/README.md +97 -0
  18. data/node_modules/balanced-match/index.js +62 -0
  19. data/node_modules/balanced-match/package.json +48 -0
  20. data/node_modules/brace-expansion/LICENSE +21 -0
  21. data/node_modules/brace-expansion/README.md +129 -0
  22. data/node_modules/brace-expansion/index.js +201 -0
  23. data/node_modules/brace-expansion/package.json +47 -0
  24. data/node_modules/concat-map/.travis.yml +4 -0
  25. data/node_modules/concat-map/LICENSE +18 -0
  26. data/node_modules/concat-map/README.markdown +62 -0
  27. data/node_modules/concat-map/example/map.js +6 -0
  28. data/node_modules/concat-map/index.js +13 -0
  29. data/node_modules/concat-map/package.json +43 -0
  30. data/node_modules/concat-map/test/map.js +39 -0
  31. data/node_modules/core-util-is/LICENSE +19 -0
  32. data/node_modules/core-util-is/README.md +3 -0
  33. data/node_modules/core-util-is/float.patch +604 -0
  34. data/node_modules/core-util-is/lib/util.js +107 -0
  35. data/node_modules/core-util-is/package.json +32 -0
  36. data/node_modules/core-util-is/test.js +68 -0
  37. data/node_modules/fs.realpath/LICENSE +43 -0
  38. data/node_modules/fs.realpath/README.md +33 -0
  39. data/node_modules/fs.realpath/index.js +66 -0
  40. data/node_modules/fs.realpath/old.js +303 -0
  41. data/node_modules/fs.realpath/package.json +26 -0
  42. data/node_modules/glob/LICENSE +21 -0
  43. data/node_modules/glob/README.md +375 -0
  44. data/node_modules/glob/changelog.md +67 -0
  45. data/node_modules/glob/common.js +234 -0
  46. data/node_modules/glob/glob.js +788 -0
  47. data/node_modules/glob/package.json +51 -0
  48. data/node_modules/glob/sync.js +484 -0
  49. data/node_modules/immediate/LICENSE.txt +20 -0
  50. data/node_modules/immediate/README.md +93 -0
  51. data/node_modules/immediate/dist/immediate.js +75 -0
  52. data/node_modules/immediate/dist/immediate.min.js +1 -0
  53. data/node_modules/immediate/lib/browser.js +69 -0
  54. data/node_modules/immediate/lib/index.js +73 -0
  55. data/node_modules/immediate/package.json +42 -0
  56. data/node_modules/inflight/LICENSE +15 -0
  57. data/node_modules/inflight/README.md +37 -0
  58. data/node_modules/inflight/inflight.js +54 -0
  59. data/node_modules/inflight/package.json +29 -0
  60. data/node_modules/inherits/LICENSE +16 -0
  61. data/node_modules/inherits/README.md +42 -0
  62. data/node_modules/inherits/inherits.js +9 -0
  63. data/node_modules/inherits/inherits_browser.js +27 -0
  64. data/node_modules/inherits/package.json +29 -0
  65. data/node_modules/isarray/.npmignore +1 -0
  66. data/node_modules/isarray/.travis.yml +4 -0
  67. data/node_modules/isarray/Makefile +6 -0
  68. data/node_modules/isarray/README.md +60 -0
  69. data/node_modules/isarray/component.json +19 -0
  70. data/node_modules/isarray/index.js +5 -0
  71. data/node_modules/isarray/package.json +45 -0
  72. data/node_modules/isarray/test.js +20 -0
  73. data/node_modules/jszip/.codeclimate.yml +16 -0
  74. data/node_modules/jszip/.editorconfig +8 -0
  75. data/node_modules/jszip/.jshintignore +1 -0
  76. data/node_modules/jszip/.jshintrc +21 -0
  77. data/node_modules/jszip/.travis.yml +17 -0
  78. data/node_modules/jszip/CHANGES.md +163 -0
  79. data/node_modules/jszip/LICENSE.markdown +651 -0
  80. data/node_modules/jszip/README.markdown +35 -0
  81. data/node_modules/jszip/dist/jszip.js +30 -0
  82. data/node_modules/jszip/dist/jszip.min.js +13 -0
  83. data/node_modules/jszip/index.d.ts +270 -0
  84. data/node_modules/jszip/lib/base64.js +106 -0
  85. data/node_modules/jszip/lib/compressedObject.js +74 -0
  86. data/node_modules/jszip/lib/compressions.js +14 -0
  87. data/node_modules/jszip/lib/crc32.js +77 -0
  88. data/node_modules/jszip/lib/defaults.js +11 -0
  89. data/node_modules/jszip/lib/external.js +19 -0
  90. data/node_modules/jszip/lib/flate.js +85 -0
  91. data/node_modules/jszip/lib/generate/ZipFileWorker.js +540 -0
  92. data/node_modules/jszip/lib/generate/index.js +57 -0
  93. data/node_modules/jszip/lib/index.js +52 -0
  94. data/node_modules/jszip/lib/license_header.js +11 -0
  95. data/node_modules/jszip/lib/load.js +81 -0
  96. data/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +74 -0
  97. data/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +42 -0
  98. data/node_modules/jszip/lib/nodejsUtils.js +57 -0
  99. data/node_modules/jszip/lib/object.js +389 -0
  100. data/node_modules/jszip/lib/readable-stream-browser.js +9 -0
  101. data/node_modules/jszip/lib/reader/ArrayReader.js +57 -0
  102. data/node_modules/jszip/lib/reader/DataReader.js +116 -0
  103. data/node_modules/jszip/lib/reader/NodeBufferReader.js +19 -0
  104. data/node_modules/jszip/lib/reader/StringReader.js +38 -0
  105. data/node_modules/jszip/lib/reader/Uint8ArrayReader.js +22 -0
  106. data/node_modules/jszip/lib/reader/readerFor.js +28 -0
  107. data/node_modules/jszip/lib/signature.js +7 -0
  108. data/node_modules/jszip/lib/stream/ConvertWorker.js +26 -0
  109. data/node_modules/jszip/lib/stream/Crc32Probe.js +24 -0
  110. data/node_modules/jszip/lib/stream/DataLengthProbe.js +29 -0
  111. data/node_modules/jszip/lib/stream/DataWorker.js +116 -0
  112. data/node_modules/jszip/lib/stream/GenericWorker.js +263 -0
  113. data/node_modules/jszip/lib/stream/StreamHelper.js +212 -0
  114. data/node_modules/jszip/lib/support.js +38 -0
  115. data/node_modules/jszip/lib/utf8.js +275 -0
  116. data/node_modules/jszip/lib/utils.js +476 -0
  117. data/node_modules/jszip/lib/zipEntries.js +262 -0
  118. data/node_modules/jszip/lib/zipEntry.js +294 -0
  119. data/node_modules/jszip/lib/zipObject.js +133 -0
  120. data/node_modules/jszip/package.json +63 -0
  121. data/node_modules/jszip/vendor/FileSaver.js +247 -0
  122. data/node_modules/lie/README.md +62 -0
  123. data/node_modules/lie/dist/lie.js +350 -0
  124. data/node_modules/lie/dist/lie.min.js +1 -0
  125. data/node_modules/lie/dist/lie.polyfill.js +358 -0
  126. data/node_modules/lie/dist/lie.polyfill.min.js +1 -0
  127. data/node_modules/lie/lib/browser.js +273 -0
  128. data/node_modules/lie/lib/index.js +298 -0
  129. data/node_modules/lie/license.md +7 -0
  130. data/node_modules/lie/lie.d.ts +244 -0
  131. data/node_modules/lie/package.json +69 -0
  132. data/node_modules/lie/polyfill.js +4 -0
  133. data/node_modules/minimatch/LICENSE +15 -0
  134. data/node_modules/minimatch/README.md +209 -0
  135. data/node_modules/minimatch/minimatch.js +923 -0
  136. data/node_modules/minimatch/package.json +30 -0
  137. data/node_modules/once/LICENSE +15 -0
  138. data/node_modules/once/README.md +79 -0
  139. data/node_modules/once/once.js +42 -0
  140. data/node_modules/once/package.json +33 -0
  141. data/node_modules/pako/CHANGELOG.md +164 -0
  142. data/node_modules/pako/LICENSE +21 -0
  143. data/node_modules/pako/README.md +191 -0
  144. data/node_modules/pako/dist/pako.js +6818 -0
  145. data/node_modules/pako/dist/pako.min.js +1 -0
  146. data/node_modules/pako/dist/pako_deflate.js +3997 -0
  147. data/node_modules/pako/dist/pako_deflate.min.js +1 -0
  148. data/node_modules/pako/dist/pako_inflate.js +3300 -0
  149. data/node_modules/pako/dist/pako_inflate.min.js +1 -0
  150. data/node_modules/pako/index.js +14 -0
  151. data/node_modules/pako/lib/deflate.js +400 -0
  152. data/node_modules/pako/lib/inflate.js +423 -0
  153. data/node_modules/pako/lib/utils/common.js +105 -0
  154. data/node_modules/pako/lib/utils/strings.js +187 -0
  155. data/node_modules/pako/lib/zlib/README +59 -0
  156. data/node_modules/pako/lib/zlib/adler32.js +51 -0
  157. data/node_modules/pako/lib/zlib/constants.js +68 -0
  158. data/node_modules/pako/lib/zlib/crc32.js +59 -0
  159. data/node_modules/pako/lib/zlib/deflate.js +1874 -0
  160. data/node_modules/pako/lib/zlib/gzheader.js +58 -0
  161. data/node_modules/pako/lib/zlib/inffast.js +345 -0
  162. data/node_modules/pako/lib/zlib/inflate.js +1556 -0
  163. data/node_modules/pako/lib/zlib/inftrees.js +343 -0
  164. data/node_modules/pako/lib/zlib/messages.js +32 -0
  165. data/node_modules/pako/lib/zlib/trees.js +1222 -0
  166. data/node_modules/pako/lib/zlib/zstream.js +47 -0
  167. data/node_modules/pako/package.json +44 -0
  168. data/node_modules/path-is-absolute/index.js +20 -0
  169. data/node_modules/path-is-absolute/license +21 -0
  170. data/node_modules/path-is-absolute/package.json +43 -0
  171. data/node_modules/path-is-absolute/readme.md +59 -0
  172. data/node_modules/process-nextick-args/index.js +45 -0
  173. data/node_modules/process-nextick-args/license.md +19 -0
  174. data/node_modules/process-nextick-args/package.json +25 -0
  175. data/node_modules/process-nextick-args/readme.md +18 -0
  176. data/node_modules/readable-stream/.travis.yml +34 -0
  177. data/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  178. data/node_modules/readable-stream/GOVERNANCE.md +136 -0
  179. data/node_modules/readable-stream/LICENSE +47 -0
  180. data/node_modules/readable-stream/README.md +58 -0
  181. data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  182. data/node_modules/readable-stream/duplex-browser.js +1 -0
  183. data/node_modules/readable-stream/duplex.js +1 -0
  184. data/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
  185. data/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
  186. data/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
  187. data/node_modules/readable-stream/lib/_stream_transform.js +214 -0
  188. data/node_modules/readable-stream/lib/_stream_writable.js +687 -0
  189. data/node_modules/readable-stream/lib/internal/streams/BufferList.js +79 -0
  190. data/node_modules/readable-stream/lib/internal/streams/destroy.js +74 -0
  191. data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  192. data/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  193. data/node_modules/readable-stream/package.json +52 -0
  194. data/node_modules/readable-stream/passthrough.js +1 -0
  195. data/node_modules/readable-stream/readable-browser.js +7 -0
  196. data/node_modules/readable-stream/readable.js +19 -0
  197. data/node_modules/readable-stream/transform.js +1 -0
  198. data/node_modules/readable-stream/writable-browser.js +1 -0
  199. data/node_modules/readable-stream/writable.js +8 -0
  200. data/node_modules/rimraf/LICENSE +15 -0
  201. data/node_modules/rimraf/README.md +101 -0
  202. data/node_modules/rimraf/bin.js +50 -0
  203. data/node_modules/rimraf/package.json +29 -0
  204. data/node_modules/rimraf/rimraf.js +372 -0
  205. data/node_modules/safe-buffer/LICENSE +21 -0
  206. data/node_modules/safe-buffer/README.md +584 -0
  207. data/node_modules/safe-buffer/index.d.ts +187 -0
  208. data/node_modules/safe-buffer/index.js +62 -0
  209. data/node_modules/safe-buffer/package.json +37 -0
  210. data/node_modules/selenium-webdriver/CHANGES.md +1114 -0
  211. data/node_modules/selenium-webdriver/LICENSE +202 -0
  212. data/node_modules/selenium-webdriver/NOTICE +2 -0
  213. data/node_modules/selenium-webdriver/README.md +229 -0
  214. data/node_modules/selenium-webdriver/chrome.js +295 -0
  215. data/node_modules/selenium-webdriver/chromium.js +829 -0
  216. data/node_modules/selenium-webdriver/devtools/CDPConnection.js +35 -0
  217. data/node_modules/selenium-webdriver/edge.js +224 -0
  218. data/node_modules/selenium-webdriver/example/chrome_android.js +45 -0
  219. data/node_modules/selenium-webdriver/example/chrome_mobile_emulation.js +46 -0
  220. data/node_modules/selenium-webdriver/example/firefox_channels.js +84 -0
  221. data/node_modules/selenium-webdriver/example/google_search.js +50 -0
  222. data/node_modules/selenium-webdriver/example/google_search_test.js +70 -0
  223. data/node_modules/selenium-webdriver/example/headless.js +63 -0
  224. data/node_modules/selenium-webdriver/example/logging.js +64 -0
  225. data/node_modules/selenium-webdriver/firefox.js +789 -0
  226. data/node_modules/selenium-webdriver/http/index.js +324 -0
  227. data/node_modules/selenium-webdriver/http/util.js +172 -0
  228. data/node_modules/selenium-webdriver/ie.js +503 -0
  229. data/node_modules/selenium-webdriver/index.js +825 -0
  230. data/node_modules/selenium-webdriver/io/exec.js +162 -0
  231. data/node_modules/selenium-webdriver/io/index.js +348 -0
  232. data/node_modules/selenium-webdriver/io/zip.js +223 -0
  233. data/node_modules/selenium-webdriver/lib/atoms/find-elements.js +123 -0
  234. data/node_modules/selenium-webdriver/lib/atoms/get-attribute.js +101 -0
  235. data/node_modules/selenium-webdriver/lib/atoms/is-displayed.js +101 -0
  236. data/node_modules/selenium-webdriver/lib/atoms/mutation-listener.js +55 -0
  237. data/node_modules/selenium-webdriver/lib/by.js +415 -0
  238. data/node_modules/selenium-webdriver/lib/capabilities.js +553 -0
  239. data/node_modules/selenium-webdriver/lib/command.js +206 -0
  240. data/node_modules/selenium-webdriver/lib/error.js +605 -0
  241. data/node_modules/selenium-webdriver/lib/http.js +704 -0
  242. data/node_modules/selenium-webdriver/lib/input.js +946 -0
  243. data/node_modules/selenium-webdriver/lib/logging.js +661 -0
  244. data/node_modules/selenium-webdriver/lib/promise.js +285 -0
  245. data/node_modules/selenium-webdriver/lib/proxy.js +212 -0
  246. data/node_modules/selenium-webdriver/lib/session.js +77 -0
  247. data/node_modules/selenium-webdriver/lib/symbols.js +37 -0
  248. data/node_modules/selenium-webdriver/lib/until.js +429 -0
  249. data/node_modules/selenium-webdriver/lib/webdriver.js +2919 -0
  250. data/node_modules/selenium-webdriver/net/index.js +107 -0
  251. data/node_modules/selenium-webdriver/net/portprober.js +75 -0
  252. data/node_modules/selenium-webdriver/opera.js +406 -0
  253. data/node_modules/selenium-webdriver/package.json +54 -0
  254. data/node_modules/selenium-webdriver/proxy.js +32 -0
  255. data/node_modules/selenium-webdriver/remote/index.js +624 -0
  256. data/node_modules/selenium-webdriver/safari.js +168 -0
  257. data/node_modules/selenium-webdriver/testing/index.js +504 -0
  258. data/node_modules/set-immediate-shim/index.js +7 -0
  259. data/node_modules/set-immediate-shim/package.json +34 -0
  260. data/node_modules/set-immediate-shim/readme.md +31 -0
  261. data/node_modules/string_decoder/.travis.yml +50 -0
  262. data/node_modules/string_decoder/LICENSE +48 -0
  263. data/node_modules/string_decoder/README.md +47 -0
  264. data/node_modules/string_decoder/lib/string_decoder.js +296 -0
  265. data/node_modules/string_decoder/package.json +31 -0
  266. data/node_modules/tmp/CHANGELOG.md +288 -0
  267. data/node_modules/tmp/LICENSE +21 -0
  268. data/node_modules/tmp/README.md +365 -0
  269. data/node_modules/tmp/lib/tmp.js +780 -0
  270. data/node_modules/tmp/node_modules/.bin/rimraf +1 -0
  271. data/node_modules/tmp/node_modules/rimraf/CHANGELOG.md +65 -0
  272. data/node_modules/tmp/node_modules/rimraf/LICENSE +15 -0
  273. data/node_modules/tmp/node_modules/rimraf/README.md +101 -0
  274. data/node_modules/tmp/node_modules/rimraf/bin.js +68 -0
  275. data/node_modules/tmp/node_modules/rimraf/package.json +32 -0
  276. data/node_modules/tmp/node_modules/rimraf/rimraf.js +360 -0
  277. data/node_modules/tmp/package.json +58 -0
  278. data/node_modules/util-deprecate/History.md +16 -0
  279. data/node_modules/util-deprecate/LICENSE +24 -0
  280. data/node_modules/util-deprecate/README.md +53 -0
  281. data/node_modules/util-deprecate/browser.js +67 -0
  282. data/node_modules/util-deprecate/node.js +6 -0
  283. data/node_modules/util-deprecate/package.json +27 -0
  284. data/node_modules/wrappy/LICENSE +15 -0
  285. data/node_modules/wrappy/README.md +36 -0
  286. data/node_modules/wrappy/package.json +29 -0
  287. data/node_modules/wrappy/wrappy.js +33 -0
  288. data/node_modules/ws/LICENSE +21 -0
  289. data/node_modules/ws/README.md +496 -0
  290. data/node_modules/ws/browser.js +8 -0
  291. data/node_modules/ws/index.js +10 -0
  292. data/node_modules/ws/lib/buffer-util.js +129 -0
  293. data/node_modules/ws/lib/constants.js +10 -0
  294. data/node_modules/ws/lib/event-target.js +184 -0
  295. data/node_modules/ws/lib/extension.js +223 -0
  296. data/node_modules/ws/lib/limiter.js +55 -0
  297. data/node_modules/ws/lib/permessage-deflate.js +517 -0
  298. data/node_modules/ws/lib/receiver.js +507 -0
  299. data/node_modules/ws/lib/sender.js +405 -0
  300. data/node_modules/ws/lib/stream.js +165 -0
  301. data/node_modules/ws/lib/validation.js +104 -0
  302. data/node_modules/ws/lib/websocket-server.js +418 -0
  303. data/node_modules/ws/lib/websocket.js +942 -0
  304. data/node_modules/ws/package.json +56 -0
  305. data/package-lock.json +458 -0
  306. data/package.json +5 -0
  307. data/selenium.log +1 -0
  308. metadata +314 -19
@@ -0,0 +1,30 @@
1
+ {
2
+ "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me)",
3
+ "name": "minimatch",
4
+ "description": "a glob matcher in javascript",
5
+ "version": "3.0.4",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git://github.com/isaacs/minimatch.git"
9
+ },
10
+ "main": "minimatch.js",
11
+ "scripts": {
12
+ "test": "tap test/*.js --cov",
13
+ "preversion": "npm test",
14
+ "postversion": "npm publish",
15
+ "postpublish": "git push origin --all; git push origin --tags"
16
+ },
17
+ "engines": {
18
+ "node": "*"
19
+ },
20
+ "dependencies": {
21
+ "brace-expansion": "^1.1.7"
22
+ },
23
+ "devDependencies": {
24
+ "tap": "^10.3.2"
25
+ },
26
+ "license": "ISC",
27
+ "files": [
28
+ "minimatch.js"
29
+ ]
30
+ }
@@ -0,0 +1,15 @@
1
+ The ISC License
2
+
3
+ Copyright (c) Isaac Z. Schlueter and Contributors
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,79 @@
1
+ # once
2
+
3
+ Only call a function once.
4
+
5
+ ## usage
6
+
7
+ ```javascript
8
+ var once = require('once')
9
+
10
+ function load (file, cb) {
11
+ cb = once(cb)
12
+ loader.load('file')
13
+ loader.once('load', cb)
14
+ loader.once('error', cb)
15
+ }
16
+ ```
17
+
18
+ Or add to the Function.prototype in a responsible way:
19
+
20
+ ```javascript
21
+ // only has to be done once
22
+ require('once').proto()
23
+
24
+ function load (file, cb) {
25
+ cb = cb.once()
26
+ loader.load('file')
27
+ loader.once('load', cb)
28
+ loader.once('error', cb)
29
+ }
30
+ ```
31
+
32
+ Ironically, the prototype feature makes this module twice as
33
+ complicated as necessary.
34
+
35
+ To check whether you function has been called, use `fn.called`. Once the
36
+ function is called for the first time the return value of the original
37
+ function is saved in `fn.value` and subsequent calls will continue to
38
+ return this value.
39
+
40
+ ```javascript
41
+ var once = require('once')
42
+
43
+ function load (cb) {
44
+ cb = once(cb)
45
+ var stream = createStream()
46
+ stream.once('data', cb)
47
+ stream.once('end', function () {
48
+ if (!cb.called) cb(new Error('not found'))
49
+ })
50
+ }
51
+ ```
52
+
53
+ ## `once.strict(func)`
54
+
55
+ Throw an error if the function is called twice.
56
+
57
+ Some functions are expected to be called only once. Using `once` for them would
58
+ potentially hide logical errors.
59
+
60
+ In the example below, the `greet` function has to call the callback only once:
61
+
62
+ ```javascript
63
+ function greet (name, cb) {
64
+ // return is missing from the if statement
65
+ // when no name is passed, the callback is called twice
66
+ if (!name) cb('Hello anonymous')
67
+ cb('Hello ' + name)
68
+ }
69
+
70
+ function log (msg) {
71
+ console.log(msg)
72
+ }
73
+
74
+ // this will print 'Hello anonymous' but the logical error will be missed
75
+ greet(null, once(msg))
76
+
77
+ // once.strict will print 'Hello anonymous' and throw an error when the callback will be called the second time
78
+ greet(null, once.strict(msg))
79
+ ```
@@ -0,0 +1,42 @@
1
+ var wrappy = require('wrappy')
2
+ module.exports = wrappy(once)
3
+ module.exports.strict = wrappy(onceStrict)
4
+
5
+ once.proto = once(function () {
6
+ Object.defineProperty(Function.prototype, 'once', {
7
+ value: function () {
8
+ return once(this)
9
+ },
10
+ configurable: true
11
+ })
12
+
13
+ Object.defineProperty(Function.prototype, 'onceStrict', {
14
+ value: function () {
15
+ return onceStrict(this)
16
+ },
17
+ configurable: true
18
+ })
19
+ })
20
+
21
+ function once (fn) {
22
+ var f = function () {
23
+ if (f.called) return f.value
24
+ f.called = true
25
+ return f.value = fn.apply(this, arguments)
26
+ }
27
+ f.called = false
28
+ return f
29
+ }
30
+
31
+ function onceStrict (fn) {
32
+ var f = function () {
33
+ if (f.called)
34
+ throw new Error(f.onceError)
35
+ f.called = true
36
+ return f.value = fn.apply(this, arguments)
37
+ }
38
+ var name = fn.name || 'Function wrapped with `once`'
39
+ f.onceError = name + " shouldn't be called more than once"
40
+ f.called = false
41
+ return f
42
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "once",
3
+ "version": "1.4.0",
4
+ "description": "Run a function exactly one time",
5
+ "main": "once.js",
6
+ "directories": {
7
+ "test": "test"
8
+ },
9
+ "dependencies": {
10
+ "wrappy": "1"
11
+ },
12
+ "devDependencies": {
13
+ "tap": "^7.0.1"
14
+ },
15
+ "scripts": {
16
+ "test": "tap test/*.js"
17
+ },
18
+ "files": [
19
+ "once.js"
20
+ ],
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "git://github.com/isaacs/once"
24
+ },
25
+ "keywords": [
26
+ "once",
27
+ "function",
28
+ "one",
29
+ "single"
30
+ ],
31
+ "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
32
+ "license": "ISC"
33
+ }
@@ -0,0 +1,164 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+
9
+ ## [1.0.11] - 2020-01-29
10
+ ### Fixed
11
+ - Fix tests in node.js v12+, #179.
12
+
13
+
14
+ ## [1.0.10] - 2019-02-28
15
+ ### Fixed
16
+ - Fix minified version, #161.
17
+
18
+
19
+ ## [1.0.9] - 2019-02-28
20
+ ### Fixed
21
+ - Fix `new Buffer()` warning, #154.
22
+
23
+
24
+ ## [1.0.8] - 2019-01-14
25
+ ### Fixed
26
+ - Fix raw inflate with dictionary, #155.
27
+
28
+
29
+ ## [1.0.7] - 2018-11-29
30
+ ### Fixed
31
+ - Fixed RangeError in Crome 72, #150.
32
+
33
+
34
+ ## [1.0.6] - 2017-09-14
35
+ ### Changed
36
+ - Improve @std/esm compatibility.
37
+
38
+
39
+ ## [1.0.5] - 2017-03-17
40
+ ### Changed
41
+ - Maintenance. More formal `zlib` attribution and related
42
+ changes, #93. Thanks to @bastien-roucaries for the help.
43
+
44
+
45
+ ## [1.0.4] - 2016-12-15
46
+ ### Changed
47
+ - Bump dev dependencies.
48
+
49
+ ### Fixed
50
+ - Make sure `err.message` is filled on throw.
51
+
52
+ ### Added
53
+ - Code examples for utf-16 string encoding & object compression.
54
+
55
+
56
+ ## [1.0.3] - 2016-07-25
57
+ ### Fixed
58
+ - Maintenance: re-release to properly display latest version in npm registry
59
+ and badges. Because `npm publish` timestamp used instead of versions.
60
+
61
+
62
+ ## [1.0.2] - 2016-07-21
63
+ ### Fixed
64
+ - Fixed nasty bug in deflate (wrong `d_buf` offset), which could cause
65
+ broken data in some rare cases.
66
+ - Also released as 0.2.9 to give chance to old dependents, not updated to 1.x
67
+ version.
68
+
69
+
70
+ ## [1.0.1] - 2016-04-01
71
+ ### Added
72
+ - Added dictionary support. Thanks to @dignifiedquire.
73
+
74
+
75
+ ## [1.0.0] - 2016-02-17
76
+ ### Changed
77
+ - Maintenance release (semver, coding style).
78
+
79
+
80
+ ## [0.2.8] - 2015-09-14
81
+ ### Fixed
82
+ - Fixed regression after 0.2.4 for edge conditions in inflate wrapper (#65).
83
+ Added more tests to cover possible cases.
84
+
85
+
86
+ ## [0.2.7] - 2015-06-09
87
+ ### Added
88
+ - Added Z_SYNC_FLUSH support. Thanks to @TinoLange.
89
+
90
+
91
+ ## [0.2.6] - 2015-03-24
92
+ ### Added
93
+ - Allow ArrayBuffer input.
94
+
95
+
96
+ ## [0.2.5] - 2014-07-19
97
+ ### Fixed
98
+ - Workaround for Chrome 38.0.2096.0 script parser bug, #30.
99
+
100
+
101
+ ## [0.2.4] - 2014-07-07
102
+ ### Fixed
103
+ - Fixed bug in inflate wrapper, #29
104
+
105
+
106
+ ## [0.2.3] - 2014-06-09
107
+ ### Changed
108
+ - Maintenance release, dependencies update.
109
+
110
+
111
+ ## [0.2.2] - 2014-06-04
112
+ ### Fixed
113
+ - Fixed iOS 5.1 Safari issue with `apply(typed_array)`, #26.
114
+
115
+
116
+ ## [0.2.1] - 2014-05-01
117
+ ### Fixed
118
+ - Fixed collision on switch dynamic/fixed tables.
119
+
120
+
121
+ ## [0.2.0] - 2014-04-18
122
+ ### Added
123
+ - Added custom gzip headers support.
124
+ - Added strings support.
125
+ - More coverage tests.
126
+
127
+ ### Fixed
128
+ - Improved memory allocations for small chunks.
129
+ - ZStream properties rename/cleanup.
130
+
131
+
132
+ ## [0.1.1] - 2014-03-20
133
+ ### Fixed
134
+ - Bugfixes for inflate/deflate.
135
+
136
+
137
+ ## [0.1.0] - 2014-03-15
138
+ ### Added
139
+ - First release.
140
+
141
+
142
+ [1.0.10]: https://github.com/nodeca/pako/compare/1.0.10...1.0.11
143
+ [1.0.10]: https://github.com/nodeca/pako/compare/1.0.9...1.0.10
144
+ [1.0.9]: https://github.com/nodeca/pako/compare/1.0.8...1.0.9
145
+ [1.0.8]: https://github.com/nodeca/pako/compare/1.0.7...1.0.8
146
+ [1.0.7]: https://github.com/nodeca/pako/compare/1.0.6...1.0.7
147
+ [1.0.6]: https://github.com/nodeca/pako/compare/1.0.5...1.0.6
148
+ [1.0.5]: https://github.com/nodeca/pako/compare/1.0.4...1.0.5
149
+ [1.0.4]: https://github.com/nodeca/pako/compare/1.0.3...1.0.4
150
+ [1.0.3]: https://github.com/nodeca/pako/compare/1.0.2...1.0.3
151
+ [1.0.2]: https://github.com/nodeca/pako/compare/1.0.1...1.0.2
152
+ [1.0.1]: https://github.com/nodeca/pako/compare/1.0.0...1.0.1
153
+ [1.0.0]: https://github.com/nodeca/pako/compare/0.2.8...1.0.0
154
+ [0.2.8]: https://github.com/nodeca/pako/compare/0.2.7...0.2.8
155
+ [0.2.7]: https://github.com/nodeca/pako/compare/0.2.6...0.2.7
156
+ [0.2.6]: https://github.com/nodeca/pako/compare/0.2.5...0.2.6
157
+ [0.2.5]: https://github.com/nodeca/pako/compare/0.2.4...0.2.5
158
+ [0.2.4]: https://github.com/nodeca/pako/compare/0.2.3...0.2.4
159
+ [0.2.3]: https://github.com/nodeca/pako/compare/0.2.2...0.2.3
160
+ [0.2.2]: https://github.com/nodeca/pako/compare/0.2.1...0.2.2
161
+ [0.2.1]: https://github.com/nodeca/pako/compare/0.2.0...0.2.1
162
+ [0.2.0]: https://github.com/nodeca/pako/compare/0.1.1...0.2.0
163
+ [0.1.1]: https://github.com/nodeca/pako/compare/0.1.0...0.1.1
164
+ [0.1.0]: https://github.com/nodeca/pako/releases/tag/0.1.0
@@ -0,0 +1,21 @@
1
+ (The MIT License)
2
+
3
+ Copyright (C) 2014-2017 by Vitaly Puzrin and Andrei Tuputcyn
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,191 @@
1
+ pako
2
+ ==========================================
3
+
4
+ [![Build Status](https://travis-ci.org/nodeca/pako.svg?branch=master)](https://travis-ci.org/nodeca/pako)
5
+ [![NPM version](https://img.shields.io/npm/v/pako.svg)](https://www.npmjs.org/package/pako)
6
+
7
+ > zlib port to javascript, very fast!
8
+
9
+ __Why pako is cool:__
10
+
11
+ - Almost as fast in modern JS engines as C implementation (see benchmarks).
12
+ - Works in browsers, you can browserify any separate component.
13
+ - Chunking support for big blobs.
14
+ - Results are binary equal to well known [zlib](http://www.zlib.net/) (now contains ported zlib v1.2.8).
15
+
16
+ This project was done to understand how fast JS can be and is it necessary to
17
+ develop native C modules for CPU-intensive tasks. Enjoy the result!
18
+
19
+
20
+ __Famous projects, using pako:__
21
+
22
+ - [browserify](http://browserify.org/) (via [browserify-zlib](https://github.com/devongovett/browserify-zlib))
23
+ - [JSZip](http://stuk.github.io/jszip/)
24
+ - [mincer](https://github.com/nodeca/mincer)
25
+ - [JS-Git](https://github.com/creationix/js-git) and
26
+ [Tedit](https://chrome.google.com/webstore/detail/tedit-development-environ/ooekdijbnbbjdfjocaiflnjgoohnblgf)
27
+ by [@creationix](https://github.com/creationix)
28
+
29
+
30
+ __Benchmarks:__
31
+
32
+ ```
33
+ node v0.10.26, 1mb sample:
34
+
35
+ deflate-dankogai x 4.73 ops/sec ±0.82% (15 runs sampled)
36
+ deflate-gildas x 4.58 ops/sec ±2.33% (15 runs sampled)
37
+ deflate-imaya x 3.22 ops/sec ±3.95% (12 runs sampled)
38
+ ! deflate-pako x 6.99 ops/sec ±0.51% (21 runs sampled)
39
+ deflate-pako-string x 5.89 ops/sec ±0.77% (18 runs sampled)
40
+ deflate-pako-untyped x 4.39 ops/sec ±1.58% (14 runs sampled)
41
+ * deflate-zlib x 14.71 ops/sec ±4.23% (59 runs sampled)
42
+ inflate-dankogai x 32.16 ops/sec ±0.13% (56 runs sampled)
43
+ inflate-imaya x 30.35 ops/sec ±0.92% (53 runs sampled)
44
+ ! inflate-pako x 69.89 ops/sec ±1.46% (71 runs sampled)
45
+ inflate-pako-string x 19.22 ops/sec ±1.86% (49 runs sampled)
46
+ inflate-pako-untyped x 17.19 ops/sec ±0.85% (32 runs sampled)
47
+ * inflate-zlib x 70.03 ops/sec ±1.64% (81 runs sampled)
48
+
49
+ node v0.11.12, 1mb sample:
50
+
51
+ deflate-dankogai x 5.60 ops/sec ±0.49% (17 runs sampled)
52
+ deflate-gildas x 5.06 ops/sec ±6.00% (16 runs sampled)
53
+ deflate-imaya x 3.52 ops/sec ±3.71% (13 runs sampled)
54
+ ! deflate-pako x 11.52 ops/sec ±0.22% (32 runs sampled)
55
+ deflate-pako-string x 9.53 ops/sec ±1.12% (27 runs sampled)
56
+ deflate-pako-untyped x 5.44 ops/sec ±0.72% (17 runs sampled)
57
+ * deflate-zlib x 14.05 ops/sec ±3.34% (63 runs sampled)
58
+ inflate-dankogai x 42.19 ops/sec ±0.09% (56 runs sampled)
59
+ inflate-imaya x 79.68 ops/sec ±1.07% (68 runs sampled)
60
+ ! inflate-pako x 97.52 ops/sec ±0.83% (80 runs sampled)
61
+ inflate-pako-string x 45.19 ops/sec ±1.69% (57 runs sampled)
62
+ inflate-pako-untyped x 24.35 ops/sec ±2.59% (40 runs sampled)
63
+ * inflate-zlib x 60.32 ops/sec ±1.36% (69 runs sampled)
64
+ ```
65
+
66
+ zlib's test is partially affected by marshalling (that make sense for inflate only).
67
+ You can change deflate level to 0 in benchmark source, to investigate details.
68
+ For deflate level 6 results can be considered as correct.
69
+
70
+ __Install:__
71
+
72
+ node.js:
73
+
74
+ ```
75
+ npm install pako
76
+ ```
77
+
78
+ browser:
79
+
80
+ ```
81
+ bower install pako
82
+ ```
83
+
84
+
85
+ Example & API
86
+ -------------
87
+
88
+ Full docs - http://nodeca.github.io/pako/
89
+
90
+ ```javascript
91
+ var pako = require('pako');
92
+
93
+ // Deflate
94
+ //
95
+ var input = new Uint8Array();
96
+ //... fill input data here
97
+ var output = pako.deflate(input);
98
+
99
+ // Inflate (simple wrapper can throw exception on broken stream)
100
+ //
101
+ var compressed = new Uint8Array();
102
+ //... fill data to uncompress here
103
+ try {
104
+ var result = pako.inflate(compressed);
105
+ } catch (err) {
106
+ console.log(err);
107
+ }
108
+
109
+ //
110
+ // Alternate interface for chunking & without exceptions
111
+ //
112
+
113
+ var inflator = new pako.Inflate();
114
+
115
+ inflator.push(chunk1, false);
116
+ inflator.push(chunk2, false);
117
+ ...
118
+ inflator.push(chunkN, true); // true -> last chunk
119
+
120
+ if (inflator.err) {
121
+ console.log(inflator.msg);
122
+ }
123
+
124
+ var output = inflator.result;
125
+
126
+ ```
127
+
128
+ Sometime you can wish to work with strings. For example, to send
129
+ big objects as json to server. Pako detects input data type. You can
130
+ force output to be string with option `{ to: 'string' }`.
131
+
132
+ ```javascript
133
+ var pako = require('pako');
134
+
135
+ var test = { my: 'super', puper: [456, 567], awesome: 'pako' };
136
+
137
+ var binaryString = pako.deflate(JSON.stringify(test), { to: 'string' });
138
+
139
+ //
140
+ // Here you can do base64 encode, make xhr requests and so on.
141
+ //
142
+
143
+ var restored = JSON.parse(pako.inflate(binaryString, { to: 'string' }));
144
+ ```
145
+
146
+
147
+ Notes
148
+ -----
149
+
150
+ Pako does not contain some specific zlib functions:
151
+
152
+ - __deflate__ - methods `deflateCopy`, `deflateBound`, `deflateParams`,
153
+ `deflatePending`, `deflatePrime`, `deflateTune`.
154
+ - __inflate__ - methods `inflateCopy`, `inflateMark`,
155
+ `inflatePrime`, `inflateGetDictionary`, `inflateSync`, `inflateSyncPoint`, `inflateUndermine`.
156
+ - High level inflate/deflate wrappers (classes) may not support some flush
157
+ modes. Those should work: Z_NO_FLUSH, Z_FINISH, Z_SYNC_FLUSH.
158
+
159
+
160
+ pako for enterprise
161
+ -------------------
162
+
163
+ Available as part of the Tidelift Subscription
164
+
165
+ The maintainers of pako and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-pako?utm_source=npm-pako&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
166
+
167
+
168
+ Authors
169
+ -------
170
+
171
+ - Andrey Tupitsin [@anrd83](https://github.com/andr83)
172
+ - Vitaly Puzrin [@puzrin](https://github.com/puzrin)
173
+
174
+ Personal thanks to:
175
+
176
+ - Vyacheslav Egorov ([@mraleph](https://github.com/mraleph)) for his awesome
177
+ tutorials about optimising JS code for v8, [IRHydra](http://mrale.ph/irhydra/)
178
+ tool and his advices.
179
+ - David Duponchel ([@dduponchel](https://github.com/dduponchel)) for help with
180
+ testing.
181
+
182
+ Original implementation (in C):
183
+
184
+ - [zlib](http://zlib.net/) by Jean-loup Gailly and Mark Adler.
185
+
186
+
187
+ License
188
+ -------
189
+
190
+ - MIT - all files, except `/lib/zlib` folder
191
+ - ZLIB - `/lib/zlib` content