UrgentcareCLI 0.1.1 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/UrgentCare/CLI.rb +1 -2
- data/lib/UrgentCare/Scraper.rb +65 -0
- data/lib/UrgentCare/version.rb +2 -2
- data/lib/UrgentCare.rb +1 -0
- metadata +3 -313
- data/.gitignore +0 -11
- data/.rspec +0 -3
- data/.travis.yml +0 -5
- data/CODE_OF_CONDUCT.md +0 -74
- data/Gemfile +0 -12
- data/Gemfile.lock +0 -84
- data/LICENSE.txt +0 -21
- data/Notes +0 -41
- data/README.md +0 -41
- data/Rakefile +0 -8
- data/UrgentCare.gemspec +0 -39
- data/background.jpg +0 -0
- data/data.txt +0 -4
- data/lib/Urgentcare/Scraper.rb +0 -78
- data/node_modules/.bin/rimraf +0 -1
- data/node_modules/.package-lock.json +0 -250
- data/node_modules/balanced-match/.github/FUNDING.yml +0 -2
- data/node_modules/balanced-match/LICENSE.md +0 -21
- data/node_modules/balanced-match/README.md +0 -97
- data/node_modules/balanced-match/index.js +0 -62
- data/node_modules/balanced-match/package.json +0 -48
- data/node_modules/brace-expansion/LICENSE +0 -21
- data/node_modules/brace-expansion/README.md +0 -129
- data/node_modules/brace-expansion/index.js +0 -201
- data/node_modules/brace-expansion/package.json +0 -47
- data/node_modules/concat-map/.travis.yml +0 -4
- data/node_modules/concat-map/LICENSE +0 -18
- data/node_modules/concat-map/README.markdown +0 -62
- data/node_modules/concat-map/example/map.js +0 -6
- data/node_modules/concat-map/index.js +0 -13
- data/node_modules/concat-map/package.json +0 -43
- data/node_modules/concat-map/test/map.js +0 -39
- data/node_modules/core-util-is/LICENSE +0 -19
- data/node_modules/core-util-is/README.md +0 -3
- data/node_modules/core-util-is/float.patch +0 -604
- data/node_modules/core-util-is/lib/util.js +0 -107
- data/node_modules/core-util-is/package.json +0 -32
- data/node_modules/core-util-is/test.js +0 -68
- data/node_modules/fs.realpath/LICENSE +0 -43
- data/node_modules/fs.realpath/README.md +0 -33
- data/node_modules/fs.realpath/index.js +0 -66
- data/node_modules/fs.realpath/old.js +0 -303
- data/node_modules/fs.realpath/package.json +0 -26
- data/node_modules/glob/LICENSE +0 -21
- data/node_modules/glob/README.md +0 -375
- data/node_modules/glob/changelog.md +0 -67
- data/node_modules/glob/common.js +0 -234
- data/node_modules/glob/glob.js +0 -788
- data/node_modules/glob/package.json +0 -51
- data/node_modules/glob/sync.js +0 -484
- data/node_modules/immediate/LICENSE.txt +0 -20
- data/node_modules/immediate/README.md +0 -93
- data/node_modules/immediate/dist/immediate.js +0 -75
- data/node_modules/immediate/dist/immediate.min.js +0 -1
- data/node_modules/immediate/lib/browser.js +0 -69
- data/node_modules/immediate/lib/index.js +0 -73
- data/node_modules/immediate/package.json +0 -42
- data/node_modules/inflight/LICENSE +0 -15
- data/node_modules/inflight/README.md +0 -37
- data/node_modules/inflight/inflight.js +0 -54
- data/node_modules/inflight/package.json +0 -29
- data/node_modules/inherits/LICENSE +0 -16
- data/node_modules/inherits/README.md +0 -42
- data/node_modules/inherits/inherits.js +0 -9
- data/node_modules/inherits/inherits_browser.js +0 -27
- data/node_modules/inherits/package.json +0 -29
- data/node_modules/isarray/.npmignore +0 -1
- data/node_modules/isarray/.travis.yml +0 -4
- data/node_modules/isarray/Makefile +0 -6
- data/node_modules/isarray/README.md +0 -60
- data/node_modules/isarray/component.json +0 -19
- data/node_modules/isarray/index.js +0 -5
- data/node_modules/isarray/package.json +0 -45
- data/node_modules/isarray/test.js +0 -20
- data/node_modules/jszip/.codeclimate.yml +0 -16
- data/node_modules/jszip/.editorconfig +0 -8
- data/node_modules/jszip/.jshintignore +0 -1
- data/node_modules/jszip/.jshintrc +0 -21
- data/node_modules/jszip/.travis.yml +0 -17
- data/node_modules/jszip/CHANGES.md +0 -163
- data/node_modules/jszip/LICENSE.markdown +0 -651
- data/node_modules/jszip/README.markdown +0 -35
- data/node_modules/jszip/dist/jszip.js +0 -30
- data/node_modules/jszip/dist/jszip.min.js +0 -13
- data/node_modules/jszip/index.d.ts +0 -270
- data/node_modules/jszip/lib/base64.js +0 -106
- data/node_modules/jszip/lib/compressedObject.js +0 -74
- data/node_modules/jszip/lib/compressions.js +0 -14
- data/node_modules/jszip/lib/crc32.js +0 -77
- data/node_modules/jszip/lib/defaults.js +0 -11
- data/node_modules/jszip/lib/external.js +0 -19
- data/node_modules/jszip/lib/flate.js +0 -85
- data/node_modules/jszip/lib/generate/ZipFileWorker.js +0 -540
- data/node_modules/jszip/lib/generate/index.js +0 -57
- data/node_modules/jszip/lib/index.js +0 -52
- data/node_modules/jszip/lib/license_header.js +0 -11
- data/node_modules/jszip/lib/load.js +0 -81
- data/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +0 -74
- data/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +0 -42
- data/node_modules/jszip/lib/nodejsUtils.js +0 -57
- data/node_modules/jszip/lib/object.js +0 -389
- data/node_modules/jszip/lib/readable-stream-browser.js +0 -9
- data/node_modules/jszip/lib/reader/ArrayReader.js +0 -57
- data/node_modules/jszip/lib/reader/DataReader.js +0 -116
- data/node_modules/jszip/lib/reader/NodeBufferReader.js +0 -19
- data/node_modules/jszip/lib/reader/StringReader.js +0 -38
- data/node_modules/jszip/lib/reader/Uint8ArrayReader.js +0 -22
- data/node_modules/jszip/lib/reader/readerFor.js +0 -28
- data/node_modules/jszip/lib/signature.js +0 -7
- data/node_modules/jszip/lib/stream/ConvertWorker.js +0 -26
- data/node_modules/jszip/lib/stream/Crc32Probe.js +0 -24
- data/node_modules/jszip/lib/stream/DataLengthProbe.js +0 -29
- data/node_modules/jszip/lib/stream/DataWorker.js +0 -116
- data/node_modules/jszip/lib/stream/GenericWorker.js +0 -263
- data/node_modules/jszip/lib/stream/StreamHelper.js +0 -212
- data/node_modules/jszip/lib/support.js +0 -38
- data/node_modules/jszip/lib/utf8.js +0 -275
- data/node_modules/jszip/lib/utils.js +0 -476
- data/node_modules/jszip/lib/zipEntries.js +0 -262
- data/node_modules/jszip/lib/zipEntry.js +0 -294
- data/node_modules/jszip/lib/zipObject.js +0 -133
- data/node_modules/jszip/package.json +0 -63
- data/node_modules/jszip/vendor/FileSaver.js +0 -247
- data/node_modules/lie/README.md +0 -62
- data/node_modules/lie/dist/lie.js +0 -350
- data/node_modules/lie/dist/lie.min.js +0 -1
- data/node_modules/lie/dist/lie.polyfill.js +0 -358
- data/node_modules/lie/dist/lie.polyfill.min.js +0 -1
- data/node_modules/lie/lib/browser.js +0 -273
- data/node_modules/lie/lib/index.js +0 -298
- data/node_modules/lie/license.md +0 -7
- data/node_modules/lie/lie.d.ts +0 -244
- data/node_modules/lie/package.json +0 -69
- data/node_modules/lie/polyfill.js +0 -4
- data/node_modules/minimatch/LICENSE +0 -15
- data/node_modules/minimatch/README.md +0 -209
- data/node_modules/minimatch/minimatch.js +0 -923
- data/node_modules/minimatch/package.json +0 -30
- data/node_modules/once/LICENSE +0 -15
- data/node_modules/once/README.md +0 -79
- data/node_modules/once/once.js +0 -42
- data/node_modules/once/package.json +0 -33
- data/node_modules/pako/CHANGELOG.md +0 -164
- data/node_modules/pako/LICENSE +0 -21
- data/node_modules/pako/README.md +0 -191
- data/node_modules/pako/dist/pako.js +0 -6818
- data/node_modules/pako/dist/pako.min.js +0 -1
- data/node_modules/pako/dist/pako_deflate.js +0 -3997
- data/node_modules/pako/dist/pako_deflate.min.js +0 -1
- data/node_modules/pako/dist/pako_inflate.js +0 -3300
- data/node_modules/pako/dist/pako_inflate.min.js +0 -1
- data/node_modules/pako/index.js +0 -14
- data/node_modules/pako/lib/deflate.js +0 -400
- data/node_modules/pako/lib/inflate.js +0 -423
- data/node_modules/pako/lib/utils/common.js +0 -105
- data/node_modules/pako/lib/utils/strings.js +0 -187
- data/node_modules/pako/lib/zlib/README +0 -59
- data/node_modules/pako/lib/zlib/adler32.js +0 -51
- data/node_modules/pako/lib/zlib/constants.js +0 -68
- data/node_modules/pako/lib/zlib/crc32.js +0 -59
- data/node_modules/pako/lib/zlib/deflate.js +0 -1874
- data/node_modules/pako/lib/zlib/gzheader.js +0 -58
- data/node_modules/pako/lib/zlib/inffast.js +0 -345
- data/node_modules/pako/lib/zlib/inflate.js +0 -1556
- data/node_modules/pako/lib/zlib/inftrees.js +0 -343
- data/node_modules/pako/lib/zlib/messages.js +0 -32
- data/node_modules/pako/lib/zlib/trees.js +0 -1222
- data/node_modules/pako/lib/zlib/zstream.js +0 -47
- data/node_modules/pako/package.json +0 -44
- data/node_modules/path-is-absolute/index.js +0 -20
- data/node_modules/path-is-absolute/license +0 -21
- data/node_modules/path-is-absolute/package.json +0 -43
- data/node_modules/path-is-absolute/readme.md +0 -59
- data/node_modules/process-nextick-args/index.js +0 -45
- data/node_modules/process-nextick-args/license.md +0 -19
- data/node_modules/process-nextick-args/package.json +0 -25
- data/node_modules/process-nextick-args/readme.md +0 -18
- data/node_modules/readable-stream/.travis.yml +0 -34
- data/node_modules/readable-stream/CONTRIBUTING.md +0 -38
- data/node_modules/readable-stream/GOVERNANCE.md +0 -136
- data/node_modules/readable-stream/LICENSE +0 -47
- data/node_modules/readable-stream/README.md +0 -58
- data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
- data/node_modules/readable-stream/duplex-browser.js +0 -1
- data/node_modules/readable-stream/duplex.js +0 -1
- data/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
- data/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
- data/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
- data/node_modules/readable-stream/lib/_stream_transform.js +0 -214
- data/node_modules/readable-stream/lib/_stream_writable.js +0 -687
- data/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
- data/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
- data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
- data/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
- data/node_modules/readable-stream/package.json +0 -52
- data/node_modules/readable-stream/passthrough.js +0 -1
- data/node_modules/readable-stream/readable-browser.js +0 -7
- data/node_modules/readable-stream/readable.js +0 -19
- data/node_modules/readable-stream/transform.js +0 -1
- data/node_modules/readable-stream/writable-browser.js +0 -1
- data/node_modules/readable-stream/writable.js +0 -8
- data/node_modules/rimraf/LICENSE +0 -15
- data/node_modules/rimraf/README.md +0 -101
- data/node_modules/rimraf/bin.js +0 -50
- data/node_modules/rimraf/package.json +0 -29
- data/node_modules/rimraf/rimraf.js +0 -372
- data/node_modules/safe-buffer/LICENSE +0 -21
- data/node_modules/safe-buffer/README.md +0 -584
- data/node_modules/safe-buffer/index.d.ts +0 -187
- data/node_modules/safe-buffer/index.js +0 -62
- data/node_modules/safe-buffer/package.json +0 -37
- data/node_modules/selenium-webdriver/CHANGES.md +0 -1114
- data/node_modules/selenium-webdriver/LICENSE +0 -202
- data/node_modules/selenium-webdriver/NOTICE +0 -2
- data/node_modules/selenium-webdriver/README.md +0 -229
- data/node_modules/selenium-webdriver/chrome.js +0 -295
- data/node_modules/selenium-webdriver/chromium.js +0 -829
- data/node_modules/selenium-webdriver/devtools/CDPConnection.js +0 -35
- data/node_modules/selenium-webdriver/edge.js +0 -224
- data/node_modules/selenium-webdriver/example/chrome_android.js +0 -45
- data/node_modules/selenium-webdriver/example/chrome_mobile_emulation.js +0 -46
- data/node_modules/selenium-webdriver/example/firefox_channels.js +0 -84
- data/node_modules/selenium-webdriver/example/google_search.js +0 -50
- data/node_modules/selenium-webdriver/example/google_search_test.js +0 -70
- data/node_modules/selenium-webdriver/example/headless.js +0 -63
- data/node_modules/selenium-webdriver/example/logging.js +0 -64
- data/node_modules/selenium-webdriver/firefox.js +0 -789
- data/node_modules/selenium-webdriver/http/index.js +0 -324
- data/node_modules/selenium-webdriver/http/util.js +0 -172
- data/node_modules/selenium-webdriver/ie.js +0 -503
- data/node_modules/selenium-webdriver/index.js +0 -825
- data/node_modules/selenium-webdriver/io/exec.js +0 -162
- data/node_modules/selenium-webdriver/io/index.js +0 -348
- data/node_modules/selenium-webdriver/io/zip.js +0 -223
- data/node_modules/selenium-webdriver/lib/atoms/find-elements.js +0 -123
- data/node_modules/selenium-webdriver/lib/atoms/get-attribute.js +0 -101
- data/node_modules/selenium-webdriver/lib/atoms/is-displayed.js +0 -101
- data/node_modules/selenium-webdriver/lib/atoms/mutation-listener.js +0 -55
- data/node_modules/selenium-webdriver/lib/by.js +0 -415
- data/node_modules/selenium-webdriver/lib/capabilities.js +0 -553
- data/node_modules/selenium-webdriver/lib/command.js +0 -206
- data/node_modules/selenium-webdriver/lib/error.js +0 -605
- data/node_modules/selenium-webdriver/lib/http.js +0 -704
- data/node_modules/selenium-webdriver/lib/input.js +0 -946
- data/node_modules/selenium-webdriver/lib/logging.js +0 -661
- data/node_modules/selenium-webdriver/lib/promise.js +0 -285
- data/node_modules/selenium-webdriver/lib/proxy.js +0 -212
- data/node_modules/selenium-webdriver/lib/session.js +0 -77
- data/node_modules/selenium-webdriver/lib/symbols.js +0 -37
- data/node_modules/selenium-webdriver/lib/until.js +0 -429
- data/node_modules/selenium-webdriver/lib/webdriver.js +0 -2919
- data/node_modules/selenium-webdriver/net/index.js +0 -107
- data/node_modules/selenium-webdriver/net/portprober.js +0 -75
- data/node_modules/selenium-webdriver/opera.js +0 -406
- data/node_modules/selenium-webdriver/package.json +0 -54
- data/node_modules/selenium-webdriver/proxy.js +0 -32
- data/node_modules/selenium-webdriver/remote/index.js +0 -624
- data/node_modules/selenium-webdriver/safari.js +0 -168
- data/node_modules/selenium-webdriver/testing/index.js +0 -504
- data/node_modules/set-immediate-shim/index.js +0 -7
- data/node_modules/set-immediate-shim/package.json +0 -34
- data/node_modules/set-immediate-shim/readme.md +0 -31
- data/node_modules/string_decoder/.travis.yml +0 -50
- data/node_modules/string_decoder/LICENSE +0 -48
- data/node_modules/string_decoder/README.md +0 -47
- data/node_modules/string_decoder/lib/string_decoder.js +0 -296
- data/node_modules/string_decoder/package.json +0 -31
- data/node_modules/tmp/CHANGELOG.md +0 -288
- data/node_modules/tmp/LICENSE +0 -21
- data/node_modules/tmp/README.md +0 -365
- data/node_modules/tmp/lib/tmp.js +0 -780
- data/node_modules/tmp/node_modules/.bin/rimraf +0 -1
- data/node_modules/tmp/node_modules/rimraf/CHANGELOG.md +0 -65
- data/node_modules/tmp/node_modules/rimraf/LICENSE +0 -15
- data/node_modules/tmp/node_modules/rimraf/README.md +0 -101
- data/node_modules/tmp/node_modules/rimraf/bin.js +0 -68
- data/node_modules/tmp/node_modules/rimraf/package.json +0 -32
- data/node_modules/tmp/node_modules/rimraf/rimraf.js +0 -360
- data/node_modules/tmp/package.json +0 -58
- data/node_modules/util-deprecate/History.md +0 -16
- data/node_modules/util-deprecate/LICENSE +0 -24
- data/node_modules/util-deprecate/README.md +0 -53
- data/node_modules/util-deprecate/browser.js +0 -67
- data/node_modules/util-deprecate/node.js +0 -6
- data/node_modules/util-deprecate/package.json +0 -27
- data/node_modules/wrappy/LICENSE +0 -15
- data/node_modules/wrappy/README.md +0 -36
- data/node_modules/wrappy/package.json +0 -29
- data/node_modules/wrappy/wrappy.js +0 -33
- data/node_modules/ws/LICENSE +0 -21
- data/node_modules/ws/README.md +0 -496
- data/node_modules/ws/browser.js +0 -8
- data/node_modules/ws/index.js +0 -10
- data/node_modules/ws/lib/buffer-util.js +0 -129
- data/node_modules/ws/lib/constants.js +0 -10
- data/node_modules/ws/lib/event-target.js +0 -184
- data/node_modules/ws/lib/extension.js +0 -223
- data/node_modules/ws/lib/limiter.js +0 -55
- data/node_modules/ws/lib/permessage-deflate.js +0 -517
- data/node_modules/ws/lib/receiver.js +0 -507
- data/node_modules/ws/lib/sender.js +0 -405
- data/node_modules/ws/lib/stream.js +0 -165
- data/node_modules/ws/lib/validation.js +0 -104
- data/node_modules/ws/lib/websocket-server.js +0 -418
- data/node_modules/ws/lib/websocket.js +0 -942
- data/node_modules/ws/package.json +0 -56
- data/package-lock.json +0 -458
- data/package.json +0 -5
- data/selenium.log +0 -1
- data/spec.md +0 -6
- data/test.data +0 -2110
@@ -1,13 +0,0 @@
|
|
1
|
-
module.exports = function (xs, fn) {
|
2
|
-
var res = [];
|
3
|
-
for (var i = 0; i < xs.length; i++) {
|
4
|
-
var x = fn(xs[i], i);
|
5
|
-
if (isArray(x)) res.push.apply(res, x);
|
6
|
-
else res.push(x);
|
7
|
-
}
|
8
|
-
return res;
|
9
|
-
};
|
10
|
-
|
11
|
-
var isArray = Array.isArray || function (xs) {
|
12
|
-
return Object.prototype.toString.call(xs) === '[object Array]';
|
13
|
-
};
|
@@ -1,43 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"name" : "concat-map",
|
3
|
-
"description" : "concatenative mapdashery",
|
4
|
-
"version" : "0.0.1",
|
5
|
-
"repository" : {
|
6
|
-
"type" : "git",
|
7
|
-
"url" : "git://github.com/substack/node-concat-map.git"
|
8
|
-
},
|
9
|
-
"main" : "index.js",
|
10
|
-
"keywords" : [
|
11
|
-
"concat",
|
12
|
-
"concatMap",
|
13
|
-
"map",
|
14
|
-
"functional",
|
15
|
-
"higher-order"
|
16
|
-
],
|
17
|
-
"directories" : {
|
18
|
-
"example" : "example",
|
19
|
-
"test" : "test"
|
20
|
-
},
|
21
|
-
"scripts" : {
|
22
|
-
"test" : "tape test/*.js"
|
23
|
-
},
|
24
|
-
"devDependencies" : {
|
25
|
-
"tape" : "~2.4.0"
|
26
|
-
},
|
27
|
-
"license" : "MIT",
|
28
|
-
"author" : {
|
29
|
-
"name" : "James Halliday",
|
30
|
-
"email" : "mail@substack.net",
|
31
|
-
"url" : "http://substack.net"
|
32
|
-
},
|
33
|
-
"testling" : {
|
34
|
-
"files" : "test/*.js",
|
35
|
-
"browsers" : {
|
36
|
-
"ie" : [ 6, 7, 8, 9 ],
|
37
|
-
"ff" : [ 3.5, 10, 15.0 ],
|
38
|
-
"chrome" : [ 10, 22 ],
|
39
|
-
"safari" : [ 5.1 ],
|
40
|
-
"opera" : [ 12 ]
|
41
|
-
}
|
42
|
-
}
|
43
|
-
}
|
@@ -1,39 +0,0 @@
|
|
1
|
-
var concatMap = require('../');
|
2
|
-
var test = require('tape');
|
3
|
-
|
4
|
-
test('empty or not', function (t) {
|
5
|
-
var xs = [ 1, 2, 3, 4, 5, 6 ];
|
6
|
-
var ixes = [];
|
7
|
-
var ys = concatMap(xs, function (x, ix) {
|
8
|
-
ixes.push(ix);
|
9
|
-
return x % 2 ? [ x - 0.1, x, x + 0.1 ] : [];
|
10
|
-
});
|
11
|
-
t.same(ys, [ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ]);
|
12
|
-
t.same(ixes, [ 0, 1, 2, 3, 4, 5 ]);
|
13
|
-
t.end();
|
14
|
-
});
|
15
|
-
|
16
|
-
test('always something', function (t) {
|
17
|
-
var xs = [ 'a', 'b', 'c', 'd' ];
|
18
|
-
var ys = concatMap(xs, function (x) {
|
19
|
-
return x === 'b' ? [ 'B', 'B', 'B' ] : [ x ];
|
20
|
-
});
|
21
|
-
t.same(ys, [ 'a', 'B', 'B', 'B', 'c', 'd' ]);
|
22
|
-
t.end();
|
23
|
-
});
|
24
|
-
|
25
|
-
test('scalars', function (t) {
|
26
|
-
var xs = [ 'a', 'b', 'c', 'd' ];
|
27
|
-
var ys = concatMap(xs, function (x) {
|
28
|
-
return x === 'b' ? [ 'B', 'B', 'B' ] : x;
|
29
|
-
});
|
30
|
-
t.same(ys, [ 'a', 'B', 'B', 'B', 'c', 'd' ]);
|
31
|
-
t.end();
|
32
|
-
});
|
33
|
-
|
34
|
-
test('undefs', function (t) {
|
35
|
-
var xs = [ 'a', 'b', 'c', 'd' ];
|
36
|
-
var ys = concatMap(xs, function () {});
|
37
|
-
t.same(ys, [ undefined, undefined, undefined, undefined ]);
|
38
|
-
t.end();
|
39
|
-
});
|
@@ -1,19 +0,0 @@
|
|
1
|
-
Copyright Node.js contributors. All rights reserved.
|
2
|
-
|
3
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
-
of this software and associated documentation files (the "Software"), to
|
5
|
-
deal in the Software without restriction, including without limitation the
|
6
|
-
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
7
|
-
sell copies of the Software, and to permit persons to whom the Software is
|
8
|
-
furnished to do so, subject to the following conditions:
|
9
|
-
|
10
|
-
The above copyright notice and this permission notice shall be included in
|
11
|
-
all copies or substantial portions of the Software.
|
12
|
-
|
13
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
18
|
-
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
19
|
-
IN THE SOFTWARE.
|
@@ -1,604 +0,0 @@
|
|
1
|
-
diff --git a/lib/util.js b/lib/util.js
|
2
|
-
index a03e874..9074e8e 100644
|
3
|
-
--- a/lib/util.js
|
4
|
-
+++ b/lib/util.js
|
5
|
-
@@ -19,430 +19,6 @@
|
6
|
-
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
7
|
-
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
8
|
-
|
9
|
-
-var formatRegExp = /%[sdj%]/g;
|
10
|
-
-exports.format = function(f) {
|
11
|
-
- if (!isString(f)) {
|
12
|
-
- var objects = [];
|
13
|
-
- for (var i = 0; i < arguments.length; i++) {
|
14
|
-
- objects.push(inspect(arguments[i]));
|
15
|
-
- }
|
16
|
-
- return objects.join(' ');
|
17
|
-
- }
|
18
|
-
-
|
19
|
-
- var i = 1;
|
20
|
-
- var args = arguments;
|
21
|
-
- var len = args.length;
|
22
|
-
- var str = String(f).replace(formatRegExp, function(x) {
|
23
|
-
- if (x === '%%') return '%';
|
24
|
-
- if (i >= len) return x;
|
25
|
-
- switch (x) {
|
26
|
-
- case '%s': return String(args[i++]);
|
27
|
-
- case '%d': return Number(args[i++]);
|
28
|
-
- case '%j':
|
29
|
-
- try {
|
30
|
-
- return JSON.stringify(args[i++]);
|
31
|
-
- } catch (_) {
|
32
|
-
- return '[Circular]';
|
33
|
-
- }
|
34
|
-
- default:
|
35
|
-
- return x;
|
36
|
-
- }
|
37
|
-
- });
|
38
|
-
- for (var x = args[i]; i < len; x = args[++i]) {
|
39
|
-
- if (isNull(x) || !isObject(x)) {
|
40
|
-
- str += ' ' + x;
|
41
|
-
- } else {
|
42
|
-
- str += ' ' + inspect(x);
|
43
|
-
- }
|
44
|
-
- }
|
45
|
-
- return str;
|
46
|
-
-};
|
47
|
-
-
|
48
|
-
-
|
49
|
-
-// Mark that a method should not be used.
|
50
|
-
-// Returns a modified function which warns once by default.
|
51
|
-
-// If --no-deprecation is set, then it is a no-op.
|
52
|
-
-exports.deprecate = function(fn, msg) {
|
53
|
-
- // Allow for deprecating things in the process of starting up.
|
54
|
-
- if (isUndefined(global.process)) {
|
55
|
-
- return function() {
|
56
|
-
- return exports.deprecate(fn, msg).apply(this, arguments);
|
57
|
-
- };
|
58
|
-
- }
|
59
|
-
-
|
60
|
-
- if (process.noDeprecation === true) {
|
61
|
-
- return fn;
|
62
|
-
- }
|
63
|
-
-
|
64
|
-
- var warned = false;
|
65
|
-
- function deprecated() {
|
66
|
-
- if (!warned) {
|
67
|
-
- if (process.throwDeprecation) {
|
68
|
-
- throw new Error(msg);
|
69
|
-
- } else if (process.traceDeprecation) {
|
70
|
-
- console.trace(msg);
|
71
|
-
- } else {
|
72
|
-
- console.error(msg);
|
73
|
-
- }
|
74
|
-
- warned = true;
|
75
|
-
- }
|
76
|
-
- return fn.apply(this, arguments);
|
77
|
-
- }
|
78
|
-
-
|
79
|
-
- return deprecated;
|
80
|
-
-};
|
81
|
-
-
|
82
|
-
-
|
83
|
-
-var debugs = {};
|
84
|
-
-var debugEnviron;
|
85
|
-
-exports.debuglog = function(set) {
|
86
|
-
- if (isUndefined(debugEnviron))
|
87
|
-
- debugEnviron = process.env.NODE_DEBUG || '';
|
88
|
-
- set = set.toUpperCase();
|
89
|
-
- if (!debugs[set]) {
|
90
|
-
- if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
|
91
|
-
- var pid = process.pid;
|
92
|
-
- debugs[set] = function() {
|
93
|
-
- var msg = exports.format.apply(exports, arguments);
|
94
|
-
- console.error('%s %d: %s', set, pid, msg);
|
95
|
-
- };
|
96
|
-
- } else {
|
97
|
-
- debugs[set] = function() {};
|
98
|
-
- }
|
99
|
-
- }
|
100
|
-
- return debugs[set];
|
101
|
-
-};
|
102
|
-
-
|
103
|
-
-
|
104
|
-
-/**
|
105
|
-
- * Echos the value of a value. Trys to print the value out
|
106
|
-
- * in the best way possible given the different types.
|
107
|
-
- *
|
108
|
-
- * @param {Object} obj The object to print out.
|
109
|
-
- * @param {Object} opts Optional options object that alters the output.
|
110
|
-
- */
|
111
|
-
-/* legacy: obj, showHidden, depth, colors*/
|
112
|
-
-function inspect(obj, opts) {
|
113
|
-
- // default options
|
114
|
-
- var ctx = {
|
115
|
-
- seen: [],
|
116
|
-
- stylize: stylizeNoColor
|
117
|
-
- };
|
118
|
-
- // legacy...
|
119
|
-
- if (arguments.length >= 3) ctx.depth = arguments[2];
|
120
|
-
- if (arguments.length >= 4) ctx.colors = arguments[3];
|
121
|
-
- if (isBoolean(opts)) {
|
122
|
-
- // legacy...
|
123
|
-
- ctx.showHidden = opts;
|
124
|
-
- } else if (opts) {
|
125
|
-
- // got an "options" object
|
126
|
-
- exports._extend(ctx, opts);
|
127
|
-
- }
|
128
|
-
- // set default options
|
129
|
-
- if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
|
130
|
-
- if (isUndefined(ctx.depth)) ctx.depth = 2;
|
131
|
-
- if (isUndefined(ctx.colors)) ctx.colors = false;
|
132
|
-
- if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
|
133
|
-
- if (ctx.colors) ctx.stylize = stylizeWithColor;
|
134
|
-
- return formatValue(ctx, obj, ctx.depth);
|
135
|
-
-}
|
136
|
-
-exports.inspect = inspect;
|
137
|
-
-
|
138
|
-
-
|
139
|
-
-// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
|
140
|
-
-inspect.colors = {
|
141
|
-
- 'bold' : [1, 22],
|
142
|
-
- 'italic' : [3, 23],
|
143
|
-
- 'underline' : [4, 24],
|
144
|
-
- 'inverse' : [7, 27],
|
145
|
-
- 'white' : [37, 39],
|
146
|
-
- 'grey' : [90, 39],
|
147
|
-
- 'black' : [30, 39],
|
148
|
-
- 'blue' : [34, 39],
|
149
|
-
- 'cyan' : [36, 39],
|
150
|
-
- 'green' : [32, 39],
|
151
|
-
- 'magenta' : [35, 39],
|
152
|
-
- 'red' : [31, 39],
|
153
|
-
- 'yellow' : [33, 39]
|
154
|
-
-};
|
155
|
-
-
|
156
|
-
-// Don't use 'blue' not visible on cmd.exe
|
157
|
-
-inspect.styles = {
|
158
|
-
- 'special': 'cyan',
|
159
|
-
- 'number': 'yellow',
|
160
|
-
- 'boolean': 'yellow',
|
161
|
-
- 'undefined': 'grey',
|
162
|
-
- 'null': 'bold',
|
163
|
-
- 'string': 'green',
|
164
|
-
- 'date': 'magenta',
|
165
|
-
- // "name": intentionally not styling
|
166
|
-
- 'regexp': 'red'
|
167
|
-
-};
|
168
|
-
-
|
169
|
-
-
|
170
|
-
-function stylizeWithColor(str, styleType) {
|
171
|
-
- var style = inspect.styles[styleType];
|
172
|
-
-
|
173
|
-
- if (style) {
|
174
|
-
- return '\u001b[' + inspect.colors[style][0] + 'm' + str +
|
175
|
-
- '\u001b[' + inspect.colors[style][1] + 'm';
|
176
|
-
- } else {
|
177
|
-
- return str;
|
178
|
-
- }
|
179
|
-
-}
|
180
|
-
-
|
181
|
-
-
|
182
|
-
-function stylizeNoColor(str, styleType) {
|
183
|
-
- return str;
|
184
|
-
-}
|
185
|
-
-
|
186
|
-
-
|
187
|
-
-function arrayToHash(array) {
|
188
|
-
- var hash = {};
|
189
|
-
-
|
190
|
-
- array.forEach(function(val, idx) {
|
191
|
-
- hash[val] = true;
|
192
|
-
- });
|
193
|
-
-
|
194
|
-
- return hash;
|
195
|
-
-}
|
196
|
-
-
|
197
|
-
-
|
198
|
-
-function formatValue(ctx, value, recurseTimes) {
|
199
|
-
- // Provide a hook for user-specified inspect functions.
|
200
|
-
- // Check that value is an object with an inspect function on it
|
201
|
-
- if (ctx.customInspect &&
|
202
|
-
- value &&
|
203
|
-
- isFunction(value.inspect) &&
|
204
|
-
- // Filter out the util module, it's inspect function is special
|
205
|
-
- value.inspect !== exports.inspect &&
|
206
|
-
- // Also filter out any prototype objects using the circular check.
|
207
|
-
- !(value.constructor && value.constructor.prototype === value)) {
|
208
|
-
- var ret = value.inspect(recurseTimes, ctx);
|
209
|
-
- if (!isString(ret)) {
|
210
|
-
- ret = formatValue(ctx, ret, recurseTimes);
|
211
|
-
- }
|
212
|
-
- return ret;
|
213
|
-
- }
|
214
|
-
-
|
215
|
-
- // Primitive types cannot have properties
|
216
|
-
- var primitive = formatPrimitive(ctx, value);
|
217
|
-
- if (primitive) {
|
218
|
-
- return primitive;
|
219
|
-
- }
|
220
|
-
-
|
221
|
-
- // Look up the keys of the object.
|
222
|
-
- var keys = Object.keys(value);
|
223
|
-
- var visibleKeys = arrayToHash(keys);
|
224
|
-
-
|
225
|
-
- if (ctx.showHidden) {
|
226
|
-
- keys = Object.getOwnPropertyNames(value);
|
227
|
-
- }
|
228
|
-
-
|
229
|
-
- // Some type of object without properties can be shortcutted.
|
230
|
-
- if (keys.length === 0) {
|
231
|
-
- if (isFunction(value)) {
|
232
|
-
- var name = value.name ? ': ' + value.name : '';
|
233
|
-
- return ctx.stylize('[Function' + name + ']', 'special');
|
234
|
-
- }
|
235
|
-
- if (isRegExp(value)) {
|
236
|
-
- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
|
237
|
-
- }
|
238
|
-
- if (isDate(value)) {
|
239
|
-
- return ctx.stylize(Date.prototype.toString.call(value), 'date');
|
240
|
-
- }
|
241
|
-
- if (isError(value)) {
|
242
|
-
- return formatError(value);
|
243
|
-
- }
|
244
|
-
- }
|
245
|
-
-
|
246
|
-
- var base = '', array = false, braces = ['{', '}'];
|
247
|
-
-
|
248
|
-
- // Make Array say that they are Array
|
249
|
-
- if (isArray(value)) {
|
250
|
-
- array = true;
|
251
|
-
- braces = ['[', ']'];
|
252
|
-
- }
|
253
|
-
-
|
254
|
-
- // Make functions say that they are functions
|
255
|
-
- if (isFunction(value)) {
|
256
|
-
- var n = value.name ? ': ' + value.name : '';
|
257
|
-
- base = ' [Function' + n + ']';
|
258
|
-
- }
|
259
|
-
-
|
260
|
-
- // Make RegExps say that they are RegExps
|
261
|
-
- if (isRegExp(value)) {
|
262
|
-
- base = ' ' + RegExp.prototype.toString.call(value);
|
263
|
-
- }
|
264
|
-
-
|
265
|
-
- // Make dates with properties first say the date
|
266
|
-
- if (isDate(value)) {
|
267
|
-
- base = ' ' + Date.prototype.toUTCString.call(value);
|
268
|
-
- }
|
269
|
-
-
|
270
|
-
- // Make error with message first say the error
|
271
|
-
- if (isError(value)) {
|
272
|
-
- base = ' ' + formatError(value);
|
273
|
-
- }
|
274
|
-
-
|
275
|
-
- if (keys.length === 0 && (!array || value.length == 0)) {
|
276
|
-
- return braces[0] + base + braces[1];
|
277
|
-
- }
|
278
|
-
-
|
279
|
-
- if (recurseTimes < 0) {
|
280
|
-
- if (isRegExp(value)) {
|
281
|
-
- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
|
282
|
-
- } else {
|
283
|
-
- return ctx.stylize('[Object]', 'special');
|
284
|
-
- }
|
285
|
-
- }
|
286
|
-
-
|
287
|
-
- ctx.seen.push(value);
|
288
|
-
-
|
289
|
-
- var output;
|
290
|
-
- if (array) {
|
291
|
-
- output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
|
292
|
-
- } else {
|
293
|
-
- output = keys.map(function(key) {
|
294
|
-
- return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
|
295
|
-
- });
|
296
|
-
- }
|
297
|
-
-
|
298
|
-
- ctx.seen.pop();
|
299
|
-
-
|
300
|
-
- return reduceToSingleString(output, base, braces);
|
301
|
-
-}
|
302
|
-
-
|
303
|
-
-
|
304
|
-
-function formatPrimitive(ctx, value) {
|
305
|
-
- if (isUndefined(value))
|
306
|
-
- return ctx.stylize('undefined', 'undefined');
|
307
|
-
- if (isString(value)) {
|
308
|
-
- var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
|
309
|
-
- .replace(/'/g, "\\'")
|
310
|
-
- .replace(/\\"/g, '"') + '\'';
|
311
|
-
- return ctx.stylize(simple, 'string');
|
312
|
-
- }
|
313
|
-
- if (isNumber(value)) {
|
314
|
-
- // Format -0 as '-0'. Strict equality won't distinguish 0 from -0,
|
315
|
-
- // so instead we use the fact that 1 / -0 < 0 whereas 1 / 0 > 0 .
|
316
|
-
- if (value === 0 && 1 / value < 0)
|
317
|
-
- return ctx.stylize('-0', 'number');
|
318
|
-
- return ctx.stylize('' + value, 'number');
|
319
|
-
- }
|
320
|
-
- if (isBoolean(value))
|
321
|
-
- return ctx.stylize('' + value, 'boolean');
|
322
|
-
- // For some reason typeof null is "object", so special case here.
|
323
|
-
- if (isNull(value))
|
324
|
-
- return ctx.stylize('null', 'null');
|
325
|
-
-}
|
326
|
-
-
|
327
|
-
-
|
328
|
-
-function formatError(value) {
|
329
|
-
- return '[' + Error.prototype.toString.call(value) + ']';
|
330
|
-
-}
|
331
|
-
-
|
332
|
-
-
|
333
|
-
-function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
|
334
|
-
- var output = [];
|
335
|
-
- for (var i = 0, l = value.length; i < l; ++i) {
|
336
|
-
- if (hasOwnProperty(value, String(i))) {
|
337
|
-
- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
|
338
|
-
- String(i), true));
|
339
|
-
- } else {
|
340
|
-
- output.push('');
|
341
|
-
- }
|
342
|
-
- }
|
343
|
-
- keys.forEach(function(key) {
|
344
|
-
- if (!key.match(/^\d+$/)) {
|
345
|
-
- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
|
346
|
-
- key, true));
|
347
|
-
- }
|
348
|
-
- });
|
349
|
-
- return output;
|
350
|
-
-}
|
351
|
-
-
|
352
|
-
-
|
353
|
-
-function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
|
354
|
-
- var name, str, desc;
|
355
|
-
- desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
|
356
|
-
- if (desc.get) {
|
357
|
-
- if (desc.set) {
|
358
|
-
- str = ctx.stylize('[Getter/Setter]', 'special');
|
359
|
-
- } else {
|
360
|
-
- str = ctx.stylize('[Getter]', 'special');
|
361
|
-
- }
|
362
|
-
- } else {
|
363
|
-
- if (desc.set) {
|
364
|
-
- str = ctx.stylize('[Setter]', 'special');
|
365
|
-
- }
|
366
|
-
- }
|
367
|
-
- if (!hasOwnProperty(visibleKeys, key)) {
|
368
|
-
- name = '[' + key + ']';
|
369
|
-
- }
|
370
|
-
- if (!str) {
|
371
|
-
- if (ctx.seen.indexOf(desc.value) < 0) {
|
372
|
-
- if (isNull(recurseTimes)) {
|
373
|
-
- str = formatValue(ctx, desc.value, null);
|
374
|
-
- } else {
|
375
|
-
- str = formatValue(ctx, desc.value, recurseTimes - 1);
|
376
|
-
- }
|
377
|
-
- if (str.indexOf('\n') > -1) {
|
378
|
-
- if (array) {
|
379
|
-
- str = str.split('\n').map(function(line) {
|
380
|
-
- return ' ' + line;
|
381
|
-
- }).join('\n').substr(2);
|
382
|
-
- } else {
|
383
|
-
- str = '\n' + str.split('\n').map(function(line) {
|
384
|
-
- return ' ' + line;
|
385
|
-
- }).join('\n');
|
386
|
-
- }
|
387
|
-
- }
|
388
|
-
- } else {
|
389
|
-
- str = ctx.stylize('[Circular]', 'special');
|
390
|
-
- }
|
391
|
-
- }
|
392
|
-
- if (isUndefined(name)) {
|
393
|
-
- if (array && key.match(/^\d+$/)) {
|
394
|
-
- return str;
|
395
|
-
- }
|
396
|
-
- name = JSON.stringify('' + key);
|
397
|
-
- if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
|
398
|
-
- name = name.substr(1, name.length - 2);
|
399
|
-
- name = ctx.stylize(name, 'name');
|
400
|
-
- } else {
|
401
|
-
- name = name.replace(/'/g, "\\'")
|
402
|
-
- .replace(/\\"/g, '"')
|
403
|
-
- .replace(/(^"|"$)/g, "'");
|
404
|
-
- name = ctx.stylize(name, 'string');
|
405
|
-
- }
|
406
|
-
- }
|
407
|
-
-
|
408
|
-
- return name + ': ' + str;
|
409
|
-
-}
|
410
|
-
-
|
411
|
-
-
|
412
|
-
-function reduceToSingleString(output, base, braces) {
|
413
|
-
- var numLinesEst = 0;
|
414
|
-
- var length = output.reduce(function(prev, cur) {
|
415
|
-
- numLinesEst++;
|
416
|
-
- if (cur.indexOf('\n') >= 0) numLinesEst++;
|
417
|
-
- return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
|
418
|
-
- }, 0);
|
419
|
-
-
|
420
|
-
- if (length > 60) {
|
421
|
-
- return braces[0] +
|
422
|
-
- (base === '' ? '' : base + '\n ') +
|
423
|
-
- ' ' +
|
424
|
-
- output.join(',\n ') +
|
425
|
-
- ' ' +
|
426
|
-
- braces[1];
|
427
|
-
- }
|
428
|
-
-
|
429
|
-
- return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
|
430
|
-
-}
|
431
|
-
-
|
432
|
-
-
|
433
|
-
// NOTE: These type checking functions intentionally don't use `instanceof`
|
434
|
-
// because it is fragile and can be easily faked with `Object.create()`.
|
435
|
-
function isArray(ar) {
|
436
|
-
@@ -522,166 +98,10 @@ function isPrimitive(arg) {
|
437
|
-
exports.isPrimitive = isPrimitive;
|
438
|
-
|
439
|
-
function isBuffer(arg) {
|
440
|
-
- return arg instanceof Buffer;
|
441
|
-
+ return Buffer.isBuffer(arg);
|
442
|
-
}
|
443
|
-
exports.isBuffer = isBuffer;
|
444
|
-
|
445
|
-
function objectToString(o) {
|
446
|
-
return Object.prototype.toString.call(o);
|
447
|
-
-}
|
448
|
-
-
|
449
|
-
-
|
450
|
-
-function pad(n) {
|
451
|
-
- return n < 10 ? '0' + n.toString(10) : n.toString(10);
|
452
|
-
-}
|
453
|
-
-
|
454
|
-
-
|
455
|
-
-var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
|
456
|
-
- 'Oct', 'Nov', 'Dec'];
|
457
|
-
-
|
458
|
-
-// 26 Feb 16:19:34
|
459
|
-
-function timestamp() {
|
460
|
-
- var d = new Date();
|
461
|
-
- var time = [pad(d.getHours()),
|
462
|
-
- pad(d.getMinutes()),
|
463
|
-
- pad(d.getSeconds())].join(':');
|
464
|
-
- return [d.getDate(), months[d.getMonth()], time].join(' ');
|
465
|
-
-}
|
466
|
-
-
|
467
|
-
-
|
468
|
-
-// log is just a thin wrapper to console.log that prepends a timestamp
|
469
|
-
-exports.log = function() {
|
470
|
-
- console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
|
471
|
-
-};
|
472
|
-
-
|
473
|
-
-
|
474
|
-
-/**
|
475
|
-
- * Inherit the prototype methods from one constructor into another.
|
476
|
-
- *
|
477
|
-
- * The Function.prototype.inherits from lang.js rewritten as a standalone
|
478
|
-
- * function (not on Function.prototype). NOTE: If this file is to be loaded
|
479
|
-
- * during bootstrapping this function needs to be rewritten using some native
|
480
|
-
- * functions as prototype setup using normal JavaScript does not work as
|
481
|
-
- * expected during bootstrapping (see mirror.js in r114903).
|
482
|
-
- *
|
483
|
-
- * @param {function} ctor Constructor function which needs to inherit the
|
484
|
-
- * prototype.
|
485
|
-
- * @param {function} superCtor Constructor function to inherit prototype from.
|
486
|
-
- */
|
487
|
-
-exports.inherits = function(ctor, superCtor) {
|
488
|
-
- ctor.super_ = superCtor;
|
489
|
-
- ctor.prototype = Object.create(superCtor.prototype, {
|
490
|
-
- constructor: {
|
491
|
-
- value: ctor,
|
492
|
-
- enumerable: false,
|
493
|
-
- writable: true,
|
494
|
-
- configurable: true
|
495
|
-
- }
|
496
|
-
- });
|
497
|
-
-};
|
498
|
-
-
|
499
|
-
-exports._extend = function(origin, add) {
|
500
|
-
- // Don't do anything if add isn't an object
|
501
|
-
- if (!add || !isObject(add)) return origin;
|
502
|
-
-
|
503
|
-
- var keys = Object.keys(add);
|
504
|
-
- var i = keys.length;
|
505
|
-
- while (i--) {
|
506
|
-
- origin[keys[i]] = add[keys[i]];
|
507
|
-
- }
|
508
|
-
- return origin;
|
509
|
-
-};
|
510
|
-
-
|
511
|
-
-function hasOwnProperty(obj, prop) {
|
512
|
-
- return Object.prototype.hasOwnProperty.call(obj, prop);
|
513
|
-
-}
|
514
|
-
-
|
515
|
-
-
|
516
|
-
-// Deprecated old stuff.
|
517
|
-
-
|
518
|
-
-exports.p = exports.deprecate(function() {
|
519
|
-
- for (var i = 0, len = arguments.length; i < len; ++i) {
|
520
|
-
- console.error(exports.inspect(arguments[i]));
|
521
|
-
- }
|
522
|
-
-}, 'util.p: Use console.error() instead');
|
523
|
-
-
|
524
|
-
-
|
525
|
-
-exports.exec = exports.deprecate(function() {
|
526
|
-
- return require('child_process').exec.apply(this, arguments);
|
527
|
-
-}, 'util.exec is now called `child_process.exec`.');
|
528
|
-
-
|
529
|
-
-
|
530
|
-
-exports.print = exports.deprecate(function() {
|
531
|
-
- for (var i = 0, len = arguments.length; i < len; ++i) {
|
532
|
-
- process.stdout.write(String(arguments[i]));
|
533
|
-
- }
|
534
|
-
-}, 'util.print: Use console.log instead');
|
535
|
-
-
|
536
|
-
-
|
537
|
-
-exports.puts = exports.deprecate(function() {
|
538
|
-
- for (var i = 0, len = arguments.length; i < len; ++i) {
|
539
|
-
- process.stdout.write(arguments[i] + '\n');
|
540
|
-
- }
|
541
|
-
-}, 'util.puts: Use console.log instead');
|
542
|
-
-
|
543
|
-
-
|
544
|
-
-exports.debug = exports.deprecate(function(x) {
|
545
|
-
- process.stderr.write('DEBUG: ' + x + '\n');
|
546
|
-
-}, 'util.debug: Use console.error instead');
|
547
|
-
-
|
548
|
-
-
|
549
|
-
-exports.error = exports.deprecate(function(x) {
|
550
|
-
- for (var i = 0, len = arguments.length; i < len; ++i) {
|
551
|
-
- process.stderr.write(arguments[i] + '\n');
|
552
|
-
- }
|
553
|
-
-}, 'util.error: Use console.error instead');
|
554
|
-
-
|
555
|
-
-
|
556
|
-
-exports.pump = exports.deprecate(function(readStream, writeStream, callback) {
|
557
|
-
- var callbackCalled = false;
|
558
|
-
-
|
559
|
-
- function call(a, b, c) {
|
560
|
-
- if (callback && !callbackCalled) {
|
561
|
-
- callback(a, b, c);
|
562
|
-
- callbackCalled = true;
|
563
|
-
- }
|
564
|
-
- }
|
565
|
-
-
|
566
|
-
- readStream.addListener('data', function(chunk) {
|
567
|
-
- if (writeStream.write(chunk) === false) readStream.pause();
|
568
|
-
- });
|
569
|
-
-
|
570
|
-
- writeStream.addListener('drain', function() {
|
571
|
-
- readStream.resume();
|
572
|
-
- });
|
573
|
-
-
|
574
|
-
- readStream.addListener('end', function() {
|
575
|
-
- writeStream.end();
|
576
|
-
- });
|
577
|
-
-
|
578
|
-
- readStream.addListener('close', function() {
|
579
|
-
- call();
|
580
|
-
- });
|
581
|
-
-
|
582
|
-
- readStream.addListener('error', function(err) {
|
583
|
-
- writeStream.end();
|
584
|
-
- call(err);
|
585
|
-
- });
|
586
|
-
-
|
587
|
-
- writeStream.addListener('error', function(err) {
|
588
|
-
- readStream.destroy();
|
589
|
-
- call(err);
|
590
|
-
- });
|
591
|
-
-}, 'util.pump(): Use readableStream.pipe() instead');
|
592
|
-
-
|
593
|
-
-
|
594
|
-
-var uv;
|
595
|
-
-exports._errnoException = function(err, syscall) {
|
596
|
-
- if (isUndefined(uv)) uv = process.binding('uv');
|
597
|
-
- var errname = uv.errname(err);
|
598
|
-
- var e = new Error(syscall + ' ' + errname);
|
599
|
-
- e.code = errname;
|
600
|
-
- e.errno = errname;
|
601
|
-
- e.syscall = syscall;
|
602
|
-
- return e;
|
603
|
-
-};
|
604
|
-
+}
|