Deployed the page to Github Pages.
This commit is contained in:
		
							parent
							
								
									1d79754e93
								
							
						
					
					
						commit
						2c89899458
					
				
					 62797 changed files with 6551425 additions and 15279 deletions
				
			
		
							
								
								
									
										59
									
								
								node_modules/errno/.jshintrc
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								node_modules/errno/.jshintrc
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,59 @@
 | 
			
		|||
{
 | 
			
		||||
    "predef": [ ]
 | 
			
		||||
  , "bitwise": false
 | 
			
		||||
  , "camelcase": false
 | 
			
		||||
  , "curly": false
 | 
			
		||||
  , "eqeqeq": false
 | 
			
		||||
  , "forin": false
 | 
			
		||||
  , "immed": false
 | 
			
		||||
  , "latedef": false
 | 
			
		||||
  , "noarg": true
 | 
			
		||||
  , "noempty": true
 | 
			
		||||
  , "nonew": true
 | 
			
		||||
  , "plusplus": false
 | 
			
		||||
  , "quotmark": true
 | 
			
		||||
  , "regexp": false
 | 
			
		||||
  , "undef": true
 | 
			
		||||
  , "unused": true
 | 
			
		||||
  , "strict": false
 | 
			
		||||
  , "trailing": true
 | 
			
		||||
  , "maxlen": 120
 | 
			
		||||
  , "asi": true
 | 
			
		||||
  , "boss": true
 | 
			
		||||
  , "debug": true
 | 
			
		||||
  , "eqnull": true
 | 
			
		||||
  , "esnext": true
 | 
			
		||||
  , "evil": true
 | 
			
		||||
  , "expr": true
 | 
			
		||||
  , "funcscope": false
 | 
			
		||||
  , "globalstrict": false
 | 
			
		||||
  , "iterator": false
 | 
			
		||||
  , "lastsemic": true
 | 
			
		||||
  , "laxbreak": true
 | 
			
		||||
  , "laxcomma": true
 | 
			
		||||
  , "loopfunc": true
 | 
			
		||||
  , "multistr": false
 | 
			
		||||
  , "onecase": false
 | 
			
		||||
  , "proto": false
 | 
			
		||||
  , "regexdash": false
 | 
			
		||||
  , "scripturl": true
 | 
			
		||||
  , "smarttabs": false
 | 
			
		||||
  , "shadow": false
 | 
			
		||||
  , "sub": true
 | 
			
		||||
  , "supernew": false
 | 
			
		||||
  , "validthis": true
 | 
			
		||||
  , "browser": true
 | 
			
		||||
  , "couch": false
 | 
			
		||||
  , "devel": false
 | 
			
		||||
  , "dojo": false
 | 
			
		||||
  , "mootools": false
 | 
			
		||||
  , "node": true
 | 
			
		||||
  , "nonstandard": true
 | 
			
		||||
  , "prototypejs": false
 | 
			
		||||
  , "rhino": false
 | 
			
		||||
  , "worker": true
 | 
			
		||||
  , "wsh": false
 | 
			
		||||
  , "nomen": false
 | 
			
		||||
  , "onevar": false
 | 
			
		||||
  , "passfail": false
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										19
									
								
								node_modules/errno/.travis.yml
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								node_modules/errno/.travis.yml
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,19 @@
 | 
			
		|||
sudo: false
 | 
			
		||||
 | 
			
		||||
language: node_js
 | 
			
		||||
 | 
			
		||||
node_js:
 | 
			
		||||
  - 14
 | 
			
		||||
  - 12
 | 
			
		||||
  - 10
 | 
			
		||||
  - 9
 | 
			
		||||
  - 8
 | 
			
		||||
  - 7
 | 
			
		||||
  - 6
 | 
			
		||||
  - 5
 | 
			
		||||
  - 4
 | 
			
		||||
 | 
			
		||||
arch:
 | 
			
		||||
  - amd64
 | 
			
		||||
  - ppc64le
 | 
			
		||||
  
 | 
			
		||||
							
								
								
									
										145
									
								
								node_modules/errno/README.md
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										145
									
								
								node_modules/errno/README.md
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,145 @@
 | 
			
		|||
# node-errno
 | 
			
		||||
 | 
			
		||||
> Better [libuv](https://github.com/libuv/libuv)/[Node.js](https://nodejs.org)/[io.js](https://iojs.org) error handling & reporting. Available in npm as *errno*.
 | 
			
		||||
 | 
			
		||||
[](https://www.npmjs.com/package/errno)
 | 
			
		||||
[](http://travis-ci.org/rvagg/node-errno)
 | 
			
		||||
[](https://www.npmjs.com/package/errno)
 | 
			
		||||
 | 
			
		||||
* [errno exposed](#errnoexposed)
 | 
			
		||||
* [Custom errors](#customerrors)
 | 
			
		||||
 | 
			
		||||
<a name="errnoexposed"></a>
 | 
			
		||||
## errno exposed
 | 
			
		||||
 | 
			
		||||
Ever find yourself needing more details about Node.js errors? Me too, so *node-errno* contains the errno mappings direct from libuv so you can use them in your code.
 | 
			
		||||
 | 
			
		||||
**By errno:**
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
require('errno').errno[3]
 | 
			
		||||
// → {
 | 
			
		||||
//     "errno": 3,
 | 
			
		||||
//     "code": "EACCES",
 | 
			
		||||
//     "description": "permission denied"
 | 
			
		||||
//   }
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
**By code:**
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
require('errno').code.ENOTEMPTY
 | 
			
		||||
// → {
 | 
			
		||||
//     "errno": 53,
 | 
			
		||||
//     "code": "ENOTEMPTY",
 | 
			
		||||
//     "description": "directory not empty"
 | 
			
		||||
//   }
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
**Make your errors more descriptive:**
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
var errno = require('errno')
 | 
			
		||||
 | 
			
		||||
function errmsg(err) {
 | 
			
		||||
  var str = 'Error: '
 | 
			
		||||
  // if it's a libuv error then get the description from errno
 | 
			
		||||
  if (errno.errno[err.errno])
 | 
			
		||||
    str += errno.errno[err.errno].description
 | 
			
		||||
  else
 | 
			
		||||
    str += err.message
 | 
			
		||||
 | 
			
		||||
  // if it's a `fs` error then it'll have a 'path' property
 | 
			
		||||
  if (err.path)
 | 
			
		||||
    str += ' [' + err.path + ']'
 | 
			
		||||
 | 
			
		||||
  return str
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var fs = require('fs')
 | 
			
		||||
 | 
			
		||||
fs.readFile('thisisnotarealfile.txt', function (err, data) {
 | 
			
		||||
  if (err)
 | 
			
		||||
    console.log(errmsg(err))
 | 
			
		||||
})
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
**Use as a command line tool:**
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
~ $ errno 53
 | 
			
		||||
{
 | 
			
		||||
  "errno": 53,
 | 
			
		||||
  "code": "ENOTEMPTY",
 | 
			
		||||
  "description": "directory not empty"
 | 
			
		||||
}
 | 
			
		||||
~ $ errno EROFS
 | 
			
		||||
{
 | 
			
		||||
  "errno": 56,
 | 
			
		||||
  "code": "EROFS",
 | 
			
		||||
  "description": "read-only file system"
 | 
			
		||||
}
 | 
			
		||||
~ $ errno foo
 | 
			
		||||
No such errno/code: "foo"
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Supply no arguments for the full list. Error codes are processed case-insensitive.
 | 
			
		||||
 | 
			
		||||
You will need to install with `npm install errno -g` if you want the `errno` command to be available without supplying a full path to the node_modules installation.
 | 
			
		||||
 | 
			
		||||
<a name="customerrors"></a>
 | 
			
		||||
## Custom errors
 | 
			
		||||
 | 
			
		||||
Use `errno.custom.createError()` to create custom `Error` objects to throw around in your Node.js library. Create error hierarchies so `instanceof` becomes a useful tool in tracking errors. Call-stack is correctly captured at the time you create an instance of the error object, plus a `cause` property will make available the original error object if you pass one in to the constructor.
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
var create = require('errno').custom.createError
 | 
			
		||||
var MyError = create('MyError') // inherits from Error
 | 
			
		||||
var SpecificError = create('SpecificError', MyError) // inherits from MyError
 | 
			
		||||
var OtherError = create('OtherError', MyError)
 | 
			
		||||
 | 
			
		||||
// use them!
 | 
			
		||||
if (condition) throw new SpecificError('Eeek! Something bad happened')
 | 
			
		||||
 | 
			
		||||
if (err) return callback(new OtherError(err))
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Also available is a `errno.custom.FilesystemError` with in-built access to errno properties:
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
fs.readFile('foo', function (err, data) {
 | 
			
		||||
  if (err) return callback(new errno.custom.FilesystemError(err))
 | 
			
		||||
  // do something else
 | 
			
		||||
})
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
The resulting error object passed through the callback will have the following properties: `code`, `errno`, `path` and `message` will contain a descriptive human-readable message.
 | 
			
		||||
 | 
			
		||||
## Contributors
 | 
			
		||||
 | 
			
		||||
* [bahamas10](https://github.com/bahamas10) (Dave Eddy) - Added CLI
 | 
			
		||||
* [ralphtheninja](https://github.com/ralphtheninja) (Lars-Magnus Skog)
 | 
			
		||||
 | 
			
		||||
## Copyright & Licence
 | 
			
		||||
 | 
			
		||||
*Copyright (c) 2012-2015 [Rod Vagg](https://github.com/rvagg) ([@rvagg](https://twitter.com/rvagg))*
 | 
			
		||||
 | 
			
		||||
Made available under the MIT licence:
 | 
			
		||||
 | 
			
		||||
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.
 | 
			
		||||
							
								
								
									
										43
									
								
								node_modules/errno/build.js
									
										
									
										generated
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										43
									
								
								node_modules/errno/build.js
									
										
									
										generated
									
									
										vendored
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,43 @@
 | 
			
		|||
#!/usr/bin/env node
 | 
			
		||||
 | 
			
		||||
var request   = require('request')
 | 
			
		||||
  , fs        = require('fs')
 | 
			
		||||
 | 
			
		||||
  , uvheadloc = 'https://raw.github.com/joyent/libuv/master/include/uv.h'
 | 
			
		||||
  , defreg    = /^\s*XX\(\s*([\-\d]+),\s*([A-Z]+),\s*"([^"]*)"\s*\)\s*\\?$/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
request(uvheadloc, function (err, response) {
 | 
			
		||||
  if (err)
 | 
			
		||||
    throw err
 | 
			
		||||
 | 
			
		||||
  var data, out
 | 
			
		||||
 | 
			
		||||
  data = response.body
 | 
			
		||||
    .split('\n')
 | 
			
		||||
    .map(function (line) { return line.match(defreg) })
 | 
			
		||||
    .filter(function (match) { return match })
 | 
			
		||||
    .map(function (match) { return {
 | 
			
		||||
        errno: parseInt(match[1], 10)
 | 
			
		||||
      , code: match[2]
 | 
			
		||||
      , description: match[3]
 | 
			
		||||
    }})
 | 
			
		||||
 | 
			
		||||
  out = 'var all = module.exports.all = ' + JSON.stringify(data, 0, 1) + '\n\n'
 | 
			
		||||
 | 
			
		||||
  out += '\nmodule.exports.errno = {\n    '
 | 
			
		||||
    + data.map(function (e, i) {
 | 
			
		||||
        return '\'' + e.errno + '\': all[' + i + ']'
 | 
			
		||||
      }).join('\n  , ')
 | 
			
		||||
    + '\n}\n\n'
 | 
			
		||||
 | 
			
		||||
  out += '\nmodule.exports.code = {\n    '
 | 
			
		||||
    + data.map(function (e, i) {
 | 
			
		||||
        return '\'' + e.code + '\': all[' + i + ']'
 | 
			
		||||
      }).join('\n  , ')
 | 
			
		||||
    + '\n}\n\n'
 | 
			
		||||
 | 
			
		||||
  out += '\nmodule.exports.custom = require("./custom")(module.exports)\n'
 | 
			
		||||
 | 
			
		||||
  fs.writeFile('errno.js', out)
 | 
			
		||||
})
 | 
			
		||||
							
								
								
									
										22
									
								
								node_modules/errno/cli.js
									
										
									
										generated
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										22
									
								
								node_modules/errno/cli.js
									
										
									
										generated
									
									
										vendored
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
#!/usr/bin/env node
 | 
			
		||||
 | 
			
		||||
var errno = require('./')
 | 
			
		||||
  , arg   = process.argv[2]
 | 
			
		||||
  , data, code
 | 
			
		||||
 | 
			
		||||
if (arg === undefined) {
 | 
			
		||||
  console.log(JSON.stringify(errno.code, null, 2))
 | 
			
		||||
  process.exit(0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if ((code = +arg) == arg)
 | 
			
		||||
  data = errno.errno[code]
 | 
			
		||||
else
 | 
			
		||||
  data = errno.code[arg] || errno.code[arg.toUpperCase()]
 | 
			
		||||
 | 
			
		||||
if (data)
 | 
			
		||||
  console.log(JSON.stringify(data, null, 2))
 | 
			
		||||
else {
 | 
			
		||||
  console.error('No such errno/code: "' + arg + '"')
 | 
			
		||||
  process.exit(1)
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										57
									
								
								node_modules/errno/custom.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								node_modules/errno/custom.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,57 @@
 | 
			
		|||
var prr = require('prr')
 | 
			
		||||
 | 
			
		||||
function init (type, message, cause) {
 | 
			
		||||
  if (!!message && typeof message != 'string') {
 | 
			
		||||
    message = message.message || message.name
 | 
			
		||||
  }
 | 
			
		||||
  prr(this, {
 | 
			
		||||
      type    : type
 | 
			
		||||
    , name    : type
 | 
			
		||||
      // can be passed just a 'cause'
 | 
			
		||||
    , cause   : typeof message != 'string' ? message : cause
 | 
			
		||||
    , message : message
 | 
			
		||||
  }, 'ewr')
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// generic prototype, not intended to be actually used - helpful for `instanceof`
 | 
			
		||||
function CustomError (message, cause) {
 | 
			
		||||
  Error.call(this)
 | 
			
		||||
  if (Error.captureStackTrace)
 | 
			
		||||
    Error.captureStackTrace(this, this.constructor)
 | 
			
		||||
  init.call(this, 'CustomError', message, cause)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CustomError.prototype = new Error()
 | 
			
		||||
 | 
			
		||||
function createError (errno, type, proto) {
 | 
			
		||||
  var err = function (message, cause) {
 | 
			
		||||
    init.call(this, type, message, cause)
 | 
			
		||||
    //TODO: the specificity here is stupid, errno should be available everywhere
 | 
			
		||||
    if (type == 'FilesystemError') {
 | 
			
		||||
      this.code    = this.cause.code
 | 
			
		||||
      this.path    = this.cause.path
 | 
			
		||||
      this.errno   = this.cause.errno
 | 
			
		||||
      this.message =
 | 
			
		||||
        (errno.errno[this.cause.errno]
 | 
			
		||||
          ? errno.errno[this.cause.errno].description
 | 
			
		||||
          : this.cause.message)
 | 
			
		||||
        + (this.cause.path ? ' [' + this.cause.path + ']' : '')
 | 
			
		||||
    }
 | 
			
		||||
    Error.call(this)
 | 
			
		||||
    if (Error.captureStackTrace)
 | 
			
		||||
      Error.captureStackTrace(this, err)
 | 
			
		||||
  }
 | 
			
		||||
  err.prototype = !!proto ? new proto() : new CustomError()
 | 
			
		||||
  return err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports = function (errno) {
 | 
			
		||||
  var ce = function (type, proto) {
 | 
			
		||||
    return createError(errno, type, proto)
 | 
			
		||||
  }
 | 
			
		||||
  return {
 | 
			
		||||
      CustomError     : CustomError
 | 
			
		||||
    , FilesystemError : ce('FilesystemError')
 | 
			
		||||
    , createError     : ce
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										313
									
								
								node_modules/errno/errno.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										313
									
								
								node_modules/errno/errno.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,313 @@
 | 
			
		|||
var all = module.exports.all = [
 | 
			
		||||
  {
 | 
			
		||||
    errno: -2,
 | 
			
		||||
    code: 'ENOENT',
 | 
			
		||||
    description: 'no such file or directory'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: -1,
 | 
			
		||||
    code: 'UNKNOWN',
 | 
			
		||||
    description: 'unknown error'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 0,
 | 
			
		||||
    code: 'OK',
 | 
			
		||||
    description: 'success'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 1,
 | 
			
		||||
    code: 'EOF',
 | 
			
		||||
    description: 'end of file'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 2,
 | 
			
		||||
    code: 'EADDRINFO',
 | 
			
		||||
    description: 'getaddrinfo error'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 3,
 | 
			
		||||
    code: 'EACCES',
 | 
			
		||||
    description: 'permission denied'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 4,
 | 
			
		||||
    code: 'EAGAIN',
 | 
			
		||||
    description: 'resource temporarily unavailable'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 5,
 | 
			
		||||
    code: 'EADDRINUSE',
 | 
			
		||||
    description: 'address already in use'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 6,
 | 
			
		||||
    code: 'EADDRNOTAVAIL',
 | 
			
		||||
    description: 'address not available'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 7,
 | 
			
		||||
    code: 'EAFNOSUPPORT',
 | 
			
		||||
    description: 'address family not supported'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 8,
 | 
			
		||||
    code: 'EALREADY',
 | 
			
		||||
    description: 'connection already in progress'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 9,
 | 
			
		||||
    code: 'EBADF',
 | 
			
		||||
    description: 'bad file descriptor'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 10,
 | 
			
		||||
    code: 'EBUSY',
 | 
			
		||||
    description: 'resource busy or locked'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 11,
 | 
			
		||||
    code: 'ECONNABORTED',
 | 
			
		||||
    description: 'software caused connection abort'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 12,
 | 
			
		||||
    code: 'ECONNREFUSED',
 | 
			
		||||
    description: 'connection refused'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 13,
 | 
			
		||||
    code: 'ECONNRESET',
 | 
			
		||||
    description: 'connection reset by peer'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 14,
 | 
			
		||||
    code: 'EDESTADDRREQ',
 | 
			
		||||
    description: 'destination address required'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 15,
 | 
			
		||||
    code: 'EFAULT',
 | 
			
		||||
    description: 'bad address in system call argument'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 16,
 | 
			
		||||
    code: 'EHOSTUNREACH',
 | 
			
		||||
    description: 'host is unreachable'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 17,
 | 
			
		||||
    code: 'EINTR',
 | 
			
		||||
    description: 'interrupted system call'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 18,
 | 
			
		||||
    code: 'EINVAL',
 | 
			
		||||
    description: 'invalid argument'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 19,
 | 
			
		||||
    code: 'EISCONN',
 | 
			
		||||
    description: 'socket is already connected'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 20,
 | 
			
		||||
    code: 'EMFILE',
 | 
			
		||||
    description: 'too many open files'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 21,
 | 
			
		||||
    code: 'EMSGSIZE',
 | 
			
		||||
    description: 'message too long'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 22,
 | 
			
		||||
    code: 'ENETDOWN',
 | 
			
		||||
    description: 'network is down'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 23,
 | 
			
		||||
    code: 'ENETUNREACH',
 | 
			
		||||
    description: 'network is unreachable'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 24,
 | 
			
		||||
    code: 'ENFILE',
 | 
			
		||||
    description: 'file table overflow'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 25,
 | 
			
		||||
    code: 'ENOBUFS',
 | 
			
		||||
    description: 'no buffer space available'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 26,
 | 
			
		||||
    code: 'ENOMEM',
 | 
			
		||||
    description: 'not enough memory'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 27,
 | 
			
		||||
    code: 'ENOTDIR',
 | 
			
		||||
    description: 'not a directory'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 28,
 | 
			
		||||
    code: 'EISDIR',
 | 
			
		||||
    description: 'illegal operation on a directory'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 29,
 | 
			
		||||
    code: 'ENONET',
 | 
			
		||||
    description: 'machine is not on the network'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 31,
 | 
			
		||||
    code: 'ENOTCONN',
 | 
			
		||||
    description: 'socket is not connected'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 32,
 | 
			
		||||
    code: 'ENOTSOCK',
 | 
			
		||||
    description: 'socket operation on non-socket'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 33,
 | 
			
		||||
    code: 'ENOTSUP',
 | 
			
		||||
    description: 'operation not supported on socket'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 34,
 | 
			
		||||
    code: 'ENOENT',
 | 
			
		||||
    description: 'no such file or directory'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 35,
 | 
			
		||||
    code: 'ENOSYS',
 | 
			
		||||
    description: 'function not implemented'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 36,
 | 
			
		||||
    code: 'EPIPE',
 | 
			
		||||
    description: 'broken pipe'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 37,
 | 
			
		||||
    code: 'EPROTO',
 | 
			
		||||
    description: 'protocol error'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 38,
 | 
			
		||||
    code: 'EPROTONOSUPPORT',
 | 
			
		||||
    description: 'protocol not supported'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 39,
 | 
			
		||||
    code: 'EPROTOTYPE',
 | 
			
		||||
    description: 'protocol wrong type for socket'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 40,
 | 
			
		||||
    code: 'ETIMEDOUT',
 | 
			
		||||
    description: 'connection timed out'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 41,
 | 
			
		||||
    code: 'ECHARSET',
 | 
			
		||||
    description: 'invalid Unicode character'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 42,
 | 
			
		||||
    code: 'EAIFAMNOSUPPORT',
 | 
			
		||||
    description: 'address family for hostname not supported'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 44,
 | 
			
		||||
    code: 'EAISERVICE',
 | 
			
		||||
    description: 'servname not supported for ai_socktype'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 45,
 | 
			
		||||
    code: 'EAISOCKTYPE',
 | 
			
		||||
    description: 'ai_socktype not supported'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 46,
 | 
			
		||||
    code: 'ESHUTDOWN',
 | 
			
		||||
    description: 'cannot send after transport endpoint shutdown'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 47,
 | 
			
		||||
    code: 'EEXIST',
 | 
			
		||||
    description: 'file already exists'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 48,
 | 
			
		||||
    code: 'ESRCH',
 | 
			
		||||
    description: 'no such process'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 49,
 | 
			
		||||
    code: 'ENAMETOOLONG',
 | 
			
		||||
    description: 'name too long'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 50,
 | 
			
		||||
    code: 'EPERM',
 | 
			
		||||
    description: 'operation not permitted'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 51,
 | 
			
		||||
    code: 'ELOOP',
 | 
			
		||||
    description: 'too many symbolic links encountered'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 52,
 | 
			
		||||
    code: 'EXDEV',
 | 
			
		||||
    description: 'cross-device link not permitted'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 53,
 | 
			
		||||
    code: 'ENOTEMPTY',
 | 
			
		||||
    description: 'directory not empty'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 54,
 | 
			
		||||
    code: 'ENOSPC',
 | 
			
		||||
    description: 'no space left on device'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 55,
 | 
			
		||||
    code: 'EIO',
 | 
			
		||||
    description: 'i/o error'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 56,
 | 
			
		||||
    code: 'EROFS',
 | 
			
		||||
    description: 'read-only file system'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 57,
 | 
			
		||||
    code: 'ENODEV',
 | 
			
		||||
    description: 'no such device'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 58,
 | 
			
		||||
    code: 'ESPIPE',
 | 
			
		||||
    description: 'invalid seek'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    errno: 59,
 | 
			
		||||
    code: 'ECANCELED',
 | 
			
		||||
    description: 'operation canceled'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
module.exports.errno = {}
 | 
			
		||||
module.exports.code = {}
 | 
			
		||||
 | 
			
		||||
all.forEach(function (error) {
 | 
			
		||||
  module.exports.errno[error.errno] = error
 | 
			
		||||
  module.exports.code[error.code] = error
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
module.exports.custom = require('./custom')(module.exports)
 | 
			
		||||
module.exports.create = module.exports.custom.createError
 | 
			
		||||
							
								
								
									
										33
									
								
								node_modules/errno/package.json
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								node_modules/errno/package.json
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
{
 | 
			
		||||
  "name": "errno",
 | 
			
		||||
  "authors": [
 | 
			
		||||
    "Rod Vagg @rvagg <rod@vagg.org> (https://github.com/rvagg)"
 | 
			
		||||
  ],
 | 
			
		||||
  "description": "libuv errno details exposed",
 | 
			
		||||
  "keywords": [
 | 
			
		||||
    "errors",
 | 
			
		||||
    "errno",
 | 
			
		||||
    "libuv"
 | 
			
		||||
  ],
 | 
			
		||||
  "version": "0.1.8",
 | 
			
		||||
  "main": "errno.js",
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "prr": "~1.0.1"
 | 
			
		||||
  },
 | 
			
		||||
  "bin": {
 | 
			
		||||
    "errno": "./cli.js"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "error-stack-parser": "^2.0.1",
 | 
			
		||||
    "inherits": "^2.0.3",
 | 
			
		||||
    "tape": "~4.8.0"
 | 
			
		||||
  },
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
    "url": "https://github.com/rvagg/node-errno.git"
 | 
			
		||||
  },
 | 
			
		||||
  "license": "MIT",
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "test": "node --use_strict test.js"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										88
									
								
								node_modules/errno/test.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								node_modules/errno/test.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,88 @@
 | 
			
		|||
var test             = require('tape')
 | 
			
		||||
  , inherits         = require('inherits')
 | 
			
		||||
  , ErrorStackParser = require('error-stack-parser')
 | 
			
		||||
  , errno            = require('./')
 | 
			
		||||
 | 
			
		||||
test('sanity checks', function (t) {
 | 
			
		||||
  t.ok(errno.all, 'errno.all not found')
 | 
			
		||||
  t.ok(errno.errno, 'errno.errno not found')
 | 
			
		||||
  t.ok(errno.code, 'errno.code not found')
 | 
			
		||||
 | 
			
		||||
  t.equal(errno.all.length, 60, 'found ' + errno.all.length + ', expected 60')
 | 
			
		||||
  t.equal(errno.errno['-1'], errno.all[1], 'errno -1 not second element')
 | 
			
		||||
 | 
			
		||||
  t.equal(errno.code['UNKNOWN'], errno.all[1], 'code UNKNOWN not second element')
 | 
			
		||||
 | 
			
		||||
  t.equal(errno.errno[1], errno.all[3], 'errno 1 not fourth element')
 | 
			
		||||
 | 
			
		||||
  t.equal(errno.code['EOF'], errno.all[3], 'code EOF not fourth element')
 | 
			
		||||
  t.end()
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
test('custom errors', function (t) {
 | 
			
		||||
  const Cust = errno.create('FooNotBarError')
 | 
			
		||||
  const cust = new Cust('foo is not bar')
 | 
			
		||||
 | 
			
		||||
  t.equal(cust.name, 'FooNotBarError', 'correct custom name')
 | 
			
		||||
  t.equal(cust.type, 'FooNotBarError', 'correct custom type')
 | 
			
		||||
  t.equal(cust.message, 'foo is not bar', 'correct custom message')
 | 
			
		||||
  t.notOk(cust.cause, 'no cause')
 | 
			
		||||
  t.end()
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
test('callstack', function (t) {
 | 
			
		||||
  const MyError = errno.create('MyError')
 | 
			
		||||
 | 
			
		||||
  function lastFunction (ErrorType, cb) {
 | 
			
		||||
    process.nextTick(cb, new ErrorType('oh noes!'))
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  function secondLastFunction (ErrorType, cb) {
 | 
			
		||||
    lastFunction(ErrorType, cb)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  function testFrames (t) {
 | 
			
		||||
    return function (err) {
 | 
			
		||||
      const stack = ErrorStackParser.parse(err)
 | 
			
		||||
      t.same(stack[0].functionName, 'lastFunction', 'last stack frame ok')
 | 
			
		||||
      t.same(stack[1].functionName, 'secondLastFunction', 'second last stack frame ok')
 | 
			
		||||
      t.end()
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  t.test('custom error, default prototype', function (t) {
 | 
			
		||||
    secondLastFunction(MyError, testFrames(t))
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  t.test('custom error, custom prototype', function (t) {
 | 
			
		||||
    const MyError2 = errno.create('MyError2', MyError)
 | 
			
		||||
    secondLastFunction(MyError2, testFrames(t))
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  t.test('custom error, using inheritance', function (t) {
 | 
			
		||||
    const CustomError = errno.custom.CustomError
 | 
			
		||||
 | 
			
		||||
    function MyError3 (message, cause) {
 | 
			
		||||
      CustomError.call(this, message, cause)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    inherits(MyError3, CustomError)
 | 
			
		||||
 | 
			
		||||
    secondLastFunction(MyError3, testFrames(t))
 | 
			
		||||
  })
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
test('error without message', function (t) {
 | 
			
		||||
  const Cust = errno.create('WriteError')
 | 
			
		||||
  const cust = new Cust({
 | 
			
		||||
    code: 22,
 | 
			
		||||
    message: '',
 | 
			
		||||
    name: 'QuotaExceededError'
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  t.equal(cust.name, 'WriteError', 'correct custom name')
 | 
			
		||||
  t.equal(cust.type, 'WriteError', 'correct custom type')
 | 
			
		||||
  t.equal(cust.message, 'QuotaExceededError', 'message is the name')
 | 
			
		||||
  t.notOk(cust.cause, 'no cause')
 | 
			
		||||
  t.end()
 | 
			
		||||
})
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue