UrgentcareCLI 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -0
- data/Gemfile.lock +60 -25
- data/Notes +1 -1
- data/README.md +5 -5
- data/Rakefile +2 -0
- data/UrgentCare.gemspec +3 -3
- data/background.jpg +0 -0
- data/lib/UrgentCare.rb +3 -0
- data/lib/UrgentCare/CLI.rb +6 -2
- data/lib/UrgentCare/version.rb +1 -1
- data/lib/Urgentcare/Scraper.rb +65 -23
- data/node_modules/.bin/rimraf +1 -0
- data/node_modules/.package-lock.json +250 -0
- data/node_modules/balanced-match/.github/FUNDING.yml +2 -0
- data/node_modules/balanced-match/LICENSE.md +21 -0
- data/node_modules/balanced-match/README.md +97 -0
- data/node_modules/balanced-match/index.js +62 -0
- data/node_modules/balanced-match/package.json +48 -0
- data/node_modules/brace-expansion/LICENSE +21 -0
- data/node_modules/brace-expansion/README.md +129 -0
- data/node_modules/brace-expansion/index.js +201 -0
- data/node_modules/brace-expansion/package.json +47 -0
- data/node_modules/concat-map/.travis.yml +4 -0
- data/node_modules/concat-map/LICENSE +18 -0
- data/node_modules/concat-map/README.markdown +62 -0
- data/node_modules/concat-map/example/map.js +6 -0
- data/node_modules/concat-map/index.js +13 -0
- data/node_modules/concat-map/package.json +43 -0
- data/node_modules/concat-map/test/map.js +39 -0
- data/node_modules/core-util-is/LICENSE +19 -0
- data/node_modules/core-util-is/README.md +3 -0
- data/node_modules/core-util-is/float.patch +604 -0
- data/node_modules/core-util-is/lib/util.js +107 -0
- data/node_modules/core-util-is/package.json +32 -0
- data/node_modules/core-util-is/test.js +68 -0
- data/node_modules/fs.realpath/LICENSE +43 -0
- data/node_modules/fs.realpath/README.md +33 -0
- data/node_modules/fs.realpath/index.js +66 -0
- data/node_modules/fs.realpath/old.js +303 -0
- data/node_modules/fs.realpath/package.json +26 -0
- data/node_modules/glob/LICENSE +21 -0
- data/node_modules/glob/README.md +375 -0
- data/node_modules/glob/changelog.md +67 -0
- data/node_modules/glob/common.js +234 -0
- data/node_modules/glob/glob.js +788 -0
- data/node_modules/glob/package.json +51 -0
- data/node_modules/glob/sync.js +484 -0
- data/node_modules/immediate/LICENSE.txt +20 -0
- data/node_modules/immediate/README.md +93 -0
- data/node_modules/immediate/dist/immediate.js +75 -0
- data/node_modules/immediate/dist/immediate.min.js +1 -0
- data/node_modules/immediate/lib/browser.js +69 -0
- data/node_modules/immediate/lib/index.js +73 -0
- data/node_modules/immediate/package.json +42 -0
- data/node_modules/inflight/LICENSE +15 -0
- data/node_modules/inflight/README.md +37 -0
- data/node_modules/inflight/inflight.js +54 -0
- data/node_modules/inflight/package.json +29 -0
- data/node_modules/inherits/LICENSE +16 -0
- data/node_modules/inherits/README.md +42 -0
- data/node_modules/inherits/inherits.js +9 -0
- data/node_modules/inherits/inherits_browser.js +27 -0
- data/node_modules/inherits/package.json +29 -0
- data/node_modules/isarray/.npmignore +1 -0
- data/node_modules/isarray/.travis.yml +4 -0
- data/node_modules/isarray/Makefile +6 -0
- data/node_modules/isarray/README.md +60 -0
- data/node_modules/isarray/component.json +19 -0
- data/node_modules/isarray/index.js +5 -0
- data/node_modules/isarray/package.json +45 -0
- data/node_modules/isarray/test.js +20 -0
- data/node_modules/jszip/.codeclimate.yml +16 -0
- data/node_modules/jszip/.editorconfig +8 -0
- data/node_modules/jszip/.jshintignore +1 -0
- data/node_modules/jszip/.jshintrc +21 -0
- data/node_modules/jszip/.travis.yml +17 -0
- data/node_modules/jszip/CHANGES.md +163 -0
- data/node_modules/jszip/LICENSE.markdown +651 -0
- data/node_modules/jszip/README.markdown +35 -0
- data/node_modules/jszip/dist/jszip.js +30 -0
- data/node_modules/jszip/dist/jszip.min.js +13 -0
- data/node_modules/jszip/index.d.ts +270 -0
- data/node_modules/jszip/lib/base64.js +106 -0
- data/node_modules/jszip/lib/compressedObject.js +74 -0
- data/node_modules/jszip/lib/compressions.js +14 -0
- data/node_modules/jszip/lib/crc32.js +77 -0
- data/node_modules/jszip/lib/defaults.js +11 -0
- data/node_modules/jszip/lib/external.js +19 -0
- data/node_modules/jszip/lib/flate.js +85 -0
- data/node_modules/jszip/lib/generate/ZipFileWorker.js +540 -0
- data/node_modules/jszip/lib/generate/index.js +57 -0
- data/node_modules/jszip/lib/index.js +52 -0
- data/node_modules/jszip/lib/license_header.js +11 -0
- data/node_modules/jszip/lib/load.js +81 -0
- data/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +74 -0
- data/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +42 -0
- data/node_modules/jszip/lib/nodejsUtils.js +57 -0
- data/node_modules/jszip/lib/object.js +389 -0
- data/node_modules/jszip/lib/readable-stream-browser.js +9 -0
- data/node_modules/jszip/lib/reader/ArrayReader.js +57 -0
- data/node_modules/jszip/lib/reader/DataReader.js +116 -0
- data/node_modules/jszip/lib/reader/NodeBufferReader.js +19 -0
- data/node_modules/jszip/lib/reader/StringReader.js +38 -0
- data/node_modules/jszip/lib/reader/Uint8ArrayReader.js +22 -0
- data/node_modules/jszip/lib/reader/readerFor.js +28 -0
- data/node_modules/jszip/lib/signature.js +7 -0
- data/node_modules/jszip/lib/stream/ConvertWorker.js +26 -0
- data/node_modules/jszip/lib/stream/Crc32Probe.js +24 -0
- data/node_modules/jszip/lib/stream/DataLengthProbe.js +29 -0
- data/node_modules/jszip/lib/stream/DataWorker.js +116 -0
- data/node_modules/jszip/lib/stream/GenericWorker.js +263 -0
- data/node_modules/jszip/lib/stream/StreamHelper.js +212 -0
- data/node_modules/jszip/lib/support.js +38 -0
- data/node_modules/jszip/lib/utf8.js +275 -0
- data/node_modules/jszip/lib/utils.js +476 -0
- data/node_modules/jszip/lib/zipEntries.js +262 -0
- data/node_modules/jszip/lib/zipEntry.js +294 -0
- data/node_modules/jszip/lib/zipObject.js +133 -0
- data/node_modules/jszip/package.json +63 -0
- data/node_modules/jszip/vendor/FileSaver.js +247 -0
- data/node_modules/lie/README.md +62 -0
- data/node_modules/lie/dist/lie.js +350 -0
- data/node_modules/lie/dist/lie.min.js +1 -0
- data/node_modules/lie/dist/lie.polyfill.js +358 -0
- data/node_modules/lie/dist/lie.polyfill.min.js +1 -0
- data/node_modules/lie/lib/browser.js +273 -0
- data/node_modules/lie/lib/index.js +298 -0
- data/node_modules/lie/license.md +7 -0
- data/node_modules/lie/lie.d.ts +244 -0
- data/node_modules/lie/package.json +69 -0
- data/node_modules/lie/polyfill.js +4 -0
- data/node_modules/minimatch/LICENSE +15 -0
- data/node_modules/minimatch/README.md +209 -0
- data/node_modules/minimatch/minimatch.js +923 -0
- data/node_modules/minimatch/package.json +30 -0
- data/node_modules/once/LICENSE +15 -0
- data/node_modules/once/README.md +79 -0
- data/node_modules/once/once.js +42 -0
- data/node_modules/once/package.json +33 -0
- data/node_modules/pako/CHANGELOG.md +164 -0
- data/node_modules/pako/LICENSE +21 -0
- data/node_modules/pako/README.md +191 -0
- data/node_modules/pako/dist/pako.js +6818 -0
- data/node_modules/pako/dist/pako.min.js +1 -0
- data/node_modules/pako/dist/pako_deflate.js +3997 -0
- data/node_modules/pako/dist/pako_deflate.min.js +1 -0
- data/node_modules/pako/dist/pako_inflate.js +3300 -0
- data/node_modules/pako/dist/pako_inflate.min.js +1 -0
- data/node_modules/pako/index.js +14 -0
- data/node_modules/pako/lib/deflate.js +400 -0
- data/node_modules/pako/lib/inflate.js +423 -0
- data/node_modules/pako/lib/utils/common.js +105 -0
- data/node_modules/pako/lib/utils/strings.js +187 -0
- data/node_modules/pako/lib/zlib/README +59 -0
- data/node_modules/pako/lib/zlib/adler32.js +51 -0
- data/node_modules/pako/lib/zlib/constants.js +68 -0
- data/node_modules/pako/lib/zlib/crc32.js +59 -0
- data/node_modules/pako/lib/zlib/deflate.js +1874 -0
- data/node_modules/pako/lib/zlib/gzheader.js +58 -0
- data/node_modules/pako/lib/zlib/inffast.js +345 -0
- data/node_modules/pako/lib/zlib/inflate.js +1556 -0
- data/node_modules/pako/lib/zlib/inftrees.js +343 -0
- data/node_modules/pako/lib/zlib/messages.js +32 -0
- data/node_modules/pako/lib/zlib/trees.js +1222 -0
- data/node_modules/pako/lib/zlib/zstream.js +47 -0
- data/node_modules/pako/package.json +44 -0
- data/node_modules/path-is-absolute/index.js +20 -0
- data/node_modules/path-is-absolute/license +21 -0
- data/node_modules/path-is-absolute/package.json +43 -0
- data/node_modules/path-is-absolute/readme.md +59 -0
- data/node_modules/process-nextick-args/index.js +45 -0
- data/node_modules/process-nextick-args/license.md +19 -0
- data/node_modules/process-nextick-args/package.json +25 -0
- data/node_modules/process-nextick-args/readme.md +18 -0
- data/node_modules/readable-stream/.travis.yml +34 -0
- data/node_modules/readable-stream/CONTRIBUTING.md +38 -0
- data/node_modules/readable-stream/GOVERNANCE.md +136 -0
- data/node_modules/readable-stream/LICENSE +47 -0
- data/node_modules/readable-stream/README.md +58 -0
- data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
- data/node_modules/readable-stream/duplex-browser.js +1 -0
- data/node_modules/readable-stream/duplex.js +1 -0
- data/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
- data/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
- data/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
- data/node_modules/readable-stream/lib/_stream_transform.js +214 -0
- data/node_modules/readable-stream/lib/_stream_writable.js +687 -0
- data/node_modules/readable-stream/lib/internal/streams/BufferList.js +79 -0
- data/node_modules/readable-stream/lib/internal/streams/destroy.js +74 -0
- data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
- data/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
- data/node_modules/readable-stream/package.json +52 -0
- data/node_modules/readable-stream/passthrough.js +1 -0
- data/node_modules/readable-stream/readable-browser.js +7 -0
- data/node_modules/readable-stream/readable.js +19 -0
- data/node_modules/readable-stream/transform.js +1 -0
- data/node_modules/readable-stream/writable-browser.js +1 -0
- data/node_modules/readable-stream/writable.js +8 -0
- data/node_modules/rimraf/LICENSE +15 -0
- data/node_modules/rimraf/README.md +101 -0
- data/node_modules/rimraf/bin.js +50 -0
- data/node_modules/rimraf/package.json +29 -0
- data/node_modules/rimraf/rimraf.js +372 -0
- data/node_modules/safe-buffer/LICENSE +21 -0
- data/node_modules/safe-buffer/README.md +584 -0
- data/node_modules/safe-buffer/index.d.ts +187 -0
- data/node_modules/safe-buffer/index.js +62 -0
- data/node_modules/safe-buffer/package.json +37 -0
- data/node_modules/selenium-webdriver/CHANGES.md +1114 -0
- data/node_modules/selenium-webdriver/LICENSE +202 -0
- data/node_modules/selenium-webdriver/NOTICE +2 -0
- data/node_modules/selenium-webdriver/README.md +229 -0
- data/node_modules/selenium-webdriver/chrome.js +295 -0
- data/node_modules/selenium-webdriver/chromium.js +829 -0
- data/node_modules/selenium-webdriver/devtools/CDPConnection.js +35 -0
- data/node_modules/selenium-webdriver/edge.js +224 -0
- data/node_modules/selenium-webdriver/example/chrome_android.js +45 -0
- data/node_modules/selenium-webdriver/example/chrome_mobile_emulation.js +46 -0
- data/node_modules/selenium-webdriver/example/firefox_channels.js +84 -0
- data/node_modules/selenium-webdriver/example/google_search.js +50 -0
- data/node_modules/selenium-webdriver/example/google_search_test.js +70 -0
- data/node_modules/selenium-webdriver/example/headless.js +63 -0
- data/node_modules/selenium-webdriver/example/logging.js +64 -0
- data/node_modules/selenium-webdriver/firefox.js +789 -0
- data/node_modules/selenium-webdriver/http/index.js +324 -0
- data/node_modules/selenium-webdriver/http/util.js +172 -0
- data/node_modules/selenium-webdriver/ie.js +503 -0
- data/node_modules/selenium-webdriver/index.js +825 -0
- data/node_modules/selenium-webdriver/io/exec.js +162 -0
- data/node_modules/selenium-webdriver/io/index.js +348 -0
- data/node_modules/selenium-webdriver/io/zip.js +223 -0
- data/node_modules/selenium-webdriver/lib/atoms/find-elements.js +123 -0
- data/node_modules/selenium-webdriver/lib/atoms/get-attribute.js +101 -0
- data/node_modules/selenium-webdriver/lib/atoms/is-displayed.js +101 -0
- data/node_modules/selenium-webdriver/lib/atoms/mutation-listener.js +55 -0
- data/node_modules/selenium-webdriver/lib/by.js +415 -0
- data/node_modules/selenium-webdriver/lib/capabilities.js +553 -0
- data/node_modules/selenium-webdriver/lib/command.js +206 -0
- data/node_modules/selenium-webdriver/lib/error.js +605 -0
- data/node_modules/selenium-webdriver/lib/http.js +704 -0
- data/node_modules/selenium-webdriver/lib/input.js +946 -0
- data/node_modules/selenium-webdriver/lib/logging.js +661 -0
- data/node_modules/selenium-webdriver/lib/promise.js +285 -0
- data/node_modules/selenium-webdriver/lib/proxy.js +212 -0
- data/node_modules/selenium-webdriver/lib/session.js +77 -0
- data/node_modules/selenium-webdriver/lib/symbols.js +37 -0
- data/node_modules/selenium-webdriver/lib/until.js +429 -0
- data/node_modules/selenium-webdriver/lib/webdriver.js +2919 -0
- data/node_modules/selenium-webdriver/net/index.js +107 -0
- data/node_modules/selenium-webdriver/net/portprober.js +75 -0
- data/node_modules/selenium-webdriver/opera.js +406 -0
- data/node_modules/selenium-webdriver/package.json +54 -0
- data/node_modules/selenium-webdriver/proxy.js +32 -0
- data/node_modules/selenium-webdriver/remote/index.js +624 -0
- data/node_modules/selenium-webdriver/safari.js +168 -0
- data/node_modules/selenium-webdriver/testing/index.js +504 -0
- data/node_modules/set-immediate-shim/index.js +7 -0
- data/node_modules/set-immediate-shim/package.json +34 -0
- data/node_modules/set-immediate-shim/readme.md +31 -0
- data/node_modules/string_decoder/.travis.yml +50 -0
- data/node_modules/string_decoder/LICENSE +48 -0
- data/node_modules/string_decoder/README.md +47 -0
- data/node_modules/string_decoder/lib/string_decoder.js +296 -0
- data/node_modules/string_decoder/package.json +31 -0
- data/node_modules/tmp/CHANGELOG.md +288 -0
- data/node_modules/tmp/LICENSE +21 -0
- data/node_modules/tmp/README.md +365 -0
- data/node_modules/tmp/lib/tmp.js +780 -0
- data/node_modules/tmp/node_modules/.bin/rimraf +1 -0
- data/node_modules/tmp/node_modules/rimraf/CHANGELOG.md +65 -0
- data/node_modules/tmp/node_modules/rimraf/LICENSE +15 -0
- data/node_modules/tmp/node_modules/rimraf/README.md +101 -0
- data/node_modules/tmp/node_modules/rimraf/bin.js +68 -0
- data/node_modules/tmp/node_modules/rimraf/package.json +32 -0
- data/node_modules/tmp/node_modules/rimraf/rimraf.js +360 -0
- data/node_modules/tmp/package.json +58 -0
- data/node_modules/util-deprecate/History.md +16 -0
- data/node_modules/util-deprecate/LICENSE +24 -0
- data/node_modules/util-deprecate/README.md +53 -0
- data/node_modules/util-deprecate/browser.js +67 -0
- data/node_modules/util-deprecate/node.js +6 -0
- data/node_modules/util-deprecate/package.json +27 -0
- data/node_modules/wrappy/LICENSE +15 -0
- data/node_modules/wrappy/README.md +36 -0
- data/node_modules/wrappy/package.json +29 -0
- data/node_modules/wrappy/wrappy.js +33 -0
- data/node_modules/ws/LICENSE +21 -0
- data/node_modules/ws/README.md +496 -0
- data/node_modules/ws/browser.js +8 -0
- data/node_modules/ws/index.js +10 -0
- data/node_modules/ws/lib/buffer-util.js +129 -0
- data/node_modules/ws/lib/constants.js +10 -0
- data/node_modules/ws/lib/event-target.js +184 -0
- data/node_modules/ws/lib/extension.js +223 -0
- data/node_modules/ws/lib/limiter.js +55 -0
- data/node_modules/ws/lib/permessage-deflate.js +517 -0
- data/node_modules/ws/lib/receiver.js +507 -0
- data/node_modules/ws/lib/sender.js +405 -0
- data/node_modules/ws/lib/stream.js +165 -0
- data/node_modules/ws/lib/validation.js +104 -0
- data/node_modules/ws/lib/websocket-server.js +418 -0
- data/node_modules/ws/lib/websocket.js +942 -0
- data/node_modules/ws/package.json +56 -0
- data/package-lock.json +458 -0
- data/package.json +5 -0
- data/selenium.log +1 -0
- 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
|