nav tabs on admin dashboard
This commit is contained in:
1
node_modules/util/.npmignore
generated
vendored
1
node_modules/util/.npmignore
generated
vendored
@@ -1 +0,0 @@
|
||||
node_modules
|
||||
8
node_modules/util/.travis.yml
generated
vendored
8
node_modules/util/.travis.yml
generated
vendored
@@ -1,8 +0,0 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- '0.8'
|
||||
- '0.10'
|
||||
env:
|
||||
global:
|
||||
- secure: AdUubswCR68/eGD+WWjwTHgFbelwQGnNo81j1IOaUxKw+zgFPzSnFEEtDw7z98pWgg7p9DpCnyzzSnSllP40wq6AG19OwyUJjSLoZK57fp+r8zwTQwWiSqUgMu2YSMmKJPIO/aoSGpRQXT+L1nRrHoUJXgFodyIZgz40qzJeZjc=
|
||||
- secure: heQuxPVsQ7jBbssoVKimXDpqGjQFiucm6W5spoujmspjDG7oEcHD9ANo9++LoRPrsAmNx56SpMK5fNfVmYediw6SvhXm4Mxt56/fYCrLDBtgGG+1neCeffAi8z1rO8x48m77hcQ6YhbUL5R9uBimUjMX92fZcygAt8Rg804zjFo=
|
||||
10
node_modules/util/.zuul.yml
generated
vendored
10
node_modules/util/.zuul.yml
generated
vendored
@@ -1,10 +0,0 @@
|
||||
ui: mocha-qunit
|
||||
browsers:
|
||||
- name: chrome
|
||||
version: 27..latest
|
||||
- name: firefox
|
||||
version: latest
|
||||
- name: safari
|
||||
version: latest
|
||||
- name: ie
|
||||
version: 9..latest
|
||||
45
node_modules/util/README.md
generated
vendored
45
node_modules/util/README.md
generated
vendored
@@ -1,15 +1,48 @@
|
||||
# util
|
||||
# util [](https://travis-ci.org/defunctzombie/node-util)
|
||||
|
||||
[](https://travis-ci.org/defunctzombie/node-util)
|
||||
> Node.js's [util][util] module for all engines.
|
||||
|
||||
node.js [util](http://nodejs.org/api/util.html) module as a module
|
||||
This implements the Node.js [`util`][util] module for environments that do not have it, like browsers.
|
||||
|
||||
## install via [npm](npmjs.org)
|
||||
## Install
|
||||
|
||||
You usually do not have to install `util` yourself. If your code runs in Node.js, `util` is built in. If your code runs in the browser, bundlers like [browserify](https://github.com/browserify/browserify) or [webpack](https://github.com/webpack/webpack) also include the `util` module.
|
||||
|
||||
But if none of those apply, with npm do:
|
||||
|
||||
```shell
|
||||
npm install util
|
||||
```
|
||||
|
||||
## browser support
|
||||
## Usage
|
||||
|
||||
This module also works in modern browsers. If you need legacy browser support you will need to polyfill ES5 features.
|
||||
```javascript
|
||||
var util = require('util')
|
||||
var EventEmitter = require('events')
|
||||
|
||||
function MyClass() { EventEmitter.call(this) }
|
||||
util.inherits(MyClass, EventEmitter)
|
||||
```
|
||||
|
||||
## Browser Support
|
||||
|
||||
The `util` module uses ES5 features. If you need to support very old browsers like IE8, use a shim like [`es5-shim`](https://www.npmjs.com/package/es5-shim). You need both the shim and the sham versions of `es5-shim`.
|
||||
|
||||
To use `util.promisify` and `util.callbackify`, Promises must already be available. If you need to support browsers like IE11 that do not support Promises, use a shim. [es6-promise](https://github.com/stefanpenner/es6-promise) is a popular one but there are many others available on npm.
|
||||
|
||||
## API
|
||||
|
||||
See the [Node.js util docs][util]. `util` currently supports the Node 8 LTS API. However, some of the methods are outdated. The `inspect` and `format` methods included in this module are a lot more simple and barebones than the ones in Node.js.
|
||||
|
||||
## Contributing
|
||||
|
||||
PRs are very welcome! The main way to contribute to `util` is by porting features, bugfixes and tests from Node.js. Ideally, code contributions to this module are copy-pasted from Node.js and transpiled to ES5, rather than reimplemented from scratch. Matching the Node.js code as closely as possible makes maintenance simpler when new changes land in Node.js.
|
||||
This module intends to provide exactly the same API as Node.js, so features that are not available in the core `util` module will not be accepted. Feature requests should instead be directed at [nodejs/node](https://github.com/nodejs/node) and will be added to this module once they are implemented in Node.js.
|
||||
|
||||
If there is a difference in behaviour between Node.js's `util` module and this module, please open an issue!
|
||||
|
||||
## License
|
||||
|
||||
[MIT](./LICENSE)
|
||||
|
||||
[util]: https://nodejs.org/docs/latest-v8.x/api/util.html
|
||||
|
||||
16
node_modules/util/node_modules/inherits/LICENSE
generated
vendored
16
node_modules/util/node_modules/inherits/LICENSE
generated
vendored
@@ -1,16 +0,0 @@
|
||||
The ISC License
|
||||
|
||||
Copyright (c) Isaac Z. Schlueter
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
42
node_modules/util/node_modules/inherits/README.md
generated
vendored
42
node_modules/util/node_modules/inherits/README.md
generated
vendored
@@ -1,42 +0,0 @@
|
||||
Browser-friendly inheritance fully compatible with standard node.js
|
||||
[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).
|
||||
|
||||
This package exports standard `inherits` from node.js `util` module in
|
||||
node environment, but also provides alternative browser-friendly
|
||||
implementation through [browser
|
||||
field](https://gist.github.com/shtylman/4339901). Alternative
|
||||
implementation is a literal copy of standard one located in standalone
|
||||
module to avoid requiring of `util`. It also has a shim for old
|
||||
browsers with no `Object.create` support.
|
||||
|
||||
While keeping you sure you are using standard `inherits`
|
||||
implementation in node.js environment, it allows bundlers such as
|
||||
[browserify](https://github.com/substack/node-browserify) to not
|
||||
include full `util` package to your client code if all you need is
|
||||
just `inherits` function. It worth, because browser shim for `util`
|
||||
package is large and `inherits` is often the single function you need
|
||||
from it.
|
||||
|
||||
It's recommended to use this package instead of
|
||||
`require('util').inherits` for any code that has chances to be used
|
||||
not only in node.js but in browser too.
|
||||
|
||||
## usage
|
||||
|
||||
```js
|
||||
var inherits = require('inherits');
|
||||
// then use exactly as the standard one
|
||||
```
|
||||
|
||||
## note on version ~1.0
|
||||
|
||||
Version ~1.0 had completely different motivation and is not compatible
|
||||
neither with 2.0 nor with standard node.js `inherits`.
|
||||
|
||||
If you are using version ~1.0 and planning to switch to ~2.0, be
|
||||
careful:
|
||||
|
||||
* new version uses `super_` instead of `super` for referencing
|
||||
superclass
|
||||
* new version overwrites current prototype while old one preserves any
|
||||
existing fields on it
|
||||
1
node_modules/util/node_modules/inherits/inherits.js
generated
vendored
1
node_modules/util/node_modules/inherits/inherits.js
generated
vendored
@@ -1 +0,0 @@
|
||||
module.exports = require('util').inherits
|
||||
23
node_modules/util/node_modules/inherits/inherits_browser.js
generated
vendored
23
node_modules/util/node_modules/inherits/inherits_browser.js
generated
vendored
@@ -1,23 +0,0 @@
|
||||
if (typeof Object.create === 'function') {
|
||||
// implementation from standard node.js 'util' module
|
||||
module.exports = function inherits(ctor, superCtor) {
|
||||
ctor.super_ = superCtor
|
||||
ctor.prototype = Object.create(superCtor.prototype, {
|
||||
constructor: {
|
||||
value: ctor,
|
||||
enumerable: false,
|
||||
writable: true,
|
||||
configurable: true
|
||||
}
|
||||
});
|
||||
};
|
||||
} else {
|
||||
// old school shim for old browsers
|
||||
module.exports = function inherits(ctor, superCtor) {
|
||||
ctor.super_ = superCtor
|
||||
var TempCtor = function () {}
|
||||
TempCtor.prototype = superCtor.prototype
|
||||
ctor.prototype = new TempCtor()
|
||||
ctor.prototype.constructor = ctor
|
||||
}
|
||||
}
|
||||
54
node_modules/util/node_modules/inherits/package.json
generated
vendored
54
node_modules/util/node_modules/inherits/package.json
generated
vendored
@@ -1,54 +0,0 @@
|
||||
{
|
||||
"_from": "inherits@2.0.1",
|
||||
"_id": "inherits@2.0.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
|
||||
"_location": "/util/inherits",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "inherits@2.0.1",
|
||||
"name": "inherits",
|
||||
"escapedName": "inherits",
|
||||
"rawSpec": "2.0.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "2.0.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/util"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
|
||||
"_shasum": "b17d08d326b4423e568eff719f91b0b1cbdf69f1",
|
||||
"_spec": "inherits@2.0.1",
|
||||
"_where": "C:\\xampp\\htdocs\\w4rpservices\\node_modules\\util",
|
||||
"browser": "./inherits_browser.js",
|
||||
"bugs": {
|
||||
"url": "https://github.com/isaacs/inherits/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "Browser-friendly inheritance fully compatible with standard node.js inherits()",
|
||||
"homepage": "https://github.com/isaacs/inherits#readme",
|
||||
"keywords": [
|
||||
"inheritance",
|
||||
"class",
|
||||
"klass",
|
||||
"oop",
|
||||
"object-oriented",
|
||||
"inherits",
|
||||
"browser",
|
||||
"browserify"
|
||||
],
|
||||
"license": "ISC",
|
||||
"main": "./inherits.js",
|
||||
"name": "inherits",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/isaacs/inherits.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "node test"
|
||||
},
|
||||
"version": "2.0.1"
|
||||
}
|
||||
25
node_modules/util/node_modules/inherits/test.js
generated
vendored
25
node_modules/util/node_modules/inherits/test.js
generated
vendored
@@ -1,25 +0,0 @@
|
||||
var inherits = require('./inherits.js')
|
||||
var assert = require('assert')
|
||||
|
||||
function test(c) {
|
||||
assert(c.constructor === Child)
|
||||
assert(c.constructor.super_ === Parent)
|
||||
assert(Object.getPrototypeOf(c) === Child.prototype)
|
||||
assert(Object.getPrototypeOf(Object.getPrototypeOf(c)) === Parent.prototype)
|
||||
assert(c instanceof Child)
|
||||
assert(c instanceof Parent)
|
||||
}
|
||||
|
||||
function Child() {
|
||||
Parent.call(this)
|
||||
test(this)
|
||||
}
|
||||
|
||||
function Parent() {}
|
||||
|
||||
inherits(Child, Parent)
|
||||
|
||||
var c = new Child
|
||||
test(c)
|
||||
|
||||
console.log('ok')
|
||||
39
node_modules/util/package.json
generated
vendored
39
node_modules/util/package.json
generated
vendored
@@ -1,28 +1,27 @@
|
||||
{
|
||||
"_from": "util@0.10.3",
|
||||
"_id": "util@0.10.3",
|
||||
"_from": "util@^0.11.0",
|
||||
"_id": "util@0.11.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
|
||||
"_integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
|
||||
"_location": "/util",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "util@0.10.3",
|
||||
"raw": "util@^0.11.0",
|
||||
"name": "util",
|
||||
"escapedName": "util",
|
||||
"rawSpec": "0.10.3",
|
||||
"rawSpec": "^0.11.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "0.10.3"
|
||||
"fetchSpec": "^0.11.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/assert",
|
||||
"/node-libs-browser"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
|
||||
"_shasum": "7afb1afe50805246489e3db7fe0ed379336ac0f9",
|
||||
"_spec": "util@0.10.3",
|
||||
"_where": "C:\\xampp\\htdocs\\w4rpservices\\node_modules\\assert",
|
||||
"_resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
|
||||
"_shasum": "3236733720ec64bb27f6e26f421aaa2e1b588d61",
|
||||
"_spec": "util@^0.11.0",
|
||||
"_where": "C:\\xampp\\htdocs\\w4rpservices\\node_modules\\node-libs-browser",
|
||||
"author": {
|
||||
"name": "Joyent",
|
||||
"url": "http://www.joyent.com"
|
||||
@@ -35,13 +34,20 @@
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"inherits": "2.0.1"
|
||||
"inherits": "2.0.3"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Node.JS util module",
|
||||
"devDependencies": {
|
||||
"zuul": "~1.0.9"
|
||||
"airtap": "~0.1.0",
|
||||
"is-async-supported": "~1.2.0",
|
||||
"run-series": "~1.1.4",
|
||||
"tape": "~4.9.0"
|
||||
},
|
||||
"files": [
|
||||
"util.js",
|
||||
"support"
|
||||
],
|
||||
"homepage": "https://github.com/defunctzombie/node-util",
|
||||
"keywords": [
|
||||
"util"
|
||||
@@ -54,7 +60,8 @@
|
||||
"url": "git://github.com/defunctzombie/node-util.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "node test/node/*.js && zuul test/browser/*.js"
|
||||
"test": "node test/node/index.js",
|
||||
"test:browsers": "airtap test/browser/index.js"
|
||||
},
|
||||
"version": "0.10.3"
|
||||
"version": "0.11.1"
|
||||
}
|
||||
|
||||
41
node_modules/util/test/browser/inspect.js
generated
vendored
41
node_modules/util/test/browser/inspect.js
generated
vendored
@@ -1,41 +0,0 @@
|
||||
// Copyright Joyent, Inc. and other Node contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the
|
||||
// "Software"), to deal in the Software without restriction, including
|
||||
// without limitation the rights to use, copy, modify, merge, publish,
|
||||
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
// persons to whom the Software is furnished to do so, subject to the
|
||||
// following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included
|
||||
// in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||||
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
var assert = require('assert');
|
||||
var util = require('../../');
|
||||
|
||||
suite('inspect');
|
||||
|
||||
test('util.inspect - test for sparse array', function () {
|
||||
var a = ['foo', 'bar', 'baz'];
|
||||
assert.equal(util.inspect(a), '[ \'foo\', \'bar\', \'baz\' ]');
|
||||
delete a[1];
|
||||
assert.equal(util.inspect(a), '[ \'foo\', , \'baz\' ]');
|
||||
assert.equal(util.inspect(a, true), '[ \'foo\', , \'baz\', [length]: 3 ]');
|
||||
assert.equal(util.inspect(new Array(5)), '[ , , , , ]');
|
||||
});
|
||||
|
||||
test('util.inspect - exceptions should print the error message, not \'{}\'', function () {
|
||||
assert.equal(util.inspect(new Error()), '[Error]');
|
||||
assert.equal(util.inspect(new Error('FAIL')), '[Error: FAIL]');
|
||||
assert.equal(util.inspect(new TypeError('FAIL')), '[TypeError: FAIL]');
|
||||
assert.equal(util.inspect(new SyntaxError('FAIL')), '[SyntaxError: FAIL]');
|
||||
});
|
||||
91
node_modules/util/test/browser/is.js
generated
vendored
91
node_modules/util/test/browser/is.js
generated
vendored
@@ -1,91 +0,0 @@
|
||||
// Copyright Joyent, Inc. and other Node contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the
|
||||
// "Software"), to deal in the Software without restriction, including
|
||||
// without limitation the rights to use, copy, modify, merge, publish,
|
||||
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
// persons to whom the Software is furnished to do so, subject to the
|
||||
// following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included
|
||||
// in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||||
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
var assert = require('assert');
|
||||
|
||||
var util = require('../../');
|
||||
|
||||
suite('is');
|
||||
|
||||
test('util.isArray', function () {
|
||||
assert.equal(true, util.isArray([]));
|
||||
assert.equal(true, util.isArray(Array()));
|
||||
assert.equal(true, util.isArray(new Array()));
|
||||
assert.equal(true, util.isArray(new Array(5)));
|
||||
assert.equal(true, util.isArray(new Array('with', 'some', 'entries')));
|
||||
assert.equal(false, util.isArray({}));
|
||||
assert.equal(false, util.isArray({ push: function() {} }));
|
||||
assert.equal(false, util.isArray(/regexp/));
|
||||
assert.equal(false, util.isArray(new Error()));
|
||||
assert.equal(false, util.isArray(Object.create(Array.prototype)));
|
||||
});
|
||||
|
||||
test('util.isRegExp', function () {
|
||||
assert.equal(true, util.isRegExp(/regexp/));
|
||||
assert.equal(true, util.isRegExp(RegExp()));
|
||||
assert.equal(true, util.isRegExp(new RegExp()));
|
||||
assert.equal(false, util.isRegExp({}));
|
||||
assert.equal(false, util.isRegExp([]));
|
||||
assert.equal(false, util.isRegExp(new Date()));
|
||||
assert.equal(false, util.isRegExp(Object.create(RegExp.prototype)));
|
||||
});
|
||||
|
||||
test('util.isDate', function () {
|
||||
assert.equal(true, util.isDate(new Date()));
|
||||
assert.equal(true, util.isDate(new Date(0)));
|
||||
assert.equal(false, util.isDate(Date()));
|
||||
assert.equal(false, util.isDate({}));
|
||||
assert.equal(false, util.isDate([]));
|
||||
assert.equal(false, util.isDate(new Error()));
|
||||
assert.equal(false, util.isDate(Object.create(Date.prototype)));
|
||||
});
|
||||
|
||||
test('util.isError', function () {
|
||||
assert.equal(true, util.isError(new Error()));
|
||||
assert.equal(true, util.isError(new TypeError()));
|
||||
assert.equal(true, util.isError(new SyntaxError()));
|
||||
assert.equal(false, util.isError({}));
|
||||
assert.equal(false, util.isError({ name: 'Error', message: '' }));
|
||||
assert.equal(false, util.isError([]));
|
||||
assert.equal(true, util.isError(Object.create(Error.prototype)));
|
||||
});
|
||||
|
||||
test('util._extend', function () {
|
||||
assert.deepEqual(util._extend({a:1}), {a:1});
|
||||
assert.deepEqual(util._extend({a:1}, []), {a:1});
|
||||
assert.deepEqual(util._extend({a:1}, null), {a:1});
|
||||
assert.deepEqual(util._extend({a:1}, true), {a:1});
|
||||
assert.deepEqual(util._extend({a:1}, false), {a:1});
|
||||
assert.deepEqual(util._extend({a:1}, {b:2}), {a:1, b:2});
|
||||
assert.deepEqual(util._extend({a:1, b:2}, {b:3}), {a:1, b:3});
|
||||
});
|
||||
|
||||
test('util.isBuffer', function () {
|
||||
assert.equal(true, util.isBuffer(new Buffer(4)));
|
||||
assert.equal(true, util.isBuffer(Buffer(4)));
|
||||
assert.equal(true, util.isBuffer(new Buffer(4)));
|
||||
assert.equal(true, util.isBuffer(new Buffer([1, 2, 3, 4])));
|
||||
assert.equal(false, util.isBuffer({}));
|
||||
assert.equal(false, util.isBuffer([]));
|
||||
assert.equal(false, util.isBuffer(new Error()));
|
||||
assert.equal(false, util.isRegExp(new Date()));
|
||||
assert.equal(true, util.isBuffer(Object.create(Buffer.prototype)));
|
||||
});
|
||||
86
node_modules/util/test/node/debug.js
generated
vendored
86
node_modules/util/test/node/debug.js
generated
vendored
@@ -1,86 +0,0 @@
|
||||
// Copyright Joyent, Inc. and other Node contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the
|
||||
// "Software"), to deal in the Software without restriction, including
|
||||
// without limitation the rights to use, copy, modify, merge, publish,
|
||||
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
// persons to whom the Software is furnished to do so, subject to the
|
||||
// following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included
|
||||
// in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||||
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
var assert = require('assert');
|
||||
var util = require('../../');
|
||||
|
||||
if (process.argv[2] === 'child')
|
||||
child();
|
||||
else
|
||||
parent();
|
||||
|
||||
function parent() {
|
||||
test('foo,tud,bar', true);
|
||||
test('foo,tud', true);
|
||||
test('tud,bar', true);
|
||||
test('tud', true);
|
||||
test('foo,bar', false);
|
||||
test('', false);
|
||||
}
|
||||
|
||||
function test(environ, shouldWrite) {
|
||||
var expectErr = '';
|
||||
if (shouldWrite) {
|
||||
expectErr = 'TUD %PID%: this { is: \'a\' } /debugging/\n' +
|
||||
'TUD %PID%: number=1234 string=asdf obj={"foo":"bar"}\n';
|
||||
}
|
||||
var expectOut = 'ok\n';
|
||||
var didTest = false;
|
||||
|
||||
var spawn = require('child_process').spawn;
|
||||
var child = spawn(process.execPath, [__filename, 'child'], {
|
||||
env: { NODE_DEBUG: environ }
|
||||
});
|
||||
|
||||
expectErr = expectErr.split('%PID%').join(child.pid);
|
||||
|
||||
var err = '';
|
||||
child.stderr.setEncoding('utf8');
|
||||
child.stderr.on('data', function(c) {
|
||||
err += c;
|
||||
});
|
||||
|
||||
var out = '';
|
||||
child.stdout.setEncoding('utf8');
|
||||
child.stdout.on('data', function(c) {
|
||||
out += c;
|
||||
});
|
||||
|
||||
child.on('close', function(c) {
|
||||
assert(!c);
|
||||
assert.equal(err, expectErr);
|
||||
assert.equal(out, expectOut);
|
||||
didTest = true;
|
||||
console.log('ok %j %j', environ, shouldWrite);
|
||||
});
|
||||
|
||||
process.on('exit', function() {
|
||||
assert(didTest);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function child() {
|
||||
var debug = util.debuglog('tud');
|
||||
debug('this', { is: 'a' }, /debugging/);
|
||||
debug('number=%d string=%s obj=%j', 1234, 'asdf', { foo: 'bar' });
|
||||
console.log('ok');
|
||||
}
|
||||
77
node_modules/util/test/node/format.js
generated
vendored
77
node_modules/util/test/node/format.js
generated
vendored
@@ -1,77 +0,0 @@
|
||||
// Copyright Joyent, Inc. and other Node contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the
|
||||
// "Software"), to deal in the Software without restriction, including
|
||||
// without limitation the rights to use, copy, modify, merge, publish,
|
||||
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
// persons to whom the Software is furnished to do so, subject to the
|
||||
// following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included
|
||||
// in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||||
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
|
||||
|
||||
var assert = require('assert');
|
||||
var util = require('../../');
|
||||
|
||||
assert.equal(util.format(), '');
|
||||
assert.equal(util.format(''), '');
|
||||
assert.equal(util.format([]), '[]');
|
||||
assert.equal(util.format({}), '{}');
|
||||
assert.equal(util.format(null), 'null');
|
||||
assert.equal(util.format(true), 'true');
|
||||
assert.equal(util.format(false), 'false');
|
||||
assert.equal(util.format('test'), 'test');
|
||||
|
||||
// CHECKME this is for console.log() compatibility - but is it *right*?
|
||||
assert.equal(util.format('foo', 'bar', 'baz'), 'foo bar baz');
|
||||
|
||||
assert.equal(util.format('%d', 42.0), '42');
|
||||
assert.equal(util.format('%d', 42), '42');
|
||||
assert.equal(util.format('%s', 42), '42');
|
||||
assert.equal(util.format('%j', 42), '42');
|
||||
|
||||
assert.equal(util.format('%d', '42.0'), '42');
|
||||
assert.equal(util.format('%d', '42'), '42');
|
||||
assert.equal(util.format('%s', '42'), '42');
|
||||
assert.equal(util.format('%j', '42'), '"42"');
|
||||
|
||||
assert.equal(util.format('%%s%s', 'foo'), '%sfoo');
|
||||
|
||||
assert.equal(util.format('%s'), '%s');
|
||||
assert.equal(util.format('%s', undefined), 'undefined');
|
||||
assert.equal(util.format('%s', 'foo'), 'foo');
|
||||
assert.equal(util.format('%s:%s'), '%s:%s');
|
||||
assert.equal(util.format('%s:%s', undefined), 'undefined:%s');
|
||||
assert.equal(util.format('%s:%s', 'foo'), 'foo:%s');
|
||||
assert.equal(util.format('%s:%s', 'foo', 'bar'), 'foo:bar');
|
||||
assert.equal(util.format('%s:%s', 'foo', 'bar', 'baz'), 'foo:bar baz');
|
||||
assert.equal(util.format('%%%s%%', 'hi'), '%hi%');
|
||||
assert.equal(util.format('%%%s%%%%', 'hi'), '%hi%%');
|
||||
|
||||
(function() {
|
||||
var o = {};
|
||||
o.o = o;
|
||||
assert.equal(util.format('%j', o), '[Circular]');
|
||||
})();
|
||||
|
||||
// Errors
|
||||
assert.equal(util.format(new Error('foo')), '[Error: foo]');
|
||||
function CustomError(msg) {
|
||||
Error.call(this);
|
||||
Object.defineProperty(this, 'message', { value: msg, enumerable: false });
|
||||
Object.defineProperty(this, 'name', { value: 'CustomError', enumerable: false });
|
||||
}
|
||||
util.inherits(CustomError, Error);
|
||||
assert.equal(util.format(new CustomError('bar')), '[CustomError: bar]');
|
||||
195
node_modules/util/test/node/inspect.js
generated
vendored
195
node_modules/util/test/node/inspect.js
generated
vendored
@@ -1,195 +0,0 @@
|
||||
// Copyright Joyent, Inc. and other Node contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the
|
||||
// "Software"), to deal in the Software without restriction, including
|
||||
// without limitation the rights to use, copy, modify, merge, publish,
|
||||
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
// persons to whom the Software is furnished to do so, subject to the
|
||||
// following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included
|
||||
// in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||||
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
|
||||
|
||||
var assert = require('assert');
|
||||
var util = require('../../');
|
||||
|
||||
// test the internal isDate implementation
|
||||
var Date2 = require('vm').runInNewContext('Date');
|
||||
var d = new Date2();
|
||||
var orig = util.inspect(d);
|
||||
Date2.prototype.foo = 'bar';
|
||||
var after = util.inspect(d);
|
||||
assert.equal(orig, after);
|
||||
|
||||
// test for sparse array
|
||||
var a = ['foo', 'bar', 'baz'];
|
||||
assert.equal(util.inspect(a), '[ \'foo\', \'bar\', \'baz\' ]');
|
||||
delete a[1];
|
||||
assert.equal(util.inspect(a), '[ \'foo\', , \'baz\' ]');
|
||||
assert.equal(util.inspect(a, true), '[ \'foo\', , \'baz\', [length]: 3 ]');
|
||||
assert.equal(util.inspect(new Array(5)), '[ , , , , ]');
|
||||
|
||||
// test for property descriptors
|
||||
var getter = Object.create(null, {
|
||||
a: {
|
||||
get: function() { return 'aaa'; }
|
||||
}
|
||||
});
|
||||
var setter = Object.create(null, {
|
||||
b: {
|
||||
set: function() {}
|
||||
}
|
||||
});
|
||||
var getterAndSetter = Object.create(null, {
|
||||
c: {
|
||||
get: function() { return 'ccc'; },
|
||||
set: function() {}
|
||||
}
|
||||
});
|
||||
assert.equal(util.inspect(getter, true), '{ [a]: [Getter] }');
|
||||
assert.equal(util.inspect(setter, true), '{ [b]: [Setter] }');
|
||||
assert.equal(util.inspect(getterAndSetter, true), '{ [c]: [Getter/Setter] }');
|
||||
|
||||
// exceptions should print the error message, not '{}'
|
||||
assert.equal(util.inspect(new Error()), '[Error]');
|
||||
assert.equal(util.inspect(new Error('FAIL')), '[Error: FAIL]');
|
||||
assert.equal(util.inspect(new TypeError('FAIL')), '[TypeError: FAIL]');
|
||||
assert.equal(util.inspect(new SyntaxError('FAIL')), '[SyntaxError: FAIL]');
|
||||
try {
|
||||
undef();
|
||||
} catch (e) {
|
||||
assert.equal(util.inspect(e), '[ReferenceError: undef is not defined]');
|
||||
}
|
||||
var ex = util.inspect(new Error('FAIL'), true);
|
||||
assert.ok(ex.indexOf('[Error: FAIL]') != -1);
|
||||
assert.ok(ex.indexOf('[stack]') != -1);
|
||||
assert.ok(ex.indexOf('[message]') != -1);
|
||||
|
||||
// GH-1941
|
||||
// should not throw:
|
||||
assert.equal(util.inspect(Object.create(Date.prototype)), '{}');
|
||||
|
||||
// GH-1944
|
||||
assert.doesNotThrow(function() {
|
||||
var d = new Date();
|
||||
d.toUTCString = null;
|
||||
util.inspect(d);
|
||||
});
|
||||
|
||||
assert.doesNotThrow(function() {
|
||||
var r = /regexp/;
|
||||
r.toString = null;
|
||||
util.inspect(r);
|
||||
});
|
||||
|
||||
// bug with user-supplied inspect function returns non-string
|
||||
assert.doesNotThrow(function() {
|
||||
util.inspect([{
|
||||
inspect: function() { return 123; }
|
||||
}]);
|
||||
});
|
||||
|
||||
// GH-2225
|
||||
var x = { inspect: util.inspect };
|
||||
assert.ok(util.inspect(x).indexOf('inspect') != -1);
|
||||
|
||||
// util.inspect.styles and util.inspect.colors
|
||||
function test_color_style(style, input, implicit) {
|
||||
var color_name = util.inspect.styles[style];
|
||||
var color = ['', ''];
|
||||
if(util.inspect.colors[color_name])
|
||||
color = util.inspect.colors[color_name];
|
||||
|
||||
var without_color = util.inspect(input, false, 0, false);
|
||||
var with_color = util.inspect(input, false, 0, true);
|
||||
var expect = '\u001b[' + color[0] + 'm' + without_color +
|
||||
'\u001b[' + color[1] + 'm';
|
||||
assert.equal(with_color, expect, 'util.inspect color for style '+style);
|
||||
}
|
||||
|
||||
test_color_style('special', function(){});
|
||||
test_color_style('number', 123.456);
|
||||
test_color_style('boolean', true);
|
||||
test_color_style('undefined', undefined);
|
||||
test_color_style('null', null);
|
||||
test_color_style('string', 'test string');
|
||||
test_color_style('date', new Date);
|
||||
test_color_style('regexp', /regexp/);
|
||||
|
||||
// an object with "hasOwnProperty" overwritten should not throw
|
||||
assert.doesNotThrow(function() {
|
||||
util.inspect({
|
||||
hasOwnProperty: null
|
||||
});
|
||||
});
|
||||
|
||||
// new API, accepts an "options" object
|
||||
var subject = { foo: 'bar', hello: 31, a: { b: { c: { d: 0 } } } };
|
||||
Object.defineProperty(subject, 'hidden', { enumerable: false, value: null });
|
||||
|
||||
assert(util.inspect(subject, { showHidden: false }).indexOf('hidden') === -1);
|
||||
assert(util.inspect(subject, { showHidden: true }).indexOf('hidden') !== -1);
|
||||
assert(util.inspect(subject, { colors: false }).indexOf('\u001b[32m') === -1);
|
||||
assert(util.inspect(subject, { colors: true }).indexOf('\u001b[32m') !== -1);
|
||||
assert(util.inspect(subject, { depth: 2 }).indexOf('c: [Object]') !== -1);
|
||||
assert(util.inspect(subject, { depth: 0 }).indexOf('a: [Object]') !== -1);
|
||||
assert(util.inspect(subject, { depth: null }).indexOf('{ d: 0 }') !== -1);
|
||||
|
||||
// "customInspect" option can enable/disable calling inspect() on objects
|
||||
subject = { inspect: function() { return 123; } };
|
||||
|
||||
assert(util.inspect(subject, { customInspect: true }).indexOf('123') !== -1);
|
||||
assert(util.inspect(subject, { customInspect: true }).indexOf('inspect') === -1);
|
||||
assert(util.inspect(subject, { customInspect: false }).indexOf('123') === -1);
|
||||
assert(util.inspect(subject, { customInspect: false }).indexOf('inspect') !== -1);
|
||||
|
||||
// custom inspect() functions should be able to return other Objects
|
||||
subject.inspect = function() { return { foo: 'bar' }; };
|
||||
|
||||
assert.equal(util.inspect(subject), '{ foo: \'bar\' }');
|
||||
|
||||
subject.inspect = function(depth, opts) {
|
||||
assert.strictEqual(opts.customInspectOptions, true);
|
||||
};
|
||||
|
||||
util.inspect(subject, { customInspectOptions: true });
|
||||
|
||||
// util.inspect with "colors" option should produce as many lines as without it
|
||||
function test_lines(input) {
|
||||
var count_lines = function(str) {
|
||||
return (str.match(/\n/g) || []).length;
|
||||
}
|
||||
|
||||
var without_color = util.inspect(input);
|
||||
var with_color = util.inspect(input, {colors: true});
|
||||
assert.equal(count_lines(without_color), count_lines(with_color));
|
||||
}
|
||||
|
||||
test_lines([1, 2, 3, 4, 5, 6, 7]);
|
||||
test_lines(function() {
|
||||
var big_array = [];
|
||||
for (var i = 0; i < 100; i++) {
|
||||
big_array.push(i);
|
||||
}
|
||||
return big_array;
|
||||
}());
|
||||
test_lines({foo: 'bar', baz: 35, b: {a: 35}});
|
||||
test_lines({
|
||||
foo: 'bar',
|
||||
baz: 35,
|
||||
b: {a: 35},
|
||||
very_long_key: 'very_long_value',
|
||||
even_longer_key: ['with even longer value in array']
|
||||
});
|
||||
58
node_modules/util/test/node/log.js
generated
vendored
58
node_modules/util/test/node/log.js
generated
vendored
@@ -1,58 +0,0 @@
|
||||
// Copyright Joyent, Inc. and other Node contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the
|
||||
// "Software"), to deal in the Software without restriction, including
|
||||
// without limitation the rights to use, copy, modify, merge, publish,
|
||||
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
// persons to whom the Software is furnished to do so, subject to the
|
||||
// following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included
|
||||
// in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||||
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
var assert = require('assert');
|
||||
var util = require('../../');
|
||||
|
||||
assert.ok(process.stdout.writable);
|
||||
assert.ok(process.stderr.writable);
|
||||
|
||||
var stdout_write = global.process.stdout.write;
|
||||
var strings = [];
|
||||
global.process.stdout.write = function(string) {
|
||||
strings.push(string);
|
||||
};
|
||||
console._stderr = process.stdout;
|
||||
|
||||
var tests = [
|
||||
{input: 'foo', output: 'foo'},
|
||||
{input: undefined, output: 'undefined'},
|
||||
{input: null, output: 'null'},
|
||||
{input: false, output: 'false'},
|
||||
{input: 42, output: '42'},
|
||||
{input: function(){}, output: '[Function]'},
|
||||
{input: parseInt('not a number', 10), output: 'NaN'},
|
||||
{input: {answer: 42}, output: '{ answer: 42 }'},
|
||||
{input: [1,2,3], output: '[ 1, 2, 3 ]'}
|
||||
];
|
||||
|
||||
// test util.log()
|
||||
tests.forEach(function(test) {
|
||||
util.log(test.input);
|
||||
var result = strings.shift().trim(),
|
||||
re = (/[0-9]{1,2} [A-Z][a-z]{2} [0-9]{2}:[0-9]{2}:[0-9]{2} - (.+)$/),
|
||||
match = re.exec(result);
|
||||
assert.ok(match);
|
||||
assert.equal(match[1], test.output);
|
||||
});
|
||||
|
||||
global.process.stdout.write = stdout_write;
|
||||
83
node_modules/util/test/node/util.js
generated
vendored
83
node_modules/util/test/node/util.js
generated
vendored
@@ -1,83 +0,0 @@
|
||||
// Copyright Joyent, Inc. and other Node contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the
|
||||
// "Software"), to deal in the Software without restriction, including
|
||||
// without limitation the rights to use, copy, modify, merge, publish,
|
||||
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
// persons to whom the Software is furnished to do so, subject to the
|
||||
// following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included
|
||||
// in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||||
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
var assert = require('assert');
|
||||
var context = require('vm').runInNewContext;
|
||||
|
||||
var util = require('../../');
|
||||
|
||||
// isArray
|
||||
assert.equal(true, util.isArray([]));
|
||||
assert.equal(true, util.isArray(Array()));
|
||||
assert.equal(true, util.isArray(new Array()));
|
||||
assert.equal(true, util.isArray(new Array(5)));
|
||||
assert.equal(true, util.isArray(new Array('with', 'some', 'entries')));
|
||||
assert.equal(true, util.isArray(context('Array')()));
|
||||
assert.equal(false, util.isArray({}));
|
||||
assert.equal(false, util.isArray({ push: function() {} }));
|
||||
assert.equal(false, util.isArray(/regexp/));
|
||||
assert.equal(false, util.isArray(new Error));
|
||||
assert.equal(false, util.isArray(Object.create(Array.prototype)));
|
||||
|
||||
// isRegExp
|
||||
assert.equal(true, util.isRegExp(/regexp/));
|
||||
assert.equal(true, util.isRegExp(RegExp()));
|
||||
assert.equal(true, util.isRegExp(new RegExp()));
|
||||
assert.equal(true, util.isRegExp(context('RegExp')()));
|
||||
assert.equal(false, util.isRegExp({}));
|
||||
assert.equal(false, util.isRegExp([]));
|
||||
assert.equal(false, util.isRegExp(new Date()));
|
||||
assert.equal(false, util.isRegExp(Object.create(RegExp.prototype)));
|
||||
|
||||
// isDate
|
||||
assert.equal(true, util.isDate(new Date()));
|
||||
assert.equal(true, util.isDate(new Date(0)));
|
||||
assert.equal(true, util.isDate(new (context('Date'))));
|
||||
assert.equal(false, util.isDate(Date()));
|
||||
assert.equal(false, util.isDate({}));
|
||||
assert.equal(false, util.isDate([]));
|
||||
assert.equal(false, util.isDate(new Error));
|
||||
assert.equal(false, util.isDate(Object.create(Date.prototype)));
|
||||
|
||||
// isError
|
||||
assert.equal(true, util.isError(new Error));
|
||||
assert.equal(true, util.isError(new TypeError));
|
||||
assert.equal(true, util.isError(new SyntaxError));
|
||||
assert.equal(true, util.isError(new (context('Error'))));
|
||||
assert.equal(true, util.isError(new (context('TypeError'))));
|
||||
assert.equal(true, util.isError(new (context('SyntaxError'))));
|
||||
assert.equal(false, util.isError({}));
|
||||
assert.equal(false, util.isError({ name: 'Error', message: '' }));
|
||||
assert.equal(false, util.isError([]));
|
||||
assert.equal(true, util.isError(Object.create(Error.prototype)));
|
||||
|
||||
// isObject
|
||||
assert.ok(util.isObject({}) === true);
|
||||
|
||||
// _extend
|
||||
assert.deepEqual(util._extend({a:1}), {a:1});
|
||||
assert.deepEqual(util._extend({a:1}, []), {a:1});
|
||||
assert.deepEqual(util._extend({a:1}, null), {a:1});
|
||||
assert.deepEqual(util._extend({a:1}, true), {a:1});
|
||||
assert.deepEqual(util._extend({a:1}, false), {a:1});
|
||||
assert.deepEqual(util._extend({a:1}, {b:2}), {a:1, b:2});
|
||||
assert.deepEqual(util._extend({a:1, b:2}, {b:3}), {a:1, b:3});
|
||||
127
node_modules/util/util.js
generated
vendored
127
node_modules/util/util.js
generated
vendored
@@ -19,6 +19,16 @@
|
||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
var getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||
|
||||
function getOwnPropertyDescriptors(obj) {
|
||||
var keys = Object.keys(obj);
|
||||
var descriptors = {};
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);
|
||||
}
|
||||
return descriptors;
|
||||
};
|
||||
|
||||
var formatRegExp = /%[sdj%]/g;
|
||||
exports.format = function(f) {
|
||||
if (!isString(f)) {
|
||||
@@ -63,17 +73,17 @@ exports.format = function(f) {
|
||||
// Returns a modified function which warns once by default.
|
||||
// If --no-deprecation is set, then it is a no-op.
|
||||
exports.deprecate = function(fn, msg) {
|
||||
if (typeof process !== 'undefined' && process.noDeprecation === true) {
|
||||
return fn;
|
||||
}
|
||||
|
||||
// Allow for deprecating things in the process of starting up.
|
||||
if (isUndefined(global.process)) {
|
||||
if (typeof process === 'undefined') {
|
||||
return function() {
|
||||
return exports.deprecate(fn, msg).apply(this, arguments);
|
||||
};
|
||||
}
|
||||
|
||||
if (process.noDeprecation === true) {
|
||||
return fn;
|
||||
}
|
||||
|
||||
var warned = false;
|
||||
function deprecated() {
|
||||
if (!warned) {
|
||||
@@ -584,3 +594,110 @@ exports._extend = function(origin, add) {
|
||||
function hasOwnProperty(obj, prop) {
|
||||
return Object.prototype.hasOwnProperty.call(obj, prop);
|
||||
}
|
||||
|
||||
var kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;
|
||||
|
||||
exports.promisify = function promisify(original) {
|
||||
if (typeof original !== 'function')
|
||||
throw new TypeError('The "original" argument must be of type Function');
|
||||
|
||||
if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {
|
||||
var fn = original[kCustomPromisifiedSymbol];
|
||||
if (typeof fn !== 'function') {
|
||||
throw new TypeError('The "util.promisify.custom" argument must be of type Function');
|
||||
}
|
||||
Object.defineProperty(fn, kCustomPromisifiedSymbol, {
|
||||
value: fn, enumerable: false, writable: false, configurable: true
|
||||
});
|
||||
return fn;
|
||||
}
|
||||
|
||||
function fn() {
|
||||
var promiseResolve, promiseReject;
|
||||
var promise = new Promise(function (resolve, reject) {
|
||||
promiseResolve = resolve;
|
||||
promiseReject = reject;
|
||||
});
|
||||
|
||||
var args = [];
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
args.push(arguments[i]);
|
||||
}
|
||||
args.push(function (err, value) {
|
||||
if (err) {
|
||||
promiseReject(err);
|
||||
} else {
|
||||
promiseResolve(value);
|
||||
}
|
||||
});
|
||||
|
||||
try {
|
||||
original.apply(this, args);
|
||||
} catch (err) {
|
||||
promiseReject(err);
|
||||
}
|
||||
|
||||
return promise;
|
||||
}
|
||||
|
||||
Object.setPrototypeOf(fn, Object.getPrototypeOf(original));
|
||||
|
||||
if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {
|
||||
value: fn, enumerable: false, writable: false, configurable: true
|
||||
});
|
||||
return Object.defineProperties(
|
||||
fn,
|
||||
getOwnPropertyDescriptors(original)
|
||||
);
|
||||
}
|
||||
|
||||
exports.promisify.custom = kCustomPromisifiedSymbol
|
||||
|
||||
function callbackifyOnRejected(reason, cb) {
|
||||
// `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).
|
||||
// Because `null` is a special error value in callbacks which means "no error
|
||||
// occurred", we error-wrap so the callback consumer can distinguish between
|
||||
// "the promise rejected with null" or "the promise fulfilled with undefined".
|
||||
if (!reason) {
|
||||
var newReason = new Error('Promise was rejected with a falsy value');
|
||||
newReason.reason = reason;
|
||||
reason = newReason;
|
||||
}
|
||||
return cb(reason);
|
||||
}
|
||||
|
||||
function callbackify(original) {
|
||||
if (typeof original !== 'function') {
|
||||
throw new TypeError('The "original" argument must be of type Function');
|
||||
}
|
||||
|
||||
// We DO NOT return the promise as it gives the user a false sense that
|
||||
// the promise is actually somehow related to the callback's execution
|
||||
// and that the callback throwing will reject the promise.
|
||||
function callbackified() {
|
||||
var args = [];
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
args.push(arguments[i]);
|
||||
}
|
||||
|
||||
var maybeCb = args.pop();
|
||||
if (typeof maybeCb !== 'function') {
|
||||
throw new TypeError('The last argument must be of type Function');
|
||||
}
|
||||
var self = this;
|
||||
var cb = function() {
|
||||
return maybeCb.apply(self, arguments);
|
||||
};
|
||||
// In true node style we process the callback on `nextTick` with all the
|
||||
// implications (stack, `uncaughtException`, `async_hooks`)
|
||||
original.apply(this, args)
|
||||
.then(function(ret) { process.nextTick(cb, null, ret) },
|
||||
function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });
|
||||
}
|
||||
|
||||
Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));
|
||||
Object.defineProperties(callbackified,
|
||||
getOwnPropertyDescriptors(original));
|
||||
return callbackified;
|
||||
}
|
||||
exports.callbackify = callbackify;
|
||||
|
||||
Reference in New Issue
Block a user