diff --git a/node_modules/.bin/mkdirp b/node_modules/.bin/mkdirp deleted file mode 120000 index 017896c..0000000 --- a/node_modules/.bin/mkdirp +++ /dev/null @@ -1 +0,0 @@ -../mkdirp/bin/cmd.js \ No newline at end of file diff --git a/node_modules/.bin/prebuild-install b/node_modules/.bin/prebuild-install deleted file mode 120000 index 12a458d..0000000 --- a/node_modules/.bin/prebuild-install +++ /dev/null @@ -1 +0,0 @@ -../prebuild-install/bin.js \ No newline at end of file diff --git a/node_modules/.bin/rc b/node_modules/.bin/rc deleted file mode 120000 index a3f6fc7..0000000 --- a/node_modules/.bin/rc +++ /dev/null @@ -1 +0,0 @@ -../rc/index.js \ No newline at end of file diff --git a/node_modules/.bin/semver b/node_modules/.bin/semver deleted file mode 120000 index 317eb29..0000000 --- a/node_modules/.bin/semver +++ /dev/null @@ -1 +0,0 @@ -../semver/bin/semver \ No newline at end of file diff --git a/node_modules/.bin/sslocal b/node_modules/.bin/sslocal deleted file mode 120000 index c65b015..0000000 --- a/node_modules/.bin/sslocal +++ /dev/null @@ -1 +0,0 @@ -../shadowsocks/bin/sslocal \ No newline at end of file diff --git a/node_modules/.bin/ssserver b/node_modules/.bin/ssserver deleted file mode 120000 index 0de8543..0000000 --- a/node_modules/.bin/ssserver +++ /dev/null @@ -1 +0,0 @@ -../shadowsocks/bin/ssserver \ No newline at end of file diff --git a/node_modules/ansi-regex/index.js b/node_modules/ansi-regex/index.js deleted file mode 100644 index b9574ed..0000000 --- a/node_modules/ansi-regex/index.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; -module.exports = function () { - return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g; -}; diff --git a/node_modules/ansi-regex/license b/node_modules/ansi-regex/license deleted file mode 100644 index 654d0bf..0000000 --- a/node_modules/ansi-regex/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -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. diff --git a/node_modules/ansi-regex/package.json b/node_modules/ansi-regex/package.json deleted file mode 100644 index 9d43e3a..0000000 --- a/node_modules/ansi-regex/package.json +++ /dev/null @@ -1,132 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "ansi-regex@^2.0.0", - "scope": null, - "escapedName": "ansi-regex", - "name": "ansi-regex", - "rawSpec": "^2.0.0", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/strip-ansi" - ] - ], - "_from": "ansi-regex@>=2.0.0 <3.0.0", - "_id": "ansi-regex@2.1.1", - "_inCache": true, - "_installable": true, - "_location": "/ansi-regex", - "_nodeVersion": "0.10.32", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/ansi-regex-2.1.1.tgz_1484363378013_0.4482989883981645" - }, - "_npmUser": { - "name": "qix", - "email": "i.am.qix@gmail.com" - }, - "_npmVersion": "2.14.2", - "_phantomChildren": {}, - "_requested": { - "raw": "ansi-regex@^2.0.0", - "scope": null, - "escapedName": "ansi-regex", - "name": "ansi-regex", - "rawSpec": "^2.0.0", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "_requiredBy": [ - "/strip-ansi" - ], - "_resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "_shasum": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df", - "_shrinkwrap": null, - "_spec": "ansi-regex@^2.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/strip-ansi", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/chalk/ansi-regex/issues" - }, - "dependencies": {}, - "description": "Regular expression for matching ANSI escape codes", - "devDependencies": { - "ava": "0.17.0", - "xo": "0.16.0" - }, - "directories": {}, - "dist": { - "shasum": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df", - "tarball": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "7c908e7b4eb6cd82bfe1295e33fdf6d166c7ed85", - "homepage": "https://github.com/chalk/ansi-regex#readme", - "keywords": [ - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "command-line", - "text", - "regex", - "regexp", - "re", - "match", - "test", - "find", - "pattern" - ], - "license": "MIT", - "maintainers": [ - { - "name": "qix", - "email": "i.am.qix@gmail.com" - }, - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "ansi-regex", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/ansi-regex.git" - }, - "scripts": { - "test": "xo && ava --verbose", - "view-supported": "node fixtures/view-codes.js" - }, - "version": "2.1.1", - "xo": { - "rules": { - "guard-for-in": 0, - "no-loop-func": 0 - } - } -} diff --git a/node_modules/ansi-regex/readme.md b/node_modules/ansi-regex/readme.md deleted file mode 100644 index 6a928ed..0000000 --- a/node_modules/ansi-regex/readme.md +++ /dev/null @@ -1,39 +0,0 @@ -# ansi-regex [![Build Status](https://travis-ci.org/chalk/ansi-regex.svg?branch=master)](https://travis-ci.org/chalk/ansi-regex) - -> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) - - -## Install - -``` -$ npm install --save ansi-regex -``` - - -## Usage - -```js -const ansiRegex = require('ansi-regex'); - -ansiRegex().test('\u001b[4mcake\u001b[0m'); -//=> true - -ansiRegex().test('cake'); -//=> false - -'\u001b[4mcake\u001b[0m'.match(ansiRegex()); -//=> ['\u001b[4m', '\u001b[0m'] -``` - -## FAQ - -### Why do you test for codes not in the ECMA 48 standard? - -Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. If I recall correctly, we test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them. - -On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out. - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/aproba/LICENSE b/node_modules/aproba/LICENSE deleted file mode 100644 index f4be44d..0000000 --- a/node_modules/aproba/LICENSE +++ /dev/null @@ -1,14 +0,0 @@ -Copyright (c) 2015, Rebecca Turner - -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. - diff --git a/node_modules/aproba/README.md b/node_modules/aproba/README.md deleted file mode 100644 index a9d3822..0000000 --- a/node_modules/aproba/README.md +++ /dev/null @@ -1,89 +0,0 @@ -aproba -====== - -A ridiculously light-weight function argument validator - -``` -var validate = require("aproba") - -function myfunc(a, b, c) { - // `a` must be a string, `b` a number, `c` a function - validate('SNF', arguments) // [a,b,c] is also valid -} - -myfunc('test', 23, function () {}) // ok -myfunc(123, 23, function () {}) // type error -myfunc('test', 23) // missing arg error -myfunc('test', 23, function () {}, true) // too many args error - -``` - -Valid types are: - -type | description ----- | ----------- -* | matches any type -A | Array.isArray OR an arguments object -S | typeof == string -N | typeof == number -F | typeof == function -O | typeof == object and not type A and not type E -B | typeof == boolean -E | instanceof Error OR null **(special: see below)** -Z | == null - -Validation failures throw one of three exception types, distinguished by a -`code` property of `EMISSINGARG`, `EINVALIDTYPE` or `ETOOMANYARGS`. - -If you pass in an invalid type then it will throw with a code of -`EUNKNOWNTYPE`. - -If an **error** argument is found and is not null then the remaining -arguments are optional. That is, if you say `ESO` then that's like using a -non-magical `E` in: `E|ESO|ZSO`. - -### But I have optional arguments?! - -You can provide more than one signature by separating them with pipes `|`. -If any signature matches the arguments then they'll be considered valid. - -So for example, say you wanted to write a signature for -`fs.createWriteStream`. The docs for it describe it thusly: - -``` -fs.createWriteStream(path[, options]) -``` - -This would be a signature of `SO|S`. That is, a string and and object, or -just a string. - -Now, if you read the full `fs` docs, you'll see that actually path can ALSO -be a buffer. And options can be a string, that is: -``` -path | -options | -``` - -To reproduce this you have to fully enumerate all of the possible -combinations and that implies a signature of `SO|SS|OO|OS|S|O`. The -awkwardness is a feature: It reminds you of the complexity you're adding to -your API when you do this sort of thing. - - -### Why this exists - -I wanted a very simple argument validator. It needed to do two things: - -1. Be more concise and easier to use than assertions - -2. Not encourage an infinite bikeshed of DSLs - -This is why types are specified by a single character and there's no such -thing as an optional argument. - -This is not intended to validate user data. This is specifically about -asserting the interface of your functions. - -If you need greater validation, I encourage you to write them by hand or -look elsewhere. - diff --git a/node_modules/aproba/index.js b/node_modules/aproba/index.js deleted file mode 100644 index bc6ed1f..0000000 --- a/node_modules/aproba/index.js +++ /dev/null @@ -1,103 +0,0 @@ -'use strict' - -function isArguments (thingy) { - return thingy != null && typeof thingy === 'object' && thingy.hasOwnProperty('callee') -} - -var types = { - '*': {label: 'any', check: function () { return true }}, - A: {label: 'array', check: function (thingy) { return Array.isArray(thingy) || isArguments(thingy) }}, - S: {label: 'string', check: function (thingy) { return typeof thingy === 'string' }}, - N: {label: 'number', check: function (thingy) { return typeof thingy === 'number' }}, - F: {label: 'function', check: function (thingy) { return typeof thingy === 'function' }}, - O: {label: 'object', check: function (thingy) { return typeof thingy === 'object' && thingy != null && !types.A.check(thingy) && !types.E.check(thingy) }}, - B: {label: 'boolean', check: function (thingy) { return typeof thingy === 'boolean' }}, - E: {label: 'error', check: function (thingy) { return thingy instanceof Error }}, - Z: {label: 'null', check: function (thingy) { return thingy == null }} -} - -var validate = module.exports = function (rawSchemas, args) { - if (arguments.length !== 2) throw wrongNumberOfArgs(['SA'], arguments.length) - if (!rawSchemas) throw missingRequiredArg(0, 'rawSchemas') - if (!args) throw missingRequiredArg(1, 'args') - if (!types.S.check(rawSchemas)) throw invalidType(0, ['string'], rawSchemas) - if (!types.A.check(args)) throw invalidType(1, ['array'], args) - var schemas = rawSchemas.split('|') - var arity = {} - function addSchema (schema) { - var group = arity[schema.length] = arity[schema.length] || [] - if (group.indexOf(schema) === -1) group.push(schema) - } - schemas.forEach(function (schema) { - for (var ii = 0; ii < schema.length; ++ii) { - var type = schema[ii] - if (!types[type]) throw unknownType(ii, type) - } - if (/E.*E/.test(schema)) throw moreThanOneError(schema) - addSchema(schema) - if (/E/.test(schema)) { - addSchema(schema.replace(/E.*$/, 'E')) - addSchema(schema.replace(/E/, 'Z')) - if (schema.length === 1) addSchema('') - } - }) - var matching = arity[args.length] - if (!matching) { - throw wrongNumberOfArgs(Object.keys(arity), args.length) - } - for (var ii = 0; ii < args.length; ++ii) { - var newMatching = matching.filter(function (schema) { - var type = schema[ii] - var typeCheck = types[type].check - return typeCheck(args[ii]) - }) - if (!newMatching.length) { - var labels = matching.map(function (schema) { - return types[schema[ii]].label - }).filter(function (schema) { return schema != null }) - throw invalidType(ii, labels, args[ii]) - } - matching = newMatching - } -} - -function missingRequiredArg (num) { - return newException('EMISSINGARG', 'Missing required argument #' + (num + 1)) -} - -function unknownType (num, type) { - return newException('EUNKNOWNTYPE', 'Unknown type ' + type + ' in argument #' + (num + 1)) -} - -function invalidType (num, expectedTypes, value) { - var valueType - Object.keys(types).forEach(function (typeCode) { - if (types[typeCode].check(value)) valueType = types[typeCode].label - }) - return newException('EINVALIDTYPE', 'Argument #' + (num + 1) + ': Expected ' + - englishList(expectedTypes) + ' but got ' + valueType) -} - -function englishList (list) { - return list.join(', ').replace(/, ([^,]+)$/, ' or $1') -} - -function wrongNumberOfArgs (expected, got) { - var english = englishList(expected) - var args = expected.every(function (ex) { return ex.length === 1 }) - ? 'argument' - : 'arguments' - return newException('EWRONGARGCOUNT', 'Expected ' + english + ' ' + args + ' but got ' + got) -} - -function moreThanOneError (schema) { - return newException('ETOOMANYERRORTYPES', - 'Only one error type per argument signature is allowed, more than one found in "' + schema + '"') -} - -function newException (code, msg) { - var e = new Error(msg) - e.code = code - Error.captureStackTrace(e, validate) - return e -} diff --git a/node_modules/aproba/package.json b/node_modules/aproba/package.json deleted file mode 100644 index 55dc463..0000000 --- a/node_modules/aproba/package.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "aproba@^1.0.3", - "scope": null, - "escapedName": "aproba", - "name": "aproba", - "rawSpec": "^1.0.3", - "spec": ">=1.0.3 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/gauge" - ] - ], - "_cnpm_publish_time": 1486593131372, - "_from": "aproba@>=1.0.3 <2.0.0", - "_id": "aproba@1.1.1", - "_inCache": true, - "_installable": true, - "_location": "/aproba", - "_nodeVersion": "7.5.0", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/aproba-1.1.1.tgz_1486593129508_0.5718816472217441" - }, - "_npmUser": { - "name": "iarna", - "email": "me@re-becca.org" - }, - "_npmVersion": "4.2.0", - "_phantomChildren": {}, - "_requested": { - "raw": "aproba@^1.0.3", - "scope": null, - "escapedName": "aproba", - "name": "aproba", - "rawSpec": "^1.0.3", - "spec": ">=1.0.3 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/gauge" - ], - "_resolved": "https://registry.npm.taobao.org/aproba/download/aproba-1.1.1.tgz", - "_shasum": "95d3600f07710aa0e9298c726ad5ecf2eacbabab", - "_shrinkwrap": null, - "_spec": "aproba@^1.0.3", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/gauge", - "author": { - "name": "Rebecca Turner", - "email": "me@re-becca.org" - }, - "bugs": { - "url": "https://github.com/iarna/aproba/issues" - }, - "dependencies": {}, - "description": "A rediculously light-weight argument validator", - "devDependencies": { - "standard": "^8.6.0", - "tap": "^10.0.2" - }, - "directories": { - "test": "test" - }, - "dist": { - "shasum": "95d3600f07710aa0e9298c726ad5ecf2eacbabab", - "tarball": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz" - }, - "files": [ - "index.js" - ], - "gitHead": "e7c76b4b42356092db3cd9e2d9388a0134845eb2", - "homepage": "https://github.com/iarna/aproba", - "keywords": [ - "argument", - "validate" - ], - "license": "ISC", - "main": "index.js", - "maintainers": [ - { - "name": "iarna", - "email": "me@re-becca.org" - } - ], - "name": "aproba", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/iarna/aproba.git" - }, - "scripts": { - "test": "standard && tap -j3 test/*.js" - }, - "version": "1.1.1" -} diff --git a/node_modules/are-we-there-yet/.npmignore b/node_modules/are-we-there-yet/.npmignore deleted file mode 100644 index bc81897..0000000 --- a/node_modules/are-we-there-yet/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -*~ -.#* -node_modules -coverage -.nyc_output diff --git a/node_modules/are-we-there-yet/CHANGES.md b/node_modules/are-we-there-yet/CHANGES.md deleted file mode 100644 index e990b86..0000000 --- a/node_modules/are-we-there-yet/CHANGES.md +++ /dev/null @@ -1,19 +0,0 @@ -Hi, figured we could actually use a changelog now: - -## 1.1.1 2016-01-29 - -* Fix a typo in stream completion tracker - -## 1.1.0 2016-01-29 - -* Rewrote completion percent computation to be low impact– no more walking a - tree of completion groups every time we need this info. Previously, with - medium sized tree of completion groups, even a relatively modest number of - calls to the top level `completed()` method would result in absurd numbers - of calls overall as it walked down the tree. We now, instead, keep track as - we bubble up changes, so the computation is limited to when data changes and - to the depth of that one branch, instead of _every_ node. (Plus, we were already - incurring _this_ cost, since we already bubbled out changes.) -* Moved different tracker types out to their own files. -* Made tests test for TOO MANY events too. -* Standarized the source code formatting diff --git a/node_modules/are-we-there-yet/LICENSE b/node_modules/are-we-there-yet/LICENSE deleted file mode 100644 index af45880..0000000 --- a/node_modules/are-we-there-yet/LICENSE +++ /dev/null @@ -1,5 +0,0 @@ -Copyright (c) 2015, Rebecca Turner - -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. diff --git a/node_modules/are-we-there-yet/README.md b/node_modules/are-we-there-yet/README.md deleted file mode 100644 index c41d392..0000000 --- a/node_modules/are-we-there-yet/README.md +++ /dev/null @@ -1,194 +0,0 @@ -are-we-there-yet ----------------- - -Track complex hiearchies of asynchronous task completion statuses. This is -intended to give you a way of recording and reporting the progress of the big -recursive fan-out and gather type workflows that are so common in async. - -What you do with this completion data is up to you, but the most common use case is to -feed it to one of the many progress bar modules. - -Most progress bar modules include a rudamentary version of this, but my -needs were more complex. - -Usage -===== - -```javascript -var TrackerGroup = require("are-we-there-yet").TrackerGroup - -var top = new TrackerGroup("program") - -var single = top.newItem("one thing", 100) -single.completeWork(20) - -console.log(top.completed()) // 0.2 - -fs.stat("file", function(er, stat) { - if (er) throw er - var stream = top.newStream("file", stat.size) - console.log(top.completed()) // now 0.1 as single is 50% of the job and is 20% complete - // and 50% * 20% == 10% - fs.createReadStream("file").pipe(stream).on("data", function (chunk) { - // do stuff with chunk - }) - top.on("change", function (name) { - // called each time a chunk is read from "file" - // top.completed() will start at 0.1 and fill up to 0.6 as the file is read - }) -}) -``` - -Shared Methods -============== - -All tracker objects described below have the following methods, they, along -with the event comprise the interface for consumers of tracker objects. - -* var completed = tracker.completed() - -Returns the ratio of completed work to work to be done. Range of 0 to 1. - -* tracker.finish() - -Marks the tracker as completed. With a TrackerGroup this marks all of its -components as completed. - -Marks all of the components of this tracker as finished, which in turn means -that `tracker.completed()` for this will now be 1. - -This will result in one or more `change` events being emitted. - -Events -====== - -All tracker objects emit `change` events with the following arguments: - -``` -function (name, completed, tracker) -``` - -`name` is the name of the tracker that originally emitted the event, -or if it didn't have one, the first containing tracker group that had one. - -`completed` is the percent complete (as returned by `tracker.completed()` method). - -`tracker` is the tracker object that you are listening for events on. - -TrackerGroup -============ - -* var tracker = new TrackerGroup(**name**) - - * **name** *(optional)* - The name of this tracker group, used in change - notifications if the component updating didn't have a name. Defaults to undefined. - -Creates a new empty tracker aggregation group. These are trackers whose -completion status is determined by the completion status of other trackers. - -* tracker.addUnit(**otherTracker**, **weight**) - - * **otherTracker** - Any of the other are-we-there-yet tracker objects - * **weight** *(optional)* - The weight to give the tracker, defaults to 1. - -Adds the **otherTracker** to this aggregation group. The weight determines -how long you expect this tracker to take to complete in proportion to other -units. So for instance, if you add one tracker with a weight of 1 and -another with a weight of 2, you're saying the second will take twice as long -to complete as the first. As such, the first will account for 33% of the -completion of this tracker and the second will account for the other 67%. - -Returns **otherTracker**. - -* var subGroup = tracker.newGroup(**name**, **weight**) - -The above is exactly equivalent to: - -```javascript - var subGroup = tracker.addUnit(new TrackerGroup(name), weight) -``` - -* var subItem = tracker.newItem(**name**, **todo**, **weight**) - -The above is exactly equivalent to: - -```javascript - var subItem = tracker.addUnit(new Tracker(name, todo), weight) -``` - -* var subStream = tracker.newStream(**name**, **todo**, **weight**) - -The above is exactly equivalent to: - -```javascript - var subStream = tracker.addUnit(new TrackerStream(name, todo), weight) -``` - -* console.log( tracker.debug() ) - -Returns a tree showing the completion of this tracker group and all of its -children, including recursively entering all of the children. - -Tracker -======= - -* var tracker = new Tracker(**name**, **todo**) - - * **name** *(optional)* The name of this counter to report in change - events. Defaults to undefined. - * **todo** *(optional)* The amount of work todo (a number). Defaults to 0. - -Ordinarily these are constructed as a part of a tracker group (via -`newItem`). - -* var completed = tracker.completed() - -Returns the ratio of completed work to work to be done. Range of 0 to 1. If -total work to be done is 0 then it will return 0. - -* tracker.addWork(**todo**) - - * **todo** A number to add to the amount of work to be done. - -Increases the amount of work to be done, thus decreasing the completion -percentage. Triggers a `change` event. - -* tracker.completeWork(**completed**) - - * **completed** A number to add to the work complete - -Increase the amount of work complete, thus increasing the completion percentage. -Will never increase the work completed past the amount of work todo. That is, -percentages > 100% are not allowed. Triggers a `change` event. - -* tracker.finish() - -Marks this tracker as finished, tracker.completed() will now be 1. Triggers -a `change` event. - -TrackerStream -============= - -* var tracker = new TrackerStream(**name**, **size**, **options**) - - * **name** *(optional)* The name of this counter to report in change - events. Defaults to undefined. - * **size** *(optional)* The number of bytes being sent through this stream. - * **options** *(optional)* A hash of stream options - -The tracker stream object is a pass through stream that updates an internal -tracker object each time a block passes through. It's intended to track -downloads, file extraction and other related activities. You use it by piping -your data source into it and then using it as your data source. - -If your data has a length attribute then that's used as the amount of work -completed when the chunk is passed through. If it does not (eg, object -streams) then each chunk counts as completing 1 unit of work, so your size -should be the total number of objects being streamed. - -* tracker.addWork(**todo**) - - * **todo** Increase the expected overall size by **todo** bytes. - -Increases the amount of work to be done, thus decreasing the completion -percentage. Triggers a `change` event. diff --git a/node_modules/are-we-there-yet/index.js b/node_modules/are-we-there-yet/index.js deleted file mode 100644 index 57d8743..0000000 --- a/node_modules/are-we-there-yet/index.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict' -exports.TrackerGroup = require('./tracker-group.js') -exports.Tracker = require('./tracker.js') -exports.TrackerStream = require('./tracker-stream.js') diff --git a/node_modules/are-we-there-yet/package.json b/node_modules/are-we-there-yet/package.json deleted file mode 100644 index 75121fe..0000000 --- a/node_modules/are-we-there-yet/package.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "are-we-there-yet@~1.1.2", - "scope": null, - "escapedName": "are-we-there-yet", - "name": "are-we-there-yet", - "rawSpec": "~1.1.2", - "spec": ">=1.1.2 <1.2.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/npmlog" - ] - ], - "_from": "are-we-there-yet@>=1.1.2 <1.2.0", - "_id": "are-we-there-yet@1.1.2", - "_inCache": true, - "_installable": true, - "_location": "/are-we-there-yet", - "_nodeVersion": "4.2.2", - "_npmOperationalInternal": { - "host": "packages-13-west.internal.npmjs.com", - "tmp": "tmp/are-we-there-yet-1.1.2.tgz_1458084397358_0.15847722673788667" - }, - "_npmUser": { - "name": "iarna", - "email": "me@re-becca.org" - }, - "_npmVersion": "3.8.1", - "_phantomChildren": {}, - "_requested": { - "raw": "are-we-there-yet@~1.1.2", - "scope": null, - "escapedName": "are-we-there-yet", - "name": "are-we-there-yet", - "rawSpec": "~1.1.2", - "spec": ">=1.1.2 <1.2.0", - "type": "range" - }, - "_requiredBy": [ - "/npmlog" - ], - "_resolved": "http://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz", - "_shasum": "80e470e95a084794fe1899262c5667c6e88de1b3", - "_shrinkwrap": null, - "_spec": "are-we-there-yet@~1.1.2", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/npmlog", - "author": { - "name": "Rebecca Turner", - "url": "http://re-becca.org" - }, - "bugs": { - "url": "https://github.com/iarna/are-we-there-yet/issues" - }, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.0 || ^1.1.13" - }, - "description": "Keep track of the overall completion of many dispirate processes", - "devDependencies": { - "standard": "^6.0.8", - "tap": "^5.7.0" - }, - "directories": {}, - "dist": { - "shasum": "80e470e95a084794fe1899262c5667c6e88de1b3", - "tarball": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz" - }, - "gitHead": "dd5706e2204cb681e78031d0ffe156ed4cc75823", - "homepage": "https://github.com/iarna/are-we-there-yet", - "license": "ISC", - "main": "index.js", - "maintainers": [ - { - "name": "iarna", - "email": "me@re-becca.org" - } - ], - "name": "are-we-there-yet", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/iarna/are-we-there-yet.git" - }, - "scripts": { - "test": "standard && tap test/*.js" - }, - "version": "1.1.2" -} diff --git a/node_modules/are-we-there-yet/test/lib/test-event.js b/node_modules/are-we-there-yet/test/lib/test-event.js deleted file mode 100644 index 2aa7c05..0000000 --- a/node_modules/are-we-there-yet/test/lib/test-event.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict' -var util = require('util') - -module.exports = function (obj, event, next) { - var timeout = setTimeout(gotTimeout, 10) - obj.once(event, gotResult) - - function gotTimeout () { - obj.removeListener(event, gotResult) - next(new Error('Timeout listening for ' + event)) - } - var result = [] - function gotResult () { - result = Array.prototype.slice.call(arguments) - clearTimeout(timeout) - timeout = setTimeout(gotNoMoreResults, 10) - obj.once(event, gotTooManyResults) - } - function gotNoMoreResults () { - obj.removeListener(event, gotTooManyResults) - var args = [null].concat(result) - next.apply(null, args) - } - function gotTooManyResults () { - var secondResult = Array.prototype.slice.call(arguments) - clearTimeout(timeout) - next(new Error('Got too many results, first ' + util.inspect(result) + ' and then ' + util.inspect(secondResult))) - } -} diff --git a/node_modules/are-we-there-yet/test/tracker.js b/node_modules/are-we-there-yet/test/tracker.js deleted file mode 100644 index 374c773..0000000 --- a/node_modules/are-we-there-yet/test/tracker.js +++ /dev/null @@ -1,57 +0,0 @@ -'use strict' -var test = require('tap').test -var Tracker = require('../index.js').Tracker - -var testEvent = require('./lib/test-event.js') - -var name = 'test' - -test('initialization', function (t) { - var simple = new Tracker(name) - - t.is(simple.completed(), 0, 'Nothing todo is 0 completion') - t.done() -}) - -var track -var todo = 100 -test('completion', function (t) { - track = new Tracker(name, todo) - t.is(track.completed(), 0, 'Nothing done is 0 completion') - - testEvent(track, 'change', afterCompleteWork) - - track.completeWork(todo) - t.is(track.completed(), 1, 'completeWork: 100% completed') - - function afterCompleteWork (er, onChangeName) { - t.is(er, null, 'completeWork: on change event fired') - t.is(onChangeName, name, 'completeWork: on change emits the correct name') - t.done() - } -}) - -test('add more work', function (t) { - testEvent(track, 'change', afterAddWork) - track.addWork(todo) - t.is(track.completed(), 0.5, 'addWork: 50% completed') - function afterAddWork (er, onChangeName) { - t.is(er, null, 'addWork: on change event fired') - t.is(onChangeName, name, 'addWork: on change emits the correct name') - t.done() - } -}) - -test('complete more work', function (t) { - track.completeWork(200) - t.is(track.completed(), 1, 'completeWork: Over completion is still only 100% complete') - t.done() -}) - -test('finish is always 100%', function (t) { - var finishtest = new Tracker(name, todo) - finishtest.completeWork(50) - finishtest.finish() - t.is(finishtest.completed(), 1, 'finish: Explicitly finishing moves to 100%') - t.done() -}) diff --git a/node_modules/are-we-there-yet/test/trackergroup.js b/node_modules/are-we-there-yet/test/trackergroup.js deleted file mode 100644 index 799a767..0000000 --- a/node_modules/are-we-there-yet/test/trackergroup.js +++ /dev/null @@ -1,96 +0,0 @@ -'use strict' -var test = require('tap').test -var TrackerGroup = require('../index.js').TrackerGroup -var testEvent = require('./lib/test-event.js') - -test('TrackerGroup', function (t) { - var name = 'test' - - var track = new TrackerGroup(name) - t.is(track.completed(), 0, 'Nothing todo is 0 completion') - testEvent(track, 'change', afterFinishEmpty) - track.finish() - var a, b - function afterFinishEmpty (er, onChangeName, completion) { - t.is(er, null, 'finishEmpty: on change event fired') - t.is(onChangeName, name, 'finishEmpty: on change emits the correct name') - t.is(completion, 1, 'finishEmpty: passed through completion was correct') - t.is(track.completed(), 1, 'finishEmpty: Finishing an empty group actually finishes it') - - track = new TrackerGroup(name) - a = track.newItem('a', 10, 1) - b = track.newItem('b', 10, 1) - t.is(track.completed(), 0, 'Initially empty') - testEvent(track, 'change', afterCompleteWork) - a.completeWork(5) - } - function afterCompleteWork (er, onChangeName, completion) { - t.is(er, null, 'on change event fired') - t.is(onChangeName, 'a', 'on change emits the correct name') - t.is(completion, 0.25, 'Complete half of one is a quarter overall') - t.is(track.completed(), 0.25, 'Complete half of one is a quarter overall') - testEvent(track, 'change', afterFinishAll) - track.finish() - } - function afterFinishAll (er, onChangeName, completion) { - t.is(er, null, 'finishAll: on change event fired') - t.is(onChangeName, name, 'finishAll: on change emits the correct name') - t.is(completion, 1, 'Finishing everything ') - t.is(track.completed(), 1, 'Finishing everything ') - - track = new TrackerGroup(name) - a = track.newItem('a', 10, 2) - b = track.newItem('b', 10, 1) - t.is(track.completed(), 0, 'weighted: Initially empty') - testEvent(track, 'change', afterWeightedCompleteWork) - a.completeWork(5) - } - function afterWeightedCompleteWork (er, onChangeName, completion) { - t.is(er, null, 'weighted: on change event fired') - t.is(onChangeName, 'a', 'weighted: on change emits the correct name') - t.is(Math.floor(completion * 100), 33, 'weighted: Complete half of double weighted') - t.is(Math.floor(track.completed() * 100), 33, 'weighted: Complete half of double weighted') - testEvent(track, 'change', afterWeightedFinishAll) - track.finish() - } - function afterWeightedFinishAll (er, onChangeName, completion) { - t.is(er, null, 'weightedFinishAll: on change event fired') - t.is(onChangeName, name, 'weightedFinishAll: on change emits the correct name') - t.is(completion, 1, 'weightedFinishaAll: Finishing everything ') - t.is(track.completed(), 1, 'weightedFinishaAll: Finishing everything ') - - track = new TrackerGroup(name) - a = track.newGroup('a', 10) - b = track.newGroup('b', 10) - var a1 = a.newItem('a.1', 10) - a1.completeWork(5) - t.is(track.completed(), 0.25, 'nested: Initially quarter done') - testEvent(track, 'change', afterNestedComplete) - b.finish() - } - function afterNestedComplete (er, onChangeName, completion) { - t.is(er, null, 'nestedComplete: on change event fired') - t.is(onChangeName, 'b', 'nestedComplete: on change emits the correct name') - t.is(completion, 0.75, 'nestedComplete: Finishing everything ') - t.is(track.completed(), 0.75, 'nestedComplete: Finishing everything ') - t.end() - } -}) - -test('cycles', function (t) { - var track = new TrackerGroup('top') - testCycle(track, track) - var layer1 = track.newGroup('layer1') - testCycle(layer1, track) - t.end() - - function testCycle (addTo, toAdd) { - try { - addTo.addUnit(toAdd) - t.fail(toAdd.name) - } catch (ex) { - console.log(ex) - t.pass(toAdd.name) - } - } -}) diff --git a/node_modules/are-we-there-yet/test/trackerstream.js b/node_modules/are-we-there-yet/test/trackerstream.js deleted file mode 100644 index 65f04b0..0000000 --- a/node_modules/are-we-there-yet/test/trackerstream.js +++ /dev/null @@ -1,51 +0,0 @@ -'use strict' -var test = require('tap').test -var util = require('util') -var stream = require('readable-stream') -var TrackerStream = require('../index.js').TrackerStream -var testEvent = require('./lib/test-event.js') - -var Sink = function () { - stream.Writable.apply(this, arguments) -} -util.inherits(Sink, stream.Writable) -Sink.prototype._write = function (data, encoding, cb) { - cb() -} - -test('TrackerStream', function (t) { - t.plan(9) - - var name = 'test' - var track = new TrackerStream(name) - - t.is(track.completed(), 0, 'Nothing todo is 0 completion') - - var todo = 10 - track = new TrackerStream(name, todo) - t.is(track.completed(), 0, 'Nothing done is 0 completion') - - track.pipe(new Sink()) - - testEvent(track, 'change', afterCompleteWork) - track.write('0123456789') - function afterCompleteWork (er, onChangeName) { - t.is(er, null, 'write: on change event fired') - t.is(onChangeName, name, 'write: on change emits the correct name') - t.is(track.completed(), 1, 'write: 100% completed') - - testEvent(track, 'change', afterAddWork) - track.addWork(10) - } - function afterAddWork (er, onChangeName) { - t.is(er, null, 'addWork: on change event fired') - t.is(track.completed(), 0.5, 'addWork: 50% completed') - - testEvent(track, 'change', afterAllWork) - track.write('ABCDEFGHIJKLMNOPQRST') - } - function afterAllWork (er) { - t.is(er, null, 'allWork: on change event fired') - t.is(track.completed(), 1, 'allWork: 100% completed') - } -}) diff --git a/node_modules/are-we-there-yet/tracker-base.js b/node_modules/are-we-there-yet/tracker-base.js deleted file mode 100644 index 6f43687..0000000 --- a/node_modules/are-we-there-yet/tracker-base.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict' -var EventEmitter = require('events').EventEmitter -var util = require('util') - -var trackerId = 0 -var TrackerBase = module.exports = function (name) { - EventEmitter.call(this) - this.id = ++trackerId - this.name = name -} -util.inherits(TrackerBase, EventEmitter) diff --git a/node_modules/are-we-there-yet/tracker-group.js b/node_modules/are-we-there-yet/tracker-group.js deleted file mode 100644 index 9759e12..0000000 --- a/node_modules/are-we-there-yet/tracker-group.js +++ /dev/null @@ -1,107 +0,0 @@ -'use strict' -var util = require('util') -var TrackerBase = require('./tracker-base.js') -var Tracker = require('./tracker.js') -var TrackerStream = require('./tracker-stream.js') - -var TrackerGroup = module.exports = function (name) { - TrackerBase.call(this, name) - this.parentGroup = null - this.trackers = [] - this.completion = {} - this.weight = {} - this.totalWeight = 0 - this.finished = false - this.bubbleChange = bubbleChange(this) -} -util.inherits(TrackerGroup, TrackerBase) - -function bubbleChange (trackerGroup) { - return function (name, completed, tracker) { - trackerGroup.completion[tracker.id] = completed - if (trackerGroup.finished) return - trackerGroup.emit('change', name || trackerGroup.name, trackerGroup.completed(), trackerGroup) - } -} - -TrackerGroup.prototype.nameInTree = function () { - var names = [] - var from = this - while (from) { - names.unshift(from.name) - from = from.parentGroup - } - return names.join('/') -} - -TrackerGroup.prototype.addUnit = function (unit, weight) { - if (unit.addUnit) { - var toTest = this - while (toTest) { - if (unit === toTest) { - throw new Error( - 'Attempted to add tracker group ' + - unit.name + ' to tree that already includes it ' + - this.nameInTree(this)) - } - toTest = toTest.parentGroup - } - unit.parentGroup = this - } - this.weight[unit.id] = weight || 1 - this.totalWeight += this.weight[unit.id] - this.trackers.push(unit) - this.completion[unit.id] = unit.completed() - unit.on('change', this.bubbleChange) - if (!this.finished) this.emit('change', unit.name, this.completion[unit.id], unit) - return unit -} - -TrackerGroup.prototype.completed = function () { - if (this.trackers.length === 0) return 0 - var valPerWeight = 1 / this.totalWeight - var completed = 0 - for (var ii = 0; ii < this.trackers.length; ii++) { - var trackerId = this.trackers[ii].id - completed += valPerWeight * this.weight[trackerId] * this.completion[trackerId] - } - return completed -} - -TrackerGroup.prototype.newGroup = function (name, weight) { - return this.addUnit(new TrackerGroup(name), weight) -} - -TrackerGroup.prototype.newItem = function (name, todo, weight) { - return this.addUnit(new Tracker(name, todo), weight) -} - -TrackerGroup.prototype.newStream = function (name, todo, weight) { - return this.addUnit(new TrackerStream(name, todo), weight) -} - -TrackerGroup.prototype.finish = function () { - this.finished = true - if (!this.trackers.length) this.addUnit(new Tracker(), 1, true) - for (var ii = 0; ii < this.trackers.length; ii++) { - var tracker = this.trackers[ii] - tracker.finish() - tracker.removeListener('change', this.bubbleChange) - } - this.emit('change', this.name, 1, this) -} - -var buffer = ' ' -TrackerGroup.prototype.debug = function (depth) { - depth = depth || 0 - var indent = depth ? buffer.substr(0, depth) : '' - var output = indent + (this.name || 'top') + ': ' + this.completed() + '\n' - this.trackers.forEach(function (tracker) { - if (tracker instanceof TrackerGroup) { - output += tracker.debug(depth + 1) - } else { - output += indent + ' ' + tracker.name + ': ' + tracker.completed() + '\n' - } - }) - return output -} diff --git a/node_modules/are-we-there-yet/tracker-stream.js b/node_modules/are-we-there-yet/tracker-stream.js deleted file mode 100644 index fb9598e..0000000 --- a/node_modules/are-we-there-yet/tracker-stream.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict' -var util = require('util') -var stream = require('readable-stream') -var delegate = require('delegates') -var Tracker = require('./tracker.js') - -var TrackerStream = module.exports = function (name, size, options) { - stream.Transform.call(this, options) - this.tracker = new Tracker(name, size) - this.name = name - this.id = this.tracker.id - this.tracker.on('change', delegateChange(this)) -} -util.inherits(TrackerStream, stream.Transform) - -function delegateChange (trackerStream) { - return function (name, completion, tracker) { - trackerStream.emit('change', name, completion, trackerStream) - } -} - -TrackerStream.prototype._transform = function (data, encoding, cb) { - this.tracker.completeWork(data.length ? data.length : 1) - this.push(data) - cb() -} - -TrackerStream.prototype._flush = function (cb) { - this.tracker.finish() - cb() -} - -delegate(TrackerStream.prototype, 'tracker') - .method('completed') - .method('addWork') diff --git a/node_modules/are-we-there-yet/tracker.js b/node_modules/are-we-there-yet/tracker.js deleted file mode 100644 index 68c2339..0000000 --- a/node_modules/are-we-there-yet/tracker.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict' -var util = require('util') -var TrackerBase = require('./tracker-base.js') - -var Tracker = module.exports = function (name, todo) { - TrackerBase.call(this, name) - this.workDone = 0 - this.workTodo = todo || 0 -} -util.inherits(Tracker, TrackerBase) - -Tracker.prototype.completed = function () { - return this.workTodo === 0 ? 0 : this.workDone / this.workTodo -} - -Tracker.prototype.addWork = function (work) { - this.workTodo += work - this.emit('change', this.name, this.completed(), this) -} - -Tracker.prototype.completeWork = function (work) { - this.workDone += work - if (this.workDone > this.workTodo) this.workDone = this.workTodo - this.emit('change', this.name, this.completed(), this) -} - -Tracker.prototype.finish = function () { - this.workTodo = this.workDone = 1 - this.emit('change', this.name, 1, this) -} diff --git a/node_modules/bindings/README.md b/node_modules/bindings/README.md deleted file mode 100644 index 585cf51..0000000 --- a/node_modules/bindings/README.md +++ /dev/null @@ -1,97 +0,0 @@ -node-bindings -============= -### Helper module for loading your native module's .node file - -This is a helper module for authors of Node.js native addon modules. -It is basically the "swiss army knife" of `require()`ing your native module's -`.node` file. - -Throughout the course of Node's native addon history, addons have ended up being -compiled in a variety of different places, depending on which build tool and which -version of node was used. To make matters worse, now the _gyp_ build tool can -produce either a _Release_ or _Debug_ build, each being built into different -locations. - -This module checks _all_ the possible locations that a native addon would be built -at, and returns the first one that loads successfully. - - -Installation ------------- - -Install with `npm`: - -``` bash -$ npm install bindings -``` - -Or add it to the `"dependencies"` section of your _package.json_ file. - - -Example -------- - -`require()`ing the proper bindings file for the current node version, platform -and architecture is as simple as: - -``` js -var bindings = require('bindings')('binding.node') - -// Use your bindings defined in your C files -bindings.your_c_function() -``` - - -Nice Error Output ------------------ - -When the `.node` file could not be loaded, `node-bindings` throws an Error with -a nice error message telling you exactly what was tried. You can also check the -`err.tries` Array property. - -``` -Error: Could not load the bindings file. Tried: - → /Users/nrajlich/ref/build/binding.node - → /Users/nrajlich/ref/build/Debug/binding.node - → /Users/nrajlich/ref/build/Release/binding.node - → /Users/nrajlich/ref/out/Debug/binding.node - → /Users/nrajlich/ref/Debug/binding.node - → /Users/nrajlich/ref/out/Release/binding.node - → /Users/nrajlich/ref/Release/binding.node - → /Users/nrajlich/ref/build/default/binding.node - → /Users/nrajlich/ref/compiled/0.8.2/darwin/x64/binding.node - at bindings (/Users/nrajlich/ref/node_modules/bindings/bindings.js:84:13) - at Object. (/Users/nrajlich/ref/lib/ref.js:5:47) - at Module._compile (module.js:449:26) - at Object.Module._extensions..js (module.js:467:10) - at Module.load (module.js:356:32) - at Function.Module._load (module.js:312:12) - ... -``` - - -License -------- - -(The MIT License) - -Copyright (c) 2012 Nathan Rajlich <nathan@tootallnate.net> - -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. diff --git a/node_modules/bindings/bindings.js b/node_modules/bindings/bindings.js deleted file mode 100644 index 93dcf85..0000000 --- a/node_modules/bindings/bindings.js +++ /dev/null @@ -1,166 +0,0 @@ - -/** - * Module dependencies. - */ - -var fs = require('fs') - , path = require('path') - , join = path.join - , dirname = path.dirname - , exists = fs.existsSync || path.existsSync - , defaults = { - arrow: process.env.NODE_BINDINGS_ARROW || ' → ' - , compiled: process.env.NODE_BINDINGS_COMPILED_DIR || 'compiled' - , platform: process.platform - , arch: process.arch - , version: process.versions.node - , bindings: 'bindings.node' - , try: [ - // node-gyp's linked version in the "build" dir - [ 'module_root', 'build', 'bindings' ] - // node-waf and gyp_addon (a.k.a node-gyp) - , [ 'module_root', 'build', 'Debug', 'bindings' ] - , [ 'module_root', 'build', 'Release', 'bindings' ] - // Debug files, for development (legacy behavior, remove for node v0.9) - , [ 'module_root', 'out', 'Debug', 'bindings' ] - , [ 'module_root', 'Debug', 'bindings' ] - // Release files, but manually compiled (legacy behavior, remove for node v0.9) - , [ 'module_root', 'out', 'Release', 'bindings' ] - , [ 'module_root', 'Release', 'bindings' ] - // Legacy from node-waf, node <= 0.4.x - , [ 'module_root', 'build', 'default', 'bindings' ] - // Production "Release" buildtype binary (meh...) - , [ 'module_root', 'compiled', 'version', 'platform', 'arch', 'bindings' ] - ] - } - -/** - * The main `bindings()` function loads the compiled bindings for a given module. - * It uses V8's Error API to determine the parent filename that this function is - * being invoked from, which is then used to find the root directory. - */ - -function bindings (opts) { - - // Argument surgery - if (typeof opts == 'string') { - opts = { bindings: opts } - } else if (!opts) { - opts = {} - } - opts.__proto__ = defaults - - // Get the module root - if (!opts.module_root) { - opts.module_root = exports.getRoot(exports.getFileName()) - } - - // Ensure the given bindings name ends with .node - if (path.extname(opts.bindings) != '.node') { - opts.bindings += '.node' - } - - var tries = [] - , i = 0 - , l = opts.try.length - , n - , b - , err - - for (; i=1.2.1 <1.3.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/bufferutil" - ] - ], - "_from": "bindings@>=1.2.1 <1.3.0", - "_id": "bindings@1.2.1", - "_inCache": true, - "_installable": true, - "_location": "/bindings", - "_npmUser": { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - }, - "_npmVersion": "1.4.14", - "_phantomChildren": {}, - "_requested": { - "raw": "bindings@~1.2.1", - "scope": null, - "escapedName": "bindings", - "name": "bindings", - "rawSpec": "~1.2.1", - "spec": ">=1.2.1 <1.3.0", - "type": "range" - }, - "_requiredBy": [ - "/bufferutil" - ], - "_resolved": "http://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz", - "_shasum": "14ad6113812d2d37d72e67b4cacb4bb726505f11", - "_shrinkwrap": null, - "_spec": "bindings@~1.2.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/bufferutil", - "author": { - "name": "Nathan Rajlich", - "email": "nathan@tootallnate.net", - "url": "http://tootallnate.net" - }, - "bugs": { - "url": "https://github.com/TooTallNate/node-bindings/issues" - }, - "dependencies": {}, - "description": "Helper module for loading your native module's .node file", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "14ad6113812d2d37d72e67b4cacb4bb726505f11", - "tarball": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz" - }, - "gitHead": "e404152ee27f8478ccbc7122ee051246e8e5ec02", - "homepage": "https://github.com/TooTallNate/node-bindings", - "keywords": [ - "native", - "addon", - "bindings", - "gyp", - "waf", - "c", - "c++" - ], - "license": "MIT", - "main": "./bindings.js", - "maintainers": [ - { - "name": "TooTallNate", - "email": "nathan@tootallnate.net" - }, - { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - } - ], - "name": "bindings", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/TooTallNate/node-bindings.git" - }, - "scripts": {}, - "version": "1.2.1" -} diff --git a/node_modules/bl/.jshintrc b/node_modules/bl/.jshintrc deleted file mode 100644 index c8ef3ca..0000000 --- a/node_modules/bl/.jshintrc +++ /dev/null @@ -1,59 +0,0 @@ -{ - "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 -} \ No newline at end of file diff --git a/node_modules/bl/.npmignore b/node_modules/bl/.npmignore deleted file mode 100644 index 40b878d..0000000 --- a/node_modules/bl/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules/ \ No newline at end of file diff --git a/node_modules/bl/.travis.yml b/node_modules/bl/.travis.yml deleted file mode 100644 index 8c6fc48..0000000 --- a/node_modules/bl/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -sudo: false -language: node_js -node_js: - - '0.10' - - '0.12' - - '4' - - '6' - - '7' -branches: - only: - - master -notifications: - email: - - rod@vagg.org - - matteo.collina@gmail.com diff --git a/node_modules/bl/LICENSE.md b/node_modules/bl/LICENSE.md deleted file mode 100644 index ff35a34..0000000 --- a/node_modules/bl/LICENSE.md +++ /dev/null @@ -1,13 +0,0 @@ -The MIT License (MIT) -===================== - -Copyright (c) 2013-2016 bl contributors ----------------------------------- - -*bl contributors listed at * - -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. diff --git a/node_modules/bl/README.md b/node_modules/bl/README.md deleted file mode 100644 index da0c183..0000000 --- a/node_modules/bl/README.md +++ /dev/null @@ -1,208 +0,0 @@ -# bl *(BufferList)* - -[![Build Status](https://travis-ci.org/rvagg/bl.svg?branch=master)](https://travis-ci.org/rvagg/bl) - -**A Node.js Buffer list collector, reader and streamer thingy.** - -[![NPM](https://nodei.co/npm/bl.png?downloads=true&downloadRank=true)](https://nodei.co/npm/bl/) -[![NPM](https://nodei.co/npm-dl/bl.png?months=6&height=3)](https://nodei.co/npm/bl/) - -**bl** is a storage object for collections of Node Buffers, exposing them with the main Buffer readable API. Also works as a duplex stream so you can collect buffers from a stream that emits them and emit buffers to a stream that consumes them! - -The original buffers are kept intact and copies are only done as necessary. Any reads that require the use of a single original buffer will return a slice of that buffer only (which references the same memory as the original buffer). Reads that span buffers perform concatenation as required and return the results transparently. - -```js -const BufferList = require('bl') - -var bl = new BufferList() -bl.append(new Buffer('abcd')) -bl.append(new Buffer('efg')) -bl.append('hi') // bl will also accept & convert Strings -bl.append(new Buffer('j')) -bl.append(new Buffer([ 0x3, 0x4 ])) - -console.log(bl.length) // 12 - -console.log(bl.slice(0, 10).toString('ascii')) // 'abcdefghij' -console.log(bl.slice(3, 10).toString('ascii')) // 'defghij' -console.log(bl.slice(3, 6).toString('ascii')) // 'def' -console.log(bl.slice(3, 8).toString('ascii')) // 'defgh' -console.log(bl.slice(5, 10).toString('ascii')) // 'fghij' - -// or just use toString! -console.log(bl.toString()) // 'abcdefghij\u0003\u0004' -console.log(bl.toString('ascii', 3, 8)) // 'defgh' -console.log(bl.toString('ascii', 5, 10)) // 'fghij' - -// other standard Buffer readables -console.log(bl.readUInt16BE(10)) // 0x0304 -console.log(bl.readUInt16LE(10)) // 0x0403 -``` - -Give it a callback in the constructor and use it just like **[concat-stream](https://github.com/maxogden/node-concat-stream)**: - -```js -const bl = require('bl') - , fs = require('fs') - -fs.createReadStream('README.md') - .pipe(bl(function (err, data) { // note 'new' isn't strictly required - // `data` is a complete Buffer object containing the full data - console.log(data.toString()) - })) -``` - -Note that when you use the *callback* method like this, the resulting `data` parameter is a concatenation of all `Buffer` objects in the list. If you want to avoid the overhead of this concatenation (in cases of extreme performance consciousness), then avoid the *callback* method and just listen to `'end'` instead, like a standard Stream. - -Or to fetch a URL using [hyperquest](https://github.com/substack/hyperquest) (should work with [request](http://github.com/mikeal/request) and even plain Node http too!): -```js -const hyperquest = require('hyperquest') - , bl = require('bl') - , url = 'https://raw.github.com/rvagg/bl/master/README.md' - -hyperquest(url).pipe(bl(function (err, data) { - console.log(data.toString()) -})) -``` - -Or, use it as a readable stream to recompose a list of Buffers to an output source: - -```js -const BufferList = require('bl') - , fs = require('fs') - -var bl = new BufferList() -bl.append(new Buffer('abcd')) -bl.append(new Buffer('efg')) -bl.append(new Buffer('hi')) -bl.append(new Buffer('j')) - -bl.pipe(fs.createWriteStream('gibberish.txt')) -``` - -## API - - * new BufferList([ callback ]) - * bl.length - * bl.append(buffer) - * bl.get(index) - * bl.slice([ start[, end ] ]) - * bl.shallowSlice([ start[, end ] ]) - * bl.copy(dest, [ destStart, [ srcStart [, srcEnd ] ] ]) - * bl.duplicate() - * bl.consume(bytes) - * bl.toString([encoding, [ start, [ end ]]]) - * bl.readDoubleBE(), bl.readDoubleLE(), bl.readFloatBE(), bl.readFloatLE(), bl.readInt32BE(), bl.readInt32LE(), bl.readUInt32BE(), bl.readUInt32LE(), bl.readInt16BE(), bl.readInt16LE(), bl.readUInt16BE(), bl.readUInt16LE(), bl.readInt8(), bl.readUInt8() - * Streams - --------------------------------------------------------- - -### new BufferList([ callback | Buffer | Buffer array | BufferList | BufferList array | String ]) -The constructor takes an optional callback, if supplied, the callback will be called with an error argument followed by a reference to the **bl** instance, when `bl.end()` is called (i.e. from a piped stream). This is a convenient method of collecting the entire contents of a stream, particularly when the stream is *chunky*, such as a network stream. - -Normally, no arguments are required for the constructor, but you can initialise the list by passing in a single `Buffer` object or an array of `Buffer` object. - -`new` is not strictly required, if you don't instantiate a new object, it will be done automatically for you so you can create a new instance simply with: - -```js -var bl = require('bl') -var myinstance = bl() - -// equivilant to: - -var BufferList = require('bl') -var myinstance = new BufferList() -``` - --------------------------------------------------------- - -### bl.length -Get the length of the list in bytes. This is the sum of the lengths of all of the buffers contained in the list, minus any initial offset for a semi-consumed buffer at the beginning. Should accurately represent the total number of bytes that can be read from the list. - --------------------------------------------------------- - -### bl.append(Buffer | Buffer array | BufferList | BufferList array | String) -`append(buffer)` adds an additional buffer or BufferList to the internal list. `this` is returned so it can be chained. - --------------------------------------------------------- - -### bl.get(index) -`get()` will return the byte at the specified index. - --------------------------------------------------------- - -### bl.slice([ start, [ end ] ]) -`slice()` returns a new `Buffer` object containing the bytes within the range specified. Both `start` and `end` are optional and will default to the beginning and end of the list respectively. - -If the requested range spans a single internal buffer then a slice of that buffer will be returned which shares the original memory range of that Buffer. If the range spans multiple buffers then copy operations will likely occur to give you a uniform Buffer. - --------------------------------------------------------- - -### bl.shallowSlice([ start, [ end ] ]) -`shallowSlice()` returns a new `BufferList` object containing the bytes within the range specified. Both `start` and `end` are optional and will default to the beginning and end of the list respectively. - -No copies will be performed. All buffers in the result share memory with the original list. - --------------------------------------------------------- - -### bl.copy(dest, [ destStart, [ srcStart [, srcEnd ] ] ]) -`copy()` copies the content of the list in the `dest` buffer, starting from `destStart` and containing the bytes within the range specified with `srcStart` to `srcEnd`. `destStart`, `start` and `end` are optional and will default to the beginning of the `dest` buffer, and the beginning and end of the list respectively. - --------------------------------------------------------- - -### bl.duplicate() -`duplicate()` performs a **shallow-copy** of the list. The internal Buffers remains the same, so if you change the underlying Buffers, the change will be reflected in both the original and the duplicate. This method is needed if you want to call `consume()` or `pipe()` and still keep the original list.Example: - -```js -var bl = new BufferList() - -bl.append('hello') -bl.append(' world') -bl.append('\n') - -bl.duplicate().pipe(process.stdout, { end: false }) - -console.log(bl.toString()) -``` - --------------------------------------------------------- - -### bl.consume(bytes) -`consume()` will shift bytes *off the start of the list*. The number of bytes consumed don't need to line up with the sizes of the internal Buffers—initial offsets will be calculated accordingly in order to give you a consistent view of the data. - --------------------------------------------------------- - -### bl.toString([encoding, [ start, [ end ]]]) -`toString()` will return a string representation of the buffer. The optional `start` and `end` arguments are passed on to `slice()`, while the `encoding` is passed on to `toString()` of the resulting Buffer. See the [Buffer#toString()](http://nodejs.org/docs/latest/api/buffer.html#buffer_buf_tostring_encoding_start_end) documentation for more information. - --------------------------------------------------------- - -### bl.readDoubleBE(), bl.readDoubleLE(), bl.readFloatBE(), bl.readFloatLE(), bl.readInt32BE(), bl.readInt32LE(), bl.readUInt32BE(), bl.readUInt32LE(), bl.readInt16BE(), bl.readInt16LE(), bl.readUInt16BE(), bl.readUInt16LE(), bl.readInt8(), bl.readUInt8() - -All of the standard byte-reading methods of the `Buffer` interface are implemented and will operate across internal Buffer boundaries transparently. - -See the [Buffer](http://nodejs.org/docs/latest/api/buffer.html) documentation for how these work. - --------------------------------------------------------- - -### Streams -**bl** is a Node **[Duplex Stream](http://nodejs.org/docs/latest/api/stream.html#stream_class_stream_duplex)**, so it can be read from and written to like a standard Node stream. You can also `pipe()` to and from a **bl** instance. - --------------------------------------------------------- - -## Contributors - -**bl** is brought to you by the following hackers: - - * [Rod Vagg](https://github.com/rvagg) - * [Matteo Collina](https://github.com/mcollina) - * [Jarett Cruger](https://github.com/jcrugzz) - -======= - - -## License & copyright - -Copyright (c) 2013-2016 bl contributors (listed above). - -bl is licensed under the MIT license. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE.md file for more details. diff --git a/node_modules/bl/bl.js b/node_modules/bl/bl.js deleted file mode 100644 index 701c1e5..0000000 --- a/node_modules/bl/bl.js +++ /dev/null @@ -1,280 +0,0 @@ -var DuplexStream = require('readable-stream/duplex') - , util = require('util') - - -function BufferList (callback) { - if (!(this instanceof BufferList)) - return new BufferList(callback) - - this._bufs = [] - this.length = 0 - - if (typeof callback == 'function') { - this._callback = callback - - var piper = function piper (err) { - if (this._callback) { - this._callback(err) - this._callback = null - } - }.bind(this) - - this.on('pipe', function onPipe (src) { - src.on('error', piper) - }) - this.on('unpipe', function onUnpipe (src) { - src.removeListener('error', piper) - }) - } else { - this.append(callback) - } - - DuplexStream.call(this) -} - - -util.inherits(BufferList, DuplexStream) - - -BufferList.prototype._offset = function _offset (offset) { - var tot = 0, i = 0, _t - if (offset === 0) return [ 0, 0 ] - for (; i < this._bufs.length; i++) { - _t = tot + this._bufs[i].length - if (offset < _t || i == this._bufs.length - 1) - return [ i, offset - tot ] - tot = _t - } -} - - -BufferList.prototype.append = function append (buf) { - var i = 0 - - if (Buffer.isBuffer(buf)) { - this._appendBuffer(buf); - } else if (Array.isArray(buf)) { - for (; i < buf.length; i++) - this.append(buf[i]) - } else if (buf instanceof BufferList) { - // unwrap argument into individual BufferLists - for (; i < buf._bufs.length; i++) - this.append(buf._bufs[i]) - } else if (buf != null) { - // coerce number arguments to strings, since Buffer(number) does - // uninitialized memory allocation - if (typeof buf == 'number') - buf = buf.toString() - - this._appendBuffer(new Buffer(buf)); - } - - return this -} - - -BufferList.prototype._appendBuffer = function appendBuffer (buf) { - this._bufs.push(buf) - this.length += buf.length -} - - -BufferList.prototype._write = function _write (buf, encoding, callback) { - this._appendBuffer(buf) - - if (typeof callback == 'function') - callback() -} - - -BufferList.prototype._read = function _read (size) { - if (!this.length) - return this.push(null) - - size = Math.min(size, this.length) - this.push(this.slice(0, size)) - this.consume(size) -} - - -BufferList.prototype.end = function end (chunk) { - DuplexStream.prototype.end.call(this, chunk) - - if (this._callback) { - this._callback(null, this.slice()) - this._callback = null - } -} - - -BufferList.prototype.get = function get (index) { - return this.slice(index, index + 1)[0] -} - - -BufferList.prototype.slice = function slice (start, end) { - if (typeof start == 'number' && start < 0) - start += this.length - if (typeof end == 'number' && end < 0) - end += this.length - return this.copy(null, 0, start, end) -} - - -BufferList.prototype.copy = function copy (dst, dstStart, srcStart, srcEnd) { - if (typeof srcStart != 'number' || srcStart < 0) - srcStart = 0 - if (typeof srcEnd != 'number' || srcEnd > this.length) - srcEnd = this.length - if (srcStart >= this.length) - return dst || new Buffer(0) - if (srcEnd <= 0) - return dst || new Buffer(0) - - var copy = !!dst - , off = this._offset(srcStart) - , len = srcEnd - srcStart - , bytes = len - , bufoff = (copy && dstStart) || 0 - , start = off[1] - , l - , i - - // copy/slice everything - if (srcStart === 0 && srcEnd == this.length) { - if (!copy) { // slice, but full concat if multiple buffers - return this._bufs.length === 1 - ? this._bufs[0] - : Buffer.concat(this._bufs, this.length) - } - - // copy, need to copy individual buffers - for (i = 0; i < this._bufs.length; i++) { - this._bufs[i].copy(dst, bufoff) - bufoff += this._bufs[i].length - } - - return dst - } - - // easy, cheap case where it's a subset of one of the buffers - if (bytes <= this._bufs[off[0]].length - start) { - return copy - ? this._bufs[off[0]].copy(dst, dstStart, start, start + bytes) - : this._bufs[off[0]].slice(start, start + bytes) - } - - if (!copy) // a slice, we need something to copy in to - dst = new Buffer(len) - - for (i = off[0]; i < this._bufs.length; i++) { - l = this._bufs[i].length - start - - if (bytes > l) { - this._bufs[i].copy(dst, bufoff, start) - } else { - this._bufs[i].copy(dst, bufoff, start, start + bytes) - break - } - - bufoff += l - bytes -= l - - if (start) - start = 0 - } - - return dst -} - -BufferList.prototype.shallowSlice = function shallowSlice (start, end) { - start = start || 0 - end = end || this.length - - if (start < 0) - start += this.length - if (end < 0) - end += this.length - - var startOffset = this._offset(start) - , endOffset = this._offset(end) - , buffers = this._bufs.slice(startOffset[0], endOffset[0] + 1) - - if (startOffset[1] != 0) - buffers[0] = buffers[0].slice(startOffset[1]) - - if (endOffset[1] == 0) - buffers.pop() - else - buffers[buffers.length-1] = buffers[buffers.length-1].slice(0, endOffset[1]) - - return new BufferList(buffers) -} - -BufferList.prototype.toString = function toString (encoding, start, end) { - return this.slice(start, end).toString(encoding) -} - -BufferList.prototype.consume = function consume (bytes) { - while (this._bufs.length) { - if (bytes >= this._bufs[0].length) { - bytes -= this._bufs[0].length - this.length -= this._bufs[0].length - this._bufs.shift() - } else { - this._bufs[0] = this._bufs[0].slice(bytes) - this.length -= bytes - break - } - } - return this -} - - -BufferList.prototype.duplicate = function duplicate () { - var i = 0 - , copy = new BufferList() - - for (; i < this._bufs.length; i++) - copy.append(this._bufs[i]) - - return copy -} - - -BufferList.prototype.destroy = function destroy () { - this._bufs.length = 0 - this.length = 0 - this.push(null) -} - - -;(function () { - var methods = { - 'readDoubleBE' : 8 - , 'readDoubleLE' : 8 - , 'readFloatBE' : 4 - , 'readFloatLE' : 4 - , 'readInt32BE' : 4 - , 'readInt32LE' : 4 - , 'readUInt32BE' : 4 - , 'readUInt32LE' : 4 - , 'readInt16BE' : 2 - , 'readInt16LE' : 2 - , 'readUInt16BE' : 2 - , 'readUInt16LE' : 2 - , 'readInt8' : 1 - , 'readUInt8' : 1 - } - - for (var m in methods) { - (function (m) { - BufferList.prototype[m] = function (offset) { - return this.slice(offset, offset + methods[m])[m](0) - } - }(m)) - } -}()) - - -module.exports = BufferList diff --git a/node_modules/bl/package.json b/node_modules/bl/package.json deleted file mode 100644 index e6950f0..0000000 --- a/node_modules/bl/package.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "bl@^1.0.0", - "scope": null, - "escapedName": "bl", - "name": "bl", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/tar-stream" - ] - ], - "_from": "bl@>=1.0.0 <2.0.0", - "_id": "bl@1.2.0", - "_inCache": true, - "_installable": true, - "_location": "/bl", - "_nodeVersion": "6.9.1", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/bl-1.2.0.tgz_1482392005359_0.8425999039318413" - }, - "_npmUser": { - "name": "matteo.collina", - "email": "hello@matteocollina.com" - }, - "_npmVersion": "3.10.8", - "_phantomChildren": {}, - "_requested": { - "raw": "bl@^1.0.0", - "scope": null, - "escapedName": "bl", - "name": "bl", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/tar-stream" - ], - "_resolved": "http://registry.npmjs.org/bl/-/bl-1.2.0.tgz", - "_shasum": "1397e7ec42c5f5dc387470c500e34a9f6be9ea98", - "_shrinkwrap": null, - "_spec": "bl@^1.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/tar-stream", - "authors": [ - "Rod Vagg (https://github.com/rvagg)", - "Matteo Collina (https://github.com/mcollina)", - "Jarett Cruger (https://github.com/jcrugzz)" - ], - "bugs": { - "url": "https://github.com/rvagg/bl/issues" - }, - "dependencies": { - "readable-stream": "^2.0.5" - }, - "description": "Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!", - "devDependencies": { - "faucet": "0.0.1", - "hash_file": "~0.1.1", - "tape": "~4.6.0" - }, - "directories": {}, - "dist": { - "shasum": "1397e7ec42c5f5dc387470c500e34a9f6be9ea98", - "tarball": "https://registry.npmjs.org/bl/-/bl-1.2.0.tgz" - }, - "gitHead": "199e5c1807c378c8af5d81be0bb3c30921ce530a", - "homepage": "https://github.com/rvagg/bl", - "keywords": [ - "buffer", - "buffers", - "stream", - "awesomesauce" - ], - "license": "MIT", - "main": "bl.js", - "maintainers": [ - { - "name": "matteo.collina", - "email": "hello@matteocollina.com" - }, - { - "name": "rvagg", - "email": "rod@vagg.org" - } - ], - "name": "bl", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/rvagg/bl.git" - }, - "scripts": { - "test": "node test/test.js | faucet" - }, - "version": "1.2.0" -} diff --git a/node_modules/bl/test/test.js b/node_modules/bl/test/test.js deleted file mode 100644 index 989534c..0000000 --- a/node_modules/bl/test/test.js +++ /dev/null @@ -1,699 +0,0 @@ -var tape = require('tape') - , crypto = require('crypto') - , fs = require('fs') - , hash = require('hash_file') - , BufferList = require('../') - - , encodings = - ('hex utf8 utf-8 ascii binary base64' - + (process.browser ? '' : ' ucs2 ucs-2 utf16le utf-16le')).split(' ') - -tape('single bytes from single buffer', function (t) { - var bl = new BufferList() - bl.append(new Buffer('abcd')) - - t.equal(bl.length, 4) - - t.equal(bl.get(0), 97) - t.equal(bl.get(1), 98) - t.equal(bl.get(2), 99) - t.equal(bl.get(3), 100) - - t.end() -}) - -tape('single bytes from multiple buffers', function (t) { - var bl = new BufferList() - bl.append(new Buffer('abcd')) - bl.append(new Buffer('efg')) - bl.append(new Buffer('hi')) - bl.append(new Buffer('j')) - - t.equal(bl.length, 10) - - t.equal(bl.get(0), 97) - t.equal(bl.get(1), 98) - t.equal(bl.get(2), 99) - t.equal(bl.get(3), 100) - t.equal(bl.get(4), 101) - t.equal(bl.get(5), 102) - t.equal(bl.get(6), 103) - t.equal(bl.get(7), 104) - t.equal(bl.get(8), 105) - t.equal(bl.get(9), 106) - t.end() -}) - -tape('multi bytes from single buffer', function (t) { - var bl = new BufferList() - bl.append(new Buffer('abcd')) - - t.equal(bl.length, 4) - - t.equal(bl.slice(0, 4).toString('ascii'), 'abcd') - t.equal(bl.slice(0, 3).toString('ascii'), 'abc') - t.equal(bl.slice(1, 4).toString('ascii'), 'bcd') - t.equal(bl.slice(-4, -1).toString('ascii'), 'abc') - - t.end() -}) - -tape('multi bytes from single buffer (negative indexes)', function (t) { - var bl = new BufferList() - bl.append(new Buffer('buffer')) - - t.equal(bl.length, 6) - - t.equal(bl.slice(-6, -1).toString('ascii'), 'buffe') - t.equal(bl.slice(-6, -2).toString('ascii'), 'buff') - t.equal(bl.slice(-5, -2).toString('ascii'), 'uff') - - t.end() -}) - -tape('multiple bytes from multiple buffers', function (t) { - var bl = new BufferList() - - bl.append(new Buffer('abcd')) - bl.append(new Buffer('efg')) - bl.append(new Buffer('hi')) - bl.append(new Buffer('j')) - - t.equal(bl.length, 10) - - t.equal(bl.slice(0, 10).toString('ascii'), 'abcdefghij') - t.equal(bl.slice(3, 10).toString('ascii'), 'defghij') - t.equal(bl.slice(3, 6).toString('ascii'), 'def') - t.equal(bl.slice(3, 8).toString('ascii'), 'defgh') - t.equal(bl.slice(5, 10).toString('ascii'), 'fghij') - t.equal(bl.slice(-7, -4).toString('ascii'), 'def') - - t.end() -}) - -tape('multiple bytes from multiple buffer lists', function (t) { - var bl = new BufferList() - - bl.append(new BufferList([ new Buffer('abcd'), new Buffer('efg') ])) - bl.append(new BufferList([ new Buffer('hi'), new Buffer('j') ])) - - t.equal(bl.length, 10) - - t.equal(bl.slice(0, 10).toString('ascii'), 'abcdefghij') - - t.equal(bl.slice(3, 10).toString('ascii'), 'defghij') - t.equal(bl.slice(3, 6).toString('ascii'), 'def') - t.equal(bl.slice(3, 8).toString('ascii'), 'defgh') - t.equal(bl.slice(5, 10).toString('ascii'), 'fghij') - - t.end() -}) - -// same data as previous test, just using nested constructors -tape('multiple bytes from crazy nested buffer lists', function (t) { - var bl = new BufferList() - - bl.append(new BufferList([ - new BufferList([ - new BufferList(new Buffer('abc')) - , new Buffer('d') - , new BufferList(new Buffer('efg')) - ]) - , new BufferList([ new Buffer('hi') ]) - , new BufferList(new Buffer('j')) - ])) - - t.equal(bl.length, 10) - - t.equal(bl.slice(0, 10).toString('ascii'), 'abcdefghij') - - t.equal(bl.slice(3, 10).toString('ascii'), 'defghij') - t.equal(bl.slice(3, 6).toString('ascii'), 'def') - t.equal(bl.slice(3, 8).toString('ascii'), 'defgh') - t.equal(bl.slice(5, 10).toString('ascii'), 'fghij') - - t.end() -}) - -tape('append accepts arrays of Buffers', function (t) { - var bl = new BufferList() - bl.append(new Buffer('abc')) - bl.append([ new Buffer('def') ]) - bl.append([ new Buffer('ghi'), new Buffer('jkl') ]) - bl.append([ new Buffer('mnop'), new Buffer('qrstu'), new Buffer('vwxyz') ]) - t.equal(bl.length, 26) - t.equal(bl.slice().toString('ascii'), 'abcdefghijklmnopqrstuvwxyz') - t.end() -}) - -tape('append accepts arrays of BufferLists', function (t) { - var bl = new BufferList() - bl.append(new Buffer('abc')) - bl.append([ new BufferList('def') ]) - bl.append(new BufferList([ new Buffer('ghi'), new BufferList('jkl') ])) - bl.append([ new Buffer('mnop'), new BufferList([ new Buffer('qrstu'), new Buffer('vwxyz') ]) ]) - t.equal(bl.length, 26) - t.equal(bl.slice().toString('ascii'), 'abcdefghijklmnopqrstuvwxyz') - t.end() -}) - -tape('append chainable', function (t) { - var bl = new BufferList() - t.ok(bl.append(new Buffer('abcd')) === bl) - t.ok(bl.append([ new Buffer('abcd') ]) === bl) - t.ok(bl.append(new BufferList(new Buffer('abcd'))) === bl) - t.ok(bl.append([ new BufferList(new Buffer('abcd')) ]) === bl) - t.end() -}) - -tape('append chainable (test results)', function (t) { - var bl = new BufferList('abc') - .append([ new BufferList('def') ]) - .append(new BufferList([ new Buffer('ghi'), new BufferList('jkl') ])) - .append([ new Buffer('mnop'), new BufferList([ new Buffer('qrstu'), new Buffer('vwxyz') ]) ]) - - t.equal(bl.length, 26) - t.equal(bl.slice().toString('ascii'), 'abcdefghijklmnopqrstuvwxyz') - t.end() -}) - -tape('consuming from multiple buffers', function (t) { - var bl = new BufferList() - - bl.append(new Buffer('abcd')) - bl.append(new Buffer('efg')) - bl.append(new Buffer('hi')) - bl.append(new Buffer('j')) - - t.equal(bl.length, 10) - - t.equal(bl.slice(0, 10).toString('ascii'), 'abcdefghij') - - bl.consume(3) - t.equal(bl.length, 7) - t.equal(bl.slice(0, 7).toString('ascii'), 'defghij') - - bl.consume(2) - t.equal(bl.length, 5) - t.equal(bl.slice(0, 5).toString('ascii'), 'fghij') - - bl.consume(1) - t.equal(bl.length, 4) - t.equal(bl.slice(0, 4).toString('ascii'), 'ghij') - - bl.consume(1) - t.equal(bl.length, 3) - t.equal(bl.slice(0, 3).toString('ascii'), 'hij') - - bl.consume(2) - t.equal(bl.length, 1) - t.equal(bl.slice(0, 1).toString('ascii'), 'j') - - t.end() -}) - -tape('complete consumption', function (t) { - var bl = new BufferList() - - bl.append(new Buffer('a')) - bl.append(new Buffer('b')) - - bl.consume(2) - - t.equal(bl.length, 0) - t.equal(bl._bufs.length, 0) - - t.end() -}) - -tape('test readUInt8 / readInt8', function (t) { - var buf1 = new Buffer(1) - , buf2 = new Buffer(3) - , buf3 = new Buffer(3) - , bl = new BufferList() - - buf2[1] = 0x3 - buf2[2] = 0x4 - buf3[0] = 0x23 - buf3[1] = 0x42 - - bl.append(buf1) - bl.append(buf2) - bl.append(buf3) - - t.equal(bl.readUInt8(2), 0x3) - t.equal(bl.readInt8(2), 0x3) - t.equal(bl.readUInt8(3), 0x4) - t.equal(bl.readInt8(3), 0x4) - t.equal(bl.readUInt8(4), 0x23) - t.equal(bl.readInt8(4), 0x23) - t.equal(bl.readUInt8(5), 0x42) - t.equal(bl.readInt8(5), 0x42) - t.end() -}) - -tape('test readUInt16LE / readUInt16BE / readInt16LE / readInt16BE', function (t) { - var buf1 = new Buffer(1) - , buf2 = new Buffer(3) - , buf3 = new Buffer(3) - , bl = new BufferList() - - buf2[1] = 0x3 - buf2[2] = 0x4 - buf3[0] = 0x23 - buf3[1] = 0x42 - - bl.append(buf1) - bl.append(buf2) - bl.append(buf3) - - t.equal(bl.readUInt16BE(2), 0x0304) - t.equal(bl.readUInt16LE(2), 0x0403) - t.equal(bl.readInt16BE(2), 0x0304) - t.equal(bl.readInt16LE(2), 0x0403) - t.equal(bl.readUInt16BE(3), 0x0423) - t.equal(bl.readUInt16LE(3), 0x2304) - t.equal(bl.readInt16BE(3), 0x0423) - t.equal(bl.readInt16LE(3), 0x2304) - t.equal(bl.readUInt16BE(4), 0x2342) - t.equal(bl.readUInt16LE(4), 0x4223) - t.equal(bl.readInt16BE(4), 0x2342) - t.equal(bl.readInt16LE(4), 0x4223) - t.end() -}) - -tape('test readUInt32LE / readUInt32BE / readInt32LE / readInt32BE', function (t) { - var buf1 = new Buffer(1) - , buf2 = new Buffer(3) - , buf3 = new Buffer(3) - , bl = new BufferList() - - buf2[1] = 0x3 - buf2[2] = 0x4 - buf3[0] = 0x23 - buf3[1] = 0x42 - - bl.append(buf1) - bl.append(buf2) - bl.append(buf3) - - t.equal(bl.readUInt32BE(2), 0x03042342) - t.equal(bl.readUInt32LE(2), 0x42230403) - t.equal(bl.readInt32BE(2), 0x03042342) - t.equal(bl.readInt32LE(2), 0x42230403) - t.end() -}) - -tape('test readFloatLE / readFloatBE', function (t) { - var buf1 = new Buffer(1) - , buf2 = new Buffer(3) - , buf3 = new Buffer(3) - , bl = new BufferList() - - buf2[1] = 0x00 - buf2[2] = 0x00 - buf3[0] = 0x80 - buf3[1] = 0x3f - - bl.append(buf1) - bl.append(buf2) - bl.append(buf3) - - t.equal(bl.readFloatLE(2), 0x01) - t.end() -}) - -tape('test readDoubleLE / readDoubleBE', function (t) { - var buf1 = new Buffer(1) - , buf2 = new Buffer(3) - , buf3 = new Buffer(10) - , bl = new BufferList() - - buf2[1] = 0x55 - buf2[2] = 0x55 - buf3[0] = 0x55 - buf3[1] = 0x55 - buf3[2] = 0x55 - buf3[3] = 0x55 - buf3[4] = 0xd5 - buf3[5] = 0x3f - - bl.append(buf1) - bl.append(buf2) - bl.append(buf3) - - t.equal(bl.readDoubleLE(2), 0.3333333333333333) - t.end() -}) - -tape('test toString', function (t) { - var bl = new BufferList() - - bl.append(new Buffer('abcd')) - bl.append(new Buffer('efg')) - bl.append(new Buffer('hi')) - bl.append(new Buffer('j')) - - t.equal(bl.toString('ascii', 0, 10), 'abcdefghij') - t.equal(bl.toString('ascii', 3, 10), 'defghij') - t.equal(bl.toString('ascii', 3, 6), 'def') - t.equal(bl.toString('ascii', 3, 8), 'defgh') - t.equal(bl.toString('ascii', 5, 10), 'fghij') - - t.end() -}) - -tape('test toString encoding', function (t) { - var bl = new BufferList() - , b = new Buffer('abcdefghij\xff\x00') - - bl.append(new Buffer('abcd')) - bl.append(new Buffer('efg')) - bl.append(new Buffer('hi')) - bl.append(new Buffer('j')) - bl.append(new Buffer('\xff\x00')) - - encodings.forEach(function (enc) { - t.equal(bl.toString(enc), b.toString(enc), enc) - }) - - t.end() -}) - -!process.browser && tape('test stream', function (t) { - var random = crypto.randomBytes(65534) - , rndhash = hash(random, 'md5') - , md5sum = crypto.createHash('md5') - , bl = new BufferList(function (err, buf) { - t.ok(Buffer.isBuffer(buf)) - t.ok(err === null) - t.equal(rndhash, hash(bl.slice(), 'md5')) - t.equal(rndhash, hash(buf, 'md5')) - - bl.pipe(fs.createWriteStream('/tmp/bl_test_rnd_out.dat')) - .on('close', function () { - var s = fs.createReadStream('/tmp/bl_test_rnd_out.dat') - s.on('data', md5sum.update.bind(md5sum)) - s.on('end', function() { - t.equal(rndhash, md5sum.digest('hex'), 'woohoo! correct hash!') - t.end() - }) - }) - - }) - - fs.writeFileSync('/tmp/bl_test_rnd.dat', random) - fs.createReadStream('/tmp/bl_test_rnd.dat').pipe(bl) -}) - -tape('instantiation with Buffer', function (t) { - var buf = crypto.randomBytes(1024) - , buf2 = crypto.randomBytes(1024) - , b = BufferList(buf) - - t.equal(buf.toString('hex'), b.slice().toString('hex'), 'same buffer') - b = BufferList([ buf, buf2 ]) - t.equal(b.slice().toString('hex'), Buffer.concat([ buf, buf2 ]).toString('hex'), 'same buffer') - t.end() -}) - -tape('test String appendage', function (t) { - var bl = new BufferList() - , b = new Buffer('abcdefghij\xff\x00') - - bl.append('abcd') - bl.append('efg') - bl.append('hi') - bl.append('j') - bl.append('\xff\x00') - - encodings.forEach(function (enc) { - t.equal(bl.toString(enc), b.toString(enc)) - }) - - t.end() -}) - -tape('test Number appendage', function (t) { - var bl = new BufferList() - , b = new Buffer('1234567890') - - bl.append(1234) - bl.append(567) - bl.append(89) - bl.append(0) - - encodings.forEach(function (enc) { - t.equal(bl.toString(enc), b.toString(enc)) - }) - - t.end() -}) - -tape('write nothing, should get empty buffer', function (t) { - t.plan(3) - BufferList(function (err, data) { - t.notOk(err, 'no error') - t.ok(Buffer.isBuffer(data), 'got a buffer') - t.equal(0, data.length, 'got a zero-length buffer') - t.end() - }).end() -}) - -tape('unicode string', function (t) { - t.plan(2) - var inp1 = '\u2600' - , inp2 = '\u2603' - , exp = inp1 + ' and ' + inp2 - , bl = BufferList() - bl.write(inp1) - bl.write(' and ') - bl.write(inp2) - t.equal(exp, bl.toString()) - t.equal(new Buffer(exp).toString('hex'), bl.toString('hex')) -}) - -tape('should emit finish', function (t) { - var source = BufferList() - , dest = BufferList() - - source.write('hello') - source.pipe(dest) - - dest.on('finish', function () { - t.equal(dest.toString('utf8'), 'hello') - t.end() - }) -}) - -tape('basic copy', function (t) { - var buf = crypto.randomBytes(1024) - , buf2 = new Buffer(1024) - , b = BufferList(buf) - - b.copy(buf2) - t.equal(b.slice().toString('hex'), buf2.toString('hex'), 'same buffer') - t.end() -}) - -tape('copy after many appends', function (t) { - var buf = crypto.randomBytes(512) - , buf2 = new Buffer(1024) - , b = BufferList(buf) - - b.append(buf) - b.copy(buf2) - t.equal(b.slice().toString('hex'), buf2.toString('hex'), 'same buffer') - t.end() -}) - -tape('copy at a precise position', function (t) { - var buf = crypto.randomBytes(1004) - , buf2 = new Buffer(1024) - , b = BufferList(buf) - - b.copy(buf2, 20) - t.equal(b.slice().toString('hex'), buf2.slice(20).toString('hex'), 'same buffer') - t.end() -}) - -tape('copy starting from a precise location', function (t) { - var buf = crypto.randomBytes(10) - , buf2 = new Buffer(5) - , b = BufferList(buf) - - b.copy(buf2, 0, 5) - t.equal(b.slice(5).toString('hex'), buf2.toString('hex'), 'same buffer') - t.end() -}) - -tape('copy in an interval', function (t) { - var rnd = crypto.randomBytes(10) - , b = BufferList(rnd) // put the random bytes there - , actual = new Buffer(3) - , expected = new Buffer(3) - - rnd.copy(expected, 0, 5, 8) - b.copy(actual, 0, 5, 8) - - t.equal(actual.toString('hex'), expected.toString('hex'), 'same buffer') - t.end() -}) - -tape('copy an interval between two buffers', function (t) { - var buf = crypto.randomBytes(10) - , buf2 = new Buffer(10) - , b = BufferList(buf) - - b.append(buf) - b.copy(buf2, 0, 5, 15) - - t.equal(b.slice(5, 15).toString('hex'), buf2.toString('hex'), 'same buffer') - t.end() -}) - -tape('shallow slice across buffer boundaries', function (t) { - var bl = new BufferList(['First', 'Second', 'Third']) - - t.equal(bl.shallowSlice(3, 13).toString(), 'stSecondTh') - t.end() -}) - -tape('shallow slice within single buffer', function (t) { - var bl = new BufferList(['First', 'Second', 'Third']) - - t.equal(bl.shallowSlice(5, 10).toString(), 'Secon') - t.end() -}) - -tape('shallow slice single buffer', function (t) { - t.plan(3) - var bl = new BufferList(['First', 'Second', 'Third']) - - t.equal(bl.shallowSlice(0, 5).toString(), 'First') - t.equal(bl.shallowSlice(5, 11).toString(), 'Second') - t.equal(bl.shallowSlice(11, 16).toString(), 'Third') -}) - -tape('shallow slice with negative or omitted indices', function (t) { - t.plan(4) - var bl = new BufferList(['First', 'Second', 'Third']) - - t.equal(bl.shallowSlice().toString(), 'FirstSecondThird') - t.equal(bl.shallowSlice(5).toString(), 'SecondThird') - t.equal(bl.shallowSlice(5, -3).toString(), 'SecondTh') - t.equal(bl.shallowSlice(-8).toString(), 'ondThird') -}) - -tape('shallow slice does not make a copy', function (t) { - t.plan(1) - var buffers = [new Buffer('First'), new Buffer('Second'), new Buffer('Third')] - var bl = (new BufferList(buffers)).shallowSlice(5, -3) - - buffers[1].fill('h') - buffers[2].fill('h') - - t.equal(bl.toString(), 'hhhhhhhh') -}) - -tape('duplicate', function (t) { - t.plan(2) - - var bl = new BufferList('abcdefghij\xff\x00') - , dup = bl.duplicate() - - t.equal(bl.prototype, dup.prototype) - t.equal(bl.toString('hex'), dup.toString('hex')) -}) - -tape('destroy no pipe', function (t) { - t.plan(2) - - var bl = new BufferList('alsdkfja;lsdkfja;lsdk') - bl.destroy() - - t.equal(bl._bufs.length, 0) - t.equal(bl.length, 0) -}) - -!process.browser && tape('destroy with pipe before read end', function (t) { - t.plan(2) - - var bl = new BufferList() - fs.createReadStream(__dirname + '/test.js') - .pipe(bl) - - bl.destroy() - - t.equal(bl._bufs.length, 0) - t.equal(bl.length, 0) - -}) - -!process.browser && tape('destroy with pipe before read end with race', function (t) { - t.plan(2) - - var bl = new BufferList() - fs.createReadStream(__dirname + '/test.js') - .pipe(bl) - - setTimeout(function () { - bl.destroy() - setTimeout(function () { - t.equal(bl._bufs.length, 0) - t.equal(bl.length, 0) - }, 500) - }, 500) -}) - -!process.browser && tape('destroy with pipe after read end', function (t) { - t.plan(2) - - var bl = new BufferList() - fs.createReadStream(__dirname + '/test.js') - .on('end', onEnd) - .pipe(bl) - - function onEnd () { - bl.destroy() - - t.equal(bl._bufs.length, 0) - t.equal(bl.length, 0) - } -}) - -!process.browser && tape('destroy with pipe while writing to a destination', function (t) { - t.plan(4) - - var bl = new BufferList() - , ds = new BufferList() - - fs.createReadStream(__dirname + '/test.js') - .on('end', onEnd) - .pipe(bl) - - function onEnd () { - bl.pipe(ds) - - setTimeout(function () { - bl.destroy() - - t.equals(bl._bufs.length, 0) - t.equals(bl.length, 0) - - ds.destroy() - - t.equals(bl._bufs.length, 0) - t.equals(bl.length, 0) - - }, 100) - } -}) - -!process.browser && tape('handle error', function (t) { - t.plan(2) - fs.createReadStream('/does/not/exist').pipe(BufferList(function (err, data) { - t.ok(err instanceof Error, 'has error') - t.notOk(data, 'no data') - })) -}) diff --git a/node_modules/buffer-shims/index.js b/node_modules/buffer-shims/index.js deleted file mode 100644 index 1cab4c0..0000000 --- a/node_modules/buffer-shims/index.js +++ /dev/null @@ -1,108 +0,0 @@ -'use strict'; - -var buffer = require('buffer'); -var Buffer = buffer.Buffer; -var SlowBuffer = buffer.SlowBuffer; -var MAX_LEN = buffer.kMaxLength || 2147483647; -exports.alloc = function alloc(size, fill, encoding) { - if (typeof Buffer.alloc === 'function') { - return Buffer.alloc(size, fill, encoding); - } - if (typeof encoding === 'number') { - throw new TypeError('encoding must not be number'); - } - if (typeof size !== 'number') { - throw new TypeError('size must be a number'); - } - if (size > MAX_LEN) { - throw new RangeError('size is too large'); - } - var enc = encoding; - var _fill = fill; - if (_fill === undefined) { - enc = undefined; - _fill = 0; - } - var buf = new Buffer(size); - if (typeof _fill === 'string') { - var fillBuf = new Buffer(_fill, enc); - var flen = fillBuf.length; - var i = -1; - while (++i < size) { - buf[i] = fillBuf[i % flen]; - } - } else { - buf.fill(_fill); - } - return buf; -} -exports.allocUnsafe = function allocUnsafe(size) { - if (typeof Buffer.allocUnsafe === 'function') { - return Buffer.allocUnsafe(size); - } - if (typeof size !== 'number') { - throw new TypeError('size must be a number'); - } - if (size > MAX_LEN) { - throw new RangeError('size is too large'); - } - return new Buffer(size); -} -exports.from = function from(value, encodingOrOffset, length) { - if (typeof Buffer.from === 'function' && (!global.Uint8Array || Uint8Array.from !== Buffer.from)) { - return Buffer.from(value, encodingOrOffset, length); - } - if (typeof value === 'number') { - throw new TypeError('"value" argument must not be a number'); - } - if (typeof value === 'string') { - return new Buffer(value, encodingOrOffset); - } - if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { - var offset = encodingOrOffset; - if (arguments.length === 1) { - return new Buffer(value); - } - if (typeof offset === 'undefined') { - offset = 0; - } - var len = length; - if (typeof len === 'undefined') { - len = value.byteLength - offset; - } - if (offset >= value.byteLength) { - throw new RangeError('\'offset\' is out of bounds'); - } - if (len > value.byteLength - offset) { - throw new RangeError('\'length\' is out of bounds'); - } - return new Buffer(value.slice(offset, offset + len)); - } - if (Buffer.isBuffer(value)) { - var out = new Buffer(value.length); - value.copy(out, 0, 0, value.length); - return out; - } - if (value) { - if (Array.isArray(value) || (typeof ArrayBuffer !== 'undefined' && value.buffer instanceof ArrayBuffer) || 'length' in value) { - return new Buffer(value); - } - if (value.type === 'Buffer' && Array.isArray(value.data)) { - return new Buffer(value.data); - } - } - - throw new TypeError('First argument must be a string, Buffer, ' + 'ArrayBuffer, Array, or array-like object.'); -} -exports.allocUnsafeSlow = function allocUnsafeSlow(size) { - if (typeof Buffer.allocUnsafeSlow === 'function') { - return Buffer.allocUnsafeSlow(size); - } - if (typeof size !== 'number') { - throw new TypeError('size must be a number'); - } - if (size >= MAX_LEN) { - throw new RangeError('size is too large'); - } - return new SlowBuffer(size); -} diff --git a/node_modules/buffer-shims/license.md b/node_modules/buffer-shims/license.md deleted file mode 100644 index 01cfaef..0000000 --- a/node_modules/buffer-shims/license.md +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright (c) 2016 Calvin Metcalf - -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.** diff --git a/node_modules/buffer-shims/package.json b/node_modules/buffer-shims/package.json deleted file mode 100644 index 8a984cd..0000000 --- a/node_modules/buffer-shims/package.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "buffer-shims@^1.0.0", - "scope": null, - "escapedName": "buffer-shims", - "name": "buffer-shims", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/readable-stream" - ] - ], - "_from": "buffer-shims@>=1.0.0 <2.0.0", - "_id": "buffer-shims@1.0.0", - "_inCache": true, - "_installable": true, - "_location": "/buffer-shims", - "_nodeVersion": "5.11.0", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/buffer-shims-1.0.0.tgz_1462560889323_0.8640750856138766" - }, - "_npmUser": { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" - }, - "_npmVersion": "3.8.6", - "_phantomChildren": {}, - "_requested": { - "raw": "buffer-shims@^1.0.0", - "scope": null, - "escapedName": "buffer-shims", - "name": "buffer-shims", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/readable-stream" - ], - "_resolved": "http://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "_shasum": "9978ce317388c649ad8793028c3477ef044a8b51", - "_shrinkwrap": null, - "_spec": "buffer-shims@^1.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/readable-stream", - "bugs": { - "url": "https://github.com/calvinmetcalf/buffer-shims/issues" - }, - "dependencies": {}, - "description": "some shims for node buffers", - "devDependencies": { - "tape": "^4.5.1" - }, - "directories": {}, - "dist": { - "shasum": "9978ce317388c649ad8793028c3477ef044a8b51", - "tarball": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz" - }, - "files": [ - "index.js" - ], - "gitHead": "ea89b3857ab5b8203957922a84e9a48cf4c47e0a", - "homepage": "https://github.com/calvinmetcalf/buffer-shims#readme", - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" - } - ], - "name": "buffer-shims", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/calvinmetcalf/buffer-shims.git" - }, - "scripts": { - "test": "tape test/*.js" - }, - "version": "1.0.0" -} diff --git a/node_modules/buffer-shims/readme.md b/node_modules/buffer-shims/readme.md deleted file mode 100644 index 7ea6475..0000000 --- a/node_modules/buffer-shims/readme.md +++ /dev/null @@ -1,21 +0,0 @@ -buffer-shims -=== - -functions to make sure the new buffer methods work in older browsers. - -```js -var bufferShim = require('buffer-shims'); -bufferShim.from('foo'); -bufferShim.alloc(9, 'cafeface', 'hex'); -bufferShim.allocUnsafe(15); -bufferShim.allocUnsafeSlow(21); -``` - -should just use the original in newer nodes and on older nodes uses fallbacks. - -Known Issues -=== -- this does not patch the buffer object, only the constructor stuff -- it's actually a polyfill - -![](https://i.imgur.com/zxII3jJ.gif) diff --git a/node_modules/bufferutil/LICENSE b/node_modules/bufferutil/LICENSE deleted file mode 100644 index d4a33e1..0000000 --- a/node_modules/bufferutil/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013-2016 Einar Otto Stangvik (http://2x.io) - -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. diff --git a/node_modules/bufferutil/README.md b/node_modules/bufferutil/README.md deleted file mode 100644 index 5366602..0000000 --- a/node_modules/bufferutil/README.md +++ /dev/null @@ -1,78 +0,0 @@ -# bufferutil - -[![Version npm](https://img.shields.io/npm/v/bufferutil.svg)](https://www.npmjs.com/package/bufferutil) -[![Linux/macOS Build](https://travis-ci.org/websockets/bufferutil.svg?branch=master)](https://travis-ci.org/websockets/bufferutil) -[![Windows Build](https://ci.appveyor.com/api/projects/status/github/websockets/bufferutil?branch=master&svg=true)](https://ci.appveyor.com/project/lpinca/bufferutil) - -`bufferutil` is what makes `ws` fast. It provides some utilities to efficiently -perform some operations such as masking and unmasking the data payload of -WebSocket frames. - -## Installation - -``` -npm install bufferutil --save-optional -``` - -The `--save-optional` flag tells npm to save the package in your package.json -under the [`optionalDependencies`](https://docs.npmjs.com/files/package.json#optionaldependencies) -key. - -## API - -The module exports two functions. - -### `bufferUtil.mask(source, mask, output, offset, length)` - -Masks a buffer using the given masking-key as specified by the WebSocket -protocol. - -#### Arguments - -- `source` - The buffer to mask. -- `mask` - A buffer representing the masking-key. -- `output` - The buffer where to store the result. -- `offset` - The offset at which to start writing. -- `length` - The number of bytes to mask. - -#### Example - -```js -'use strict'; - -const bufferUtil = require('bufferutil'); -const crypto = require('crypto'); - -const source = crypto.randomBytes(10); -const mask = crypto.randomBytes(4); - -bufferUtil.mask(source, mask, source, 0, source.length); -``` - -### `bufferUtil.unmask(buffer, mask)` - -Unmasks a buffer using the given masking-key as specified by the WebSocket -protocol. - -#### Arguments - -- `buffer` - The buffer to unmask. -- `mask` - A buffer representing the masking-key. - -#### Example - -```js -'use strict'; - -const bufferUtil = require('bufferutil'); -const crypto = require('crypto'); - -const buffer = crypto.randomBytes(10); -const mask = crypto.randomBytes(4); - -bufferUtil.unmask(buffer, mask); -``` - -## License - -[MIT](LICENSE) diff --git a/node_modules/bufferutil/binding.gyp b/node_modules/bufferutil/binding.gyp deleted file mode 100644 index 9ccd9dd..0000000 --- a/node_modules/bufferutil/binding.gyp +++ /dev/null @@ -1,14 +0,0 @@ -{ - 'targets': [ - { - 'target_name': 'bufferutil', - 'include_dirs': [" - * MIT Licensed - */ - -'use strict'; - -/** - * Masks a buffer using the given mask. - * - * @param {Buffer} source The buffer to mask - * @param {Buffer} mask The mask to use - * @param {Buffer} output The buffer where to store the result - * @param {Number} offset The offset at which to start writing - * @param {Number} length The number of bytes to mask. - * @public - */ -const mask = (source, mask, output, offset, length) => { - for (var i = 0; i < length; i++) { - output[offset + i] = source[i] ^ mask[i & 3]; - } -}; - -/** - * Unmasks a buffer using the given mask. - * - * @param {Buffer} buffer The buffer to unmask - * @param {Buffer} mask The mask to use - * @public - */ -const unmask = (buffer, mask) => { - // Required until https://github.com/nodejs/node/issues/9006 is resolved. - const length = buffer.length; - for (var i = 0; i < length; i++) { - buffer[i] ^= mask[i & 3]; - } -}; - -module.exports = { mask, unmask }; diff --git a/node_modules/bufferutil/index.js b/node_modules/bufferutil/index.js deleted file mode 100644 index 00c607c..0000000 --- a/node_modules/bufferutil/index.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -try { - module.exports = require('bindings')('bufferutil'); -} catch (e) { - module.exports = require('./fallback'); -} diff --git a/node_modules/bufferutil/package.json b/node_modules/bufferutil/package.json deleted file mode 100644 index 5e19c19..0000000 --- a/node_modules/bufferutil/package.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "bufferutil@^3.0.0", - "scope": null, - "escapedName": "bufferutil", - "name": "bufferutil", - "rawSpec": "^3.0.0", - "spec": ">=3.0.0 <4.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket" - ] - ], - "_from": "bufferutil@>=3.0.0 <4.0.0", - "_id": "bufferutil@3.0.0", - "_inCache": true, - "_installable": true, - "_location": "/bufferutil", - "_nodeVersion": "7.7.1", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/bufferutil-3.0.0.tgz_1488540179073_0.6978500687982887" - }, - "_npmUser": { - "name": "lpinca", - "email": "luigipinca@gmail.com" - }, - "_npmVersion": "4.1.2", - "_phantomChildren": {}, - "_requested": { - "raw": "bufferutil@^3.0.0", - "scope": null, - "escapedName": "bufferutil", - "name": "bufferutil", - "rawSpec": "^3.0.0", - "spec": ">=3.0.0 <4.0.0", - "type": "range" - }, - "_requiredBy": [ - "/" - ], - "_resolved": "http://registry.npmjs.org/bufferutil/-/bufferutil-3.0.0.tgz", - "_shasum": "afbb831c47229accf0b1f207d4a9942841b0ab0f", - "_shrinkwrap": null, - "_spec": "bufferutil@^3.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket", - "author": { - "name": "Einar Otto Stangvik", - "email": "einaros@gmail.com", - "url": "http://2x.io" - }, - "bugs": { - "url": "https://github.com/websockets/bufferutil/issues" - }, - "dependencies": { - "bindings": "~1.2.1", - "nan": "~2.5.0", - "prebuild-install": "~2.1.0" - }, - "description": "WebSocket buffer utils", - "devDependencies": { - "mocha": "~3.2.0", - "prebuild": "~6.1.0", - "prebuild-ci": "~2.2.0" - }, - "directories": {}, - "dist": { - "shasum": "afbb831c47229accf0b1f207d4a9942841b0ab0f", - "tarball": "https://registry.npmjs.org/bufferutil/-/bufferutil-3.0.0.tgz" - }, - "gitHead": "dcd0e68f1cab3cd3c6bde278b100acc4235c99ec", - "homepage": "https://github.com/websockets/bufferutil", - "keywords": [ - "bufferutil" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "3rdeden", - "email": "npm@3rd-Eden.com" - }, - { - "name": "einaros", - "email": "einaros@gmail.com" - }, - { - "name": "lpinca", - "email": "luigipinca@gmail.com" - } - ], - "name": "bufferutil", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/websockets/bufferutil.git" - }, - "scripts": { - "install": "prebuild-install || node-gyp rebuild", - "test": "mocha && prebuild-ci" - }, - "version": "3.0.0" -} diff --git a/node_modules/bufferutil/src/bufferutil.cc b/node_modules/bufferutil/src/bufferutil.cc deleted file mode 100644 index b0bd685..0000000 --- a/node_modules/bufferutil/src/bufferutil.cc +++ /dev/null @@ -1,113 +0,0 @@ -/*! - * bufferutil: WebSocket buffer utils - * Copyright(c) 2015 Einar Otto Stangvik - * MIT Licensed - */ - -#include - -NAN_METHOD(mask) { - char* from = node::Buffer::Data(info[0]); - char* mask = node::Buffer::Data(info[1]); - char* to = node::Buffer::Data(info[2]) + info[3]->Int32Value(); - size_t length = info[4]->Int32Value(); - size_t index = 0; - - // - // Alignment preamble. - // - while (index < length && (reinterpret_cast(from) & 0x07)) { - *to++ = *from++ ^ mask[index % 4]; - index++; - } - length -= index; - if (!length) return; - - // - // Realign mask and convert to 64 bit. - // - char maskAlignedArray[8]; - - for (size_t i = 0; i < 8; i++, index++) { - maskAlignedArray[i] = mask[index % 4]; - } - - // - // Apply 64 bit mask in 8 byte chunks. - // - size_t loop = length / 8; - uint64_t* pMask8 = reinterpret_cast(maskAlignedArray); - - while (loop--) { - uint64_t* pFrom8 = reinterpret_cast(from); - uint64_t* pTo8 = reinterpret_cast(to); - *pTo8 = *pFrom8 ^ *pMask8; - from += 8; - to += 8; - } - - // - // Apply mask to remaining data. - // - char* pmaskAlignedArray = maskAlignedArray; - - length &= 0x7; - while (length--) { - *to++ = *from++ ^ *pmaskAlignedArray++; - } -} - -NAN_METHOD(unmask) { - char* from = node::Buffer::Data(info[0]); - size_t length = node::Buffer::Length(info[0]); - char* mask = node::Buffer::Data(info[1]); - size_t index = 0; - - // - // Alignment preamble. - // - while (index < length && (reinterpret_cast(from) & 0x07)) { - *from++ ^= mask[index % 4]; - index++; - } - length -= index; - if (!length) return; - - // - // Realign mask and convert to 64 bit. - // - char maskAlignedArray[8]; - - for (size_t i = 0; i < 8; i++, index++) { - maskAlignedArray[i] = mask[index % 4]; - } - - // - // Apply 64 bit mask in 8 byte chunks. - // - size_t loop = length / 8; - uint64_t* pMask8 = reinterpret_cast(maskAlignedArray); - - while (loop--) { - uint64_t* pSource8 = reinterpret_cast(from); - *pSource8 ^= *pMask8; - from += 8; - } - - // - // Apply mask to remaining data. - // - char* pmaskAlignedArray = maskAlignedArray; - - length &= 0x7; - while (length--) { - *from++ ^= *pmaskAlignedArray++; - } -} - -NAN_MODULE_INIT(init) { - NAN_EXPORT(target, mask); - NAN_EXPORT(target, unmask); -} - -NODE_MODULE(bufferutil, init) diff --git a/node_modules/chownr/LICENSE b/node_modules/chownr/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/node_modules/chownr/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -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. diff --git a/node_modules/chownr/README.md b/node_modules/chownr/README.md deleted file mode 100644 index 70e9a54..0000000 --- a/node_modules/chownr/README.md +++ /dev/null @@ -1,3 +0,0 @@ -Like `chown -R`. - -Takes the same arguments as `fs.chown()` diff --git a/node_modules/chownr/chownr.js b/node_modules/chownr/chownr.js deleted file mode 100644 index ecd7b45..0000000 --- a/node_modules/chownr/chownr.js +++ /dev/null @@ -1,52 +0,0 @@ -module.exports = chownr -chownr.sync = chownrSync - -var fs = require("fs") -, path = require("path") - -function chownr (p, uid, gid, cb) { - fs.readdir(p, function (er, children) { - // any error other than ENOTDIR means it's not readable, or - // doesn't exist. give up. - if (er && er.code !== "ENOTDIR") return cb(er) - if (er || !children.length) return fs.chown(p, uid, gid, cb) - - var len = children.length - , errState = null - children.forEach(function (child) { - var pathChild = path.resolve(p, child); - fs.lstat(pathChild, function(er, stats) { - if (er) - return cb(er) - if (!stats.isSymbolicLink()) - chownr(pathChild, uid, gid, then) - else - then() - }) - }) - function then (er) { - if (errState) return - if (er) return cb(errState = er) - if (-- len === 0) return fs.chown(p, uid, gid, cb) - } - }) -} - -function chownrSync (p, uid, gid) { - var children - try { - children = fs.readdirSync(p) - } catch (er) { - if (er && er.code === "ENOTDIR") return fs.chownSync(p, uid, gid) - throw er - } - if (!children.length) return fs.chownSync(p, uid, gid) - - children.forEach(function (child) { - var pathChild = path.resolve(p, child) - var stats = fs.lstatSync(pathChild) - if (!stats.isSymbolicLink()) - chownrSync(pathChild, uid, gid) - }) - return fs.chownSync(p, uid, gid) -} diff --git a/node_modules/chownr/package.json b/node_modules/chownr/package.json deleted file mode 100644 index f9f35db..0000000 --- a/node_modules/chownr/package.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "chownr@^1.0.1", - "scope": null, - "escapedName": "chownr", - "name": "chownr", - "rawSpec": "^1.0.1", - "spec": ">=1.0.1 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/tar-fs" - ] - ], - "_from": "chownr@>=1.0.1 <2.0.0", - "_id": "chownr@1.0.1", - "_inCache": true, - "_installable": true, - "_location": "/chownr", - "_nodeVersion": "2.2.1", - "_npmUser": { - "name": "isaacs", - "email": "isaacs@npmjs.com" - }, - "_npmVersion": "3.2.2", - "_phantomChildren": {}, - "_requested": { - "raw": "chownr@^1.0.1", - "scope": null, - "escapedName": "chownr", - "name": "chownr", - "rawSpec": "^1.0.1", - "spec": ">=1.0.1 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/tar-fs" - ], - "_resolved": "http://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "_shasum": "e2a75042a9551908bebd25b8523d5f9769d79181", - "_shrinkwrap": null, - "_spec": "chownr@^1.0.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/tar-fs", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/chownr/issues" - }, - "dependencies": {}, - "description": "like `chown -R`", - "devDependencies": { - "mkdirp": "0.3", - "rimraf": "", - "tap": "^1.2.0" - }, - "directories": {}, - "dist": { - "shasum": "e2a75042a9551908bebd25b8523d5f9769d79181", - "tarball": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz" - }, - "files": [ - "chownr.js" - ], - "gitHead": "c6c43844e80d7c7045e737a72b9fbb1ba0579a26", - "homepage": "https://github.com/isaacs/chownr#readme", - "license": "ISC", - "main": "chownr.js", - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "name": "chownr", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/chownr.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "1.0.1" -} diff --git a/node_modules/code-point-at/index.js b/node_modules/code-point-at/index.js deleted file mode 100644 index 0432fe6..0000000 --- a/node_modules/code-point-at/index.js +++ /dev/null @@ -1,32 +0,0 @@ -/* eslint-disable babel/new-cap, xo/throw-new-error */ -'use strict'; -module.exports = function (str, pos) { - if (str === null || str === undefined) { - throw TypeError(); - } - - str = String(str); - - var size = str.length; - var i = pos ? Number(pos) : 0; - - if (Number.isNaN(i)) { - i = 0; - } - - if (i < 0 || i >= size) { - return undefined; - } - - var first = str.charCodeAt(i); - - if (first >= 0xD800 && first <= 0xDBFF && size > i + 1) { - var second = str.charCodeAt(i + 1); - - if (second >= 0xDC00 && second <= 0xDFFF) { - return ((first - 0xD800) * 0x400) + second - 0xDC00 + 0x10000; - } - } - - return first; -}; diff --git a/node_modules/code-point-at/license b/node_modules/code-point-at/license deleted file mode 100644 index 654d0bf..0000000 --- a/node_modules/code-point-at/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -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. diff --git a/node_modules/code-point-at/package.json b/node_modules/code-point-at/package.json deleted file mode 100644 index 8a28b22..0000000 --- a/node_modules/code-point-at/package.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "code-point-at@^1.0.0", - "scope": null, - "escapedName": "code-point-at", - "name": "code-point-at", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/string-width" - ] - ], - "_from": "code-point-at@>=1.0.0 <2.0.0", - "_id": "code-point-at@1.1.0", - "_inCache": true, - "_installable": true, - "_location": "/code-point-at", - "_nodeVersion": "4.6.1", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/code-point-at-1.1.0.tgz_1478169780337_0.8445875702891499" - }, - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "2.15.9", - "_phantomChildren": {}, - "_requested": { - "raw": "code-point-at@^1.0.0", - "scope": null, - "escapedName": "code-point-at", - "name": "code-point-at", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/string-width" - ], - "_resolved": "http://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "_shasum": "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77", - "_shrinkwrap": null, - "_spec": "code-point-at@^1.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/string-width", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/code-point-at/issues" - }, - "dependencies": {}, - "description": "ES2015 `String#codePointAt()` ponyfill", - "devDependencies": { - "ava": "*", - "xo": "^0.16.0" - }, - "directories": {}, - "dist": { - "shasum": "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77", - "tarball": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "f8f21c8df2d40248fef1b36ca9076e59c0c34791", - "homepage": "https://github.com/sindresorhus/code-point-at#readme", - "keywords": [ - "es2015", - "ponyfill", - "polyfill", - "shim", - "string", - "str", - "code", - "point", - "at", - "codepoint", - "unicode" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "code-point-at", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/code-point-at.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "1.1.0" -} diff --git a/node_modules/code-point-at/readme.md b/node_modules/code-point-at/readme.md deleted file mode 100644 index 4c97730..0000000 --- a/node_modules/code-point-at/readme.md +++ /dev/null @@ -1,32 +0,0 @@ -# code-point-at [![Build Status](https://travis-ci.org/sindresorhus/code-point-at.svg?branch=master)](https://travis-ci.org/sindresorhus/code-point-at) - -> ES2015 [`String#codePointAt()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt) [ponyfill](https://ponyfill.com) - - -## Install - -``` -$ npm install --save code-point-at -``` - - -## Usage - -```js -var codePointAt = require('code-point-at'); - -codePointAt('🐴'); -//=> 128052 - -codePointAt('abc', 2); -//=> 99 -``` - -## API - -### codePointAt(input, [position]) - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/commander/History.md b/node_modules/commander/History.md deleted file mode 100644 index 1b47439..0000000 --- a/node_modules/commander/History.md +++ /dev/null @@ -1,261 +0,0 @@ - -2.9.0 / 2015-10-13 -================== - - * Add option `isDefault` to set default subcommand #415 @Qix- - * Add callback to allow filtering or post-processing of help text #434 @djulien - * Fix `undefined` text in help information close #414 #416 @zhiyelee - -2.8.1 / 2015-04-22 -================== - - * Back out `support multiline description` Close #396 #397 - -2.8.0 / 2015-04-07 -================== - - * Add `process.execArg` support, execution args like `--harmony` will be passed to sub-commands #387 @DigitalIO @zhiyelee - * Fix bug in Git-style sub-commands #372 @zhiyelee - * Allow commands to be hidden from help #383 @tonylukasavage - * When git-style sub-commands are in use, yet none are called, display help #382 @claylo - * Add ability to specify arguments syntax for top-level command #258 @rrthomas - * Support multiline descriptions #208 @zxqfox - -2.7.1 / 2015-03-11 -================== - - * Revert #347 (fix collisions when option and first arg have same name) which causes a bug in #367. - -2.7.0 / 2015-03-09 -================== - - * Fix git-style bug when installed globally. Close #335 #349 @zhiyelee - * Fix collisions when option and first arg have same name. Close #346 #347 @tonylukasavage - * Add support for camelCase on `opts()`. Close #353 @nkzawa - * Add node.js 0.12 and io.js to travis.yml - * Allow RegEx options. #337 @palanik - * Fixes exit code when sub-command failing. Close #260 #332 @pirelenito - * git-style `bin` files in $PATH make sense. Close #196 #327 @zhiyelee - -2.6.0 / 2014-12-30 -================== - - * added `Command#allowUnknownOption` method. Close #138 #318 @doozr @zhiyelee - * Add application description to the help msg. Close #112 @dalssoft - -2.5.1 / 2014-12-15 -================== - - * fixed two bugs incurred by variadic arguments. Close #291 @Quentin01 #302 @zhiyelee - -2.5.0 / 2014-10-24 -================== - - * add support for variadic arguments. Closes #277 @whitlockjc - -2.4.0 / 2014-10-17 -================== - - * fixed a bug on executing the coercion function of subcommands option. Closes #270 - * added `Command.prototype.name` to retrieve command name. Closes #264 #266 @tonylukasavage - * added `Command.prototype.opts` to retrieve all the options as a simple object of key-value pairs. Closes #262 @tonylukasavage - * fixed a bug on subcommand name. Closes #248 @jonathandelgado - * fixed function normalize doesn’t honor option terminator. Closes #216 @abbr - -2.3.0 / 2014-07-16 -================== - - * add command alias'. Closes PR #210 - * fix: Typos. Closes #99 - * fix: Unused fs module. Closes #217 - -2.2.0 / 2014-03-29 -================== - - * add passing of previous option value - * fix: support subcommands on windows. Closes #142 - * Now the defaultValue passed as the second argument of the coercion function. - -2.1.0 / 2013-11-21 -================== - - * add: allow cflag style option params, unit test, fixes #174 - -2.0.0 / 2013-07-18 -================== - - * remove input methods (.prompt, .confirm, etc) - -1.3.2 / 2013-07-18 -================== - - * add support for sub-commands to co-exist with the original command - -1.3.1 / 2013-07-18 -================== - - * add quick .runningCommand hack so you can opt-out of other logic when running a sub command - -1.3.0 / 2013-07-09 -================== - - * add EACCES error handling - * fix sub-command --help - -1.2.0 / 2013-06-13 -================== - - * allow "-" hyphen as an option argument - * support for RegExp coercion - -1.1.1 / 2012-11-20 -================== - - * add more sub-command padding - * fix .usage() when args are present. Closes #106 - -1.1.0 / 2012-11-16 -================== - - * add git-style executable subcommand support. Closes #94 - -1.0.5 / 2012-10-09 -================== - - * fix `--name` clobbering. Closes #92 - * fix examples/help. Closes #89 - -1.0.4 / 2012-09-03 -================== - - * add `outputHelp()` method. - -1.0.3 / 2012-08-30 -================== - - * remove invalid .version() defaulting - -1.0.2 / 2012-08-24 -================== - - * add `--foo=bar` support [arv] - * fix password on node 0.8.8. Make backward compatible with 0.6 [focusaurus] - -1.0.1 / 2012-08-03 -================== - - * fix issue #56 - * fix tty.setRawMode(mode) was moved to tty.ReadStream#setRawMode() (i.e. process.stdin.setRawMode()) - -1.0.0 / 2012-07-05 -================== - - * add support for optional option descriptions - * add defaulting of `.version()` to package.json's version - -0.6.1 / 2012-06-01 -================== - - * Added: append (yes or no) on confirmation - * Added: allow node.js v0.7.x - -0.6.0 / 2012-04-10 -================== - - * Added `.prompt(obj, callback)` support. Closes #49 - * Added default support to .choose(). Closes #41 - * Fixed the choice example - -0.5.1 / 2011-12-20 -================== - - * Fixed `password()` for recent nodes. Closes #36 - -0.5.0 / 2011-12-04 -================== - - * Added sub-command option support [itay] - -0.4.3 / 2011-12-04 -================== - - * Fixed custom help ordering. Closes #32 - -0.4.2 / 2011-11-24 -================== - - * Added travis support - * Fixed: line-buffered input automatically trimmed. Closes #31 - -0.4.1 / 2011-11-18 -================== - - * Removed listening for "close" on --help - -0.4.0 / 2011-11-15 -================== - - * Added support for `--`. Closes #24 - -0.3.3 / 2011-11-14 -================== - - * Fixed: wait for close event when writing help info [Jerry Hamlet] - -0.3.2 / 2011-11-01 -================== - - * Fixed long flag definitions with values [felixge] - -0.3.1 / 2011-10-31 -================== - - * Changed `--version` short flag to `-V` from `-v` - * Changed `.version()` so it's configurable [felixge] - -0.3.0 / 2011-10-31 -================== - - * Added support for long flags only. Closes #18 - -0.2.1 / 2011-10-24 -================== - - * "node": ">= 0.4.x < 0.7.0". Closes #20 - -0.2.0 / 2011-09-26 -================== - - * Allow for defaults that are not just boolean. Default peassignment only occurs for --no-*, optional, and required arguments. [Jim Isaacs] - -0.1.0 / 2011-08-24 -================== - - * Added support for custom `--help` output - -0.0.5 / 2011-08-18 -================== - - * Changed: when the user enters nothing prompt for password again - * Fixed issue with passwords beginning with numbers [NuckChorris] - -0.0.4 / 2011-08-15 -================== - - * Fixed `Commander#args` - -0.0.3 / 2011-08-15 -================== - - * Added default option value support - -0.0.2 / 2011-08-15 -================== - - * Added mask support to `Command#password(str[, mask], fn)` - * Added `Command#password(str, fn)` - -0.0.1 / 2010-01-03 -================== - - * Initial release diff --git a/node_modules/commander/LICENSE b/node_modules/commander/LICENSE deleted file mode 100644 index 10f997a..0000000 --- a/node_modules/commander/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2011 TJ Holowaychuk - -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. diff --git a/node_modules/commander/Readme.md b/node_modules/commander/Readme.md deleted file mode 100644 index 08b9e4c..0000000 --- a/node_modules/commander/Readme.md +++ /dev/null @@ -1,351 +0,0 @@ -# Commander.js - - -[![Build Status](https://api.travis-ci.org/tj/commander.js.svg)](http://travis-ci.org/tj/commander.js) -[![NPM Version](http://img.shields.io/npm/v/commander.svg?style=flat)](https://www.npmjs.org/package/commander) -[![NPM Downloads](https://img.shields.io/npm/dm/commander.svg?style=flat)](https://www.npmjs.org/package/commander) -[![Join the chat at https://gitter.im/tj/commander.js](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/tj/commander.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) - - The complete solution for [node.js](http://nodejs.org) command-line interfaces, inspired by Ruby's [commander](https://github.com/tj/commander). - [API documentation](http://tj.github.com/commander.js/) - - -## Installation - - $ npm install commander - -## Option parsing - - Options with commander are defined with the `.option()` method, also serving as documentation for the options. The example below parses args and options from `process.argv`, leaving remaining args as the `program.args` array which were not consumed by options. - -```js -#!/usr/bin/env node - -/** - * Module dependencies. - */ - -var program = require('commander'); - -program - .version('0.0.1') - .option('-p, --peppers', 'Add peppers') - .option('-P, --pineapple', 'Add pineapple') - .option('-b, --bbq-sauce', 'Add bbq sauce') - .option('-c, --cheese [type]', 'Add the specified type of cheese [marble]', 'marble') - .parse(process.argv); - -console.log('you ordered a pizza with:'); -if (program.peppers) console.log(' - peppers'); -if (program.pineapple) console.log(' - pineapple'); -if (program.bbqSauce) console.log(' - bbq'); -console.log(' - %s cheese', program.cheese); -``` - - Short flags may be passed as a single arg, for example `-abc` is equivalent to `-a -b -c`. Multi-word options such as "--template-engine" are camel-cased, becoming `program.templateEngine` etc. - - -## Coercion - -```js -function range(val) { - return val.split('..').map(Number); -} - -function list(val) { - return val.split(','); -} - -function collect(val, memo) { - memo.push(val); - return memo; -} - -function increaseVerbosity(v, total) { - return total + 1; -} - -program - .version('0.0.1') - .usage('[options] ') - .option('-i, --integer ', 'An integer argument', parseInt) - .option('-f, --float ', 'A float argument', parseFloat) - .option('-r, --range ..', 'A range', range) - .option('-l, --list ', 'A list', list) - .option('-o, --optional [value]', 'An optional value') - .option('-c, --collect [value]', 'A repeatable value', collect, []) - .option('-v, --verbose', 'A value that can be increased', increaseVerbosity, 0) - .parse(process.argv); - -console.log(' int: %j', program.integer); -console.log(' float: %j', program.float); -console.log(' optional: %j', program.optional); -program.range = program.range || []; -console.log(' range: %j..%j', program.range[0], program.range[1]); -console.log(' list: %j', program.list); -console.log(' collect: %j', program.collect); -console.log(' verbosity: %j', program.verbose); -console.log(' args: %j', program.args); -``` - -## Regular Expression -```js -program - .version('0.0.1') - .option('-s --size ', 'Pizza size', /^(large|medium|small)$/i, 'medium') - .option('-d --drink [drink]', 'Drink', /^(coke|pepsi|izze)$/i) - .parse(process.argv); - -console.log(' size: %j', program.size); -console.log(' drink: %j', program.drink); -``` - -## Variadic arguments - - The last argument of a command can be variadic, and only the last argument. To make an argument variadic you have to - append `...` to the argument name. Here is an example: - -```js -#!/usr/bin/env node - -/** - * Module dependencies. - */ - -var program = require('commander'); - -program - .version('0.0.1') - .command('rmdir [otherDirs...]') - .action(function (dir, otherDirs) { - console.log('rmdir %s', dir); - if (otherDirs) { - otherDirs.forEach(function (oDir) { - console.log('rmdir %s', oDir); - }); - } - }); - -program.parse(process.argv); -``` - - An `Array` is used for the value of a variadic argument. This applies to `program.args` as well as the argument passed - to your action as demonstrated above. - -## Specify the argument syntax - -```js -#!/usr/bin/env node - -var program = require('../'); - -program - .version('0.0.1') - .arguments(' [env]') - .action(function (cmd, env) { - cmdValue = cmd; - envValue = env; - }); - -program.parse(process.argv); - -if (typeof cmdValue === 'undefined') { - console.error('no command given!'); - process.exit(1); -} -console.log('command:', cmdValue); -console.log('environment:', envValue || "no environment given"); -``` - -## Git-style sub-commands - -```js -// file: ./examples/pm -var program = require('..'); - -program - .version('0.0.1') - .command('install [name]', 'install one or more packages') - .command('search [query]', 'search with optional query') - .command('list', 'list packages installed', {isDefault: true}) - .parse(process.argv); -``` - -When `.command()` is invoked with a description argument, no `.action(callback)` should be called to handle sub-commands, otherwise there will be an error. This tells commander that you're going to use separate executables for sub-commands, much like `git(1)` and other popular tools. -The commander will try to search the executables in the directory of the entry script (like `./examples/pm`) with the name `program-command`, like `pm-install`, `pm-search`. - -Options can be passed with the call to `.command()`. Specifying `true` for `opts.noHelp` will remove the option from the generated help output. Specifying `true` for `opts.isDefault` will run the subcommand if no other subcommand is specified. - -If the program is designed to be installed globally, make sure the executables have proper modes, like `755`. - -### `--harmony` - -You can enable `--harmony` option in two ways: -* Use `#! /usr/bin/env node --harmony` in the sub-commands scripts. Note some os version don’t support this pattern. -* Use the `--harmony` option when call the command, like `node --harmony examples/pm publish`. The `--harmony` option will be preserved when spawning sub-command process. - -## Automated --help - - The help information is auto-generated based on the information commander already knows about your program, so the following `--help` info is for free: - -``` - $ ./examples/pizza --help - - Usage: pizza [options] - - An application for pizzas ordering - - Options: - - -h, --help output usage information - -V, --version output the version number - -p, --peppers Add peppers - -P, --pineapple Add pineapple - -b, --bbq Add bbq sauce - -c, --cheese Add the specified type of cheese [marble] - -C, --no-cheese You do not want any cheese - -``` - -## Custom help - - You can display arbitrary `-h, --help` information - by listening for "--help". Commander will automatically - exit once you are done so that the remainder of your program - does not execute causing undesired behaviours, for example - in the following executable "stuff" will not output when - `--help` is used. - -```js -#!/usr/bin/env node - -/** - * Module dependencies. - */ - -var program = require('commander'); - -program - .version('0.0.1') - .option('-f, --foo', 'enable some foo') - .option('-b, --bar', 'enable some bar') - .option('-B, --baz', 'enable some baz'); - -// must be before .parse() since -// node's emit() is immediate - -program.on('--help', function(){ - console.log(' Examples:'); - console.log(''); - console.log(' $ custom-help --help'); - console.log(' $ custom-help -h'); - console.log(''); -}); - -program.parse(process.argv); - -console.log('stuff'); -``` - -Yields the following help output when `node script-name.js -h` or `node script-name.js --help` are run: - -``` - -Usage: custom-help [options] - -Options: - - -h, --help output usage information - -V, --version output the version number - -f, --foo enable some foo - -b, --bar enable some bar - -B, --baz enable some baz - -Examples: - - $ custom-help --help - $ custom-help -h - -``` - -## .outputHelp(cb) - -Output help information without exiting. -Optional callback cb allows post-processing of help text before it is displayed. - -If you want to display help by default (e.g. if no command was provided), you can use something like: - -```js -var program = require('commander'); -var colors = require('colors'); - -program - .version('0.0.1') - .command('getstream [url]', 'get stream URL') - .parse(process.argv); - - if (!process.argv.slice(2).length) { - program.outputHelp(make_red); - } - -function make_red(txt) { - return colors.red(txt); //display the help text in red on the console -} -``` - -## .help(cb) - - Output help information and exit immediately. - Optional callback cb allows post-processing of help text before it is displayed. - -## Examples - -```js -var program = require('commander'); - -program - .version('0.0.1') - .option('-C, --chdir ', 'change the working directory') - .option('-c, --config ', 'set config path. defaults to ./deploy.conf') - .option('-T, --no-tests', 'ignore test hook') - -program - .command('setup [env]') - .description('run setup commands for all envs') - .option("-s, --setup_mode [mode]", "Which setup mode to use") - .action(function(env, options){ - var mode = options.setup_mode || "normal"; - env = env || 'all'; - console.log('setup for %s env(s) with %s mode', env, mode); - }); - -program - .command('exec ') - .alias('ex') - .description('execute the given remote cmd') - .option("-e, --exec_mode ", "Which exec mode to use") - .action(function(cmd, options){ - console.log('exec "%s" using %s mode', cmd, options.exec_mode); - }).on('--help', function() { - console.log(' Examples:'); - console.log(); - console.log(' $ deploy exec sequential'); - console.log(' $ deploy exec async'); - console.log(); - }); - -program - .command('*') - .action(function(env){ - console.log('deploying "%s"', env); - }); - -program.parse(process.argv); -``` - -More Demos can be found in the [examples](https://github.com/tj/commander.js/tree/master/examples) directory. - -## License - -MIT - diff --git a/node_modules/commander/index.js b/node_modules/commander/index.js deleted file mode 100644 index a19c05d..0000000 --- a/node_modules/commander/index.js +++ /dev/null @@ -1,1110 +0,0 @@ -/** - * Module dependencies. - */ - -var EventEmitter = require('events').EventEmitter; -var spawn = require('child_process').spawn; -var readlink = require('graceful-readlink').readlinkSync; -var path = require('path'); -var dirname = path.dirname; -var basename = path.basename; -var fs = require('fs'); - -/** - * Expose the root command. - */ - -exports = module.exports = new Command(); - -/** - * Expose `Command`. - */ - -exports.Command = Command; - -/** - * Expose `Option`. - */ - -exports.Option = Option; - -/** - * Initialize a new `Option` with the given `flags` and `description`. - * - * @param {String} flags - * @param {String} description - * @api public - */ - -function Option(flags, description) { - this.flags = flags; - this.required = ~flags.indexOf('<'); - this.optional = ~flags.indexOf('['); - this.bool = !~flags.indexOf('-no-'); - flags = flags.split(/[ ,|]+/); - if (flags.length > 1 && !/^[[<]/.test(flags[1])) this.short = flags.shift(); - this.long = flags.shift(); - this.description = description || ''; -} - -/** - * Return option name. - * - * @return {String} - * @api private - */ - -Option.prototype.name = function() { - return this.long - .replace('--', '') - .replace('no-', ''); -}; - -/** - * Check if `arg` matches the short or long flag. - * - * @param {String} arg - * @return {Boolean} - * @api private - */ - -Option.prototype.is = function(arg) { - return arg == this.short || arg == this.long; -}; - -/** - * Initialize a new `Command`. - * - * @param {String} name - * @api public - */ - -function Command(name) { - this.commands = []; - this.options = []; - this._execs = {}; - this._allowUnknownOption = false; - this._args = []; - this._name = name || ''; -} - -/** - * Inherit from `EventEmitter.prototype`. - */ - -Command.prototype.__proto__ = EventEmitter.prototype; - -/** - * Add command `name`. - * - * The `.action()` callback is invoked when the - * command `name` is specified via __ARGV__, - * and the remaining arguments are applied to the - * function for access. - * - * When the `name` is "*" an un-matched command - * will be passed as the first arg, followed by - * the rest of __ARGV__ remaining. - * - * Examples: - * - * program - * .version('0.0.1') - * .option('-C, --chdir ', 'change the working directory') - * .option('-c, --config ', 'set config path. defaults to ./deploy.conf') - * .option('-T, --no-tests', 'ignore test hook') - * - * program - * .command('setup') - * .description('run remote setup commands') - * .action(function() { - * console.log('setup'); - * }); - * - * program - * .command('exec ') - * .description('run the given remote command') - * .action(function(cmd) { - * console.log('exec "%s"', cmd); - * }); - * - * program - * .command('teardown [otherDirs...]') - * .description('run teardown commands') - * .action(function(dir, otherDirs) { - * console.log('dir "%s"', dir); - * if (otherDirs) { - * otherDirs.forEach(function (oDir) { - * console.log('dir "%s"', oDir); - * }); - * } - * }); - * - * program - * .command('*') - * .description('deploy the given env') - * .action(function(env) { - * console.log('deploying "%s"', env); - * }); - * - * program.parse(process.argv); - * - * @param {String} name - * @param {String} [desc] for git-style sub-commands - * @return {Command} the new command - * @api public - */ - -Command.prototype.command = function(name, desc, opts) { - opts = opts || {}; - var args = name.split(/ +/); - var cmd = new Command(args.shift()); - - if (desc) { - cmd.description(desc); - this.executables = true; - this._execs[cmd._name] = true; - if (opts.isDefault) this.defaultExecutable = cmd._name; - } - - cmd._noHelp = !!opts.noHelp; - this.commands.push(cmd); - cmd.parseExpectedArgs(args); - cmd.parent = this; - - if (desc) return this; - return cmd; -}; - -/** - * Define argument syntax for the top-level command. - * - * @api public - */ - -Command.prototype.arguments = function (desc) { - return this.parseExpectedArgs(desc.split(/ +/)); -}; - -/** - * Add an implicit `help [cmd]` subcommand - * which invokes `--help` for the given command. - * - * @api private - */ - -Command.prototype.addImplicitHelpCommand = function() { - this.command('help [cmd]', 'display help for [cmd]'); -}; - -/** - * Parse expected `args`. - * - * For example `["[type]"]` becomes `[{ required: false, name: 'type' }]`. - * - * @param {Array} args - * @return {Command} for chaining - * @api public - */ - -Command.prototype.parseExpectedArgs = function(args) { - if (!args.length) return; - var self = this; - args.forEach(function(arg) { - var argDetails = { - required: false, - name: '', - variadic: false - }; - - switch (arg[0]) { - case '<': - argDetails.required = true; - argDetails.name = arg.slice(1, -1); - break; - case '[': - argDetails.name = arg.slice(1, -1); - break; - } - - if (argDetails.name.length > 3 && argDetails.name.slice(-3) === '...') { - argDetails.variadic = true; - argDetails.name = argDetails.name.slice(0, -3); - } - if (argDetails.name) { - self._args.push(argDetails); - } - }); - return this; -}; - -/** - * Register callback `fn` for the command. - * - * Examples: - * - * program - * .command('help') - * .description('display verbose help') - * .action(function() { - * // output help here - * }); - * - * @param {Function} fn - * @return {Command} for chaining - * @api public - */ - -Command.prototype.action = function(fn) { - var self = this; - var listener = function(args, unknown) { - // Parse any so-far unknown options - args = args || []; - unknown = unknown || []; - - var parsed = self.parseOptions(unknown); - - // Output help if necessary - outputHelpIfNecessary(self, parsed.unknown); - - // If there are still any unknown options, then we simply - // die, unless someone asked for help, in which case we give it - // to them, and then we die. - if (parsed.unknown.length > 0) { - self.unknownOption(parsed.unknown[0]); - } - - // Leftover arguments need to be pushed back. Fixes issue #56 - if (parsed.args.length) args = parsed.args.concat(args); - - self._args.forEach(function(arg, i) { - if (arg.required && null == args[i]) { - self.missingArgument(arg.name); - } else if (arg.variadic) { - if (i !== self._args.length - 1) { - self.variadicArgNotLast(arg.name); - } - - args[i] = args.splice(i); - } - }); - - // Always append ourselves to the end of the arguments, - // to make sure we match the number of arguments the user - // expects - if (self._args.length) { - args[self._args.length] = self; - } else { - args.push(self); - } - - fn.apply(self, args); - }; - var parent = this.parent || this; - var name = parent === this ? '*' : this._name; - parent.on(name, listener); - if (this._alias) parent.on(this._alias, listener); - return this; -}; - -/** - * Define option with `flags`, `description` and optional - * coercion `fn`. - * - * The `flags` string should contain both the short and long flags, - * separated by comma, a pipe or space. The following are all valid - * all will output this way when `--help` is used. - * - * "-p, --pepper" - * "-p|--pepper" - * "-p --pepper" - * - * Examples: - * - * // simple boolean defaulting to false - * program.option('-p, --pepper', 'add pepper'); - * - * --pepper - * program.pepper - * // => Boolean - * - * // simple boolean defaulting to true - * program.option('-C, --no-cheese', 'remove cheese'); - * - * program.cheese - * // => true - * - * --no-cheese - * program.cheese - * // => false - * - * // required argument - * program.option('-C, --chdir ', 'change the working directory'); - * - * --chdir /tmp - * program.chdir - * // => "/tmp" - * - * // optional argument - * program.option('-c, --cheese [type]', 'add cheese [marble]'); - * - * @param {String} flags - * @param {String} description - * @param {Function|Mixed} fn or default - * @param {Mixed} defaultValue - * @return {Command} for chaining - * @api public - */ - -Command.prototype.option = function(flags, description, fn, defaultValue) { - var self = this - , option = new Option(flags, description) - , oname = option.name() - , name = camelcase(oname); - - // default as 3rd arg - if (typeof fn != 'function') { - if (fn instanceof RegExp) { - var regex = fn; - fn = function(val, def) { - var m = regex.exec(val); - return m ? m[0] : def; - } - } - else { - defaultValue = fn; - fn = null; - } - } - - // preassign default value only for --no-*, [optional], or - if (false == option.bool || option.optional || option.required) { - // when --no-* we make sure default is true - if (false == option.bool) defaultValue = true; - // preassign only if we have a default - if (undefined !== defaultValue) self[name] = defaultValue; - } - - // register the option - this.options.push(option); - - // when it's passed assign the value - // and conditionally invoke the callback - this.on(oname, function(val) { - // coercion - if (null !== val && fn) val = fn(val, undefined === self[name] - ? defaultValue - : self[name]); - - // unassigned or bool - if ('boolean' == typeof self[name] || 'undefined' == typeof self[name]) { - // if no value, bool true, and we have a default, then use it! - if (null == val) { - self[name] = option.bool - ? defaultValue || true - : false; - } else { - self[name] = val; - } - } else if (null !== val) { - // reassign - self[name] = val; - } - }); - - return this; -}; - -/** - * Allow unknown options on the command line. - * - * @param {Boolean} arg if `true` or omitted, no error will be thrown - * for unknown options. - * @api public - */ -Command.prototype.allowUnknownOption = function(arg) { - this._allowUnknownOption = arguments.length === 0 || arg; - return this; -}; - -/** - * Parse `argv`, settings options and invoking commands when defined. - * - * @param {Array} argv - * @return {Command} for chaining - * @api public - */ - -Command.prototype.parse = function(argv) { - // implicit help - if (this.executables) this.addImplicitHelpCommand(); - - // store raw args - this.rawArgs = argv; - - // guess name - this._name = this._name || basename(argv[1], '.js'); - - // github-style sub-commands with no sub-command - if (this.executables && argv.length < 3 && !this.defaultExecutable) { - // this user needs help - argv.push('--help'); - } - - // process argv - var parsed = this.parseOptions(this.normalize(argv.slice(2))); - var args = this.args = parsed.args; - - var result = this.parseArgs(this.args, parsed.unknown); - - // executable sub-commands - var name = result.args[0]; - if (this._execs[name] && typeof this._execs[name] != "function") { - return this.executeSubCommand(argv, args, parsed.unknown); - } else if (this.defaultExecutable) { - // use the default subcommand - args.unshift(name = this.defaultExecutable); - return this.executeSubCommand(argv, args, parsed.unknown); - } - - return result; -}; - -/** - * Execute a sub-command executable. - * - * @param {Array} argv - * @param {Array} args - * @param {Array} unknown - * @api private - */ - -Command.prototype.executeSubCommand = function(argv, args, unknown) { - args = args.concat(unknown); - - if (!args.length) this.help(); - if ('help' == args[0] && 1 == args.length) this.help(); - - // --help - if ('help' == args[0]) { - args[0] = args[1]; - args[1] = '--help'; - } - - // executable - var f = argv[1]; - // name of the subcommand, link `pm-install` - var bin = basename(f, '.js') + '-' + args[0]; - - - // In case of globally installed, get the base dir where executable - // subcommand file should be located at - var baseDir - , link = readlink(f); - - // when symbolink is relative path - if (link !== f && link.charAt(0) !== '/') { - link = path.join(dirname(f), link) - } - baseDir = dirname(link); - - // prefer local `./` to bin in the $PATH - var localBin = path.join(baseDir, bin); - - // whether bin file is a js script with explicit `.js` extension - var isExplicitJS = false; - if (exists(localBin + '.js')) { - bin = localBin + '.js'; - isExplicitJS = true; - } else if (exists(localBin)) { - bin = localBin; - } - - args = args.slice(1); - - var proc; - if (process.platform !== 'win32') { - if (isExplicitJS) { - args.unshift(localBin); - // add executable arguments to spawn - args = (process.execArgv || []).concat(args); - - proc = spawn('node', args, { stdio: 'inherit', customFds: [0, 1, 2] }); - } else { - proc = spawn(bin, args, { stdio: 'inherit', customFds: [0, 1, 2] }); - } - } else { - args.unshift(localBin); - proc = spawn(process.execPath, args, { stdio: 'inherit'}); - } - - proc.on('close', process.exit.bind(process)); - proc.on('error', function(err) { - if (err.code == "ENOENT") { - console.error('\n %s(1) does not exist, try --help\n', bin); - } else if (err.code == "EACCES") { - console.error('\n %s(1) not executable. try chmod or run with root\n', bin); - } - process.exit(1); - }); - - // Store the reference to the child process - this.runningCommand = proc; -}; - -/** - * Normalize `args`, splitting joined short flags. For example - * the arg "-abc" is equivalent to "-a -b -c". - * This also normalizes equal sign and splits "--abc=def" into "--abc def". - * - * @param {Array} args - * @return {Array} - * @api private - */ - -Command.prototype.normalize = function(args) { - var ret = [] - , arg - , lastOpt - , index; - - for (var i = 0, len = args.length; i < len; ++i) { - arg = args[i]; - if (i > 0) { - lastOpt = this.optionFor(args[i-1]); - } - - if (arg === '--') { - // Honor option terminator - ret = ret.concat(args.slice(i)); - break; - } else if (lastOpt && lastOpt.required) { - ret.push(arg); - } else if (arg.length > 1 && '-' == arg[0] && '-' != arg[1]) { - arg.slice(1).split('').forEach(function(c) { - ret.push('-' + c); - }); - } else if (/^--/.test(arg) && ~(index = arg.indexOf('='))) { - ret.push(arg.slice(0, index), arg.slice(index + 1)); - } else { - ret.push(arg); - } - } - - return ret; -}; - -/** - * Parse command `args`. - * - * When listener(s) are available those - * callbacks are invoked, otherwise the "*" - * event is emitted and those actions are invoked. - * - * @param {Array} args - * @return {Command} for chaining - * @api private - */ - -Command.prototype.parseArgs = function(args, unknown) { - var name; - - if (args.length) { - name = args[0]; - if (this.listeners(name).length) { - this.emit(args.shift(), args, unknown); - } else { - this.emit('*', args); - } - } else { - outputHelpIfNecessary(this, unknown); - - // If there were no args and we have unknown options, - // then they are extraneous and we need to error. - if (unknown.length > 0) { - this.unknownOption(unknown[0]); - } - } - - return this; -}; - -/** - * Return an option matching `arg` if any. - * - * @param {String} arg - * @return {Option} - * @api private - */ - -Command.prototype.optionFor = function(arg) { - for (var i = 0, len = this.options.length; i < len; ++i) { - if (this.options[i].is(arg)) { - return this.options[i]; - } - } -}; - -/** - * Parse options from `argv` returning `argv` - * void of these options. - * - * @param {Array} argv - * @return {Array} - * @api public - */ - -Command.prototype.parseOptions = function(argv) { - var args = [] - , len = argv.length - , literal - , option - , arg; - - var unknownOptions = []; - - // parse options - for (var i = 0; i < len; ++i) { - arg = argv[i]; - - // literal args after -- - if ('--' == arg) { - literal = true; - continue; - } - - if (literal) { - args.push(arg); - continue; - } - - // find matching Option - option = this.optionFor(arg); - - // option is defined - if (option) { - // requires arg - if (option.required) { - arg = argv[++i]; - if (null == arg) return this.optionMissingArgument(option); - this.emit(option.name(), arg); - // optional arg - } else if (option.optional) { - arg = argv[i+1]; - if (null == arg || ('-' == arg[0] && '-' != arg)) { - arg = null; - } else { - ++i; - } - this.emit(option.name(), arg); - // bool - } else { - this.emit(option.name()); - } - continue; - } - - // looks like an option - if (arg.length > 1 && '-' == arg[0]) { - unknownOptions.push(arg); - - // If the next argument looks like it might be - // an argument for this option, we pass it on. - // If it isn't, then it'll simply be ignored - if (argv[i+1] && '-' != argv[i+1][0]) { - unknownOptions.push(argv[++i]); - } - continue; - } - - // arg - args.push(arg); - } - - return { args: args, unknown: unknownOptions }; -}; - -/** - * Return an object containing options as key-value pairs - * - * @return {Object} - * @api public - */ -Command.prototype.opts = function() { - var result = {} - , len = this.options.length; - - for (var i = 0 ; i < len; i++) { - var key = camelcase(this.options[i].name()); - result[key] = key === 'version' ? this._version : this[key]; - } - return result; -}; - -/** - * Argument `name` is missing. - * - * @param {String} name - * @api private - */ - -Command.prototype.missingArgument = function(name) { - console.error(); - console.error(" error: missing required argument `%s'", name); - console.error(); - process.exit(1); -}; - -/** - * `Option` is missing an argument, but received `flag` or nothing. - * - * @param {String} option - * @param {String} flag - * @api private - */ - -Command.prototype.optionMissingArgument = function(option, flag) { - console.error(); - if (flag) { - console.error(" error: option `%s' argument missing, got `%s'", option.flags, flag); - } else { - console.error(" error: option `%s' argument missing", option.flags); - } - console.error(); - process.exit(1); -}; - -/** - * Unknown option `flag`. - * - * @param {String} flag - * @api private - */ - -Command.prototype.unknownOption = function(flag) { - if (this._allowUnknownOption) return; - console.error(); - console.error(" error: unknown option `%s'", flag); - console.error(); - process.exit(1); -}; - -/** - * Variadic argument with `name` is not the last argument as required. - * - * @param {String} name - * @api private - */ - -Command.prototype.variadicArgNotLast = function(name) { - console.error(); - console.error(" error: variadic arguments must be last `%s'", name); - console.error(); - process.exit(1); -}; - -/** - * Set the program version to `str`. - * - * This method auto-registers the "-V, --version" flag - * which will print the version number when passed. - * - * @param {String} str - * @param {String} flags - * @return {Command} for chaining - * @api public - */ - -Command.prototype.version = function(str, flags) { - if (0 == arguments.length) return this._version; - this._version = str; - flags = flags || '-V, --version'; - this.option(flags, 'output the version number'); - this.on('version', function() { - process.stdout.write(str + '\n'); - process.exit(0); - }); - return this; -}; - -/** - * Set the description to `str`. - * - * @param {String} str - * @return {String|Command} - * @api public - */ - -Command.prototype.description = function(str) { - if (0 === arguments.length) return this._description; - this._description = str; - return this; -}; - -/** - * Set an alias for the command - * - * @param {String} alias - * @return {String|Command} - * @api public - */ - -Command.prototype.alias = function(alias) { - if (0 == arguments.length) return this._alias; - this._alias = alias; - return this; -}; - -/** - * Set / get the command usage `str`. - * - * @param {String} str - * @return {String|Command} - * @api public - */ - -Command.prototype.usage = function(str) { - var args = this._args.map(function(arg) { - return humanReadableArgName(arg); - }); - - var usage = '[options]' - + (this.commands.length ? ' [command]' : '') - + (this._args.length ? ' ' + args.join(' ') : ''); - - if (0 == arguments.length) return this._usage || usage; - this._usage = str; - - return this; -}; - -/** - * Get the name of the command - * - * @param {String} name - * @return {String|Command} - * @api public - */ - -Command.prototype.name = function() { - return this._name; -}; - -/** - * Return the largest option length. - * - * @return {Number} - * @api private - */ - -Command.prototype.largestOptionLength = function() { - return this.options.reduce(function(max, option) { - return Math.max(max, option.flags.length); - }, 0); -}; - -/** - * Return help for options. - * - * @return {String} - * @api private - */ - -Command.prototype.optionHelp = function() { - var width = this.largestOptionLength(); - - // Prepend the help information - return [pad('-h, --help', width) + ' ' + 'output usage information'] - .concat(this.options.map(function(option) { - return pad(option.flags, width) + ' ' + option.description; - })) - .join('\n'); -}; - -/** - * Return command help documentation. - * - * @return {String} - * @api private - */ - -Command.prototype.commandHelp = function() { - if (!this.commands.length) return ''; - - var commands = this.commands.filter(function(cmd) { - return !cmd._noHelp; - }).map(function(cmd) { - var args = cmd._args.map(function(arg) { - return humanReadableArgName(arg); - }).join(' '); - - return [ - cmd._name - + (cmd._alias ? '|' + cmd._alias : '') - + (cmd.options.length ? ' [options]' : '') - + ' ' + args - , cmd.description() - ]; - }); - - var width = commands.reduce(function(max, command) { - return Math.max(max, command[0].length); - }, 0); - - return [ - '' - , ' Commands:' - , '' - , commands.map(function(cmd) { - var desc = cmd[1] ? ' ' + cmd[1] : ''; - return pad(cmd[0], width) + desc; - }).join('\n').replace(/^/gm, ' ') - , '' - ].join('\n'); -}; - -/** - * Return program help documentation. - * - * @return {String} - * @api private - */ - -Command.prototype.helpInformation = function() { - var desc = []; - if (this._description) { - desc = [ - ' ' + this._description - , '' - ]; - } - - var cmdName = this._name; - if (this._alias) { - cmdName = cmdName + '|' + this._alias; - } - var usage = [ - '' - ,' Usage: ' + cmdName + ' ' + this.usage() - , '' - ]; - - var cmds = []; - var commandHelp = this.commandHelp(); - if (commandHelp) cmds = [commandHelp]; - - var options = [ - ' Options:' - , '' - , '' + this.optionHelp().replace(/^/gm, ' ') - , '' - , '' - ]; - - return usage - .concat(cmds) - .concat(desc) - .concat(options) - .join('\n'); -}; - -/** - * Output help information for this command - * - * @api public - */ - -Command.prototype.outputHelp = function(cb) { - if (!cb) { - cb = function(passthru) { - return passthru; - } - } - process.stdout.write(cb(this.helpInformation())); - this.emit('--help'); -}; - -/** - * Output help information and exit. - * - * @api public - */ - -Command.prototype.help = function(cb) { - this.outputHelp(cb); - process.exit(); -}; - -/** - * Camel-case the given `flag` - * - * @param {String} flag - * @return {String} - * @api private - */ - -function camelcase(flag) { - return flag.split('-').reduce(function(str, word) { - return str + word[0].toUpperCase() + word.slice(1); - }); -} - -/** - * Pad `str` to `width`. - * - * @param {String} str - * @param {Number} width - * @return {String} - * @api private - */ - -function pad(str, width) { - var len = Math.max(0, width - str.length); - return str + Array(len + 1).join(' '); -} - -/** - * Output help information if necessary - * - * @param {Command} command to output help for - * @param {Array} array of options to search for -h or --help - * @api private - */ - -function outputHelpIfNecessary(cmd, options) { - options = options || []; - for (var i = 0; i < options.length; i++) { - if (options[i] == '--help' || options[i] == '-h') { - cmd.outputHelp(); - process.exit(0); - } - } -} - -/** - * Takes an argument an returns its human readable equivalent for help usage. - * - * @param {Object} arg - * @return {String} - * @api private - */ - -function humanReadableArgName(arg) { - var nameOutput = arg.name + (arg.variadic === true ? '...' : ''); - - return arg.required - ? '<' + nameOutput + '>' - : '[' + nameOutput + ']' -} - -// for versions before node v0.8 when there weren't `fs.existsSync` -function exists(file) { - try { - if (fs.statSync(file).isFile()) { - return true; - } - } catch (e) { - return false; - } -} - diff --git a/node_modules/commander/package.json b/node_modules/commander/package.json deleted file mode 100644 index fa9f8de..0000000 --- a/node_modules/commander/package.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "commander", - "scope": null, - "escapedName": "commander", - "name": "commander", - "rawSpec": "", - "spec": "latest", - "type": "tag" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket" - ] - ], - "_from": "commander@latest", - "_id": "commander@2.9.0", - "_inCache": true, - "_installable": true, - "_location": "/commander", - "_nodeVersion": "0.12.7", - "_npmUser": { - "name": "zhiyelee", - "email": "zhiyelee@gmail.com" - }, - "_npmVersion": "2.11.3", - "_phantomChildren": {}, - "_requested": { - "raw": "commander", - "scope": null, - "escapedName": "commander", - "name": "commander", - "rawSpec": "", - "spec": "latest", - "type": "tag" - }, - "_requiredBy": [ - "#USER", - "/" - ], - "_resolved": "http://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "_shasum": "9c99094176e12240cb22d6c5146098400fe0f7d4", - "_shrinkwrap": null, - "_spec": "commander", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket", - "author": { - "name": "TJ Holowaychuk", - "email": "tj@vision-media.ca" - }, - "bugs": { - "url": "https://github.com/tj/commander.js/issues" - }, - "dependencies": { - "graceful-readlink": ">= 1.0.0" - }, - "description": "the complete solution for node.js command-line programs", - "devDependencies": { - "should": ">= 0.0.1", - "sinon": ">=1.17.1" - }, - "directories": {}, - "dist": { - "shasum": "9c99094176e12240cb22d6c5146098400fe0f7d4", - "tarball": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz" - }, - "engines": { - "node": ">= 0.6.x" - }, - "files": [ - "index.js" - ], - "gitHead": "b2aad7a8471d434593a85306aa73777a526e9f75", - "homepage": "https://github.com/tj/commander.js#readme", - "keywords": [ - "command", - "option", - "parser" - ], - "license": "MIT", - "main": "index", - "maintainers": [ - { - "name": "tjholowaychuk", - "email": "tj@vision-media.ca" - }, - { - "name": "somekittens", - "email": "rkoutnik@gmail.com" - }, - { - "name": "zhiyelee", - "email": "zhiyelee@gmail.com" - } - ], - "name": "commander", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/tj/commander.js.git" - }, - "scripts": { - "test": "make test" - }, - "version": "2.9.0" -} diff --git a/node_modules/console-control-strings/LICENSE b/node_modules/console-control-strings/LICENSE deleted file mode 100644 index e756052..0000000 --- a/node_modules/console-control-strings/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright (c) 2014, Rebecca Turner - -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. diff --git a/node_modules/console-control-strings/README.md b/node_modules/console-control-strings/README.md deleted file mode 100644 index f58cc8d..0000000 --- a/node_modules/console-control-strings/README.md +++ /dev/null @@ -1,145 +0,0 @@ -# Console Control Strings - -A library of cross-platform tested terminal/console command strings for -doing things like color and cursor positioning. This is a subset of both -ansi and vt100. All control codes included work on both Windows & Unix-like -OSes, except where noted. - -## Usage - -```js -var consoleControl = require('console-control-strings') - -console.log(consoleControl.color('blue','bgRed', 'bold') + 'hi there' + consoleControl.color('reset')) -process.stdout.write(consoleControl.goto(75, 10)) -``` - -## Why Another? - -There are tons of libraries similar to this one. I wanted one that was: - -1. Very clear about compatibility goals. -2. Could emit, for instance, a start color code without an end one. -3. Returned strings w/o writing to streams. -4. Was not weighed down with other unrelated baggage. - -## Functions - -### var code = consoleControl.up(_num = 1_) - -Returns the escape sequence to move _num_ lines up. - -### var code = consoleControl.down(_num = 1_) - -Returns the escape sequence to move _num_ lines down. - -### var code = consoleControl.forward(_num = 1_) - -Returns the escape sequence to move _num_ lines righ. - -### var code = consoleControl.back(_num = 1_) - -Returns the escape sequence to move _num_ lines left. - -### var code = consoleControl.nextLine(_num = 1_) - -Returns the escape sequence to move _num_ lines down and to the beginning of -the line. - -### var code = consoleControl.previousLine(_num = 1_) - -Returns the escape sequence to move _num_ lines up and to the beginning of -the line. - -### var code = consoleControl.eraseData() - -Returns the escape sequence to erase everything from the current cursor -position to the bottom right of the screen. This is line based, so it -erases the remainder of the current line and all following lines. - -### var code = consoleControl.eraseLine() - -Returns the escape sequence to erase to the end of the current line. - -### var code = consoleControl.goto(_x_, _y_) - -Returns the escape sequence to move the cursor to the designated position. -Note that the origin is _1, 1_ not _0, 0_. - -### var code = consoleControl.gotoSOL() - -Returns the escape sequence to move the cursor to the beginning of the -current line. (That is, it returns a carriage return, `\r`.) - -### var code = consoleControl.beep() - -Returns the escape sequence to cause the termianl to beep. (That is, it -returns unicode character `\x0007`, a Control-G.) - -### var code = consoleControl.hideCursor() - -Returns the escape sequence to hide the cursor. - -### var code = consoleControl.showCursor() - -Returns the escape sequence to show the cursor. - -### var code = consoleControl.color(_colors = []_) - -### var code = consoleControl.color(_color1_, _color2_, _…_, _colorn_) - -Returns the escape sequence to set the current terminal display attributes -(mostly colors). Arguments can either be a list of attributes or an array -of attributes. The difference between passing in an array or list of colors -and calling `.color` separately for each one, is that in the former case a -single escape sequence will be produced where as in the latter each change -will have its own distinct escape sequence. Each attribute can be one of: - -* Reset: - * **reset** – Reset all attributes to the terminal default. -* Styles: - * **bold** – Display text as bold. In some terminals this means using a - bold font, in others this means changing the color. In some it means - both. - * **italic** – Display text as italic. This is not available in most Windows terminals. - * **underline** – Underline text. This is not available in most Windows Terminals. - * **inverse** – Invert the foreground and background colors. - * **stopBold** – Do not display text as bold. - * **stopItalic** – Do not display text as italic. - * **stopUnderline** – Do not underline text. - * **stopInverse** – Do not invert foreground and background. -* Colors: - * **white** - * **black** - * **blue** - * **cyan** - * **green** - * **magenta** - * **red** - * **yellow** - * **grey** / **brightBlack** - * **brightRed** - * **brightGreen** - * **brightYellow** - * **brightBlue** - * **brightMagenta** - * **brightCyan** - * **brightWhite** -* Background Colors: - * **bgWhite** - * **bgBlack** - * **bgBlue** - * **bgCyan** - * **bgGreen** - * **bgMagenta** - * **bgRed** - * **bgYellow** - * **bgGrey** / **bgBrightBlack** - * **bgBrightRed** - * **bgBrightGreen** - * **bgBrightYellow** - * **bgBrightBlue** - * **bgBrightMagenta** - * **bgBrightCyan** - * **bgBrightWhite** - diff --git a/node_modules/console-control-strings/README.md~ b/node_modules/console-control-strings/README.md~ deleted file mode 100644 index 6eb34e8..0000000 --- a/node_modules/console-control-strings/README.md~ +++ /dev/null @@ -1,140 +0,0 @@ -# Console Control Strings - -A library of cross-platform tested terminal/console command strings for -doing things like color and cursor positioning. This is a subset of both -ansi and vt100. All control codes included work on both Windows & Unix-like -OSes, except where noted. - -## Usage - -```js -var consoleControl = require('console-control-strings') - -console.log(consoleControl.color('blue','bgRed', 'bold') + 'hi there' + consoleControl.color('reset')) -process.stdout.write(consoleControl.goto(75, 10)) -``` - -## Why Another? - -There are tons of libraries similar to this one. I wanted one that was: - -1. Very clear about compatibility goals. -2. Could emit, for instance, a start color code without an end one. -3. Returned strings w/o writing to streams. -4. Was not weighed down with other unrelated baggage. - -## Functions - -### var code = consoleControl.up(_num = 1_) - -Returns the escape sequence to move _num_ lines up. - -### var code = consoleControl.down(_num = 1_) - -Returns the escape sequence to move _num_ lines down. - -### var code = consoleControl.forward(_num = 1_) - -Returns the escape sequence to move _num_ lines righ. - -### var code = consoleControl.back(_num = 1_) - -Returns the escape sequence to move _num_ lines left. - -### var code = consoleControl.nextLine(_num = 1_) - -Returns the escape sequence to move _num_ lines down and to the beginning of -the line. - -### var code = consoleControl.previousLine(_num = 1_) - -Returns the escape sequence to move _num_ lines up and to the beginning of -the line. - -### var code = consoleControl.eraseData() - -Returns the escape sequence to erase everything from the current cursor -position to the bottom right of the screen. This is line based, so it -erases the remainder of the current line and all following lines. - -### var code = consoleControl.eraseLine() - -Returns the escape sequence to erase to the end of the current line. - -### var code = consoleControl.goto(_x_, _y_) - -Returns the escape sequence to move the cursor to the designated position. -Note that the origin is _1, 1_ not _0, 0_. - -### var code = consoleControl.gotoSOL() - -Returns the escape sequence to move the cursor to the beginning of the -current line. (That is, it returns a carriage return, `\r`.) - -### var code = consoleControl.hideCursor() - -Returns the escape sequence to hide the cursor. - -### var code = consoleControl.showCursor() - -Returns the escape sequence to show the cursor. - -### var code = consoleControl.color(_colors = []_) - -### var code = consoleControl.color(_color1_, _color2_, _…_, _colorn_) - -Returns the escape sequence to set the current terminal display attributes -(mostly colors). Arguments can either be a list of attributes or an array -of attributes. The difference between passing in an array or list of colors -and calling `.color` separately for each one, is that in the former case a -single escape sequence will be produced where as in the latter each change -will have its own distinct escape sequence. Each attribute can be one of: - -* Reset: - * **reset** – Reset all attributes to the terminal default. -* Styles: - * **bold** – Display text as bold. In some terminals this means using a - bold font, in others this means changing the color. In some it means - both. - * **italic** – Display text as italic. This is not available in most Windows terminals. - * **underline** – Underline text. This is not available in most Windows Terminals. - * **inverse** – Invert the foreground and background colors. - * **stopBold** – Do not display text as bold. - * **stopItalic** – Do not display text as italic. - * **stopUnderline** – Do not underline text. - * **stopInverse** – Do not invert foreground and background. -* Colors: - * **white** - * **black** - * **blue** - * **cyan** - * **green** - * **magenta** - * **red** - * **yellow** - * **grey** / **brightBlack** - * **brightRed** - * **brightGreen** - * **brightYellow** - * **brightBlue** - * **brightMagenta** - * **brightCyan** - * **brightWhite** -* Background Colors: - * **bgWhite** - * **bgBlack** - * **bgBlue** - * **bgCyan** - * **bgGreen** - * **bgMagenta** - * **bgRed** - * **bgYellow** - * **bgGrey** / **bgBrightBlack** - * **bgBrightRed** - * **bgBrightGreen** - * **bgBrightYellow** - * **bgBrightBlue** - * **bgBrightMagenta** - * **bgBrightCyan** - * **bgBrightWhite** - diff --git a/node_modules/console-control-strings/index.js b/node_modules/console-control-strings/index.js deleted file mode 100644 index bf89034..0000000 --- a/node_modules/console-control-strings/index.js +++ /dev/null @@ -1,125 +0,0 @@ -'use strict' - -// These tables borrowed from `ansi` - -var prefix = '\x1b[' - -exports.up = function up (num) { - return prefix + (num || '') + 'A' -} - -exports.down = function down (num) { - return prefix + (num || '') + 'B' -} - -exports.forward = function forward (num) { - return prefix + (num || '') + 'C' -} - -exports.back = function back (num) { - return prefix + (num || '') + 'D' -} - -exports.nextLine = function nextLine (num) { - return prefix + (num || '') + 'E' -} - -exports.previousLine = function previousLine (num) { - return prefix + (num || '') + 'F' -} - -exports.horizontalAbsolute = function horizontalAbsolute (num) { - if (num == null) throw new Error('horizontalAboslute requires a column to position to') - return prefix + num + 'G' -} - -exports.eraseData = function eraseData () { - return prefix + 'J' -} - -exports.eraseLine = function eraseLine () { - return prefix + 'K' -} - -exports.goto = function (x, y) { - return prefix + y + ';' + x + 'H' -} - -exports.gotoSOL = function () { - return '\r' -} - -exports.beep = function () { - return '\x07' -} - -exports.hideCursor = function hideCursor () { - return prefix + '?25l' -} - -exports.showCursor = function showCursor () { - return prefix + '?25h' -} - -var colors = { - reset: 0, -// styles - bold: 1, - italic: 3, - underline: 4, - inverse: 7, -// resets - stopBold: 22, - stopItalic: 23, - stopUnderline: 24, - stopInverse: 27, -// colors - white: 37, - black: 30, - blue: 34, - cyan: 36, - green: 32, - magenta: 35, - red: 31, - yellow: 33, - bgWhite: 47, - bgBlack: 40, - bgBlue: 44, - bgCyan: 46, - bgGreen: 42, - bgMagenta: 45, - bgRed: 41, - bgYellow: 43, - - grey: 90, - brightBlack: 90, - brightRed: 91, - brightGreen: 92, - brightYellow: 93, - brightBlue: 94, - brightMagenta: 95, - brightCyan: 96, - brightWhite: 97, - - bgGrey: 100, - bgBrightBlack: 100, - bgBrightRed: 101, - bgBrightGreen: 102, - bgBrightYellow: 103, - bgBrightBlue: 104, - bgBrightMagenta: 105, - bgBrightCyan: 106, - bgBrightWhite: 107 -} - -exports.color = function color (colorWith) { - if (arguments.length !== 1 || !Array.isArray(colorWith)) { - colorWith = Array.prototype.slice.call(arguments) - } - return prefix + colorWith.map(colorNameToCode).join(';') + 'm' -} - -function colorNameToCode (color) { - if (colors[color] != null) return colors[color] - throw new Error('Unknown color or style name: ' + color) -} diff --git a/node_modules/console-control-strings/package.json b/node_modules/console-control-strings/package.json deleted file mode 100644 index 99160f5..0000000 --- a/node_modules/console-control-strings/package.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "console-control-strings@~1.1.0", - "scope": null, - "escapedName": "console-control-strings", - "name": "console-control-strings", - "rawSpec": "~1.1.0", - "spec": ">=1.1.0 <1.2.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/npmlog" - ] - ], - "_from": "console-control-strings@>=1.1.0 <1.2.0", - "_id": "console-control-strings@1.1.0", - "_inCache": true, - "_installable": true, - "_location": "/console-control-strings", - "_nodeVersion": "4.4.0", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/console-control-strings-1.1.0.tgz_1466033396831_0.9470485949423164" - }, - "_npmUser": { - "name": "iarna", - "email": "me@re-becca.org" - }, - "_npmVersion": "3.9.2", - "_phantomChildren": {}, - "_requested": { - "raw": "console-control-strings@~1.1.0", - "scope": null, - "escapedName": "console-control-strings", - "name": "console-control-strings", - "rawSpec": "~1.1.0", - "spec": ">=1.1.0 <1.2.0", - "type": "range" - }, - "_requiredBy": [ - "/gauge", - "/npmlog" - ], - "_resolved": "http://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "_shasum": "3d7cf4464db6446ea644bf4b39507f9851008e8e", - "_shrinkwrap": null, - "_spec": "console-control-strings@~1.1.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/npmlog", - "author": { - "name": "Rebecca Turner", - "email": "me@re-becca.org", - "url": "http://re-becca.org/" - }, - "bugs": { - "url": "https://github.com/iarna/console-control-strings/issues" - }, - "dependencies": {}, - "description": "A library of cross-platform tested terminal/console command strings for doing things like color and cursor positioning. This is a subset of both ansi and vt100. All control codes included work on both Windows & Unix-like OSes, except where noted.", - "devDependencies": { - "standard": "^7.1.2", - "tap": "^5.7.2" - }, - "directories": { - "test": "test" - }, - "dist": { - "shasum": "3d7cf4464db6446ea644bf4b39507f9851008e8e", - "tarball": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" - }, - "files": [ - "LICENSE", - "index.js" - ], - "gitHead": "722439b4998d2964ac3d3f9ec175c008aa9b7b4b", - "homepage": "https://github.com/iarna/console-control-strings#readme", - "keywords": [], - "license": "ISC", - "main": "index.js", - "maintainers": [ - { - "name": "iarna", - "email": "me@re-becca.org" - } - ], - "name": "console-control-strings", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/iarna/console-control-strings.git" - }, - "scripts": { - "test": "standard && tap test/*.js" - }, - "version": "1.1.0" -} diff --git a/node_modules/core-util-is/LICENSE b/node_modules/core-util-is/LICENSE deleted file mode 100644 index d8d7f94..0000000 --- a/node_modules/core-util-is/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright Node.js contributors. All rights reserved. - -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. diff --git a/node_modules/core-util-is/README.md b/node_modules/core-util-is/README.md deleted file mode 100644 index 5a76b41..0000000 --- a/node_modules/core-util-is/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# core-util-is - -The `util.is*` functions introduced in Node v0.12. diff --git a/node_modules/core-util-is/float.patch b/node_modules/core-util-is/float.patch deleted file mode 100644 index a06d5c0..0000000 --- a/node_modules/core-util-is/float.patch +++ /dev/null @@ -1,604 +0,0 @@ -diff --git a/lib/util.js b/lib/util.js -index a03e874..9074e8e 100644 ---- a/lib/util.js -+++ b/lib/util.js -@@ -19,430 +19,6 @@ - // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - // USE OR OTHER DEALINGS IN THE SOFTWARE. - --var formatRegExp = /%[sdj%]/g; --exports.format = function(f) { -- if (!isString(f)) { -- var objects = []; -- for (var i = 0; i < arguments.length; i++) { -- objects.push(inspect(arguments[i])); -- } -- return objects.join(' '); -- } -- -- var i = 1; -- var args = arguments; -- var len = args.length; -- var str = String(f).replace(formatRegExp, function(x) { -- if (x === '%%') return '%'; -- if (i >= len) return x; -- switch (x) { -- case '%s': return String(args[i++]); -- case '%d': return Number(args[i++]); -- case '%j': -- try { -- return JSON.stringify(args[i++]); -- } catch (_) { -- return '[Circular]'; -- } -- default: -- return x; -- } -- }); -- for (var x = args[i]; i < len; x = args[++i]) { -- if (isNull(x) || !isObject(x)) { -- str += ' ' + x; -- } else { -- str += ' ' + inspect(x); -- } -- } -- return str; --}; -- -- --// Mark that a method should not be used. --// 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) { -- // Allow for deprecating things in the process of starting up. -- if (isUndefined(global.process)) { -- return function() { -- return exports.deprecate(fn, msg).apply(this, arguments); -- }; -- } -- -- if (process.noDeprecation === true) { -- return fn; -- } -- -- var warned = false; -- function deprecated() { -- if (!warned) { -- if (process.throwDeprecation) { -- throw new Error(msg); -- } else if (process.traceDeprecation) { -- console.trace(msg); -- } else { -- console.error(msg); -- } -- warned = true; -- } -- return fn.apply(this, arguments); -- } -- -- return deprecated; --}; -- -- --var debugs = {}; --var debugEnviron; --exports.debuglog = function(set) { -- if (isUndefined(debugEnviron)) -- debugEnviron = process.env.NODE_DEBUG || ''; -- set = set.toUpperCase(); -- if (!debugs[set]) { -- if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { -- var pid = process.pid; -- debugs[set] = function() { -- var msg = exports.format.apply(exports, arguments); -- console.error('%s %d: %s', set, pid, msg); -- }; -- } else { -- debugs[set] = function() {}; -- } -- } -- return debugs[set]; --}; -- -- --/** -- * Echos the value of a value. Trys to print the value out -- * in the best way possible given the different types. -- * -- * @param {Object} obj The object to print out. -- * @param {Object} opts Optional options object that alters the output. -- */ --/* legacy: obj, showHidden, depth, colors*/ --function inspect(obj, opts) { -- // default options -- var ctx = { -- seen: [], -- stylize: stylizeNoColor -- }; -- // legacy... -- if (arguments.length >= 3) ctx.depth = arguments[2]; -- if (arguments.length >= 4) ctx.colors = arguments[3]; -- if (isBoolean(opts)) { -- // legacy... -- ctx.showHidden = opts; -- } else if (opts) { -- // got an "options" object -- exports._extend(ctx, opts); -- } -- // set default options -- if (isUndefined(ctx.showHidden)) ctx.showHidden = false; -- if (isUndefined(ctx.depth)) ctx.depth = 2; -- if (isUndefined(ctx.colors)) ctx.colors = false; -- if (isUndefined(ctx.customInspect)) ctx.customInspect = true; -- if (ctx.colors) ctx.stylize = stylizeWithColor; -- return formatValue(ctx, obj, ctx.depth); --} --exports.inspect = inspect; -- -- --// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics --inspect.colors = { -- 'bold' : [1, 22], -- 'italic' : [3, 23], -- 'underline' : [4, 24], -- 'inverse' : [7, 27], -- 'white' : [37, 39], -- 'grey' : [90, 39], -- 'black' : [30, 39], -- 'blue' : [34, 39], -- 'cyan' : [36, 39], -- 'green' : [32, 39], -- 'magenta' : [35, 39], -- 'red' : [31, 39], -- 'yellow' : [33, 39] --}; -- --// Don't use 'blue' not visible on cmd.exe --inspect.styles = { -- 'special': 'cyan', -- 'number': 'yellow', -- 'boolean': 'yellow', -- 'undefined': 'grey', -- 'null': 'bold', -- 'string': 'green', -- 'date': 'magenta', -- // "name": intentionally not styling -- 'regexp': 'red' --}; -- -- --function stylizeWithColor(str, styleType) { -- var style = inspect.styles[styleType]; -- -- if (style) { -- return '\u001b[' + inspect.colors[style][0] + 'm' + str + -- '\u001b[' + inspect.colors[style][1] + 'm'; -- } else { -- return str; -- } --} -- -- --function stylizeNoColor(str, styleType) { -- return str; --} -- -- --function arrayToHash(array) { -- var hash = {}; -- -- array.forEach(function(val, idx) { -- hash[val] = true; -- }); -- -- return hash; --} -- -- --function formatValue(ctx, value, recurseTimes) { -- // Provide a hook for user-specified inspect functions. -- // Check that value is an object with an inspect function on it -- if (ctx.customInspect && -- value && -- isFunction(value.inspect) && -- // Filter out the util module, it's inspect function is special -- value.inspect !== exports.inspect && -- // Also filter out any prototype objects using the circular check. -- !(value.constructor && value.constructor.prototype === value)) { -- var ret = value.inspect(recurseTimes, ctx); -- if (!isString(ret)) { -- ret = formatValue(ctx, ret, recurseTimes); -- } -- return ret; -- } -- -- // Primitive types cannot have properties -- var primitive = formatPrimitive(ctx, value); -- if (primitive) { -- return primitive; -- } -- -- // Look up the keys of the object. -- var keys = Object.keys(value); -- var visibleKeys = arrayToHash(keys); -- -- if (ctx.showHidden) { -- keys = Object.getOwnPropertyNames(value); -- } -- -- // Some type of object without properties can be shortcutted. -- if (keys.length === 0) { -- if (isFunction(value)) { -- var name = value.name ? ': ' + value.name : ''; -- return ctx.stylize('[Function' + name + ']', 'special'); -- } -- if (isRegExp(value)) { -- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); -- } -- if (isDate(value)) { -- return ctx.stylize(Date.prototype.toString.call(value), 'date'); -- } -- if (isError(value)) { -- return formatError(value); -- } -- } -- -- var base = '', array = false, braces = ['{', '}']; -- -- // Make Array say that they are Array -- if (isArray(value)) { -- array = true; -- braces = ['[', ']']; -- } -- -- // Make functions say that they are functions -- if (isFunction(value)) { -- var n = value.name ? ': ' + value.name : ''; -- base = ' [Function' + n + ']'; -- } -- -- // Make RegExps say that they are RegExps -- if (isRegExp(value)) { -- base = ' ' + RegExp.prototype.toString.call(value); -- } -- -- // Make dates with properties first say the date -- if (isDate(value)) { -- base = ' ' + Date.prototype.toUTCString.call(value); -- } -- -- // Make error with message first say the error -- if (isError(value)) { -- base = ' ' + formatError(value); -- } -- -- if (keys.length === 0 && (!array || value.length == 0)) { -- return braces[0] + base + braces[1]; -- } -- -- if (recurseTimes < 0) { -- if (isRegExp(value)) { -- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); -- } else { -- return ctx.stylize('[Object]', 'special'); -- } -- } -- -- ctx.seen.push(value); -- -- var output; -- if (array) { -- output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); -- } else { -- output = keys.map(function(key) { -- return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); -- }); -- } -- -- ctx.seen.pop(); -- -- return reduceToSingleString(output, base, braces); --} -- -- --function formatPrimitive(ctx, value) { -- if (isUndefined(value)) -- return ctx.stylize('undefined', 'undefined'); -- if (isString(value)) { -- var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') -- .replace(/'/g, "\\'") -- .replace(/\\"/g, '"') + '\''; -- return ctx.stylize(simple, 'string'); -- } -- if (isNumber(value)) { -- // Format -0 as '-0'. Strict equality won't distinguish 0 from -0, -- // so instead we use the fact that 1 / -0 < 0 whereas 1 / 0 > 0 . -- if (value === 0 && 1 / value < 0) -- return ctx.stylize('-0', 'number'); -- return ctx.stylize('' + value, 'number'); -- } -- if (isBoolean(value)) -- return ctx.stylize('' + value, 'boolean'); -- // For some reason typeof null is "object", so special case here. -- if (isNull(value)) -- return ctx.stylize('null', 'null'); --} -- -- --function formatError(value) { -- return '[' + Error.prototype.toString.call(value) + ']'; --} -- -- --function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { -- var output = []; -- for (var i = 0, l = value.length; i < l; ++i) { -- if (hasOwnProperty(value, String(i))) { -- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, -- String(i), true)); -- } else { -- output.push(''); -- } -- } -- keys.forEach(function(key) { -- if (!key.match(/^\d+$/)) { -- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, -- key, true)); -- } -- }); -- return output; --} -- -- --function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { -- var name, str, desc; -- desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; -- if (desc.get) { -- if (desc.set) { -- str = ctx.stylize('[Getter/Setter]', 'special'); -- } else { -- str = ctx.stylize('[Getter]', 'special'); -- } -- } else { -- if (desc.set) { -- str = ctx.stylize('[Setter]', 'special'); -- } -- } -- if (!hasOwnProperty(visibleKeys, key)) { -- name = '[' + key + ']'; -- } -- if (!str) { -- if (ctx.seen.indexOf(desc.value) < 0) { -- if (isNull(recurseTimes)) { -- str = formatValue(ctx, desc.value, null); -- } else { -- str = formatValue(ctx, desc.value, recurseTimes - 1); -- } -- if (str.indexOf('\n') > -1) { -- if (array) { -- str = str.split('\n').map(function(line) { -- return ' ' + line; -- }).join('\n').substr(2); -- } else { -- str = '\n' + str.split('\n').map(function(line) { -- return ' ' + line; -- }).join('\n'); -- } -- } -- } else { -- str = ctx.stylize('[Circular]', 'special'); -- } -- } -- if (isUndefined(name)) { -- if (array && key.match(/^\d+$/)) { -- return str; -- } -- name = JSON.stringify('' + key); -- if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { -- name = name.substr(1, name.length - 2); -- name = ctx.stylize(name, 'name'); -- } else { -- name = name.replace(/'/g, "\\'") -- .replace(/\\"/g, '"') -- .replace(/(^"|"$)/g, "'"); -- name = ctx.stylize(name, 'string'); -- } -- } -- -- return name + ': ' + str; --} -- -- --function reduceToSingleString(output, base, braces) { -- var numLinesEst = 0; -- var length = output.reduce(function(prev, cur) { -- numLinesEst++; -- if (cur.indexOf('\n') >= 0) numLinesEst++; -- return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; -- }, 0); -- -- if (length > 60) { -- return braces[0] + -- (base === '' ? '' : base + '\n ') + -- ' ' + -- output.join(',\n ') + -- ' ' + -- braces[1]; -- } -- -- return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; --} -- -- - // NOTE: These type checking functions intentionally don't use `instanceof` - // because it is fragile and can be easily faked with `Object.create()`. - function isArray(ar) { -@@ -522,166 +98,10 @@ function isPrimitive(arg) { - exports.isPrimitive = isPrimitive; - - function isBuffer(arg) { -- return arg instanceof Buffer; -+ return Buffer.isBuffer(arg); - } - exports.isBuffer = isBuffer; - - function objectToString(o) { - return Object.prototype.toString.call(o); --} -- -- --function pad(n) { -- return n < 10 ? '0' + n.toString(10) : n.toString(10); --} -- -- --var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', -- 'Oct', 'Nov', 'Dec']; -- --// 26 Feb 16:19:34 --function timestamp() { -- var d = new Date(); -- var time = [pad(d.getHours()), -- pad(d.getMinutes()), -- pad(d.getSeconds())].join(':'); -- return [d.getDate(), months[d.getMonth()], time].join(' '); --} -- -- --// log is just a thin wrapper to console.log that prepends a timestamp --exports.log = function() { -- console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); --}; -- -- --/** -- * Inherit the prototype methods from one constructor into another. -- * -- * The Function.prototype.inherits from lang.js rewritten as a standalone -- * function (not on Function.prototype). NOTE: If this file is to be loaded -- * during bootstrapping this function needs to be rewritten using some native -- * functions as prototype setup using normal JavaScript does not work as -- * expected during bootstrapping (see mirror.js in r114903). -- * -- * @param {function} ctor Constructor function which needs to inherit the -- * prototype. -- * @param {function} superCtor Constructor function to inherit prototype from. -- */ --exports.inherits = function(ctor, superCtor) { -- ctor.super_ = superCtor; -- ctor.prototype = Object.create(superCtor.prototype, { -- constructor: { -- value: ctor, -- enumerable: false, -- writable: true, -- configurable: true -- } -- }); --}; -- --exports._extend = function(origin, add) { -- // Don't do anything if add isn't an object -- if (!add || !isObject(add)) return origin; -- -- var keys = Object.keys(add); -- var i = keys.length; -- while (i--) { -- origin[keys[i]] = add[keys[i]]; -- } -- return origin; --}; -- --function hasOwnProperty(obj, prop) { -- return Object.prototype.hasOwnProperty.call(obj, prop); --} -- -- --// Deprecated old stuff. -- --exports.p = exports.deprecate(function() { -- for (var i = 0, len = arguments.length; i < len; ++i) { -- console.error(exports.inspect(arguments[i])); -- } --}, 'util.p: Use console.error() instead'); -- -- --exports.exec = exports.deprecate(function() { -- return require('child_process').exec.apply(this, arguments); --}, 'util.exec is now called `child_process.exec`.'); -- -- --exports.print = exports.deprecate(function() { -- for (var i = 0, len = arguments.length; i < len; ++i) { -- process.stdout.write(String(arguments[i])); -- } --}, 'util.print: Use console.log instead'); -- -- --exports.puts = exports.deprecate(function() { -- for (var i = 0, len = arguments.length; i < len; ++i) { -- process.stdout.write(arguments[i] + '\n'); -- } --}, 'util.puts: Use console.log instead'); -- -- --exports.debug = exports.deprecate(function(x) { -- process.stderr.write('DEBUG: ' + x + '\n'); --}, 'util.debug: Use console.error instead'); -- -- --exports.error = exports.deprecate(function(x) { -- for (var i = 0, len = arguments.length; i < len; ++i) { -- process.stderr.write(arguments[i] + '\n'); -- } --}, 'util.error: Use console.error instead'); -- -- --exports.pump = exports.deprecate(function(readStream, writeStream, callback) { -- var callbackCalled = false; -- -- function call(a, b, c) { -- if (callback && !callbackCalled) { -- callback(a, b, c); -- callbackCalled = true; -- } -- } -- -- readStream.addListener('data', function(chunk) { -- if (writeStream.write(chunk) === false) readStream.pause(); -- }); -- -- writeStream.addListener('drain', function() { -- readStream.resume(); -- }); -- -- readStream.addListener('end', function() { -- writeStream.end(); -- }); -- -- readStream.addListener('close', function() { -- call(); -- }); -- -- readStream.addListener('error', function(err) { -- writeStream.end(); -- call(err); -- }); -- -- writeStream.addListener('error', function(err) { -- readStream.destroy(); -- call(err); -- }); --}, 'util.pump(): Use readableStream.pipe() instead'); -- -- --var uv; --exports._errnoException = function(err, syscall) { -- if (isUndefined(uv)) uv = process.binding('uv'); -- var errname = uv.errname(err); -- var e = new Error(syscall + ' ' + errname); -- e.code = errname; -- e.errno = errname; -- e.syscall = syscall; -- return e; --}; -+} \ No newline at end of file diff --git a/node_modules/core-util-is/lib/util.js b/node_modules/core-util-is/lib/util.js deleted file mode 100644 index ff4c851..0000000 --- a/node_modules/core-util-is/lib/util.js +++ /dev/null @@ -1,107 +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. - -// NOTE: These type checking functions intentionally don't use `instanceof` -// because it is fragile and can be easily faked with `Object.create()`. - -function isArray(arg) { - if (Array.isArray) { - return Array.isArray(arg); - } - return objectToString(arg) === '[object Array]'; -} -exports.isArray = isArray; - -function isBoolean(arg) { - return typeof arg === 'boolean'; -} -exports.isBoolean = isBoolean; - -function isNull(arg) { - return arg === null; -} -exports.isNull = isNull; - -function isNullOrUndefined(arg) { - return arg == null; -} -exports.isNullOrUndefined = isNullOrUndefined; - -function isNumber(arg) { - return typeof arg === 'number'; -} -exports.isNumber = isNumber; - -function isString(arg) { - return typeof arg === 'string'; -} -exports.isString = isString; - -function isSymbol(arg) { - return typeof arg === 'symbol'; -} -exports.isSymbol = isSymbol; - -function isUndefined(arg) { - return arg === void 0; -} -exports.isUndefined = isUndefined; - -function isRegExp(re) { - return objectToString(re) === '[object RegExp]'; -} -exports.isRegExp = isRegExp; - -function isObject(arg) { - return typeof arg === 'object' && arg !== null; -} -exports.isObject = isObject; - -function isDate(d) { - return objectToString(d) === '[object Date]'; -} -exports.isDate = isDate; - -function isError(e) { - return (objectToString(e) === '[object Error]' || e instanceof Error); -} -exports.isError = isError; - -function isFunction(arg) { - return typeof arg === 'function'; -} -exports.isFunction = isFunction; - -function isPrimitive(arg) { - return arg === null || - typeof arg === 'boolean' || - typeof arg === 'number' || - typeof arg === 'string' || - typeof arg === 'symbol' || // ES6 symbol - typeof arg === 'undefined'; -} -exports.isPrimitive = isPrimitive; - -exports.isBuffer = Buffer.isBuffer; - -function objectToString(o) { - return Object.prototype.toString.call(o); -} diff --git a/node_modules/core-util-is/package.json b/node_modules/core-util-is/package.json deleted file mode 100644 index 13c4d64..0000000 --- a/node_modules/core-util-is/package.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "core-util-is@~1.0.0", - "scope": null, - "escapedName": "core-util-is", - "name": "core-util-is", - "rawSpec": "~1.0.0", - "spec": ">=1.0.0 <1.1.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/readable-stream" - ] - ], - "_from": "core-util-is@>=1.0.0 <1.1.0", - "_id": "core-util-is@1.0.2", - "_inCache": true, - "_installable": true, - "_location": "/core-util-is", - "_nodeVersion": "4.0.0", - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "_npmVersion": "3.3.2", - "_phantomChildren": {}, - "_requested": { - "raw": "core-util-is@~1.0.0", - "scope": null, - "escapedName": "core-util-is", - "name": "core-util-is", - "rawSpec": "~1.0.0", - "spec": ">=1.0.0 <1.1.0", - "type": "range" - }, - "_requiredBy": [ - "/readable-stream", - "/streamroller/readable-stream" - ], - "_resolved": "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "_shasum": "b5fd54220aa2bc5ab57aab7140c940754503c1a7", - "_shrinkwrap": null, - "_spec": "core-util-is@~1.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/readable-stream", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/core-util-is/issues" - }, - "dependencies": {}, - "description": "The `util.is*` functions introduced in Node v0.12.", - "devDependencies": { - "tap": "^2.3.0" - }, - "directories": {}, - "dist": { - "shasum": "b5fd54220aa2bc5ab57aab7140c940754503c1a7", - "tarball": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - }, - "gitHead": "a177da234df5638b363ddc15fa324619a38577c8", - "homepage": "https://github.com/isaacs/core-util-is#readme", - "keywords": [ - "util", - "isBuffer", - "isArray", - "isNumber", - "isString", - "isRegExp", - "isThis", - "isThat", - "polyfill" - ], - "license": "MIT", - "main": "lib/util.js", - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "name": "core-util-is", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/core-util-is.git" - }, - "scripts": { - "test": "tap test.js" - }, - "version": "1.0.2" -} diff --git a/node_modules/core-util-is/test.js b/node_modules/core-util-is/test.js deleted file mode 100644 index 1a490c6..0000000 --- a/node_modules/core-util-is/test.js +++ /dev/null @@ -1,68 +0,0 @@ -var assert = require('tap'); - -var t = require('./lib/util'); - -assert.equal(t.isArray([]), true); -assert.equal(t.isArray({}), false); - -assert.equal(t.isBoolean(null), false); -assert.equal(t.isBoolean(true), true); -assert.equal(t.isBoolean(false), true); - -assert.equal(t.isNull(null), true); -assert.equal(t.isNull(undefined), false); -assert.equal(t.isNull(false), false); -assert.equal(t.isNull(), false); - -assert.equal(t.isNullOrUndefined(null), true); -assert.equal(t.isNullOrUndefined(undefined), true); -assert.equal(t.isNullOrUndefined(false), false); -assert.equal(t.isNullOrUndefined(), true); - -assert.equal(t.isNumber(null), false); -assert.equal(t.isNumber('1'), false); -assert.equal(t.isNumber(1), true); - -assert.equal(t.isString(null), false); -assert.equal(t.isString('1'), true); -assert.equal(t.isString(1), false); - -assert.equal(t.isSymbol(null), false); -assert.equal(t.isSymbol('1'), false); -assert.equal(t.isSymbol(1), false); -assert.equal(t.isSymbol(Symbol()), true); - -assert.equal(t.isUndefined(null), false); -assert.equal(t.isUndefined(undefined), true); -assert.equal(t.isUndefined(false), false); -assert.equal(t.isUndefined(), true); - -assert.equal(t.isRegExp(null), false); -assert.equal(t.isRegExp('1'), false); -assert.equal(t.isRegExp(new RegExp()), true); - -assert.equal(t.isObject({}), true); -assert.equal(t.isObject([]), true); -assert.equal(t.isObject(new RegExp()), true); -assert.equal(t.isObject(new Date()), true); - -assert.equal(t.isDate(null), false); -assert.equal(t.isDate('1'), false); -assert.equal(t.isDate(new Date()), true); - -assert.equal(t.isError(null), false); -assert.equal(t.isError({ err: true }), false); -assert.equal(t.isError(new Error()), true); - -assert.equal(t.isFunction(null), false); -assert.equal(t.isFunction({ }), false); -assert.equal(t.isFunction(function() {}), true); - -assert.equal(t.isPrimitive(null), true); -assert.equal(t.isPrimitive(''), true); -assert.equal(t.isPrimitive(0), true); -assert.equal(t.isPrimitive(new Date()), false); - -assert.equal(t.isBuffer(null), false); -assert.equal(t.isBuffer({}), false); -assert.equal(t.isBuffer(new Buffer(0)), true); diff --git a/node_modules/date-format/.npmignore b/node_modules/date-format/.npmignore deleted file mode 100644 index a72b52e..0000000 --- a/node_modules/date-format/.npmignore +++ /dev/null @@ -1,15 +0,0 @@ -lib-cov -*.seed -*.log -*.csv -*.dat -*.out -*.pid -*.gz - -pids -logs -results - -npm-debug.log -node_modules diff --git a/node_modules/date-format/LICENSE b/node_modules/date-format/LICENSE deleted file mode 100644 index f03266b..0000000 --- a/node_modules/date-format/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013 Gareth Jones - -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. diff --git a/node_modules/date-format/README.md b/node_modules/date-format/README.md deleted file mode 100644 index 0bdbce8..0000000 --- a/node_modules/date-format/README.md +++ /dev/null @@ -1,26 +0,0 @@ -date-format -=========== - -node.js formatting of Date objects as strings. Probably exactly the same as some other library out there. - - npm install date-format - -usage -===== - - var format = require('date-format'); - format.asString(new Date()); //defaults to ISO8601 format - format.asString('hh:mm:ss.SSS', new Date()); //just the time - -Format string can be anything, but the following letters will be replaced (and leading zeroes added if necessary): -* dd - date.getDate() -* MM - date.getMonth() + 1 -* yy - date.getFullYear().toString().substring(2, 4) -* yyyy - date.getFullYear() -* hh - date.getHours() -* mm - date.getMinutes() -* ss - date.getSeconds() -* SSS - date.getMilliseconds() -* O - timezone offset in +hm format - -That's it. diff --git a/node_modules/date-format/lib/index.js b/node_modules/date-format/lib/index.js deleted file mode 100644 index d75ce20..0000000 --- a/node_modules/date-format/lib/index.js +++ /dev/null @@ -1,66 +0,0 @@ -"use strict"; -exports.ISO8601_FORMAT = "yyyy-MM-dd hh:mm:ss.SSS"; -exports.ISO8601_WITH_TZ_OFFSET_FORMAT = "yyyy-MM-ddThh:mm:ssO"; -exports.DATETIME_FORMAT = "dd MM yyyy hh:mm:ss.SSS"; -exports.ABSOLUTETIME_FORMAT = "hh:mm:ss.SSS"; - -function padWithZeros(vNumber, width) { - var numAsString = vNumber + ""; - while (numAsString.length < width) { - numAsString = "0" + numAsString; - } - return numAsString; -} - -function addZero(vNumber) { - return padWithZeros(vNumber, 2); -} - -/** - * Formats the TimeOffest - * Thanks to http://www.svendtofte.com/code/date_format/ - * @private - */ -function offset(date) { - // Difference to Greenwich time (GMT) in hours - var os = Math.abs(date.getTimezoneOffset()); - var h = String(Math.floor(os/60)); - var m = String(os%60); - if (h.length == 1) { - h = "0" + h; - } - if (m.length == 1) { - m = "0" + m; - } - return date.getTimezoneOffset() < 0 ? "+"+h+m : "-"+h+m; -} - -exports.asString = function(/*format,*/ date) { - var format = exports.ISO8601_FORMAT; - if (typeof(date) === "string") { - format = arguments[0]; - date = arguments[1]; - } - - var vDay = addZero(date.getDate()); - var vMonth = addZero(date.getMonth()+1); - var vYearLong = addZero(date.getFullYear()); - var vYearShort = addZero(date.getFullYear().toString().substring(2,4)); - var vYear = (format.indexOf("yyyy") > -1 ? vYearLong : vYearShort); - var vHour = addZero(date.getHours()); - var vMinute = addZero(date.getMinutes()); - var vSecond = addZero(date.getSeconds()); - var vMillisecond = padWithZeros(date.getMilliseconds(), 3); - var vTimeZone = offset(date); - var formatted = format - .replace(/dd/g, vDay) - .replace(/MM/g, vMonth) - .replace(/y{1,4}/g, vYear) - .replace(/hh/g, vHour) - .replace(/mm/g, vMinute) - .replace(/ss/g, vSecond) - .replace(/SSS/g, vMillisecond) - .replace(/O/g, vTimeZone); - return formatted; - -}; diff --git a/node_modules/date-format/package.json b/node_modules/date-format/package.json deleted file mode 100644 index b56b46a..0000000 --- a/node_modules/date-format/package.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "date-format@^0.0.0", - "scope": null, - "escapedName": "date-format", - "name": "date-format", - "rawSpec": "^0.0.0", - "spec": ">=0.0.0 <0.0.1", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/streamroller" - ] - ], - "_from": "date-format@>=0.0.0 <0.0.1", - "_id": "date-format@0.0.0", - "_inCache": true, - "_installable": true, - "_location": "/date-format", - "_npmUser": { - "name": "csausdev", - "email": "gareth.jones@sensis.com.au" - }, - "_npmVersion": "1.2.18", - "_phantomChildren": {}, - "_requested": { - "raw": "date-format@^0.0.0", - "scope": null, - "escapedName": "date-format", - "name": "date-format", - "rawSpec": "^0.0.0", - "spec": ">=0.0.0 <0.0.1", - "type": "range" - }, - "_requiredBy": [ - "/streamroller" - ], - "_resolved": "http://registry.npmjs.org/date-format/-/date-format-0.0.0.tgz", - "_shasum": "09206863ab070eb459acea5542cbd856b11966b3", - "_shrinkwrap": null, - "_spec": "date-format@^0.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/streamroller", - "author": { - "name": "Gareth Jones", - "email": "gareth.jones@sensis.com.au" - }, - "bugs": { - "url": "https://github.com/nomiddlename/date-format/issues" - }, - "dependencies": {}, - "description": "formatting Date objects as strings since 2013", - "devDependencies": { - "mocha": "~1.12.0", - "should": "~1.2.2" - }, - "directories": {}, - "dist": { - "shasum": "09206863ab070eb459acea5542cbd856b11966b3", - "tarball": "https://registry.npmjs.org/date-format/-/date-format-0.0.0.tgz" - }, - "gitHead": "bf59015ab6c9e86454b179374f29debbdb403522", - "homepage": "https://github.com/nomiddlename/date-format#readme", - "keywords": [ - "date", - "format", - "string" - ], - "license": "MIT", - "main": "lib/index.js", - "maintainers": [ - { - "name": "csausdev", - "email": "gareth.jones@sensis.com.au" - } - ], - "name": "date-format", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/nomiddlename/date-format.git" - }, - "scripts": { - "test": "mocha" - }, - "version": "0.0.0" -} diff --git a/node_modules/date-format/test/date_format-test.js b/node_modules/date-format/test/date_format-test.js deleted file mode 100644 index fff2964..0000000 --- a/node_modules/date-format/test/date_format-test.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; -var should = require('should') -, dateFormat = require('../lib'); - -describe('date_format', function() { - var date = new Date(2010, 0, 11, 14, 31, 30, 5); - - it('should format a date as string using a pattern', function() { - dateFormat.asString(dateFormat.DATETIME_FORMAT, date).should.eql("11 01 2010 14:31:30.005"); - }); - - it('should default to the ISO8601 format', function() { - dateFormat.asString(date).should.eql('2010-01-11 14:31:30.005'); - }); - - it('should provide a ISO8601 with timezone offset format', function() { - date.getTimezoneOffset = function() { return -660; }; - dateFormat.asString( - dateFormat.ISO8601_WITH_TZ_OFFSET_FORMAT, - date - ).should.eql( - "2010-01-11T14:31:30+1100" - ); - - date.getTimezoneOffset = function() { return 120; }; - dateFormat.asString( - dateFormat.ISO8601_WITH_TZ_OFFSET_FORMAT, - date - ).should.eql( - "2010-01-11T14:31:30-0200" - ); - }); - - it('should provide a just-the-time format', function() { - dateFormat.asString(dateFormat.ABSOLUTETIME_FORMAT, date).should.eql('14:31:30.005'); - }); - - it('should provide a custom format', function() { - date.getTimezoneOffset = function() { return 120; }; - dateFormat.asString("O.SSS.ss.mm.hh.dd.MM.yy", date).should.eql('-0200.005.30.31.14.11.01.10'); - }); -}); diff --git a/node_modules/debug/.coveralls.yml b/node_modules/debug/.coveralls.yml deleted file mode 100644 index 20a7068..0000000 --- a/node_modules/debug/.coveralls.yml +++ /dev/null @@ -1 +0,0 @@ -repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve diff --git a/node_modules/debug/.eslintrc b/node_modules/debug/.eslintrc deleted file mode 100644 index 8a37ae2..0000000 --- a/node_modules/debug/.eslintrc +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { - "browser": true, - "node": true - }, - "rules": { - "no-console": 0, - "no-empty": [1, { "allowEmptyCatch": true }] - }, - "extends": "eslint:recommended" -} diff --git a/node_modules/debug/.npmignore b/node_modules/debug/.npmignore deleted file mode 100644 index db2fbb9..0000000 --- a/node_modules/debug/.npmignore +++ /dev/null @@ -1,8 +0,0 @@ -support -test -examples -example -*.sock -dist -yarn.lock -coverage diff --git a/node_modules/debug/.travis.yml b/node_modules/debug/.travis.yml deleted file mode 100644 index 6c6090c..0000000 --- a/node_modules/debug/.travis.yml +++ /dev/null @@ -1,14 +0,0 @@ - -language: node_js -node_js: - - "6" - - "5" - - "4" - -install: - - make node_modules - -script: - - make lint - - make test - - make coveralls diff --git a/node_modules/debug/CHANGELOG.md b/node_modules/debug/CHANGELOG.md deleted file mode 100644 index 07ba539..0000000 --- a/node_modules/debug/CHANGELOG.md +++ /dev/null @@ -1,330 +0,0 @@ - -2.6.3 / 2017-03-13 -================== - - * Fix: Fix for electron reference to `process.env.DEBUG` (#431, @paulcbetts) - * Docs: Changelog fix (@thebigredgeeK) - -2.6.2 / 2017-03-10 -================== - - * Fix: DEBUG_MAX_ARRAY_LENGTH (#420, @slavaGanzin) - * Docs: Add backers and sponsors from Open Collective (#422, @piamancini) - * Docs: Add Slackin invite badge (@tootallnate) - -2.6.1 / 2017-02-10 -================== - - * Fix: Module's `export default` syntax fix for IE8 `Expected identifier` error - * Fix: Whitelist DEBUG_FD for values 1 and 2 only (#415, @pi0) - * Fix: IE8 "Expected identifier" error (#414, @vgoma) - * Fix: Namespaces would not disable once enabled (#409, @musikov) - -2.6.0 / 2016-12-28 -================== - - * Fix: added better null pointer checks for browser useColors (@thebigredgeek) - * Improvement: removed explicit `window.debug` export (#404, @tootallnate) - * Improvement: deprecated `DEBUG_FD` environment variable (#405, @tootallnate) - -2.5.2 / 2016-12-25 -================== - - * Fix: reference error on window within webworkers (#393, @KlausTrainer) - * Docs: fixed README typo (#391, @lurch) - * Docs: added notice about v3 api discussion (@thebigredgeek) - -2.5.1 / 2016-12-20 -================== - - * Fix: babel-core compatibility - -2.5.0 / 2016-12-20 -================== - - * Fix: wrong reference in bower file (@thebigredgeek) - * Fix: webworker compatibility (@thebigredgeek) - * Fix: output formatting issue (#388, @kribblo) - * Fix: babel-loader compatibility (#383, @escwald) - * Misc: removed built asset from repo and publications (@thebigredgeek) - * Misc: moved source files to /src (#378, @yamikuronue) - * Test: added karma integration and replaced babel with browserify for browser tests (#378, @yamikuronue) - * Test: coveralls integration (#378, @yamikuronue) - * Docs: simplified language in the opening paragraph (#373, @yamikuronue) - -2.4.5 / 2016-12-17 -================== - - * Fix: `navigator` undefined in Rhino (#376, @jochenberger) - * Fix: custom log function (#379, @hsiliev) - * Improvement: bit of cleanup + linting fixes (@thebigredgeek) - * Improvement: rm non-maintainted `dist/` dir (#375, @freewil) - * Docs: simplified language in the opening paragraph. (#373, @yamikuronue) - -2.4.4 / 2016-12-14 -================== - - * Fix: work around debug being loaded in preload scripts for electron (#368, @paulcbetts) - -2.4.3 / 2016-12-14 -================== - - * Fix: navigation.userAgent error for react native (#364, @escwald) - -2.4.2 / 2016-12-14 -================== - - * Fix: browser colors (#367, @tootallnate) - * Misc: travis ci integration (@thebigredgeek) - * Misc: added linting and testing boilerplate with sanity check (@thebigredgeek) - -2.4.1 / 2016-12-13 -================== - - * Fix: typo that broke the package (#356) - -2.4.0 / 2016-12-13 -================== - - * Fix: bower.json references unbuilt src entry point (#342, @justmatt) - * Fix: revert "handle regex special characters" (@tootallnate) - * Feature: configurable util.inspect()`options for NodeJS (#327, @tootallnate) - * Feature: %O`(big O) pretty-prints objects (#322, @tootallnate) - * Improvement: allow colors in workers (#335, @botverse) - * Improvement: use same color for same namespace. (#338, @lchenay) - -2.3.3 / 2016-11-09 -================== - - * Fix: Catch `JSON.stringify()` errors (#195, Jovan Alleyne) - * Fix: Returning `localStorage` saved values (#331, Levi Thomason) - * Improvement: Don't create an empty object when no `process` (Nathan Rajlich) - -2.3.2 / 2016-11-09 -================== - - * Fix: be super-safe in index.js as well (@TooTallNate) - * Fix: should check whether process exists (Tom Newby) - -2.3.1 / 2016-11-09 -================== - - * Fix: Added electron compatibility (#324, @paulcbetts) - * Improvement: Added performance optimizations (@tootallnate) - * Readme: Corrected PowerShell environment variable example (#252, @gimre) - * Misc: Removed yarn lock file from source control (#321, @fengmk2) - -2.3.0 / 2016-11-07 -================== - - * Fix: Consistent placement of ms diff at end of output (#215, @gorangajic) - * Fix: Escaping of regex special characters in namespace strings (#250, @zacronos) - * Fix: Fixed bug causing crash on react-native (#282, @vkarpov15) - * Feature: Enabled ES6+ compatible import via default export (#212 @bucaran) - * Feature: Added %O formatter to reflect Chrome's console.log capability (#279, @oncletom) - * Package: Update "ms" to 0.7.2 (#315, @DevSide) - * Package: removed superfluous version property from bower.json (#207 @kkirsche) - * Readme: fix USE_COLORS to DEBUG_COLORS - * Readme: Doc fixes for format string sugar (#269, @mlucool) - * Readme: Updated docs for DEBUG_FD and DEBUG_COLORS environment variables (#232, @mattlyons0) - * Readme: doc fixes for PowerShell (#271 #243, @exoticknight @unreadable) - * Readme: better docs for browser support (#224, @matthewmueller) - * Tooling: Added yarn integration for development (#317, @thebigredgeek) - * Misc: Renamed History.md to CHANGELOG.md (@thebigredgeek) - * Misc: Added license file (#226 #274, @CantemoInternal @sdaitzman) - * Misc: Updated contributors (@thebigredgeek) - -2.2.0 / 2015-05-09 -================== - - * package: update "ms" to v0.7.1 (#202, @dougwilson) - * README: add logging to file example (#193, @DanielOchoa) - * README: fixed a typo (#191, @amir-s) - * browser: expose `storage` (#190, @stephenmathieson) - * Makefile: add a `distclean` target (#189, @stephenmathieson) - -2.1.3 / 2015-03-13 -================== - - * Updated stdout/stderr example (#186) - * Updated example/stdout.js to match debug current behaviour - * Renamed example/stderr.js to stdout.js - * Update Readme.md (#184) - * replace high intensity foreground color for bold (#182, #183) - -2.1.2 / 2015-03-01 -================== - - * dist: recompile - * update "ms" to v0.7.0 - * package: update "browserify" to v9.0.3 - * component: fix "ms.js" repo location - * changed bower package name - * updated documentation about using debug in a browser - * fix: security error on safari (#167, #168, @yields) - -2.1.1 / 2014-12-29 -================== - - * browser: use `typeof` to check for `console` existence - * browser: check for `console.log` truthiness (fix IE 8/9) - * browser: add support for Chrome apps - * Readme: added Windows usage remarks - * Add `bower.json` to properly support bower install - -2.1.0 / 2014-10-15 -================== - - * node: implement `DEBUG_FD` env variable support - * package: update "browserify" to v6.1.0 - * package: add "license" field to package.json (#135, @panuhorsmalahti) - -2.0.0 / 2014-09-01 -================== - - * package: update "browserify" to v5.11.0 - * node: use stderr rather than stdout for logging (#29, @stephenmathieson) - -1.0.4 / 2014-07-15 -================== - - * dist: recompile - * example: remove `console.info()` log usage - * example: add "Content-Type" UTF-8 header to browser example - * browser: place %c marker after the space character - * browser: reset the "content" color via `color: inherit` - * browser: add colors support for Firefox >= v31 - * debug: prefer an instance `log()` function over the global one (#119) - * Readme: update documentation about styled console logs for FF v31 (#116, @wryk) - -1.0.3 / 2014-07-09 -================== - - * Add support for multiple wildcards in namespaces (#122, @seegno) - * browser: fix lint - -1.0.2 / 2014-06-10 -================== - - * browser: update color palette (#113, @gscottolson) - * common: make console logging function configurable (#108, @timoxley) - * node: fix %o colors on old node <= 0.8.x - * Makefile: find node path using shell/which (#109, @timoxley) - -1.0.1 / 2014-06-06 -================== - - * browser: use `removeItem()` to clear localStorage - * browser, node: don't set DEBUG if namespaces is undefined (#107, @leedm777) - * package: add "contributors" section - * node: fix comment typo - * README: list authors - -1.0.0 / 2014-06-04 -================== - - * make ms diff be global, not be scope - * debug: ignore empty strings in enable() - * node: make DEBUG_COLORS able to disable coloring - * *: export the `colors` array - * npmignore: don't publish the `dist` dir - * Makefile: refactor to use browserify - * package: add "browserify" as a dev dependency - * Readme: add Web Inspector Colors section - * node: reset terminal color for the debug content - * node: map "%o" to `util.inspect()` - * browser: map "%j" to `JSON.stringify()` - * debug: add custom "formatters" - * debug: use "ms" module for humanizing the diff - * Readme: add "bash" syntax highlighting - * browser: add Firebug color support - * browser: add colors for WebKit browsers - * node: apply log to `console` - * rewrite: abstract common logic for Node & browsers - * add .jshintrc file - -0.8.1 / 2014-04-14 -================== - - * package: re-add the "component" section - -0.8.0 / 2014-03-30 -================== - - * add `enable()` method for nodejs. Closes #27 - * change from stderr to stdout - * remove unnecessary index.js file - -0.7.4 / 2013-11-13 -================== - - * remove "browserify" key from package.json (fixes something in browserify) - -0.7.3 / 2013-10-30 -================== - - * fix: catch localStorage security error when cookies are blocked (Chrome) - * add debug(err) support. Closes #46 - * add .browser prop to package.json. Closes #42 - -0.7.2 / 2013-02-06 -================== - - * fix package.json - * fix: Mobile Safari (private mode) is broken with debug - * fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript - -0.7.1 / 2013-02-05 -================== - - * add repository URL to package.json - * add DEBUG_COLORED to force colored output - * add browserify support - * fix component. Closes #24 - -0.7.0 / 2012-05-04 -================== - - * Added .component to package.json - * Added debug.component.js build - -0.6.0 / 2012-03-16 -================== - - * Added support for "-" prefix in DEBUG [Vinay Pulim] - * Added `.enabled` flag to the node version [TooTallNate] - -0.5.0 / 2012-02-02 -================== - - * Added: humanize diffs. Closes #8 - * Added `debug.disable()` to the CS variant - * Removed padding. Closes #10 - * Fixed: persist client-side variant again. Closes #9 - -0.4.0 / 2012-02-01 -================== - - * Added browser variant support for older browsers [TooTallNate] - * Added `debug.enable('project:*')` to browser variant [TooTallNate] - * Added padding to diff (moved it to the right) - -0.3.0 / 2012-01-26 -================== - - * Added millisecond diff when isatty, otherwise UTC string - -0.2.0 / 2012-01-22 -================== - - * Added wildcard support - -0.1.0 / 2011-12-02 -================== - - * Added: remove colors unless stderr isatty [TooTallNate] - -0.0.1 / 2010-01-03 -================== - - * Initial release diff --git a/node_modules/debug/LICENSE b/node_modules/debug/LICENSE deleted file mode 100644 index 658c933..0000000 --- a/node_modules/debug/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -(The MIT License) - -Copyright (c) 2014 TJ Holowaychuk - -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. - diff --git a/node_modules/debug/Makefile b/node_modules/debug/Makefile deleted file mode 100644 index 584da8b..0000000 --- a/node_modules/debug/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -# get Makefile directory name: http://stackoverflow.com/a/5982798/376773 -THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) -THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) - -# BIN directory -BIN := $(THIS_DIR)/node_modules/.bin - -# Path -PATH := node_modules/.bin:$(PATH) -SHELL := /bin/bash - -# applications -NODE ?= $(shell which node) -YARN ?= $(shell which yarn) -PKG ?= $(if $(YARN),$(YARN),$(NODE) $(shell which npm)) -BROWSERIFY ?= $(NODE) $(BIN)/browserify - -.FORCE: - -install: node_modules - -node_modules: package.json - @NODE_ENV= $(PKG) install - @touch node_modules - -lint: .FORCE - eslint browser.js debug.js index.js node.js - -test-node: .FORCE - istanbul cover node_modules/mocha/bin/_mocha -- test/**.js - -test-browser: .FORCE - mkdir -p dist - - @$(BROWSERIFY) \ - --standalone debug \ - . > dist/debug.js - - karma start --single-run - rimraf dist - -test: .FORCE - concurrently \ - "make test-node" \ - "make test-browser" - -coveralls: - cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js - -.PHONY: all install clean distclean diff --git a/node_modules/debug/README.md b/node_modules/debug/README.md deleted file mode 100644 index 4aeab13..0000000 --- a/node_modules/debug/README.md +++ /dev/null @@ -1,312 +0,0 @@ -# debug -[![Build Status](https://travis-ci.org/visionmedia/debug.svg?branch=master)](https://travis-ci.org/visionmedia/debug) [![Coverage Status](https://coveralls.io/repos/github/visionmedia/debug/badge.svg?branch=master)](https://coveralls.io/github/visionmedia/debug?branch=master) [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers) -[![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors) - - - -A tiny node.js debugging utility modelled after node core's debugging technique. - -**Discussion around the V3 API is under way [here](https://github.com/visionmedia/debug/issues/370)** - -## Installation - -```bash -$ npm install debug -``` - -## Usage - -`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole. - -Example _app.js_: - -```js -var debug = require('debug')('http') - , http = require('http') - , name = 'My App'; - -// fake app - -debug('booting %s', name); - -http.createServer(function(req, res){ - debug(req.method + ' ' + req.url); - res.end('hello\n'); -}).listen(3000, function(){ - debug('listening'); -}); - -// fake worker of some kind - -require('./worker'); -``` - -Example _worker.js_: - -```js -var debug = require('debug')('worker'); - -setInterval(function(){ - debug('doing some work'); -}, 1000); -``` - - The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples: - - ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png) - - ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png) - -#### Windows note - - On Windows the environment variable is set using the `set` command. - - ```cmd - set DEBUG=*,-not_this - ``` - - Note that PowerShell uses different syntax to set environment variables. - - ```cmd - $env:DEBUG = "*,-not_this" - ``` - -Then, run the program to be debugged as usual. - -## Millisecond diff - - When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls. - - ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png) - - When stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below: - - ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png) - -## Conventions - - If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". - -## Wildcards - - The `*` character may be used as a wildcard. Suppose for example your library has debuggers named "connect:bodyParser", "connect:compress", "connect:session", instead of listing all three with `DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`. - - You can also exclude specific debuggers by prefixing them with a "-" character. For example, `DEBUG=*,-connect:*` would include all debuggers except those starting with "connect:". - -## Environment Variables - - When running through Node.js, you can set a few environment variables that will - change the behavior of the debug logging: - -| Name | Purpose | -|-----------|-------------------------------------------------| -| `DEBUG` | Enables/disabled specific debugging namespaces. | -| `DEBUG_COLORS`| Whether or not to use colors in the debug output. | -| `DEBUG_DEPTH` | Object inspection depth. | -| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. | - - - __Note:__ The environment variables beginning with `DEBUG_` end up being - converted into an Options object that gets used with `%o`/`%O` formatters. - See the Node.js documentation for - [`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options) - for the complete list. - -## Formatters - - - Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting. Below are the officially supported formatters: - -| Formatter | Representation | -|-----------|----------------| -| `%O` | Pretty-print an Object on multiple lines. | -| `%o` | Pretty-print an Object all on a single line. | -| `%s` | String. | -| `%d` | Number (both integer and float). | -| `%j` | JSON. Replaced with the string '[Circular]' if the argument contains circular references. | -| `%%` | Single percent sign ('%'). This does not consume an argument. | - -### Custom formatters - - You can add custom formatters by extending the `debug.formatters` object. For example, if you wanted to add support for rendering a Buffer as hex with `%h`, you could do something like: - -```js -const createDebug = require('debug') -createDebug.formatters.h = (v) => { - return v.toString('hex') -} - -// …elsewhere -const debug = createDebug('foo') -debug('this is hex: %h', new Buffer('hello world')) -// foo this is hex: 68656c6c6f20776f726c6421 +0ms -``` - -## Browser support - You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify), - or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest), - if you don't want to build it yourself. - - Debug's enable state is currently persisted by `localStorage`. - Consider the situation shown below where you have `worker:a` and `worker:b`, - and wish to debug both. You can enable this using `localStorage.debug`: - -```js -localStorage.debug = 'worker:*' -``` - -And then refresh the page. - -```js -a = debug('worker:a'); -b = debug('worker:b'); - -setInterval(function(){ - a('doing some work'); -}, 1000); - -setInterval(function(){ - b('doing some work'); -}, 1200); -``` - -#### Web Inspector Colors - - Colors are also enabled on "Web Inspectors" that understand the `%c` formatting - option. These are WebKit web inspectors, Firefox ([since version - 31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/)) - and the Firebug plugin for Firefox (any version). - - Colored output looks something like: - - ![](https://cloud.githubusercontent.com/assets/71256/3139768/b98c5fd8-e8ef-11e3-862a-f7253b6f47c6.png) - - -## Output streams - - By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method: - -Example _stdout.js_: - -```js -var debug = require('debug'); -var error = debug('app:error'); - -// by default stderr is used -error('goes to stderr!'); - -var log = debug('app:log'); -// set this namespace to log via console.log -log.log = console.log.bind(console); // don't forget to bind to console! -log('goes to stdout'); -error('still goes to stderr!'); - -// set all output to go via console.info -// overrides all per-namespace log settings -debug.log = console.info.bind(console); -error('now goes to stdout via console.info'); -log('still goes to stdout, but via console.info now'); -``` - - -## Authors - - - TJ Holowaychuk - - Nathan Rajlich - - Andrew Rhyne - -## Backers - -Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## Sponsors - -Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## License - -(The MIT License) - -Copyright (c) 2014-2016 TJ Holowaychuk <tj@vision-media.ca> - -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. diff --git a/node_modules/debug/bower.json b/node_modules/debug/bower.json deleted file mode 100644 index 027804c..0000000 --- a/node_modules/debug/bower.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "visionmedia-debug", - "main": "./src/browser.js", - "homepage": "https://github.com/visionmedia/debug", - "authors": [ - "TJ Holowaychuk ", - "Nathan Rajlich (http://n8.io)", - "Andrew Rhyne " - ], - "description": "visionmedia-debug", - "moduleType": [ - "amd", - "es6", - "globals", - "node" - ], - "keywords": [ - "visionmedia", - "debug" - ], - "license": "MIT", - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "test", - "tests" - ] -} diff --git a/node_modules/debug/component.json b/node_modules/debug/component.json deleted file mode 100644 index e150dc4..0000000 --- a/node_modules/debug/component.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "debug", - "repo": "visionmedia/debug", - "description": "small debugging utility", - "version": "2.6.3", - "keywords": [ - "debug", - "log", - "debugger" - ], - "main": "src/browser.js", - "scripts": [ - "src/browser.js", - "src/debug.js" - ], - "dependencies": { - "rauchg/ms.js": "0.7.1" - } -} diff --git a/node_modules/debug/karma.conf.js b/node_modules/debug/karma.conf.js deleted file mode 100644 index 103a82d..0000000 --- a/node_modules/debug/karma.conf.js +++ /dev/null @@ -1,70 +0,0 @@ -// Karma configuration -// Generated on Fri Dec 16 2016 13:09:51 GMT+0000 (UTC) - -module.exports = function(config) { - config.set({ - - // base path that will be used to resolve all patterns (eg. files, exclude) - basePath: '', - - - // frameworks to use - // available frameworks: https://npmjs.org/browse/keyword/karma-adapter - frameworks: ['mocha', 'chai', 'sinon'], - - - // list of files / patterns to load in the browser - files: [ - 'dist/debug.js', - 'test/*spec.js' - ], - - - // list of files to exclude - exclude: [ - 'src/node.js' - ], - - - // preprocess matching files before serving them to the browser - // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor - preprocessors: { - }, - - // test results reporter to use - // possible values: 'dots', 'progress' - // available reporters: https://npmjs.org/browse/keyword/karma-reporter - reporters: ['progress'], - - - // web server port - port: 9876, - - - // enable / disable colors in the output (reporters and logs) - colors: true, - - - // level of logging - // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG - logLevel: config.LOG_INFO, - - - // enable / disable watching file and executing tests whenever any file changes - autoWatch: true, - - - // start these browsers - // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher - browsers: ['PhantomJS'], - - - // Continuous Integration mode - // if true, Karma captures browsers, runs the tests and exits - singleRun: false, - - // Concurrency level - // how many browser should be started simultaneous - concurrency: Infinity - }) -} diff --git a/node_modules/debug/node.js b/node_modules/debug/node.js deleted file mode 100644 index 7fc36fe..0000000 --- a/node_modules/debug/node.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./src/node'); diff --git a/node_modules/debug/package.json b/node_modules/debug/package.json deleted file mode 100644 index 315d813..0000000 --- a/node_modules/debug/package.json +++ /dev/null @@ -1,126 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "debug@^2.2.0", - "scope": null, - "escapedName": "debug", - "name": "debug", - "rawSpec": "^2.2.0", - "spec": ">=2.2.0 <3.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/log4js" - ] - ], - "_cnpm_publish_time": 1489463434042, - "_from": "debug@>=2.2.0 <3.0.0", - "_id": "debug@2.6.3", - "_inCache": true, - "_installable": true, - "_location": "/debug", - "_nodeVersion": "6.9.2", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/debug-2.6.3.tgz_1489463433800_0.9440390267409384" - }, - "_npmUser": { - "name": "thebigredgeek", - "email": "rhyneandrew@gmail.com" - }, - "_npmVersion": "3.10.9", - "_phantomChildren": {}, - "_requested": { - "raw": "debug@^2.2.0", - "scope": null, - "escapedName": "debug", - "name": "debug", - "rawSpec": "^2.2.0", - "spec": ">=2.2.0 <3.0.0", - "type": "range" - }, - "_requiredBy": [ - "/log4js" - ], - "_resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.3.tgz", - "_shasum": "0f7eb8c30965ec08c72accfa0130c8b79984141d", - "_shrinkwrap": null, - "_spec": "debug@^2.2.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/log4js", - "author": { - "name": "TJ Holowaychuk", - "email": "tj@vision-media.ca" - }, - "browser": "./src/browser.js", - "bugs": { - "url": "https://github.com/visionmedia/debug/issues" - }, - "component": { - "scripts": { - "debug/index.js": "browser.js", - "debug/debug.js": "debug.js" - } - }, - "contributors": [ - { - "name": "Nathan Rajlich", - "email": "nathan@tootallnate.net", - "url": "http://n8.io" - }, - { - "name": "Andrew Rhyne", - "email": "rhyneandrew@gmail.com" - } - ], - "dependencies": { - "ms": "0.7.2" - }, - "description": "small debugging utility", - "devDependencies": { - "browserify": "9.0.3", - "chai": "^3.5.0", - "concurrently": "^3.1.0", - "coveralls": "^2.11.15", - "eslint": "^3.12.1", - "istanbul": "^0.4.5", - "karma": "^1.3.0", - "karma-chai": "^0.1.0", - "karma-mocha": "^1.3.0", - "karma-phantomjs-launcher": "^1.0.2", - "karma-sinon": "^1.0.5", - "mocha": "^3.2.0", - "mocha-lcov-reporter": "^1.2.0", - "rimraf": "^2.5.4", - "sinon": "^1.17.6", - "sinon-chai": "^2.8.0" - }, - "directories": {}, - "dist": { - "shasum": "0f7eb8c30965ec08c72accfa0130c8b79984141d", - "tarball": "https://registry.npmjs.org/debug/-/debug-2.6.3.tgz" - }, - "gitHead": "9dc30f8378cc12192635cc6a31f0d96bb39be8bb", - "homepage": "https://github.com/visionmedia/debug#readme", - "keywords": [ - "debug", - "log", - "debugger" - ], - "license": "MIT", - "main": "./src/index.js", - "maintainers": [ - { - "name": "thebigredgeek", - "email": "rhyneandrew@gmail.com" - } - ], - "name": "debug", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/visionmedia/debug.git" - }, - "scripts": {}, - "version": "2.6.3" -} diff --git a/node_modules/debug/src/browser.js b/node_modules/debug/src/browser.js deleted file mode 100644 index e21c1e0..0000000 --- a/node_modules/debug/src/browser.js +++ /dev/null @@ -1,185 +0,0 @@ -/** - * This is the web browser implementation of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = require('./debug'); -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; -exports.storage = 'undefined' != typeof chrome - && 'undefined' != typeof chrome.storage - ? chrome.storage.local - : localstorage(); - -/** - * Colors. - */ - -exports.colors = [ - 'lightseagreen', - 'forestgreen', - 'goldenrod', - 'dodgerblue', - 'darkorchid', - 'crimson' -]; - -/** - * Currently only WebKit-based Web Inspectors, Firefox >= v31, - * and the Firebug extension (any Firefox version) are known - * to support "%c" CSS customizations. - * - * TODO: add a `localStorage` variable to explicitly enable/disable colors - */ - -function useColors() { - // NB: In an Electron preload script, document will be defined but not fully - // initialized. Since we know we're in Chrome, we'll just detect this case - // explicitly - if (typeof window !== 'undefined' && window && typeof window.process !== 'undefined' && window.process.type === 'renderer') { - return true; - } - - // is webkit? http://stackoverflow.com/a/16459606/376773 - // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 - return (typeof document !== 'undefined' && document && 'WebkitAppearance' in document.documentElement.style) || - // is firebug? http://stackoverflow.com/a/398120/376773 - (typeof window !== 'undefined' && window && window.console && (console.firebug || (console.exception && console.table))) || - // is firefox >= v31? - // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages - (typeof navigator !== 'undefined' && navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || - // double check webkit in userAgent just in case we are in a worker - (typeof navigator !== 'undefined' && navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); -} - -/** - * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. - */ - -exports.formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (err) { - return '[UnexpectedJSONParseError]: ' + err.message; - } -}; - - -/** - * Colorize log arguments if enabled. - * - * @api public - */ - -function formatArgs(args) { - var useColors = this.useColors; - - args[0] = (useColors ? '%c' : '') - + this.namespace - + (useColors ? ' %c' : ' ') - + args[0] - + (useColors ? '%c ' : ' ') - + '+' + exports.humanize(this.diff); - - if (!useColors) return; - - var c = 'color: ' + this.color; - args.splice(1, 0, c, 'color: inherit') - - // the final "%c" is somewhat tricky, because there could be other - // arguments passed either before or after the %c, so we need to - // figure out the correct index to insert the CSS into - var index = 0; - var lastC = 0; - args[0].replace(/%[a-zA-Z%]/g, function(match) { - if ('%%' === match) return; - index++; - if ('%c' === match) { - // we only are interested in the *last* %c - // (the user may have provided their own) - lastC = index; - } - }); - - args.splice(lastC, 0, c); -} - -/** - * Invokes `console.log()` when available. - * No-op when `console.log` is not a "function". - * - * @api public - */ - -function log() { - // this hackery is required for IE8/9, where - // the `console.log` function doesn't have 'apply' - return 'object' === typeof console - && console.log - && Function.prototype.apply.call(console.log, console, arguments); -} - -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ - -function save(namespaces) { - try { - if (null == namespaces) { - exports.storage.removeItem('debug'); - } else { - exports.storage.debug = namespaces; - } - } catch(e) {} -} - -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ - -function load() { - var r; - try { - r = exports.storage.debug; - } catch(e) {} - - // If debug isn't set in LS, and we're in Electron, try to load $DEBUG - if (!r && typeof process !== 'undefined' && 'env' in process) { - r = process.env.DEBUG; - } - - return r; -} - -/** - * Enable namespaces listed in `localStorage.debug` initially. - */ - -exports.enable(load()); - -/** - * Localstorage attempts to return the localstorage. - * - * This is necessary because safari throws - * when a user disables cookies/localstorage - * and you attempt to access it. - * - * @return {LocalStorage} - * @api private - */ - -function localstorage() { - try { - return window.localStorage; - } catch (e) {} -} diff --git a/node_modules/debug/src/debug.js b/node_modules/debug/src/debug.js deleted file mode 100644 index d5d6d16..0000000 --- a/node_modules/debug/src/debug.js +++ /dev/null @@ -1,202 +0,0 @@ - -/** - * This is the common logic for both the Node.js and web browser - * implementations of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; -exports.coerce = coerce; -exports.disable = disable; -exports.enable = enable; -exports.enabled = enabled; -exports.humanize = require('ms'); - -/** - * The currently active debug mode names, and names to skip. - */ - -exports.names = []; -exports.skips = []; - -/** - * Map of special "%n" handling functions, for the debug "format" argument. - * - * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". - */ - -exports.formatters = {}; - -/** - * Previous log timestamp. - */ - -var prevTime; - -/** - * Select a color. - * @param {String} namespace - * @return {Number} - * @api private - */ - -function selectColor(namespace) { - var hash = 0, i; - - for (i in namespace) { - hash = ((hash << 5) - hash) + namespace.charCodeAt(i); - hash |= 0; // Convert to 32bit integer - } - - return exports.colors[Math.abs(hash) % exports.colors.length]; -} - -/** - * Create a debugger with the given `namespace`. - * - * @param {String} namespace - * @return {Function} - * @api public - */ - -function createDebug(namespace) { - - function debug() { - // disabled? - if (!debug.enabled) return; - - var self = debug; - - // set `diff` timestamp - var curr = +new Date(); - var ms = curr - (prevTime || curr); - self.diff = ms; - self.prev = prevTime; - self.curr = curr; - prevTime = curr; - - // turn the `arguments` into a proper Array - var args = new Array(arguments.length); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; - } - - args[0] = exports.coerce(args[0]); - - if ('string' !== typeof args[0]) { - // anything else let's inspect with %O - args.unshift('%O'); - } - - // apply any `formatters` transformations - var index = 0; - args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { - // if we encounter an escaped % then don't increase the array index - if (match === '%%') return match; - index++; - var formatter = exports.formatters[format]; - if ('function' === typeof formatter) { - var val = args[index]; - match = formatter.call(self, val); - - // now we need to remove `args[index]` since it's inlined in the `format` - args.splice(index, 1); - index--; - } - return match; - }); - - // apply env-specific formatting (colors, etc.) - exports.formatArgs.call(self, args); - - var logFn = debug.log || exports.log || console.log.bind(console); - logFn.apply(self, args); - } - - debug.namespace = namespace; - debug.enabled = exports.enabled(namespace); - debug.useColors = exports.useColors(); - debug.color = selectColor(namespace); - - // env-specific initialization logic for debug instances - if ('function' === typeof exports.init) { - exports.init(debug); - } - - return debug; -} - -/** - * Enables a debug mode by namespaces. This can include modes - * separated by a colon and wildcards. - * - * @param {String} namespaces - * @api public - */ - -function enable(namespaces) { - exports.save(namespaces); - - exports.names = []; - exports.skips = []; - - var split = (namespaces || '').split(/[\s,]+/); - var len = split.length; - - for (var i = 0; i < len; i++) { - if (!split[i]) continue; // ignore empty strings - namespaces = split[i].replace(/\*/g, '.*?'); - if (namespaces[0] === '-') { - exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); - } else { - exports.names.push(new RegExp('^' + namespaces + '$')); - } - } -} - -/** - * Disable debug output. - * - * @api public - */ - -function disable() { - exports.enable(''); -} - -/** - * Returns true if the given mode name is enabled, false otherwise. - * - * @param {String} name - * @return {Boolean} - * @api public - */ - -function enabled(name) { - var i, len; - for (i = 0, len = exports.skips.length; i < len; i++) { - if (exports.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = exports.names.length; i < len; i++) { - if (exports.names[i].test(name)) { - return true; - } - } - return false; -} - -/** - * Coerce `val`. - * - * @param {Mixed} val - * @return {Mixed} - * @api private - */ - -function coerce(val) { - if (val instanceof Error) return val.stack || val.message; - return val; -} diff --git a/node_modules/debug/src/index.js b/node_modules/debug/src/index.js deleted file mode 100644 index e12cf4d..0000000 --- a/node_modules/debug/src/index.js +++ /dev/null @@ -1,10 +0,0 @@ -/** - * Detect Electron renderer process, which is node, but we should - * treat as a browser. - */ - -if (typeof process !== 'undefined' && process.type === 'renderer') { - module.exports = require('./browser.js'); -} else { - module.exports = require('./node.js'); -} diff --git a/node_modules/debug/src/node.js b/node_modules/debug/src/node.js deleted file mode 100644 index 3c7407b..0000000 --- a/node_modules/debug/src/node.js +++ /dev/null @@ -1,241 +0,0 @@ -/** - * Module dependencies. - */ - -var tty = require('tty'); -var util = require('util'); - -/** - * This is the Node.js implementation of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = require('./debug'); -exports.init = init; -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; - -/** - * Colors. - */ - -exports.colors = [6, 2, 3, 4, 5, 1]; - -/** - * Build up the default `inspectOpts` object from the environment variables. - * - * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js - */ - -exports.inspectOpts = Object.keys(process.env).filter(function (key) { - return /^debug_/i.test(key); -}).reduce(function (obj, key) { - // camel-case - var prop = key - .substring(6) - .toLowerCase() - .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() }); - - // coerce string value into JS value - var val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) val = true; - else if (/^(no|off|false|disabled)$/i.test(val)) val = false; - else if (val === 'null') val = null; - else val = Number(val); - - obj[prop] = val; - return obj; -}, {}); - -/** - * The file descriptor to write the `debug()` calls to. - * Set the `DEBUG_FD` env variable to override with another value. i.e.: - * - * $ DEBUG_FD=3 node script.js 3>debug.log - */ - -var fd = parseInt(process.env.DEBUG_FD, 10) || 2; - -if (1 !== fd && 2 !== fd) { - util.deprecate(function(){}, 'except for stderr(2) and stdout(1), any other usage of DEBUG_FD is deprecated. Override debug.log if you want to use a different log function (https://git.io/debug_fd)')() -} - -var stream = 1 === fd ? process.stdout : - 2 === fd ? process.stderr : - createWritableStdioStream(fd); - -/** - * Is stdout a TTY? Colored output is enabled when `true`. - */ - -function useColors() { - return 'colors' in exports.inspectOpts - ? Boolean(exports.inspectOpts.colors) - : tty.isatty(fd); -} - -/** - * Map %o to `util.inspect()`, all on a single line. - */ - -exports.formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts) - .replace(/\s*\n\s*/g, ' '); -}; - -/** - * Map %o to `util.inspect()`, allowing multiple lines if needed. - */ - -exports.formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts); -}; - -/** - * Adds ANSI color escape codes if enabled. - * - * @api public - */ - -function formatArgs(args) { - var name = this.namespace; - var useColors = this.useColors; - - if (useColors) { - var c = this.color; - var prefix = ' \u001b[3' + c + ';1m' + name + ' ' + '\u001b[0m'; - - args[0] = prefix + args[0].split('\n').join('\n' + prefix); - args.push('\u001b[3' + c + 'm+' + exports.humanize(this.diff) + '\u001b[0m'); - } else { - args[0] = new Date().toUTCString() - + ' ' + name + ' ' + args[0]; - } -} - -/** - * Invokes `util.format()` with the specified arguments and writes to `stream`. - */ - -function log() { - return stream.write(util.format.apply(util, arguments) + '\n'); -} - -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ - -function save(namespaces) { - if (null == namespaces) { - // If you set a process.env field to null or undefined, it gets cast to the - // string 'null' or 'undefined'. Just delete instead. - delete process.env.DEBUG; - } else { - process.env.DEBUG = namespaces; - } -} - -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ - -function load() { - return process.env.DEBUG; -} - -/** - * Copied from `node/src/node.js`. - * - * XXX: It's lame that node doesn't expose this API out-of-the-box. It also - * relies on the undocumented `tty_wrap.guessHandleType()` which is also lame. - */ - -function createWritableStdioStream (fd) { - var stream; - var tty_wrap = process.binding('tty_wrap'); - - // Note stream._type is used for test-module-load-list.js - - switch (tty_wrap.guessHandleType(fd)) { - case 'TTY': - stream = new tty.WriteStream(fd); - stream._type = 'tty'; - - // Hack to have stream not keep the event loop alive. - // See https://github.com/joyent/node/issues/1726 - if (stream._handle && stream._handle.unref) { - stream._handle.unref(); - } - break; - - case 'FILE': - var fs = require('fs'); - stream = new fs.SyncWriteStream(fd, { autoClose: false }); - stream._type = 'fs'; - break; - - case 'PIPE': - case 'TCP': - var net = require('net'); - stream = new net.Socket({ - fd: fd, - readable: false, - writable: true - }); - - // FIXME Should probably have an option in net.Socket to create a - // stream from an existing fd which is writable only. But for now - // we'll just add this hack and set the `readable` member to false. - // Test: ./node test/fixtures/echo.js < /etc/passwd - stream.readable = false; - stream.read = null; - stream._type = 'pipe'; - - // FIXME Hack to have stream not keep the event loop alive. - // See https://github.com/joyent/node/issues/1726 - if (stream._handle && stream._handle.unref) { - stream._handle.unref(); - } - break; - - default: - // Probably an error on in uv_guess_handle() - throw new Error('Implement me. Unknown stream file type!'); - } - - // For supporting legacy API we put the FD here. - stream.fd = fd; - - stream._isStdio = true; - - return stream; -} - -/** - * Init logic for `debug` instances. - * - * Create a new `inspectOpts` object in case `useColors` is set - * differently for a particular `debug` instance. - */ - -function init (debug) { - debug.inspectOpts = util._extend({}, exports.inspectOpts); -} - -/** - * Enable namespaces listed in `process.env.DEBUG` initially. - */ - -exports.enable(load()); diff --git a/node_modules/deep-extend/CHANGELOG.md b/node_modules/deep-extend/CHANGELOG.md deleted file mode 100644 index f3efe0b..0000000 --- a/node_modules/deep-extend/CHANGELOG.md +++ /dev/null @@ -1,21 +0,0 @@ -Changelog -========= - -v0.4.1 ------- - -- Removed test code from npm package - ([see pull request #21](https://github.com/unclechu/node-deep-extend/pull/21)); -- Increased minimal version of Node from 0.4.0 to 0.12.0 - (because can't run tests on lesser version anyway). - -v0.4.0 ------- - -Broken backward compatibility with v0.3.x - -- Fixed bug with extending arrays instead of cloning; -- Deep cloning for arrays; -- Check for own property; -- Fixed some documentation issues; -- Strict JS mode. diff --git a/node_modules/deep-extend/LICENSE b/node_modules/deep-extend/LICENSE deleted file mode 100644 index acc4662..0000000 --- a/node_modules/deep-extend/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013-2015, Viacheslav Lotsmanov - -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. diff --git a/node_modules/deep-extend/README.md b/node_modules/deep-extend/README.md deleted file mode 100644 index cc17c9c..0000000 --- a/node_modules/deep-extend/README.md +++ /dev/null @@ -1,90 +0,0 @@ -Deep Extend -=========== - -Recursive object extending. - -[![NPM](https://nodei.co/npm/deep-extend.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/deep-extend/) -[![NPM](https://nodei.co/npm-dl/deep-extend.png?height=3)](https://nodei.co/npm/deep-extend/) - -Install -------- - -```bash -$ npm install deep-extend -``` - -Usage ------ - -```javascript -var deepExtend = require('deep-extend'); -var obj1 = { - a: 1, - b: 2, - d: { - a: 1, - b: [], - c: { test1: 123, test2: 321 } - }, - f: 5, - g: 123, - i: 321, - j: [1, 2] -}; -var obj2 = { - b: 3, - c: 5, - d: { - b: { first: 'one', second: 'two' }, - c: { test2: 222 } - }, - e: { one: 1, two: 2 }, - f: [], - g: (void 0), - h: /abc/g, - i: null, - j: [3, 4] -}; - -deepExtend(obj1, obj2); - -console.log(obj1); -/* -{ a: 1, - b: 3, - d: - { a: 1, - b: { first: 'one', second: 'two' }, - c: { test1: 123, test2: 222 } }, - f: null, - g: undefined, - c: 5, - e: { one: 1, two: 2 }, - h: /abc/g, - i: null, - j: [3, 4] } -*/ -``` - -Unit testing ------------- - -```bash -$ npm test -``` - -Changelog ---------- - -[CHANGELOG.md](./CHANGELOG.md) - -Any issues? ------------ - -Please, report about issues -[here](https://github.com/unclechu/node-deep-extend/issues). - -License -------- - -[MIT](./LICENSE) diff --git a/node_modules/deep-extend/index.js b/node_modules/deep-extend/index.js deleted file mode 100644 index 762d81e..0000000 --- a/node_modules/deep-extend/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./lib/deep-extend'); diff --git a/node_modules/deep-extend/lib/deep-extend.js b/node_modules/deep-extend/lib/deep-extend.js deleted file mode 100644 index 522461d..0000000 --- a/node_modules/deep-extend/lib/deep-extend.js +++ /dev/null @@ -1,144 +0,0 @@ -/*! - * @description Recursive object extending - * @author Viacheslav Lotsmanov - * @license MIT - * - * The MIT License (MIT) - * - * Copyright (c) 2013-2015 Viacheslav Lotsmanov - * - * 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. - */ - -'use strict'; - -function isSpecificValue(val) { - return ( - val instanceof Buffer - || val instanceof Date - || val instanceof RegExp - ) ? true : false; -} - -function cloneSpecificValue(val) { - if (val instanceof Buffer) { - var x = new Buffer(val.length); - val.copy(x); - return x; - } else if (val instanceof Date) { - return new Date(val.getTime()); - } else if (val instanceof RegExp) { - return new RegExp(val); - } else { - throw new Error('Unexpected situation'); - } -} - -/** - * Recursive cloning array. - */ -function deepCloneArray(arr) { - var clone = []; - arr.forEach(function (item, index) { - if (typeof item === 'object' && item !== null) { - if (Array.isArray(item)) { - clone[index] = deepCloneArray(item); - } else if (isSpecificValue(item)) { - clone[index] = cloneSpecificValue(item); - } else { - clone[index] = deepExtend({}, item); - } - } else { - clone[index] = item; - } - }); - return clone; -} - -/** - * Extening object that entered in first argument. - * - * Returns extended object or false if have no target object or incorrect type. - * - * If you wish to clone source object (without modify it), just use empty new - * object as first argument, like this: - * deepExtend({}, yourObj_1, [yourObj_N]); - */ -var deepExtend = module.exports = function (/*obj_1, [obj_2], [obj_N]*/) { - if (arguments.length < 1 || typeof arguments[0] !== 'object') { - return false; - } - - if (arguments.length < 2) { - return arguments[0]; - } - - var target = arguments[0]; - - // convert arguments to array and cut off target object - var args = Array.prototype.slice.call(arguments, 1); - - var val, src, clone; - - args.forEach(function (obj) { - // skip argument if it is array or isn't object - if (typeof obj !== 'object' || Array.isArray(obj)) { - return; - } - - Object.keys(obj).forEach(function (key) { - src = target[key]; // source value - val = obj[key]; // new value - - // recursion prevention - if (val === target) { - return; - - /** - * if new value isn't object then just overwrite by new value - * instead of extending. - */ - } else if (typeof val !== 'object' || val === null) { - target[key] = val; - return; - - // just clone arrays (and recursive clone objects inside) - } else if (Array.isArray(val)) { - target[key] = deepCloneArray(val); - return; - - // custom cloning and overwrite for specific objects - } else if (isSpecificValue(val)) { - target[key] = cloneSpecificValue(val); - return; - - // overwrite by new value if source isn't object or array - } else if (typeof src !== 'object' || src === null || Array.isArray(src)) { - target[key] = deepExtend({}, val); - return; - - // source value and new value is objects both, extending... - } else { - target[key] = deepExtend(src, val); - return; - } - }); - }); - - return target; -} diff --git a/node_modules/deep-extend/package.json b/node_modules/deep-extend/package.json deleted file mode 100644 index f6e0add..0000000 --- a/node_modules/deep-extend/package.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "deep-extend@~0.4.0", - "scope": null, - "escapedName": "deep-extend", - "name": "deep-extend", - "rawSpec": "~0.4.0", - "spec": ">=0.4.0 <0.5.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/rc" - ] - ], - "_from": "deep-extend@>=0.4.0 <0.5.0", - "_id": "deep-extend@0.4.1", - "_inCache": true, - "_installable": true, - "_location": "/deep-extend", - "_nodeVersion": "0.12.0", - "_npmUser": { - "name": "unclechu", - "email": "lotsmanov89@gmail.com" - }, - "_npmVersion": "2.5.1", - "_phantomChildren": {}, - "_requested": { - "raw": "deep-extend@~0.4.0", - "scope": null, - "escapedName": "deep-extend", - "name": "deep-extend", - "rawSpec": "~0.4.0", - "spec": ">=0.4.0 <0.5.0", - "type": "range" - }, - "_requiredBy": [ - "/rc" - ], - "_resolved": "http://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz", - "_shasum": "efe4113d08085f4e6f9687759810f807469e2253", - "_shrinkwrap": null, - "_spec": "deep-extend@~0.4.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/rc", - "author": { - "name": "Viacheslav Lotsmanov", - "email": "lotsmanov89@gmail.com" - }, - "bugs": { - "url": "https://github.com/unclechu/node-deep-extend/issues" - }, - "contributors": [ - { - "name": "Romain Prieto", - "url": "https://github.com/rprieto" - }, - { - "name": "Max Maximov", - "url": "https://github.com/maxmaximov" - } - ], - "dependencies": {}, - "description": "Recursive object extending", - "devDependencies": { - "mocha": "^2.2.1", - "should": "^5.2.0" - }, - "directories": { - "lib": "./lib/", - "test": "./test/" - }, - "dist": { - "shasum": "efe4113d08085f4e6f9687759810f807469e2253", - "tarball": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz" - }, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.12.0" - }, - "files": [ - "lib/deep-extend.js", - "index.js" - ], - "gitHead": "08e39356bba769744c669eb219a31fee07decd19", - "homepage": "https://github.com/unclechu/node-deep-extend", - "keywords": [ - "deep-extend", - "extend", - "deep", - "recursive", - "xtend", - "clone", - "merge", - "json" - ], - "license": "MIT", - "licenses": [ - { - "type": "MIT", - "url": "https://raw.githubusercontent.com/unclechu/node-deep-extend/master/LICENSE" - } - ], - "main": "lib/deep-extend.js", - "maintainers": [ - { - "name": "unclechu", - "email": "lotsmanov89@gmail.com" - } - ], - "name": "deep-extend", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/unclechu/node-deep-extend.git" - }, - "scripts": { - "test": "mocha" - }, - "version": "0.4.1" -} diff --git a/node_modules/delegates/.npmignore b/node_modules/delegates/.npmignore deleted file mode 100644 index c2658d7..0000000 --- a/node_modules/delegates/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules/ diff --git a/node_modules/delegates/History.md b/node_modules/delegates/History.md deleted file mode 100644 index 25959ea..0000000 --- a/node_modules/delegates/History.md +++ /dev/null @@ -1,22 +0,0 @@ - -1.0.0 / 2015-12-14 -================== - - * Merge pull request #12 from kasicka/master - * Add license text - -0.1.0 / 2014-10-17 -================== - - * adds `.fluent()` to api - -0.0.3 / 2014-01-13 -================== - - * fix receiver for .method() - -0.0.2 / 2014-01-13 -================== - - * Object.defineProperty() sucks - * Initial commit diff --git a/node_modules/delegates/License b/node_modules/delegates/License deleted file mode 100644 index 60de60a..0000000 --- a/node_modules/delegates/License +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2015 TJ Holowaychuk - -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. diff --git a/node_modules/delegates/Makefile b/node_modules/delegates/Makefile deleted file mode 100644 index a9dcfd5..0000000 --- a/node_modules/delegates/Makefile +++ /dev/null @@ -1,8 +0,0 @@ - -test: - @./node_modules/.bin/mocha \ - --require should \ - --reporter spec \ - --bail - -.PHONY: test \ No newline at end of file diff --git a/node_modules/delegates/Readme.md b/node_modules/delegates/Readme.md deleted file mode 100644 index ab8cf4a..0000000 --- a/node_modules/delegates/Readme.md +++ /dev/null @@ -1,94 +0,0 @@ - -# delegates - - Node method and accessor delegation utilty. - -## Installation - -``` -$ npm install delegates -``` - -## Example - -```js -var delegate = require('delegates'); - -... - -delegate(proto, 'request') - .method('acceptsLanguages') - .method('acceptsEncodings') - .method('acceptsCharsets') - .method('accepts') - .method('is') - .access('querystring') - .access('idempotent') - .access('socket') - .access('length') - .access('query') - .access('search') - .access('status') - .access('method') - .access('path') - .access('body') - .access('host') - .access('url') - .getter('subdomains') - .getter('protocol') - .getter('header') - .getter('stale') - .getter('fresh') - .getter('secure') - .getter('ips') - .getter('ip') -``` - -# API - -## Delegate(proto, prop) - -Creates a delegator instance used to configure using the `prop` on the given -`proto` object. (which is usually a prototype) - -## Delegate#method(name) - -Allows the given method `name` to be accessed on the host. - -## Delegate#getter(name) - -Creates a "getter" for the property with the given `name` on the delegated -object. - -## Delegate#setter(name) - -Creates a "setter" for the property with the given `name` on the delegated -object. - -## Delegate#access(name) - -Creates an "accessor" (ie: both getter *and* setter) for the property with the -given `name` on the delegated object. - -## Delegate#fluent(name) - -A unique type of "accessor" that works for a "fluent" API. When called as a -getter, the method returns the expected value. However, if the method is called -with a value, it will return itself so it can be chained. For example: - -```js -delegate(proto, 'request') - .fluent('query') - -// getter -var q = request.query(); - -// setter (chainable) -request - .query({ a: 1 }) - .query({ b: 2 }); -``` - -# License - - MIT diff --git a/node_modules/delegates/index.js b/node_modules/delegates/index.js deleted file mode 100644 index 17c222d..0000000 --- a/node_modules/delegates/index.js +++ /dev/null @@ -1,121 +0,0 @@ - -/** - * Expose `Delegator`. - */ - -module.exports = Delegator; - -/** - * Initialize a delegator. - * - * @param {Object} proto - * @param {String} target - * @api public - */ - -function Delegator(proto, target) { - if (!(this instanceof Delegator)) return new Delegator(proto, target); - this.proto = proto; - this.target = target; - this.methods = []; - this.getters = []; - this.setters = []; - this.fluents = []; -} - -/** - * Delegate method `name`. - * - * @param {String} name - * @return {Delegator} self - * @api public - */ - -Delegator.prototype.method = function(name){ - var proto = this.proto; - var target = this.target; - this.methods.push(name); - - proto[name] = function(){ - return this[target][name].apply(this[target], arguments); - }; - - return this; -}; - -/** - * Delegator accessor `name`. - * - * @param {String} name - * @return {Delegator} self - * @api public - */ - -Delegator.prototype.access = function(name){ - return this.getter(name).setter(name); -}; - -/** - * Delegator getter `name`. - * - * @param {String} name - * @return {Delegator} self - * @api public - */ - -Delegator.prototype.getter = function(name){ - var proto = this.proto; - var target = this.target; - this.getters.push(name); - - proto.__defineGetter__(name, function(){ - return this[target][name]; - }); - - return this; -}; - -/** - * Delegator setter `name`. - * - * @param {String} name - * @return {Delegator} self - * @api public - */ - -Delegator.prototype.setter = function(name){ - var proto = this.proto; - var target = this.target; - this.setters.push(name); - - proto.__defineSetter__(name, function(val){ - return this[target][name] = val; - }); - - return this; -}; - -/** - * Delegator fluent accessor - * - * @param {String} name - * @return {Delegator} self - * @api public - */ - -Delegator.prototype.fluent = function (name) { - var proto = this.proto; - var target = this.target; - this.fluents.push(name); - - proto[name] = function(val){ - if ('undefined' != typeof val) { - this[target][name] = val; - return this; - } else { - return this[target][name]; - } - }; - - return this; -}; diff --git a/node_modules/delegates/package.json b/node_modules/delegates/package.json deleted file mode 100644 index 075a807..0000000 --- a/node_modules/delegates/package.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "delegates@^1.0.0", - "scope": null, - "escapedName": "delegates", - "name": "delegates", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/are-we-there-yet" - ] - ], - "_from": "delegates@>=1.0.0 <2.0.0", - "_id": "delegates@1.0.0", - "_inCache": true, - "_installable": true, - "_location": "/delegates", - "_nodeVersion": "4.2.1", - "_npmUser": { - "name": "tjholowaychuk", - "email": "tj@vision-media.ca" - }, - "_npmVersion": "3.3.12", - "_phantomChildren": {}, - "_requested": { - "raw": "delegates@^1.0.0", - "scope": null, - "escapedName": "delegates", - "name": "delegates", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/are-we-there-yet" - ], - "_resolved": "http://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "_shasum": "84c6e159b81904fdca59a0ef44cd870d31250f9a", - "_shrinkwrap": null, - "_spec": "delegates@^1.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/are-we-there-yet", - "bugs": { - "url": "https://github.com/visionmedia/node-delegates/issues" - }, - "dependencies": {}, - "description": "delegate methods and accessors to another property", - "devDependencies": { - "mocha": "*", - "should": "*" - }, - "directories": {}, - "dist": { - "shasum": "84c6e159b81904fdca59a0ef44cd870d31250f9a", - "tarball": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" - }, - "gitHead": "c4dc07ef1ed51c2b2a63f3585e5ef949ee577a49", - "homepage": "https://github.com/visionmedia/node-delegates#readme", - "keywords": [ - "delegate", - "delegation" - ], - "license": "MIT", - "maintainers": [ - { - "name": "tjholowaychuk", - "email": "tj@vision-media.ca" - }, - { - "name": "dominicbarnes", - "email": "dominic@dbarnes.info" - } - ], - "name": "delegates", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/visionmedia/node-delegates.git" - }, - "scripts": {}, - "version": "1.0.0" -} diff --git a/node_modules/delegates/test/index.js b/node_modules/delegates/test/index.js deleted file mode 100644 index 7b6e3d4..0000000 --- a/node_modules/delegates/test/index.js +++ /dev/null @@ -1,94 +0,0 @@ - -var assert = require('assert'); -var delegate = require('..'); - -describe('.method(name)', function(){ - it('should delegate methods', function(){ - var obj = {}; - - obj.request = { - foo: function(bar){ - assert(this == obj.request); - return bar; - } - }; - - delegate(obj, 'request').method('foo'); - - obj.foo('something').should.equal('something'); - }) -}) - -describe('.getter(name)', function(){ - it('should delegate getters', function(){ - var obj = {}; - - obj.request = { - get type() { - return 'text/html'; - } - } - - delegate(obj, 'request').getter('type'); - - obj.type.should.equal('text/html'); - }) -}) - -describe('.setter(name)', function(){ - it('should delegate setters', function(){ - var obj = {}; - - obj.request = { - get type() { - return this._type.toUpperCase(); - }, - - set type(val) { - this._type = val; - } - } - - delegate(obj, 'request').setter('type'); - - obj.type = 'hey'; - obj.request.type.should.equal('HEY'); - }) -}) - -describe('.access(name)', function(){ - it('should delegate getters and setters', function(){ - var obj = {}; - - obj.request = { - get type() { - return this._type.toUpperCase(); - }, - - set type(val) { - this._type = val; - } - } - - delegate(obj, 'request').access('type'); - - obj.type = 'hey'; - obj.type.should.equal('HEY'); - }) -}) - -describe('.fluent(name)', function () { - it('should delegate in a fluent fashion', function () { - var obj = { - settings: { - env: 'development' - } - }; - - delegate(obj, 'settings').fluent('env'); - - obj.env().should.equal('development'); - obj.env('production').should.equal(obj); - obj.settings.env.should.equal('production'); - }) -}) diff --git a/node_modules/end-of-stream/LICENSE b/node_modules/end-of-stream/LICENSE deleted file mode 100644 index 757562e..0000000 --- a/node_modules/end-of-stream/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Mathias Buus - -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. \ No newline at end of file diff --git a/node_modules/end-of-stream/README.md b/node_modules/end-of-stream/README.md deleted file mode 100644 index f2560c9..0000000 --- a/node_modules/end-of-stream/README.md +++ /dev/null @@ -1,52 +0,0 @@ -# end-of-stream - -A node module that calls a callback when a readable/writable/duplex stream has completed or failed. - - npm install end-of-stream - -## Usage - -Simply pass a stream and a callback to the `eos`. -Both legacy streams, streams2 and stream3 are supported. - -``` js -var eos = require('end-of-stream'); - -eos(readableStream, function(err) { - // this will be set to the stream instance - if (err) return console.log('stream had an error or closed early'); - console.log('stream has ended', this === readableStream); -}); - -eos(writableStream, function(err) { - if (err) return console.log('stream had an error or closed early'); - console.log('stream has finished', this === writableStream); -}); - -eos(duplexStream, function(err) { - if (err) return console.log('stream had an error or closed early'); - console.log('stream has ended and finished', this === duplexStream); -}); - -eos(duplexStream, {readable:false}, function(err) { - if (err) return console.log('stream had an error or closed early'); - console.log('stream has finished but might still be readable'); -}); - -eos(duplexStream, {writable:false}, function(err) { - if (err) return console.log('stream had an error or closed early'); - console.log('stream has ended but might still be writable'); -}); - -eos(readableStream, {error:false}, function(err) { - // do not treat emit('error', err) as a end-of-stream -}); -``` - -## License - -MIT - -## Related - -`end-of-stream` is part of the [mississippi stream utility collection](https://github.com/maxogden/mississippi) which includes more useful stream modules similar to this one. diff --git a/node_modules/end-of-stream/index.js b/node_modules/end-of-stream/index.js deleted file mode 100644 index b3a9068..0000000 --- a/node_modules/end-of-stream/index.js +++ /dev/null @@ -1,83 +0,0 @@ -var once = require('once'); - -var noop = function() {}; - -var isRequest = function(stream) { - return stream.setHeader && typeof stream.abort === 'function'; -}; - -var isChildProcess = function(stream) { - return stream.stdio && Array.isArray(stream.stdio) && stream.stdio.length === 3 -}; - -var eos = function(stream, opts, callback) { - if (typeof opts === 'function') return eos(stream, null, opts); - if (!opts) opts = {}; - - callback = once(callback || noop); - - var ws = stream._writableState; - var rs = stream._readableState; - var readable = opts.readable || (opts.readable !== false && stream.readable); - var writable = opts.writable || (opts.writable !== false && stream.writable); - - var onlegacyfinish = function() { - if (!stream.writable) onfinish(); - }; - - var onfinish = function() { - writable = false; - if (!readable) callback.call(stream); - }; - - var onend = function() { - readable = false; - if (!writable) callback.call(stream); - }; - - var onexit = function(exitCode) { - callback.call(stream, exitCode ? new Error('exited with error code: ' + exitCode) : null); - }; - - var onclose = function() { - if (readable && !(rs && rs.ended)) return callback.call(stream, new Error('premature close')); - if (writable && !(ws && ws.ended)) return callback.call(stream, new Error('premature close')); - }; - - var onrequest = function() { - stream.req.on('finish', onfinish); - }; - - if (isRequest(stream)) { - stream.on('complete', onfinish); - stream.on('abort', onclose); - if (stream.req) onrequest(); - else stream.on('request', onrequest); - } else if (writable && !ws) { // legacy streams - stream.on('end', onlegacyfinish); - stream.on('close', onlegacyfinish); - } - - if (isChildProcess(stream)) stream.on('exit', onexit); - - stream.on('end', onend); - stream.on('finish', onfinish); - if (opts.error !== false) stream.on('error', callback); - stream.on('close', onclose); - - return function() { - stream.removeListener('complete', onfinish); - stream.removeListener('abort', onclose); - stream.removeListener('request', onrequest); - if (stream.req) stream.req.removeListener('finish', onfinish); - stream.removeListener('end', onlegacyfinish); - stream.removeListener('close', onlegacyfinish); - stream.removeListener('finish', onfinish); - stream.removeListener('exit', onexit); - stream.removeListener('end', onend); - stream.removeListener('error', callback); - stream.removeListener('close', onclose); - }; -}; - -module.exports = eos; diff --git a/node_modules/end-of-stream/package.json b/node_modules/end-of-stream/package.json deleted file mode 100644 index 0b32be6..0000000 --- a/node_modules/end-of-stream/package.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "end-of-stream@^1.1.0", - "scope": null, - "escapedName": "end-of-stream", - "name": "end-of-stream", - "rawSpec": "^1.1.0", - "spec": ">=1.1.0 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/pump" - ] - ], - "_cnpm_publish_time": 1489488044044, - "_from": "end-of-stream@>=1.1.0 <2.0.0", - "_id": "end-of-stream@1.4.0", - "_inCache": true, - "_installable": true, - "_location": "/end-of-stream", - "_nodeVersion": "6.9.5", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/end-of-stream-1.4.0.tgz_1489488042174_0.6194448405876756" - }, - "_npmUser": { - "name": "mafintosh", - "email": "mathiasbuus@gmail.com" - }, - "_npmVersion": "3.10.10", - "_phantomChildren": {}, - "_requested": { - "raw": "end-of-stream@^1.1.0", - "scope": null, - "escapedName": "end-of-stream", - "name": "end-of-stream", - "rawSpec": "^1.1.0", - "spec": ">=1.1.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/pump", - "/tar-stream" - ], - "_resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.0.tgz", - "_shasum": "7a90d833efda6cfa6eac0f4949dbb0fad3a63206", - "_shrinkwrap": null, - "_spec": "end-of-stream@^1.1.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/pump", - "author": { - "name": "Mathias Buus", - "email": "mathiasbuus@gmail.com" - }, - "bugs": { - "url": "https://github.com/mafintosh/end-of-stream/issues" - }, - "dependencies": { - "once": "^1.4.0" - }, - "description": "Call a callback when a readable/writable/duplex stream has completed or failed.", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "7a90d833efda6cfa6eac0f4949dbb0fad3a63206", - "tarball": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz" - }, - "files": [ - "index.js" - ], - "gitHead": "0ae1658b8167596fafbb9195363ada3bc5a3eaf2", - "homepage": "https://github.com/mafintosh/end-of-stream", - "keywords": [ - "stream", - "streams", - "callback", - "finish", - "close", - "end", - "wait" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "mafintosh", - "email": "mathiasbuus@gmail.com" - } - ], - "name": "end-of-stream", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/mafintosh/end-of-stream.git" - }, - "scripts": { - "test": "node test.js" - }, - "version": "1.4.0" -} diff --git a/node_modules/expand-template/.npmignore b/node_modules/expand-template/.npmignore deleted file mode 100644 index c2658d7..0000000 --- a/node_modules/expand-template/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules/ diff --git a/node_modules/expand-template/.travis.yml b/node_modules/expand-template/.travis.yml deleted file mode 100644 index aa58928..0000000 --- a/node_modules/expand-template/.travis.yml +++ /dev/null @@ -1,8 +0,0 @@ -sudo: false - -language: node_js - -node_js: - - '4' - - '0.12' - - '0.10' \ No newline at end of file diff --git a/node_modules/expand-template/README.md b/node_modules/expand-template/README.md deleted file mode 100644 index f30f65f..0000000 --- a/node_modules/expand-template/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# expand-template [![Build Status](https://travis-ci.org/ralphtheninja/expand-template.svg?branch=master)](https://travis-ci.org/ralphtheninja/expand-template) - -Expand placeholders in a template string. - -## Install - -``` -$ npm i expand-template -S -``` - -## Usage - -Default functionality expands templates using `{}` as separators for string placeholders. - -```js -var expand = require('expand-template')() -var template = '{foo}/{foo}/{bar}/{bar}' -console.log(expand(template, { - foo: 'BAR', - bar: 'FOO' -})) -// -> BAR/BAR/FOO/FOO -``` - -Custom separators: - -```js -var expand = require('expand-template')({ sep: '[]' }) -var template = '[foo]/[foo]/[bar]/[bar]' -console.log(expand(template, { - foo: 'BAR', - bar: 'FOO' -})) -// -> BAR/BAR/FOO/FOO -``` - -## License -All code, unless stated otherwise, is dual-licensed under [`WTFPL`](http://www.wtfpl.net/txt/copying/) and [`MIT`](https://opensource.org/licenses/MIT). diff --git a/node_modules/expand-template/index.js b/node_modules/expand-template/index.js deleted file mode 100644 index b735113..0000000 --- a/node_modules/expand-template/index.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = function (opts) { - opts = opts || { sep: '{}' } - - var left = opts.sep[0] - var right = opts.sep[1] - - return function (template, values) { - Object.keys(values).forEach(function (key) { - template = template.replace(regExp(key), values[key]) - }) - return template - } - - function regExp (key) { - return new RegExp('\\' + left + key + '\\' + right, 'g') - } -} diff --git a/node_modules/expand-template/package.json b/node_modules/expand-template/package.json deleted file mode 100644 index 688ec84..0000000 --- a/node_modules/expand-template/package.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "expand-template@^1.0.2", - "scope": null, - "escapedName": "expand-template", - "name": "expand-template", - "rawSpec": "^1.0.2", - "spec": ">=1.0.2 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install" - ] - ], - "_from": "expand-template@>=1.0.2 <2.0.0", - "_id": "expand-template@1.0.3", - "_inCache": true, - "_installable": true, - "_location": "/expand-template", - "_nodeVersion": "6.5.0", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/expand-template-1.0.3.tgz_1473836954066_0.04371993010863662" - }, - "_npmUser": { - "name": "ralphtheninja", - "email": "ralphtheninja@riseup.net" - }, - "_npmVersion": "3.10.3", - "_phantomChildren": {}, - "_requested": { - "raw": "expand-template@^1.0.2", - "scope": null, - "escapedName": "expand-template", - "name": "expand-template", - "rawSpec": "^1.0.2", - "spec": ">=1.0.2 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/prebuild-install" - ], - "_resolved": "http://registry.npmjs.org/expand-template/-/expand-template-1.0.3.tgz", - "_shasum": "6c303323177a62b1b22c070279f7861287b69b1a", - "_shrinkwrap": null, - "_spec": "expand-template@^1.0.2", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install", - "author": { - "name": "LM", - "email": "ralphtheninja@riseup.net" - }, - "bugs": { - "url": "https://github.com/ralphtheninja/expand-template/issues" - }, - "dependencies": {}, - "description": "Expand placeholders in a template string", - "devDependencies": { - "standard": "^5.3.1", - "tape": "^4.2.2" - }, - "directories": {}, - "dist": { - "shasum": "6c303323177a62b1b22c070279f7861287b69b1a", - "tarball": "https://registry.npmjs.org/expand-template/-/expand-template-1.0.3.tgz" - }, - "gitHead": "686c7929a144bba8e43934d396bfe6992ed4a832", - "homepage": "https://github.com/ralphtheninja/expand-template", - "keywords": [ - "template", - "expand", - "replace" - ], - "license": "WTFPL", - "main": "index.js", - "maintainers": [ - { - "name": "ralphtheninja", - "email": "ralphtheninja@riseup.net" - } - ], - "name": "expand-template", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/ralphtheninja/expand-template.git" - }, - "scripts": { - "test": "tape test.js && standard" - }, - "version": "1.0.3" -} diff --git a/node_modules/expand-template/test.js b/node_modules/expand-template/test.js deleted file mode 100644 index 6825ef6..0000000 --- a/node_modules/expand-template/test.js +++ /dev/null @@ -1,25 +0,0 @@ -var test = require('tape') -var Expand = require('./') - -test('default expands {} placeholders', function (t) { - var expand = Expand() - t.equal(typeof expand, 'function', 'is a function') - t.equal(expand('{foo}/{bar}', { - foo: 'BAR', bar: 'FOO' - }), 'BAR/FOO') - t.equal(expand('{foo}{foo}{foo}', { - foo: 'FOO' - }), 'FOOFOOFOO', 'expands one placeholder many times') - t.end() -}) - -test('support for custom separators', function (t) { - var expand = Expand({ sep: '[]' }) - t.equal(expand('[foo]/[bar]', { - foo: 'BAR', bar: 'FOO' - }), 'BAR/FOO') - t.equal(expand('[foo][foo][foo]', { - foo: 'FOO' - }), 'FOOFOOFOO', 'expands one placeholder many times') - t.end() -}) diff --git a/node_modules/gauge/CHANGELOG.md b/node_modules/gauge/CHANGELOG.md deleted file mode 100644 index a9df3aa..0000000 --- a/node_modules/gauge/CHANGELOG.md +++ /dev/null @@ -1,155 +0,0 @@ -### v2.7.3 - -* Only create our onExit handler when we're enabled and remove it when we're - disabled. This stops us from creating multiple onExit handlers when - multiple gauge objects are being used. -* Fix bug where if a theme name were given instead of a theme object, it - would crash. -* Remove supports-color because it's not actually used. Uhm. Yes, I just - updated it. >.> - -### v2.7.2 - -* Use supports-color instead of has-color (as the module has been renamed) - -### v2.7.1 - -* Bug fix: Calls to show/pulse while the progress bar is disabled should still - update our internal representation of what would be shown should it be enabled. - -### v2.7.0 - -* New feature: Add new `isEnabled` method to allow introspection of the gauge's - "enabledness" as controlled by `.enable()` and `.disable()`. - -### v2.6.0 - -* Bug fix: Don't run the code associated with `enable`/`disable` if the gauge - is already enabled or disabled respectively. This prevents leaking event - listeners, amongst other weirdness. -* New feature: Template items can have default values that will be used if no - value was otherwise passed in. - -### v2.5.3 - -* Default to `enabled` only if we have a tty. Users can always override - this by passing in the `enabled` option explicitly or by calling calling - `gauge.enable()`. - -### v2.5.2 - -* Externalized `./console-strings.js` into `console-control-strings`. - -### v2.5.1 - -* Update to `signal-exit@3.0.0`, which fixes a compatibility bug with the - node profiler. -* [#39](https://github.com/iarna/gauge/pull/39) Fix tests on 0.10 and add - a missing devDependency. ([@helloyou2012](https://github.com/helloyou2012)) - -### v2.5.0 - -* Add way to programmatically fetch a list of theme names in a themeset - (`Themeset.getThemeNames`). - -### v2.4.0 - -* Add support for setting themesets on existing gauge objects. -* Add post-IO callback to `gauge.hide()` as it is somtetimes necessary when - your terminal is interleaving output from multiple filehandles (ie, stdout - & stderr). - -### v2.3.1 - -* Fix a refactor bug in setTheme where it wasn't accepting the various types - of args it should. - -### v2.3.0 - -#### FEATURES - -* Add setTemplate & setTheme back in. -* Add support for named themes, you can now ask for things like 'colorASCII' - and 'brailleSpinner'. Of course, you can still pass in theme objects. - Additionally you can now pass in an object with `hasUnicode`, `hasColor` and - `platform` keys in order to override our guesses as to those values when - selecting a default theme from the themeset. -* Make the output stream optional (it defaults to `process.stderr` now). -* Add `setWriteTo(stream[, tty])` to change the output stream and, - optionally, tty. - -#### BUG FIXES & REFACTORING - -* Abort the display phase early if we're supposed to be hidden and we are. -* Stop printing a bunch of spaces at the end of lines, since we're already - using an erase-to-end-of-line code anyway. -* The unicode themes were missing the subsection separator. - -### v2.2.1 - -* Fix image in readme - -### v2.2.0 - -* All new themes API– reference themes by name and pass in custom themes and - themesets (themesets get platform support autodetection done on them to - select the best theme). Theme mixins let you add features to all existing - themes. -* Much, much improved test coverage. - -### v2.1.0 - -* Got rid of ░ in the default platform, noUnicode, hasColor theme. Thanks - to @yongtw123 for pointing out this had snuck in. -* Fiddled with the demo output to make it easier to see the spinner spin. Also - added prints before each platforms test output. -* I forgot to include `signal-exit` in our deps. <.< Thank you @KenanY for - finding this. Then I was lazy and made a new commit instead of using his - PR. Again, thank you for your patience @KenenY. -* Drastically speed up travis testing. -* Add a small javascript demo (demo.js) for showing off the various themes - (and testing them on diff platforms). -* Change: The subsection separator from ⁄ and / (different chars) to >. -* Fix crasher: A show or pulse without a label would cause the template renderer - to complain about a missing value. -* New feature: Add the ability to disable the clean-up-on-exit behavior. - Not something I expect to be widely desirable, but important if you have - multiple distinct gauge instances in your app. -* Use our own color support detection. - The `has-color` module proved too magic for my needs, making assumptions - as to which stream we write to and reading command line arguments. - -### v2.0.0 - -This is a major rewrite of the internals. Externally there are fewer -changes: - -* On node>0.8 gauge object now prints updates at a fixed rate. This means - that when you call `show` it may wate up to `updateInterval` ms before it - actually prints an update. You override this behavior with the - `fixedFramerate` option. -* The gauge object now keeps the cursor hidden as long as it's enabled and - shown. -* The constructor's arguments have changed, now it takes a mandatory output - stream and an optional options object. The stream no longer needs to be - an `ansi`ified stream, although it can be if you want (but we won't make - use of its special features). -* Previously the gauge was disabled by default if `process.stdout` wasn't a - tty. Now it always defaults to enabled. If you want the previous - behavior set the `enabled` option to `process.stdout.isTTY`. -* The constructor's options have changed– see the docs for details. -* Themes are entirely different. If you were using a custom theme, or - referring to one directly (eg via `Gauge.unicode` or `Gauge.ascii`) then - you'll need to change your code. You can get the equivalent of the latter - with: - ``` - var themes = require('gauge/themes') - var unicodeTheme = themes(true, true) // returns the color unicode theme for your platform - ``` - The default themes no longer use any ambiguous width characters, so even - if you choose to display those as wide your progress bar should still - display correctly. -* Templates are entirely different and if you were using a custom one, you - should consult the documentation to learn how to recreate it. If you were - using the default, be aware that it has changed and the result looks quite - a bit different. diff --git a/node_modules/gauge/LICENSE b/node_modules/gauge/LICENSE deleted file mode 100644 index e756052..0000000 --- a/node_modules/gauge/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright (c) 2014, Rebecca Turner - -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. diff --git a/node_modules/gauge/README.md b/node_modules/gauge/README.md deleted file mode 100644 index bdd60e3..0000000 --- a/node_modules/gauge/README.md +++ /dev/null @@ -1,399 +0,0 @@ -gauge -===== - -A nearly stateless terminal based horizontal gauge / progress bar. - -```javascript -var Gauge = require("gauge") - -var gauge = new Gauge() - -gauge.show("test", 0.20) - -gauge.pulse("this") - -gauge.hide() -``` - -![](gauge-demo.gif) - - -### CHANGES FROM 1.x - -Gauge 2.x is breaking release, please see the [changelog] for details on -what's changed if you were previously a user of this module. - -[changelog]: CHANGELOG.md - -### THE GAUGE CLASS - -This is the typical interface to the module– it provides a pretty -fire-and-forget interface to displaying your status information. - -``` -var Gauge = require("gauge") - -var gauge = new Gauge([stream], [options]) -``` - -* **stream** – *(optional, default STDERR)* A stream that progress bar - updates are to be written to. Gauge honors backpressure and will pause - most writing if it is indicated. -* **options** – *(optional)* An option object. - -Constructs a new gauge. Gauges are drawn on a single line, and are not drawn -if **stream** isn't a tty and a tty isn't explicitly provided. - -If **stream** is a terminal or if you pass in **tty** to **options** then we -will detect terminal resizes and redraw to fit. We do this by watching for -`resize` events on the tty. (To work around a bug in verisons of Node prior -to 2.5.0, we watch for them on stdout if the tty is stderr.) Resizes to -larger window sizes will be clean, but shrinking the window will always -result in some cruft. - -**IMPORTANT:** If you prevously were passing in a non-tty stream but you still -want output (for example, a stream wrapped by the `ansi` module) then you -need to pass in the **tty** option below, as `gauge` needs access to -the underlying tty in order to do things like terminal resizes and terminal -width detection. - -The **options** object can have the following properties, all of which are -optional: - -* **updateInterval**: How often gauge updates should be drawn, in miliseconds. -* **fixedFramerate**: Defaults to false on node 0.8, true on everything - else. When this is true a timer is created to trigger once every - `updateInterval` ms, when false, updates are printed as soon as they come - in but updates more often than `updateInterval` are ignored. The reason - 0.8 doesn't have this set to true is that it can't `unref` its timer and - so it would stop your program from exiting– if you want to use this - feature with 0.8 just make sure you call `gauge.disable()` before you - expect your program to exit. -* **themes**: A themeset to use when selecting the theme to use. Defaults - to `gauge/themes`, see the [themes] documentation for details. -* **theme**: Select a theme for use, it can be a: - * Theme object, in which case the **themes** is not used. - * The name of a theme, which will be looked up in the current *themes* - object. - * A configuration object with any of `hasUnicode`, `hasColor` or - `platform` keys, which if wlll be used to override our guesses when making - a default theme selection. - - If no theme is selected then a default is picked using a combination of our - best guesses at your OS, color support and unicode support. -* **template**: Describes what you want your gauge to look like. The - default is what npm uses. Detailed [documentation] is later in this - document. -* **hideCursor**: Defaults to true. If true, then the cursor will be hidden - while the gauge is displayed. -* **tty**: The tty that you're ultimately writing to. Defaults to the same - as **stream**. This is used for detecting the width of the terminal and - resizes. The width used is `tty.columns - 1`. If no tty is available then - a width of `79` is assumed. -* **enabled**: Defaults to true if `tty` is a TTY, false otherwise. If true - the gauge starts enabled. If disabled then all update commands are - ignored and no gauge will be printed until you call `.enable()`. -* **Plumbing**: The class to use to actually generate the gauge for - printing. This defaults to `require('gauge/plumbing')` and ordinarly you - shouldn't need to override this. -* **cleanupOnExit**: Defaults to true. Ordinarily we register an exit - handler to make sure your cursor is turned back on and the progress bar - erased when your process exits, even if you Ctrl-C out or otherwise exit - unexpectedly. You can disable this and it won't register the exit handler. - -[has-unicode]: https://www.npmjs.com/package/has-unicode -[themes]: #themes -[documentation]: #templates - -#### `gauge.show(section | status, [completed])` - -The first argument is either the section, the name of the current thing -contributing to progress, or an object with keys like **section**, -**subsection** & **completed** (or any others you have types for in a custom -template). If you don't want to update or set any of these you can pass -`null` and it will be ignored. - -The second argument is the percent completed as a value between 0 and 1. -Without it, completion is just not updated. You'll also note that completion -can be passed in as part of a status object as the first argument. If both -it and the completed argument are passed in, the completed argument wins. - -#### `gauge.hide([cb])` - -Removes the gauge from the terminal. Optionally, callback `cb` after IO has -had an opportunity to happen (currently this just means after `setImmediate` -has called back.) - -It turns out this is important when you're pausing the progress bar on one -filehandle and printing to another– otherwise (with a big enough print) node -can end up printing the "end progress bar" bits to the progress bar filehandle -while other stuff is printing to another filehandle. These getting interleaved -can cause corruption in some terminals. - -#### `gauge.pulse([subsection])` - -* **subsection** – *(optional)* The specific thing that triggered this pulse - -Spins the spinner in the gauge to show output. If **subsection** is -included then it will be combined with the last name passed to `gauge.show`. - -#### `gauge.disable()` - -Hides the gauge and ignores further calls to `show` or `pulse`. - -#### `gauge.enable()` - -Shows the gauge and resumes updating when `show` or `pulse` is called. - -#### `gauge.isEnabled()` - -Returns true if the gauge is enabled. - -#### `gauge.setThemeset(themes)` - -Change the themeset to select a theme from. The same as the `themes` option -used in the constructor. The theme will be reselected from this themeset. - -#### `gauge.setTheme(theme)` - -Change the active theme, will be displayed with the next show or pulse. This can be: - -* Theme object, in which case the **themes** is not used. -* The name of a theme, which will be looked up in the current *themes* - object. -* A configuration object with any of `hasUnicode`, `hasColor` or - `platform` keys, which if wlll be used to override our guesses when making - a default theme selection. - -If no theme is selected then a default is picked using a combination of our -best guesses at your OS, color support and unicode support. - -#### `gauge.setTemplate(template)` - -Change the active template, will be displayed with the next show or pulse - -### Tracking Completion - -If you have more than one thing going on that you want to track completion -of, you may find the related [are-we-there-yet] helpful. It's `change` -event can be wired up to the `show` method to get a more traditional -progress bar interface. - -[are-we-there-yet]: https://www.npmjs.com/package/are-we-there-yet - -### THEMES - -``` -var themes = require('gauge/themes') - -// fetch the default color unicode theme for this platform -var ourTheme = themes({hasUnicode: true, hasColor: true}) - -// fetch the default non-color unicode theme for osx -var ourTheme = themes({hasUnicode: true, hasColor: false, platform: 'darwin'}) - -// create a new theme based on the color ascii theme for this platform -// that brackets the progress bar with arrows -var ourTheme = themes.newTheme(theme(hasUnicode: false, hasColor: true}), { - preProgressbar: '→', - postProgressbar: '←' -}) -``` - -The object returned by `gauge/themes` is an instance of the `ThemeSet` class. - -``` -var ThemeSet = require('gauge/theme-set') -var themes = new ThemeSet() -// or -var themes = require('gauge/themes') -var mythemes = themes.newThemeset() // creates a new themeset based on the default themes -``` - -#### themes(opts) -#### themes.getDefault(opts) - -Theme objects are a function that fetches the default theme based on -platform, unicode and color support. - -Options is an object with the following properties: - -* **hasUnicode** - If true, fetch a unicode theme, if no unicode theme is - available then a non-unicode theme will be used. -* **hasColor** - If true, fetch a color theme, if no color theme is - available a non-color theme will be used. -* **platform** (optional) - Defaults to `process.platform`. If no - platform match is available then `fallback` is used instead. - -If no compatible theme can be found then an error will be thrown with a -`code` of `EMISSINGTHEME`. - -#### themes.addTheme(themeName, themeObj) -#### themes.addTheme(themeName, [parentTheme], newTheme) - -Adds a named theme to the themeset. You can pass in either a theme object, -as returned by `themes.newTheme` or the arguments you'd pass to -`themes.newTheme`. - -#### themes.getThemeNames() - -Return a list of all of the names of the themes in this themeset. Suitable -for use in `themes.getTheme(…)`. - -#### themes.getTheme(name) - -Returns the theme object from this theme set named `name`. - -If `name` does not exist in this themeset an error will be thrown with -a `code` of `EMISSINGTHEME`. - -#### themes.setDefault([opts], themeName) - -`opts` is an object with the following properties. - -* **platform** - Defaults to `'fallback'`. If your theme is platform - specific, specify that here with the platform from `process.platform`, eg, - `win32`, `darwin`, etc. -* **hasUnicode** - Defaults to `false`. If your theme uses unicode you - should set this to true. -* **hasColor** - Defaults to `false`. If your theme uses color you should - set this to true. - -`themeName` is the name of the theme (as given to `addTheme`) to use for -this set of `opts`. - -#### themes.newTheme([parentTheme,] newTheme) - -Create a new theme object based on `parentTheme`. If no `parentTheme` is -provided then a minimal parentTheme that defines functions for rendering the -activity indicator (spinner) and progress bar will be defined. (This -fallback parent is defined in `gauge/base-theme`.) - -newTheme should be a bare object– we'll start by discussing the properties -defined by the default themes: - -* **preProgressbar** - displayed prior to the progress bar, if the progress - bar is displayed. -* **postProgressbar** - displayed after the progress bar, if the progress bar - is displayed. -* **progressBarTheme** - The subtheme passed through to the progress bar - renderer, it's an object with `complete` and `remaining` properties - that are the strings you want repeated for those sections of the progress - bar. -* **activityIndicatorTheme** - The theme for the activity indicator (spinner), - this can either be a string, in which each character is a different step, or - an array of strings. -* **preSubsection** - Displayed as a separator between the `section` and - `subsection` when the latter is printed. - -More generally, themes can have any value that would be a valid value when rendering -templates. The properties in the theme are used when their name matches a type in -the template. Their values can be: - -* **strings & numbers** - They'll be included as is -* **function (values, theme, width)** - Should return what you want in your output. - *values* is an object with values provided via `gauge.show`, - *theme* is the theme specific to this item (see below) or this theme object, - and *width* is the number of characters wide your result should be. - -There are a couple of special prefixes: - -* **pre** - Is shown prior to the property, if its displayed. -* **post** - Is shown after the property, if its displayed. - -And one special suffix: - -* **Theme** - Its value is passed to a function-type item as the theme. - -#### themes.addToAllThemes(theme) - -This *mixes-in* `theme` into all themes currently defined. It also adds it -to the default parent theme for this themeset, so future themes added to -this themeset will get the values from `theme` by default. - -#### themes.newThemeset() - -Copy the current themeset into a new one. This allows you to easily inherit -one themeset from another. - -### TEMPLATES - -A template is an array of objects and strings that, after being evaluated, -will be turned into the gauge line. The default template is: - -```javascript -[ - {type: 'progressbar', length: 20}, - {type: 'activityIndicator', kerning: 1, length: 1}, - {type: 'section', kerning: 1, default: ''}, - {type: 'subsection', kerning: 1, default: ''} -] -``` - -The various template elements can either be **plain strings**, in which case they will -be be included verbatum in the output, or objects with the following properties: - -* *type* can be any of the following plus any keys you pass into `gauge.show` plus - any keys you have on a custom theme. - * `section` – What big thing you're working on now. - * `subsection` – What component of that thing is currently working. - * `activityIndicator` – Shows a spinner using the `activityIndicatorTheme` - from your active theme. - * `progressbar` – A progress bar representing your current `completed` - using the `progressbarTheme` from your active theme. -* *kerning* – Number of spaces that must be between this item and other - items, if this item is displayed at all. -* *maxLength* – The maximum length for this element. If its value is longer it - will be truncated. -* *minLength* – The minimum length for this element. If its value is shorter it - will be padded according to the *align* value. -* *align* – (Default: left) Possible values "left", "right" and "center". Works - as you'd expect from word processors. -* *length* – Provides a single value for both *minLength* and *maxLength*. If both - *length* and *minLength or *maxLength* are specifed then the latter take precedence. -* *value* – A literal value to use for this template item. -* *default* – A default value to use for this template item if a value - wasn't otherwise passed in. - -### PLUMBING - -This is the super simple, assume nothing, do no magic internals used by gauge to -implement its ordinary interface. - -``` -var Plumbing = require('gauge/plumbing') -var gauge = new Plumbing(theme, template, width) -``` - -* **theme**: The theme to use. -* **template**: The template to use. -* **width**: How wide your gauge should be - -#### `gauge.setTheme(theme)` - -Change the active theme. - -#### `gauge.setTemplate(template)` - -Change the active template. - -#### `gauge.setWidth(width)` - -Change the width to render at. - -#### `gauge.hide()` - -Return the string necessary to hide the progress bar - -#### `gauge.hideCursor()` - -Return a string to hide the cursor. - -#### `gauge.showCursor()` - -Return a string to show the cursor. - -#### `gauge.show(status)` - -Using `status` for values, render the provided template with the theme and return -a string that is suitable for printing to update the gauge. diff --git a/node_modules/gauge/base-theme.js b/node_modules/gauge/base-theme.js deleted file mode 100644 index 0b67638..0000000 --- a/node_modules/gauge/base-theme.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict' -var spin = require('./spin.js') -var progressBar = require('./progress-bar.js') - -module.exports = { - activityIndicator: function (values, theme, width) { - if (values.spun == null) return - return spin(theme, values.spun) - }, - progressbar: function (values, theme, width) { - if (values.completed == null) return - return progressBar(theme, width, values.completed) - } -} diff --git a/node_modules/gauge/error.js b/node_modules/gauge/error.js deleted file mode 100644 index d9914ba..0000000 --- a/node_modules/gauge/error.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict' -var util = require('util') - -var User = exports.User = function User (msg) { - var err = new Error(msg) - Error.captureStackTrace(err, User) - err.code = 'EGAUGE' - return err -} - -exports.MissingTemplateValue = function MissingTemplateValue (item, values) { - var err = new User(util.format('Missing template value "%s"', item.type)) - Error.captureStackTrace(err, MissingTemplateValue) - err.template = item - err.values = values - return err -} - -exports.Internal = function Internal (msg) { - var err = new Error(msg) - Error.captureStackTrace(err, Internal) - err.code = 'EGAUGEINTERNAL' - return err -} diff --git a/node_modules/gauge/has-color.js b/node_modules/gauge/has-color.js deleted file mode 100644 index e283a25..0000000 --- a/node_modules/gauge/has-color.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict' - -module.exports = isWin32() || isColorTerm() - -function isWin32 () { - return process.platform === 'win32' -} - -function isColorTerm () { - var termHasColor = /^screen|^xterm|^vt100|color|ansi|cygwin|linux/i - return !!process.env.COLORTERM || termHasColor.test(process.env.TERM) -} diff --git a/node_modules/gauge/index.js b/node_modules/gauge/index.js deleted file mode 100644 index c553240..0000000 --- a/node_modules/gauge/index.js +++ /dev/null @@ -1,233 +0,0 @@ -'use strict' -var Plumbing = require('./plumbing.js') -var hasUnicode = require('has-unicode') -var hasColor = require('./has-color.js') -var onExit = require('signal-exit') -var defaultThemes = require('./themes') -var setInterval = require('./set-interval.js') -var process = require('./process.js') -var setImmediate = require('./set-immediate') - -module.exports = Gauge - -function callWith (obj, method) { - return function () { - return method.call(obj) - } -} - -function Gauge (arg1, arg2) { - var options, writeTo - if (arg1 && arg1.write) { - writeTo = arg1 - options = arg2 || {} - } else if (arg2 && arg2.write) { - writeTo = arg2 - options = arg1 || {} - } else { - writeTo = process.stderr - options = arg1 || arg2 || {} - } - - this._status = { - spun: 0, - section: '', - subsection: '' - } - this._paused = false // are we paused for back pressure? - this._disabled = true // are all progress bar updates disabled? - this._showing = false // do we WANT the progress bar on screen - this._onScreen = false // IS the progress bar on screen - this._needsRedraw = false // should we print something at next tick? - this._hideCursor = options.hideCursor == null ? true : options.hideCursor - this._fixedFramerate = options.fixedFramerate == null - ? !(/^v0\.8\./.test(process.version)) - : options.fixedFramerate - this._lastUpdateAt = null - this._updateInterval = options.updateInterval == null ? 50 : options.updateInterval - - this._themes = options.themes || defaultThemes - this._theme = options.theme - var theme = this._computeTheme(options.theme) - var template = options.template || [ - {type: 'progressbar', length: 20}, - {type: 'activityIndicator', kerning: 1, length: 1}, - {type: 'section', kerning: 1, default: ''}, - {type: 'subsection', kerning: 1, default: ''} - ] - this.setWriteTo(writeTo, options.tty) - var PlumbingClass = options.Plumbing || Plumbing - this._gauge = new PlumbingClass(theme, template, this.getWidth()) - - this._$$doRedraw = callWith(this, this._doRedraw) - this._$$handleSizeChange = callWith(this, this._handleSizeChange) - - this._cleanupOnExit = options.cleanupOnExit == null || options.cleanupOnExit - this._removeOnExit = null - - if (options.enabled || (options.enabled == null && this._tty && this._tty.isTTY)) { - this.enable() - } else { - this.disable() - } -} -Gauge.prototype = {} - -Gauge.prototype.isEnabled = function () { - return !this._disabled -} - -Gauge.prototype.setTemplate = function (template) { - this._gauge.setTemplate(template) - if (this._showing) this._requestRedraw() -} - -Gauge.prototype._computeTheme = function (theme) { - if (!theme) theme = {} - if (typeof theme === 'string') { - theme = this._themes.getTheme(theme) - } else if (theme && (Object.keys(theme).length === 0 || theme.hasUnicode != null || theme.hasColor != null)) { - var useUnicode = theme.hasUnicode == null ? hasUnicode() : theme.hasUnicode - var useColor = theme.hasColor == null ? hasColor : theme.hasColor - theme = this._themes.getDefault({hasUnicode: useUnicode, hasColor: useColor, platform: theme.platform}) - } - return theme -} - -Gauge.prototype.setThemeset = function (themes) { - this._themes = themes - this.setTheme(this._theme) -} - -Gauge.prototype.setTheme = function (theme) { - this._gauge.setTheme(this._computeTheme(theme)) - if (this._showing) this._requestRedraw() - this._theme = theme -} - -Gauge.prototype._requestRedraw = function () { - this._needsRedraw = true - if (!this._fixedFramerate) this._doRedraw() -} - -Gauge.prototype.getWidth = function () { - return ((this._tty && this._tty.columns) || 80) - 1 -} - -Gauge.prototype.setWriteTo = function (writeTo, tty) { - var enabled = !this._disabled - if (enabled) this.disable() - this._writeTo = writeTo - this._tty = tty || - (writeTo === process.stderr && process.stdout.isTTY && process.stdout) || - (writeTo.isTTY && writeTo) || - this._tty - if (this._gauge) this._gauge.setWidth(this.getWidth()) - if (enabled) this.enable() -} - -Gauge.prototype.enable = function () { - if (!this._disabled) return - this._disabled = false - if (this._tty) this._enableEvents() - if (this._showing) this.show() -} - -Gauge.prototype.disable = function () { - if (this._disabled) return - if (this._showing) { - this._lastUpdateAt = null - this._showing = false - this._doRedraw() - this._showing = true - } - this._disabled = true - if (this._tty) this._disableEvents() -} - -Gauge.prototype._enableEvents = function () { - if (this._cleanupOnExit) { - this._removeOnExit = onExit(callWith(this, this.disable)) - } - this._tty.on('resize', this._$$handleSizeChange) - if (this._fixedFramerate) { - this.redrawTracker = setInterval(this._$$doRedraw, this._updateInterval) - if (this.redrawTracker.unref) this.redrawTracker.unref() - } -} - -Gauge.prototype._disableEvents = function () { - this._tty.removeListener('resize', this._$$handleSizeChange) - if (this._fixedFramerate) clearInterval(this.redrawTracker) - if (this._removeOnExit) this._removeOnExit() -} - -Gauge.prototype.hide = function (cb) { - if (this._disabled) return cb && process.nextTick(cb) - if (!this._showing) return cb && process.nextTick(cb) - this._showing = false - this._doRedraw() - cb && setImmediate(cb) -} - -Gauge.prototype.show = function (section, completed) { - this._showing = true - if (typeof section === 'string') { - this._status.section = section - } else if (typeof section === 'object') { - var sectionKeys = Object.keys(section) - for (var ii = 0; ii < sectionKeys.length; ++ii) { - var key = sectionKeys[ii] - this._status[key] = section[key] - } - } - if (completed != null) this._status.completed = completed - if (this._disabled) return - this._requestRedraw() -} - -Gauge.prototype.pulse = function (subsection) { - this._status.subsection = subsection || '' - this._status.spun ++ - if (this._disabled) return - if (!this._showing) return - this._requestRedraw() -} - -Gauge.prototype._handleSizeChange = function () { - this._gauge.setWidth(this._tty.columns - 1) - this._requestRedraw() -} - -Gauge.prototype._doRedraw = function () { - if (this._disabled || this._paused) return - if (!this._fixedFramerate) { - var now = Date.now() - if (this._lastUpdateAt && now - this._lastUpdateAt < this._updateInterval) return - this._lastUpdateAt = now - } - if (!this._showing && this._onScreen) { - this._onScreen = false - var result = this._gauge.hide() - if (this._hideCursor) { - result += this._gauge.showCursor() - } - return this._writeTo.write(result) - } - if (!this._showing && !this._onScreen) return - if (this._showing && !this._onScreen) { - this._onScreen = true - this._needsRedraw = true - if (this._hideCursor) { - this._writeTo.write(this._gauge.hideCursor()) - } - } - if (!this._needsRedraw) return - if (!this._writeTo.write(this._gauge.show(this._status))) { - this._paused = true - this._writeTo.on('drain', callWith(this, function () { - this._paused = false - this._doRedraw() - })) - } -} diff --git a/node_modules/gauge/package.json b/node_modules/gauge/package.json deleted file mode 100644 index 185279b..0000000 --- a/node_modules/gauge/package.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "gauge@~2.7.1", - "scope": null, - "escapedName": "gauge", - "name": "gauge", - "rawSpec": "~2.7.1", - "spec": ">=2.7.1 <2.8.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/npmlog" - ] - ], - "_cnpm_publish_time": 1486515231651, - "_from": "gauge@>=2.7.1 <2.8.0", - "_id": "gauge@2.7.3", - "_inCache": true, - "_installable": true, - "_location": "/gauge", - "_nodeVersion": "4.6.1", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/gauge-2.7.3.tgz_1486515229637_0.61380137456581" - }, - "_npmUser": { - "name": "iarna", - "email": "me@re-becca.org" - }, - "_npmVersion": "4.2.0", - "_phantomChildren": {}, - "_requested": { - "raw": "gauge@~2.7.1", - "scope": null, - "escapedName": "gauge", - "name": "gauge", - "rawSpec": "~2.7.1", - "spec": ">=2.7.1 <2.8.0", - "type": "range" - }, - "_requiredBy": [ - "/npmlog" - ], - "_resolved": "https://registry.npm.taobao.org/gauge/download/gauge-2.7.3.tgz", - "_shasum": "1c23855f962f17b3ad3d0dc7443f304542edfe09", - "_shrinkwrap": null, - "_spec": "gauge@~2.7.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/npmlog", - "author": { - "name": "Rebecca Turner", - "email": "me@re-becca.org" - }, - "bugs": { - "url": "https://github.com/iarna/gauge/issues" - }, - "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "description": "A terminal based horizontal guage", - "devDependencies": { - "readable-stream": "^2.0.6", - "require-inject": "^1.4.0", - "standard": "^7.1.2", - "tap": "^5.7.2", - "through2": "^2.0.0" - }, - "directories": {}, - "dist": { - "shasum": "1c23855f962f17b3ad3d0dc7443f304542edfe09", - "tarball": "https://registry.npmjs.org/gauge/-/gauge-2.7.3.tgz" - }, - "files": [ - "base-theme.js", - "CHANGELOG.md", - "error.js", - "has-color.js", - "index.js", - "LICENSE", - "package.json", - "plumbing.js", - "process.js", - "progress-bar.js", - "README.md", - "render-template.js", - "set-immediate.js", - "set-interval.js", - "spin.js", - "template-item.js", - "theme-set.js", - "themes.js", - "wide-truncate.js" - ], - "gitHead": "2defcdb50c243c92d21f0fd39c4b06bd48bcfdf3", - "homepage": "https://github.com/iarna/gauge", - "keywords": [ - "progressbar", - "progress", - "gauge" - ], - "license": "ISC", - "main": "index.js", - "maintainers": [ - { - "name": "iarna", - "email": "me@re-becca.org" - } - ], - "name": "gauge", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/iarna/gauge.git" - }, - "scripts": { - "prepublish": "rm -f *~", - "test": "standard && tap test/*.js --coverage" - }, - "version": "2.7.3" -} diff --git a/node_modules/gauge/plumbing.js b/node_modules/gauge/plumbing.js deleted file mode 100644 index 589a9c9..0000000 --- a/node_modules/gauge/plumbing.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict' -var consoleControl = require('console-control-strings') -var renderTemplate = require('./render-template.js') -var validate = require('aproba') - -var Plumbing = module.exports = function (theme, template, width) { - if (!width) width = 80 - validate('OAN', [theme, template, width]) - this.showing = false - this.theme = theme - this.width = width - this.template = template -} -Plumbing.prototype = {} - -Plumbing.prototype.setTheme = function (theme) { - validate('O', [theme]) - this.theme = theme -} - -Plumbing.prototype.setTemplate = function (template) { - validate('A', [template]) - this.template = template -} - -Plumbing.prototype.setWidth = function (width) { - validate('N', [width]) - this.width = width -} - -Plumbing.prototype.hide = function () { - return consoleControl.gotoSOL() + consoleControl.eraseLine() -} - -Plumbing.prototype.hideCursor = consoleControl.hideCursor - -Plumbing.prototype.showCursor = consoleControl.showCursor - -Plumbing.prototype.show = function (status) { - var values = Object.create(this.theme) - for (var key in status) { - values[key] = status[key] - } - - return renderTemplate(this.width, this.template, values).trim() + - consoleControl.eraseLine() + consoleControl.gotoSOL() -} diff --git a/node_modules/gauge/process.js b/node_modules/gauge/process.js deleted file mode 100644 index 05e8569..0000000 --- a/node_modules/gauge/process.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict' -// this exists so we can replace it during testing -module.exports = process diff --git a/node_modules/gauge/progress-bar.js b/node_modules/gauge/progress-bar.js deleted file mode 100644 index 7f8dd68..0000000 --- a/node_modules/gauge/progress-bar.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict' -var validate = require('aproba') -var renderTemplate = require('./render-template.js') -var wideTruncate = require('./wide-truncate') -var stringWidth = require('string-width') - -module.exports = function (theme, width, completed) { - validate('ONN', [theme, width, completed]) - if (completed < 0) completed = 0 - if (completed > 1) completed = 1 - if (width <= 0) return '' - var sofar = Math.round(width * completed) - var rest = width - sofar - var template = [ - {type: 'complete', value: repeat(theme.complete, sofar), length: sofar}, - {type: 'remaining', value: repeat(theme.remaining, rest), length: rest} - ] - return renderTemplate(width, template, theme) -} - -// lodash's way of repeating -function repeat (string, width) { - var result = '' - var n = width - do { - if (n % 2) { - result += string - } - n = Math.floor(n / 2) - /*eslint no-self-assign: 0*/ - string += string - } while (n && stringWidth(result) < width) - - return wideTruncate(result, width) -} diff --git a/node_modules/gauge/render-template.js b/node_modules/gauge/render-template.js deleted file mode 100644 index 3261bfb..0000000 --- a/node_modules/gauge/render-template.js +++ /dev/null @@ -1,181 +0,0 @@ -'use strict' -var align = require('wide-align') -var validate = require('aproba') -var objectAssign = require('object-assign') -var wideTruncate = require('./wide-truncate') -var error = require('./error') -var TemplateItem = require('./template-item') - -function renderValueWithValues (values) { - return function (item) { - return renderValue(item, values) - } -} - -var renderTemplate = module.exports = function (width, template, values) { - var items = prepareItems(width, template, values) - var rendered = items.map(renderValueWithValues(values)).join('') - return align.left(wideTruncate(rendered, width), width) -} - -function preType (item) { - var cappedTypeName = item.type[0].toUpperCase() + item.type.slice(1) - return 'pre' + cappedTypeName -} - -function postType (item) { - var cappedTypeName = item.type[0].toUpperCase() + item.type.slice(1) - return 'post' + cappedTypeName -} - -function hasPreOrPost (item, values) { - if (!item.type) return - return values[preType(item)] || values[postType(item)] -} - -function generatePreAndPost (baseItem, parentValues) { - var item = objectAssign({}, baseItem) - var values = Object.create(parentValues) - var template = [] - var pre = preType(item) - var post = postType(item) - if (values[pre]) { - template.push({value: values[pre]}) - values[pre] = null - } - item.minLength = null - item.length = null - item.maxLength = null - template.push(item) - values[item.type] = values[item.type] - if (values[post]) { - template.push({value: values[post]}) - values[post] = null - } - return function ($1, $2, length) { - return renderTemplate(length, template, values) - } -} - -function prepareItems (width, template, values) { - function cloneAndObjectify (item, index, arr) { - var cloned = new TemplateItem(item, width) - var type = cloned.type - if (cloned.value == null) { - if (!(type in values)) { - if (cloned.default == null) { - throw new error.MissingTemplateValue(cloned, values) - } else { - cloned.value = cloned.default - } - } else { - cloned.value = values[type] - } - } - if (cloned.value == null || cloned.value === '') return null - cloned.index = index - cloned.first = index === 0 - cloned.last = index === arr.length - 1 - if (hasPreOrPost(cloned, values)) cloned.value = generatePreAndPost(cloned, values) - return cloned - } - - var output = template.map(cloneAndObjectify).filter(function (item) { return item != null }) - - var outputLength = 0 - var remainingSpace = width - var variableCount = output.length - - function consumeSpace (length) { - if (length > remainingSpace) length = remainingSpace - outputLength += length - remainingSpace -= length - } - - function finishSizing (item, length) { - if (item.finished) throw new error.Internal('Tried to finish template item that was already finished') - if (length === Infinity) throw new error.Internal('Length of template item cannot be infinity') - if (length != null) item.length = length - item.minLength = null - item.maxLength = null - --variableCount - item.finished = true - if (item.length == null) item.length = item.getBaseLength() - if (item.length == null) throw new error.Internal('Finished template items must have a length') - consumeSpace(item.getLength()) - } - - output.forEach(function (item) { - if (!item.kerning) return - var prevPadRight = item.first ? 0 : output[item.index - 1].padRight - if (!item.first && prevPadRight < item.kerning) item.padLeft = item.kerning - prevPadRight - if (!item.last) item.padRight = item.kerning - }) - - // Finish any that have a fixed (literal or intuited) length - output.forEach(function (item) { - if (item.getBaseLength() == null) return - finishSizing(item) - }) - - var resized = 0 - var resizing - var hunkSize - do { - resizing = false - hunkSize = Math.round(remainingSpace / variableCount) - output.forEach(function (item) { - if (item.finished) return - if (!item.maxLength) return - if (item.getMaxLength() < hunkSize) { - finishSizing(item, item.maxLength) - resizing = true - } - }) - } while (resizing && resized++ < output.length) - if (resizing) throw new error.Internal('Resize loop iterated too many times while determining maxLength') - - resized = 0 - do { - resizing = false - hunkSize = Math.round(remainingSpace / variableCount) - output.forEach(function (item) { - if (item.finished) return - if (!item.minLength) return - if (item.getMinLength() >= hunkSize) { - finishSizing(item, item.minLength) - resizing = true - } - }) - } while (resizing && resized++ < output.length) - if (resizing) throw new error.Internal('Resize loop iterated too many times while determining minLength') - - hunkSize = Math.round(remainingSpace / variableCount) - output.forEach(function (item) { - if (item.finished) return - finishSizing(item, hunkSize) - }) - - return output -} - -function renderFunction (item, values, length) { - validate('OON', arguments) - if (item.type) { - return item.value(values, values[item.type + 'Theme'] || {}, length) - } else { - return item.value(values, {}, length) - } -} - -function renderValue (item, values) { - var length = item.getBaseLength() - var value = typeof item.value === 'function' ? renderFunction(item, values, length) : item.value - if (value == null || value === '') return '' - var alignWith = align[item.align] || align.left - var leftPadding = item.padLeft ? align.left('', item.padLeft) : '' - var rightPadding = item.padRight ? align.right('', item.padRight) : '' - var truncated = wideTruncate(String(value), length) - var aligned = alignWith(truncated, length) - return leftPadding + aligned + rightPadding -} diff --git a/node_modules/gauge/set-immediate.js b/node_modules/gauge/set-immediate.js deleted file mode 100644 index 6650a48..0000000 --- a/node_modules/gauge/set-immediate.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict' -var process = require('./process') -try { - module.exports = setImmediate -} catch (ex) { - module.exports = process.nextTick -} diff --git a/node_modules/gauge/set-interval.js b/node_modules/gauge/set-interval.js deleted file mode 100644 index 5761987..0000000 --- a/node_modules/gauge/set-interval.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict' -// this exists so we can replace it during testing -module.exports = setInterval diff --git a/node_modules/gauge/spin.js b/node_modules/gauge/spin.js deleted file mode 100644 index 34142ee..0000000 --- a/node_modules/gauge/spin.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict' - -module.exports = function spin (spinstr, spun) { - return spinstr[spun % spinstr.length] -} diff --git a/node_modules/gauge/template-item.js b/node_modules/gauge/template-item.js deleted file mode 100644 index e46f447..0000000 --- a/node_modules/gauge/template-item.js +++ /dev/null @@ -1,73 +0,0 @@ -'use strict' -var stringWidth = require('string-width') - -module.exports = TemplateItem - -function isPercent (num) { - if (typeof num !== 'string') return false - return num.slice(-1) === '%' -} - -function percent (num) { - return Number(num.slice(0, -1)) / 100 -} - -function TemplateItem (values, outputLength) { - this.overallOutputLength = outputLength - this.finished = false - this.type = null - this.value = null - this.length = null - this.maxLength = null - this.minLength = null - this.kerning = null - this.align = 'left' - this.padLeft = 0 - this.padRight = 0 - this.index = null - this.first = null - this.last = null - if (typeof values === 'string') { - this.value = values - } else { - for (var prop in values) this[prop] = values[prop] - } - // Realize percents - if (isPercent(this.length)) { - this.length = Math.round(this.overallOutputLength * percent(this.length)) - } - if (isPercent(this.minLength)) { - this.minLength = Math.round(this.overallOutputLength * percent(this.minLength)) - } - if (isPercent(this.maxLength)) { - this.maxLength = Math.round(this.overallOutputLength * percent(this.maxLength)) - } - return this -} - -TemplateItem.prototype = {} - -TemplateItem.prototype.getBaseLength = function () { - var length = this.length - if (length == null && typeof this.value === 'string' && this.maxLength == null && this.minLength == null) { - length = stringWidth(this.value) - } - return length -} - -TemplateItem.prototype.getLength = function () { - var length = this.getBaseLength() - if (length == null) return null - return length + this.padLeft + this.padRight -} - -TemplateItem.prototype.getMaxLength = function () { - if (this.maxLength == null) return null - return this.maxLength + this.padLeft + this.padRight -} - -TemplateItem.prototype.getMinLength = function () { - if (this.minLength == null) return null - return this.minLength + this.padLeft + this.padRight -} - diff --git a/node_modules/gauge/theme-set.js b/node_modules/gauge/theme-set.js deleted file mode 100644 index 68971d5..0000000 --- a/node_modules/gauge/theme-set.js +++ /dev/null @@ -1,115 +0,0 @@ -'use strict' -var objectAssign = require('object-assign') - -module.exports = function () { - return ThemeSetProto.newThemeSet() -} - -var ThemeSetProto = {} - -ThemeSetProto.baseTheme = require('./base-theme.js') - -ThemeSetProto.newTheme = function (parent, theme) { - if (!theme) { - theme = parent - parent = this.baseTheme - } - return objectAssign({}, parent, theme) -} - -ThemeSetProto.getThemeNames = function () { - return Object.keys(this.themes) -} - -ThemeSetProto.addTheme = function (name, parent, theme) { - this.themes[name] = this.newTheme(parent, theme) -} - -ThemeSetProto.addToAllThemes = function (theme) { - var themes = this.themes - Object.keys(themes).forEach(function (name) { - objectAssign(themes[name], theme) - }) - objectAssign(this.baseTheme, theme) -} - -ThemeSetProto.getTheme = function (name) { - if (!this.themes[name]) throw this.newMissingThemeError(name) - return this.themes[name] -} - -ThemeSetProto.setDefault = function (opts, name) { - if (name == null) { - name = opts - opts = {} - } - var platform = opts.platform == null ? 'fallback' : opts.platform - var hasUnicode = !!opts.hasUnicode - var hasColor = !!opts.hasColor - if (!this.defaults[platform]) this.defaults[platform] = {true: {}, false: {}} - this.defaults[platform][hasUnicode][hasColor] = name -} - -ThemeSetProto.getDefault = function (opts) { - if (!opts) opts = {} - var platformName = opts.platform || process.platform - var platform = this.defaults[platformName] || this.defaults.fallback - var hasUnicode = !!opts.hasUnicode - var hasColor = !!opts.hasColor - if (!platform) throw this.newMissingDefaultThemeError(platformName, hasUnicode, hasColor) - if (!platform[hasUnicode][hasColor]) { - if (hasUnicode && hasColor && platform[!hasUnicode][hasColor]) { - hasUnicode = false - } else if (hasUnicode && hasColor && platform[hasUnicode][!hasColor]) { - hasColor = false - } else if (hasUnicode && hasColor && platform[!hasUnicode][!hasColor]) { - hasUnicode = false - hasColor = false - } else if (hasUnicode && !hasColor && platform[!hasUnicode][hasColor]) { - hasUnicode = false - } else if (!hasUnicode && hasColor && platform[hasUnicode][!hasColor]) { - hasColor = false - } else if (platform === this.defaults.fallback) { - throw this.newMissingDefaultThemeError(platformName, hasUnicode, hasColor) - } - } - if (platform[hasUnicode][hasColor]) { - return this.getTheme(platform[hasUnicode][hasColor]) - } else { - return this.getDefault(objectAssign({}, opts, {platform: 'fallback'})) - } -} - -ThemeSetProto.newMissingThemeError = function newMissingThemeError (name) { - var err = new Error('Could not find a gauge theme named "' + name + '"') - Error.captureStackTrace.call(err, newMissingThemeError) - err.theme = name - err.code = 'EMISSINGTHEME' - return err -} - -ThemeSetProto.newMissingDefaultThemeError = function newMissingDefaultThemeError (platformName, hasUnicode, hasColor) { - var err = new Error( - 'Could not find a gauge theme for your platform/unicode/color use combo:\n' + - ' platform = ' + platformName + '\n' + - ' hasUnicode = ' + hasUnicode + '\n' + - ' hasColor = ' + hasColor) - Error.captureStackTrace.call(err, newMissingDefaultThemeError) - err.platform = platformName - err.hasUnicode = hasUnicode - err.hasColor = hasColor - err.code = 'EMISSINGTHEME' - return err -} - -ThemeSetProto.newThemeSet = function () { - var themeset = function (opts) { - return themeset.getDefault(opts) - } - return objectAssign(themeset, ThemeSetProto, { - themes: objectAssign({}, this.themes), - baseTheme: objectAssign({}, this.baseTheme), - defaults: JSON.parse(JSON.stringify(this.defaults || {})) - }) -} - diff --git a/node_modules/gauge/themes.js b/node_modules/gauge/themes.js deleted file mode 100644 index eb5a4f5..0000000 --- a/node_modules/gauge/themes.js +++ /dev/null @@ -1,54 +0,0 @@ -'use strict' -var consoleControl = require('console-control-strings') -var ThemeSet = require('./theme-set.js') - -var themes = module.exports = new ThemeSet() - -themes.addTheme('ASCII', { - preProgressbar: '[', - postProgressbar: ']', - progressbarTheme: { - complete: '#', - remaining: '.' - }, - activityIndicatorTheme: '-\\|/', - preSubsection: '>' -}) - -themes.addTheme('colorASCII', themes.getTheme('ASCII'), { - progressbarTheme: { - preComplete: consoleControl.color('inverse'), - complete: ' ', - postComplete: consoleControl.color('stopInverse'), - preRemaining: consoleControl.color('brightBlack'), - remaining: '.', - postRemaining: consoleControl.color('reset') - } -}) - -themes.addTheme('brailleSpinner', { - preProgressbar: '⸨', - postProgressbar: '⸩', - progressbarTheme: { - complete: '░', - remaining: '⠂' - }, - activityIndicatorTheme: '⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏', - preSubsection: '>' -}) - -themes.addTheme('colorBrailleSpinner', themes.getTheme('brailleSpinner'), { - progressbarTheme: { - preComplete: consoleControl.color('inverse'), - complete: ' ', - postComplete: consoleControl.color('stopInverse'), - preRemaining: consoleControl.color('brightBlack'), - remaining: '░', - postRemaining: consoleControl.color('reset') - } -}) - -themes.setDefault({}, 'ASCII') -themes.setDefault({hasColor: true}, 'colorASCII') -themes.setDefault({platform: 'darwin', hasUnicode: true}, 'brailleSpinner') -themes.setDefault({platform: 'darwin', hasUnicode: true, hasColor: true}, 'colorBrailleSpinner') diff --git a/node_modules/gauge/wide-truncate.js b/node_modules/gauge/wide-truncate.js deleted file mode 100644 index c531bc4..0000000 --- a/node_modules/gauge/wide-truncate.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict' -var stringWidth = require('string-width') -var stripAnsi = require('strip-ansi') - -module.exports = wideTruncate - -function wideTruncate (str, target) { - if (stringWidth(str) === 0) return str - if (target <= 0) return '' - if (stringWidth(str) <= target) return str - - // We compute the number of bytes of ansi sequences here and add - // that to our initial truncation to ensure that we don't slice one - // that we want to keep in half. - var noAnsi = stripAnsi(str) - var ansiSize = str.length + noAnsi.length - var truncated = str.slice(0, target + ansiSize) - - // we have to shrink the result to account for our ansi sequence buffer - // (if an ansi sequence was truncated) and double width characters. - while (stringWidth(truncated) > target) { - truncated = truncated.slice(0, -1) - } - return truncated -} diff --git a/node_modules/github-from-package/.travis.yml b/node_modules/github-from-package/.travis.yml deleted file mode 100644 index 895dbd3..0000000 --- a/node_modules/github-from-package/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - 0.6 - - 0.8 diff --git a/node_modules/github-from-package/LICENSE b/node_modules/github-from-package/LICENSE deleted file mode 100644 index ee27ba4..0000000 --- a/node_modules/github-from-package/LICENSE +++ /dev/null @@ -1,18 +0,0 @@ -This software is released under the MIT license: - -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. diff --git a/node_modules/github-from-package/example/package.json b/node_modules/github-from-package/example/package.json deleted file mode 100644 index 03494f4..0000000 --- a/node_modules/github-from-package/example/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "beep-boop", - "version": "1.2.3", - "repository" : { - "type" : "git", - "url": "git@github.com:substack/beep-boop.git" - } -} diff --git a/node_modules/github-from-package/example/url.js b/node_modules/github-from-package/example/url.js deleted file mode 100644 index 138fb8a..0000000 --- a/node_modules/github-from-package/example/url.js +++ /dev/null @@ -1,3 +0,0 @@ -var github = require('../'); -var url = github(require('./package.json')); -console.log(url); diff --git a/node_modules/github-from-package/index.js b/node_modules/github-from-package/index.js deleted file mode 100644 index 3d1d657..0000000 --- a/node_modules/github-from-package/index.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = function (pkg) { - var m; - if (m = match(JSON.stringify(pkg.repository))) { - return m; - } - else if (m = match(JSON.stringify(pkg))) { - return m; - } - return undefined; -}; - -function match (str) { - var m = /\bgithub.com[:\/]([^\/"]+)\/([^\/"]+)/.exec(str); - if (m) { - return 'https://github.com/' + m[1] + '/' + m[2].replace(/\.git$/, ''); - } -} diff --git a/node_modules/github-from-package/package.json b/node_modules/github-from-package/package.json deleted file mode 100644 index 44596d9..0000000 --- a/node_modules/github-from-package/package.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "github-from-package@0.0.0", - "scope": null, - "escapedName": "github-from-package", - "name": "github-from-package", - "rawSpec": "0.0.0", - "spec": "0.0.0", - "type": "version" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install" - ] - ], - "_from": "github-from-package@0.0.0", - "_id": "github-from-package@0.0.0", - "_inCache": true, - "_installable": true, - "_location": "/github-from-package", - "_npmUser": { - "name": "substack", - "email": "mail@substack.net" - }, - "_npmVersion": "1.1.59", - "_phantomChildren": {}, - "_requested": { - "raw": "github-from-package@0.0.0", - "scope": null, - "escapedName": "github-from-package", - "name": "github-from-package", - "rawSpec": "0.0.0", - "spec": "0.0.0", - "type": "version" - }, - "_requiredBy": [ - "/prebuild-install" - ], - "_resolved": "http://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "_shasum": "97fb5d96bfde8973313f20e8288ef9a167fa64ce", - "_shrinkwrap": null, - "_spec": "github-from-package@0.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install", - "author": { - "name": "James Halliday", - "email": "mail@substack.net", - "url": "http://substack.net" - }, - "bugs": { - "url": "https://github.com/substack/github-from-package/issues" - }, - "dependencies": {}, - "description": "return the github url from a package.json file", - "devDependencies": { - "tap": "~0.3.0", - "tape": "~0.1.5" - }, - "directories": {}, - "dist": { - "shasum": "97fb5d96bfde8973313f20e8288ef9a167fa64ce", - "tarball": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz" - }, - "homepage": "https://github.com/substack/github-from-package", - "keywords": [ - "github", - "package.json", - "npm", - "repository" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "substack", - "email": "mail@substack.net" - } - ], - "name": "github-from-package", - "optionalDependencies": {}, - "readme": "# github-from-package\n\nreturn the github url from a package.json file\n\n[![build status](https://secure.travis-ci.org/substack/github-from-package.png)](http://travis-ci.org/substack/github-from-package)\n\n# example\n\nFor the `./package.json` file:\n\n``` json\n{\n \"name\": \"beep-boop\",\n \"version\": \"1.2.3\",\n \"repository\" : {\n \"type\" : \"git\",\n \"url\": \"git@github.com:substack/beep-boop.git\"\n }\n}\n```\n\n``` js\nvar github = require('github-from-package');\nvar url = github(require('./package.json'));\nconsole.log(url);\n```\n\n```\nhttps://github.com/substack/beep-boop\n```\n\n# methods\n\n``` js\nvar github = require('github-from-package')\n```\n\n## var url = github(pkg)\n\nReturn the most likely github url from the package.json contents `pkg`. If no\ngithub url can be determined, return `undefined`.\n\n# install\n\nWith [npm](https://npmjs.org) do:\n\n```\nnpm install github-from-package\n```\n\n# license\n\nMIT\n", - "repository": { - "type": "git", - "url": "git://github.com/substack/github-from-package.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "0.0.0" -} diff --git a/node_modules/github-from-package/readme.markdown b/node_modules/github-from-package/readme.markdown deleted file mode 100644 index 5ba397d..0000000 --- a/node_modules/github-from-package/readme.markdown +++ /dev/null @@ -1,53 +0,0 @@ -# github-from-package - -return the github url from a package.json file - -[![build status](https://secure.travis-ci.org/substack/github-from-package.png)](http://travis-ci.org/substack/github-from-package) - -# example - -For the `./package.json` file: - -``` json -{ - "name": "beep-boop", - "version": "1.2.3", - "repository" : { - "type" : "git", - "url": "git@github.com:substack/beep-boop.git" - } -} -``` - -``` js -var github = require('github-from-package'); -var url = github(require('./package.json')); -console.log(url); -``` - -``` -https://github.com/substack/beep-boop -``` - -# methods - -``` js -var github = require('github-from-package') -``` - -## var url = github(pkg) - -Return the most likely github url from the package.json contents `pkg`. If no -github url can be determined, return `undefined`. - -# install - -With [npm](https://npmjs.org) do: - -``` -npm install github-from-package -``` - -# license - -MIT diff --git a/node_modules/github-from-package/test/a.json b/node_modules/github-from-package/test/a.json deleted file mode 100644 index 03494f4..0000000 --- a/node_modules/github-from-package/test/a.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "beep-boop", - "version": "1.2.3", - "repository" : { - "type" : "git", - "url": "git@github.com:substack/beep-boop.git" - } -} diff --git a/node_modules/github-from-package/test/b.json b/node_modules/github-from-package/test/b.json deleted file mode 100644 index 0209325..0000000 --- a/node_modules/github-from-package/test/b.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "beep-boop", - "version": "1.2.3", - "repository" : "git@github.com:substack/beep-boop.git" -} diff --git a/node_modules/github-from-package/test/c.json b/node_modules/github-from-package/test/c.json deleted file mode 100644 index 65f6dda..0000000 --- a/node_modules/github-from-package/test/c.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "beep-boop", - "version": "1.2.3", - "repository" : "https://github.com/substack/beep-boop.git" -} diff --git a/node_modules/github-from-package/test/d.json b/node_modules/github-from-package/test/d.json deleted file mode 100644 index c61f3cd..0000000 --- a/node_modules/github-from-package/test/d.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "beep-boop", - "version": "1.2.3", - "repository" : { - "url": "https://github.com/substack/beep-boop" - } -} diff --git a/node_modules/github-from-package/test/e.json b/node_modules/github-from-package/test/e.json deleted file mode 100644 index 770b438..0000000 --- a/node_modules/github-from-package/test/e.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "beep-boop", - "version": "1.2.3", - "homepage": "https://github.com/substack/beep-boop/issues" -} diff --git a/node_modules/github-from-package/test/url.js b/node_modules/github-from-package/test/url.js deleted file mode 100644 index d5a0a66..0000000 --- a/node_modules/github-from-package/test/url.js +++ /dev/null @@ -1,19 +0,0 @@ -var test = require('tape'); -var github = require('../'); -var packages = { - a : require('./a.json'), - b : require('./b.json'), - c : require('./c.json'), - d : require('./d.json'), - e : require('./e.json') -}; - -test(function (t) { - t.plan(5); - var url = 'https://github.com/substack/beep-boop'; - t.equal(url, github(packages.a), 'a.json comparison'); - t.equal(url, github(packages.b), 'b.json comparison'); - t.equal(url, github(packages.c), 'c.json comparison'); - t.equal(url, github(packages.d), 'd.json comparison'); - t.equal(url, github(packages.e), 'e.json comparison'); -}); diff --git a/node_modules/graceful-readlink/.npmignore b/node_modules/graceful-readlink/.npmignore deleted file mode 100644 index 3ac7d16..0000000 --- a/node_modules/graceful-readlink/.npmignore +++ /dev/null @@ -1,3 +0,0 @@ -.idea/ -.DS_Store -node_modules/ diff --git a/node_modules/graceful-readlink/.travis.yml b/node_modules/graceful-readlink/.travis.yml deleted file mode 100644 index baf9be7..0000000 --- a/node_modules/graceful-readlink/.travis.yml +++ /dev/null @@ -1,5 +0,0 @@ -language: node_js -node_js: - - "0.10" - - "0.12" - - "io.js" diff --git a/node_modules/graceful-readlink/LICENSE b/node_modules/graceful-readlink/LICENSE deleted file mode 100644 index d1f842f..0000000 --- a/node_modules/graceful-readlink/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Zhiye Li - -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. - diff --git a/node_modules/graceful-readlink/README.md b/node_modules/graceful-readlink/README.md deleted file mode 100644 index fc63b50..0000000 --- a/node_modules/graceful-readlink/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# graceful-readlink -[![NPM Version](http://img.shields.io/npm/v/graceful-readlink.svg?style=flat)](https://www.npmjs.org/package/graceful-readlink) -[![NPM Downloads](https://img.shields.io/npm/dm/graceful-readlink.svg?style=flat)](https://www.npmjs.org/package/graceful-readlink) - - -## Usage - -```js -var readlinkSync = require('graceful-readlink').readlinkSync; -console.log(readlinkSync(f)); -// output -// the file pointed to when `f` is a symbolic link -// the `f` itself when `f` is not a symbolic link -``` -## Licence - -MIT License diff --git a/node_modules/graceful-readlink/index.js b/node_modules/graceful-readlink/index.js deleted file mode 100644 index 7e9fc70..0000000 --- a/node_modules/graceful-readlink/index.js +++ /dev/null @@ -1,12 +0,0 @@ -var fs = require('fs') - , lstat = fs.lstatSync; - -exports.readlinkSync = function (p) { - if (lstat(p).isSymbolicLink()) { - return fs.readlinkSync(p); - } else { - return p; - } -}; - - diff --git a/node_modules/graceful-readlink/package.json b/node_modules/graceful-readlink/package.json deleted file mode 100644 index 55c9780..0000000 --- a/node_modules/graceful-readlink/package.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "graceful-readlink@>= 1.0.0", - "scope": null, - "escapedName": "graceful-readlink", - "name": "graceful-readlink", - "rawSpec": ">= 1.0.0", - "spec": ">=1.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/commander" - ] - ], - "_from": "graceful-readlink@>=1.0.0", - "_id": "graceful-readlink@1.0.1", - "_inCache": true, - "_installable": true, - "_location": "/graceful-readlink", - "_nodeVersion": "0.11.14", - "_npmUser": { - "name": "zhiyelee", - "email": "zhiyelee@gmail.com" - }, - "_npmVersion": "2.1.17", - "_phantomChildren": {}, - "_requested": { - "raw": "graceful-readlink@>= 1.0.0", - "scope": null, - "escapedName": "graceful-readlink", - "name": "graceful-readlink", - "rawSpec": ">= 1.0.0", - "spec": ">=1.0.0", - "type": "range" - }, - "_requiredBy": [ - "/commander" - ], - "_resolved": "http://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "_shasum": "4cafad76bc62f02fa039b2f94e9a3dd3a391a725", - "_shrinkwrap": null, - "_spec": "graceful-readlink@>= 1.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/commander", - "author": { - "name": "zhiyelee" - }, - "bugs": { - "url": "https://github.com/zhiyelee/graceful-readlink/issues" - }, - "dependencies": {}, - "description": "graceful fs.readlink", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "4cafad76bc62f02fa039b2f94e9a3dd3a391a725", - "tarball": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" - }, - "gitHead": "f6655275bebef706fb63fd01b5f062a7052419a5", - "homepage": "https://github.com/zhiyelee/graceful-readlink", - "keywords": [ - "fs.readlink", - "readlink" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "zhiyelee", - "email": "zhiyelee@gmail.com" - } - ], - "name": "graceful-readlink", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/zhiyelee/graceful-readlink.git" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "version": "1.0.1" -} diff --git a/node_modules/has-unicode/LICENSE b/node_modules/has-unicode/LICENSE deleted file mode 100644 index d42e25e..0000000 --- a/node_modules/has-unicode/LICENSE +++ /dev/null @@ -1,14 +0,0 @@ -Copyright (c) 2014, Rebecca Turner - -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. - diff --git a/node_modules/has-unicode/README.md b/node_modules/has-unicode/README.md deleted file mode 100644 index 5a03e59..0000000 --- a/node_modules/has-unicode/README.md +++ /dev/null @@ -1,43 +0,0 @@ -has-unicode -=========== - -Try to guess if your terminal supports unicode - -```javascript -var hasUnicode = require("has-unicode") - -if (hasUnicode()) { - // the terminal probably has unicode support -} -``` -```javascript -var hasUnicode = require("has-unicode").tryHarder -hasUnicode(function(unicodeSupported) { - if (unicodeSupported) { - // the terminal probably has unicode support - } -}) -``` - -## Detecting Unicode - -What we actually detect is UTF-8 support, as that's what Node itself supports. -If you have a UTF-16 locale then you won't be detected as unicode capable. - -### Windows - -Since at least Windows 7, `cmd` and `powershell` have been unicode capable, -but unfortunately even then it's not guaranteed. In many localizations it -still uses legacy code pages and there's no facility short of running -programs or linking C++ that will let us detect this. As such, we -report any Windows installation as NOT unicode capable, and recommend -that you encourage your users to override this via config. - -### Unix Like Operating Systems - -We look at the environment variables `LC_ALL`, `LC_CTYPE`, and `LANG` in -that order. For `LC_ALL` and `LANG`, it looks for `.UTF-8` in the value. -For `LC_CTYPE` it looks to see if the value is `UTF-8`. This is sufficient -for most POSIX systems. While locale data can be put in `/etc/locale.conf` -as well, AFAIK it's always copied into the environment. - diff --git a/node_modules/has-unicode/index.js b/node_modules/has-unicode/index.js deleted file mode 100644 index 9b0fe44..0000000 --- a/node_modules/has-unicode/index.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict" -var os = require("os") - -var hasUnicode = module.exports = function () { - // Recent Win32 platforms (>XP) CAN support unicode in the console but - // don't have to, and in non-english locales often use traditional local - // code pages. There's no way, short of windows system calls or execing - // the chcp command line program to figure this out. As such, we default - // this to false and encourage your users to override it via config if - // appropriate. - if (os.type() == "Windows_NT") { return false } - - var isUTF8 = /UTF-?8$/i - var ctype = process.env.LC_ALL || process.env.LC_CTYPE || process.env.LANG - return isUTF8.test(ctype) -} diff --git a/node_modules/has-unicode/package.json b/node_modules/has-unicode/package.json deleted file mode 100644 index 9fd5673..0000000 --- a/node_modules/has-unicode/package.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "has-unicode@^2.0.0", - "scope": null, - "escapedName": "has-unicode", - "name": "has-unicode", - "rawSpec": "^2.0.0", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/gauge" - ] - ], - "_from": "has-unicode@>=2.0.0 <3.0.0", - "_id": "has-unicode@2.0.1", - "_inCache": true, - "_installable": true, - "_location": "/has-unicode", - "_nodeVersion": "4.4.0", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/has-unicode-2.0.1.tgz_1466719828333_0.48896647873334587" - }, - "_npmUser": { - "name": "iarna", - "email": "me@re-becca.org" - }, - "_npmVersion": "3.10.2", - "_phantomChildren": {}, - "_requested": { - "raw": "has-unicode@^2.0.0", - "scope": null, - "escapedName": "has-unicode", - "name": "has-unicode", - "rawSpec": "^2.0.0", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "_requiredBy": [ - "/gauge" - ], - "_resolved": "http://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "_shasum": "e0e6fe6a28cf51138855e086d1691e771de2a8b9", - "_shrinkwrap": null, - "_spec": "has-unicode@^2.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/gauge", - "author": { - "name": "Rebecca Turner", - "email": "me@re-becca.org" - }, - "bugs": { - "url": "https://github.com/iarna/has-unicode/issues" - }, - "dependencies": {}, - "description": "Try to guess if your terminal supports unicode", - "devDependencies": { - "require-inject": "^1.3.0", - "tap": "^2.3.1" - }, - "directories": {}, - "dist": { - "shasum": "e0e6fe6a28cf51138855e086d1691e771de2a8b9", - "tarball": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" - }, - "files": [ - "index.js" - ], - "gitHead": "0a05df154e8d89a7fb9798da60b68c78c2df6646", - "homepage": "https://github.com/iarna/has-unicode", - "keywords": [ - "unicode", - "terminal" - ], - "license": "ISC", - "main": "index.js", - "maintainers": [ - { - "name": "iarna", - "email": "me@re-becca.org" - } - ], - "name": "has-unicode", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/iarna/has-unicode.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "2.0.1" -} diff --git a/node_modules/inherits/LICENSE b/node_modules/inherits/LICENSE deleted file mode 100644 index dea3013..0000000 --- a/node_modules/inherits/LICENSE +++ /dev/null @@ -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. - diff --git a/node_modules/inherits/README.md b/node_modules/inherits/README.md deleted file mode 100644 index b1c5665..0000000 --- a/node_modules/inherits/README.md +++ /dev/null @@ -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 diff --git a/node_modules/inherits/inherits.js b/node_modules/inherits/inherits.js deleted file mode 100644 index 3b94763..0000000 --- a/node_modules/inherits/inherits.js +++ /dev/null @@ -1,7 +0,0 @@ -try { - var util = require('util'); - if (typeof util.inherits !== 'function') throw ''; - module.exports = util.inherits; -} catch (e) { - module.exports = require('./inherits_browser.js'); -} diff --git a/node_modules/inherits/inherits_browser.js b/node_modules/inherits/inherits_browser.js deleted file mode 100644 index c1e78a7..0000000 --- a/node_modules/inherits/inherits_browser.js +++ /dev/null @@ -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 - } -} diff --git a/node_modules/inherits/package.json b/node_modules/inherits/package.json deleted file mode 100644 index cfcdc42..0000000 --- a/node_modules/inherits/package.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "inherits@~2.0.1", - "scope": null, - "escapedName": "inherits", - "name": "inherits", - "rawSpec": "~2.0.1", - "spec": ">=2.0.1 <2.1.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/readable-stream" - ] - ], - "_from": "inherits@>=2.0.1 <2.1.0", - "_id": "inherits@2.0.3", - "_inCache": true, - "_installable": true, - "_location": "/inherits", - "_nodeVersion": "6.5.0", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/inherits-2.0.3.tgz_1473295776489_0.08142363070510328" - }, - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "_npmVersion": "3.10.7", - "_phantomChildren": {}, - "_requested": { - "raw": "inherits@~2.0.1", - "scope": null, - "escapedName": "inherits", - "name": "inherits", - "rawSpec": "~2.0.1", - "spec": ">=2.0.1 <2.1.0", - "type": "range" - }, - "_requiredBy": [ - "/readable-stream", - "/streamroller/readable-stream" - ], - "_resolved": "http://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "_shasum": "633c2c83e3da42a502f52466022480f4208261de", - "_shrinkwrap": null, - "_spec": "inherits@~2.0.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/readable-stream", - "browser": "./inherits_browser.js", - "bugs": { - "url": "https://github.com/isaacs/inherits/issues" - }, - "dependencies": {}, - "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", - "devDependencies": { - "tap": "^7.1.0" - }, - "directories": {}, - "dist": { - "shasum": "633c2c83e3da42a502f52466022480f4208261de", - "tarball": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - }, - "files": [ - "inherits.js", - "inherits_browser.js" - ], - "gitHead": "e05d0fb27c61a3ec687214f0476386b765364d5f", - "homepage": "https://github.com/isaacs/inherits#readme", - "keywords": [ - "inheritance", - "class", - "klass", - "oop", - "object-oriented", - "inherits", - "browser", - "browserify" - ], - "license": "ISC", - "main": "./inherits.js", - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "name": "inherits", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/inherits.git" - }, - "scripts": { - "test": "node test" - }, - "version": "2.0.3" -} diff --git a/node_modules/ini/LICENSE b/node_modules/ini/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/node_modules/ini/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -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. diff --git a/node_modules/ini/README.md b/node_modules/ini/README.md deleted file mode 100644 index 33df258..0000000 --- a/node_modules/ini/README.md +++ /dev/null @@ -1,102 +0,0 @@ -An ini format parser and serializer for node. - -Sections are treated as nested objects. Items before the first -heading are saved on the object directly. - -## Usage - -Consider an ini-file `config.ini` that looks like this: - - ; this comment is being ignored - scope = global - - [database] - user = dbuser - password = dbpassword - database = use_this_database - - [paths.default] - datadir = /var/lib/data - array[] = first value - array[] = second value - array[] = third value - -You can read, manipulate and write the ini-file like so: - - var fs = require('fs') - , ini = require('ini') - - var config = ini.parse(fs.readFileSync('./config.ini', 'utf-8')) - - config.scope = 'local' - config.database.database = 'use_another_database' - config.paths.default.tmpdir = '/tmp' - delete config.paths.default.datadir - config.paths.default.array.push('fourth value') - - fs.writeFileSync('./config_modified.ini', ini.stringify(config, { section: 'section' })) - -This will result in a file called `config_modified.ini` being written -to the filesystem with the following content: - - [section] - scope=local - [section.database] - user=dbuser - password=dbpassword - database=use_another_database - [section.paths.default] - tmpdir=/tmp - array[]=first value - array[]=second value - array[]=third value - array[]=fourth value - - -## API - -### decode(inistring) - -Decode the ini-style formatted `inistring` into a nested object. - -### parse(inistring) - -Alias for `decode(inistring)` - -### encode(object, [options]) - -Encode the object `object` into an ini-style formatted string. If the -optional parameter `section` is given, then all top-level properties -of the object are put into this section and the `section`-string is -prepended to all sub-sections, see the usage example above. - -The `options` object may contain the following: - -* `section` A string which will be the first `section` in the encoded - ini data. Defaults to none. -* `whitespace` Boolean to specify whether to put whitespace around the - `=` character. By default, whitespace is omitted, to be friendly to - some persnickety old parsers that don't tolerate it well. But some - find that it's more human-readable and pretty with the whitespace. - -For backwards compatibility reasons, if a `string` options is passed -in, then it is assumed to be the `section` value. - -### stringify(object, [options]) - -Alias for `encode(object, [options])` - -### safe(val) - -Escapes the string `val` such that it is safe to be used as a key or -value in an ini-file. Basically escapes quotes. For example - - ini.safe('"unsafe string"') - -would result in - - "\"unsafe string\"" - -### unsafe(val) - -Unescapes the string `val` diff --git a/node_modules/ini/ini.js b/node_modules/ini/ini.js deleted file mode 100644 index ddf5bd9..0000000 --- a/node_modules/ini/ini.js +++ /dev/null @@ -1,190 +0,0 @@ - -exports.parse = exports.decode = decode -exports.stringify = exports.encode = encode - -exports.safe = safe -exports.unsafe = unsafe - -var eol = process.platform === "win32" ? "\r\n" : "\n" - -function encode (obj, opt) { - var children = [] - , out = "" - - if (typeof opt === "string") { - opt = { - section: opt, - whitespace: false - } - } else { - opt = opt || {} - opt.whitespace = opt.whitespace === true - } - - var separator = opt.whitespace ? " = " : "=" - - Object.keys(obj).forEach(function (k, _, __) { - var val = obj[k] - if (val && Array.isArray(val)) { - val.forEach(function(item) { - out += safe(k + "[]") + separator + safe(item) + "\n" - }) - } - else if (val && typeof val === "object") { - children.push(k) - } else { - out += safe(k) + separator + safe(val) + eol - } - }) - - if (opt.section && out.length) { - out = "[" + safe(opt.section) + "]" + eol + out - } - - children.forEach(function (k, _, __) { - var nk = dotSplit(k).join('\\.') - var section = (opt.section ? opt.section + "." : "") + nk - var child = encode(obj[k], { - section: section, - whitespace: opt.whitespace - }) - if (out.length && child.length) { - out += eol - } - out += child - }) - - return out -} - -function dotSplit (str) { - return str.replace(/\1/g, '\u0002LITERAL\\1LITERAL\u0002') - .replace(/\\\./g, '\u0001') - .split(/\./).map(function (part) { - return part.replace(/\1/g, '\\.') - .replace(/\2LITERAL\\1LITERAL\2/g, '\u0001') - }) -} - -function decode (str) { - var out = {} - , p = out - , section = null - , state = "START" - // section |key = value - , re = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i - , lines = str.split(/[\r\n]+/g) - , section = null - - lines.forEach(function (line, _, __) { - if (!line || line.match(/^\s*[;#]/)) return - var match = line.match(re) - if (!match) return - if (match[1] !== undefined) { - section = unsafe(match[1]) - p = out[section] = out[section] || {} - return - } - var key = unsafe(match[2]) - , value = match[3] ? unsafe((match[4] || "")) : true - switch (value) { - case 'true': - case 'false': - case 'null': value = JSON.parse(value) - } - - // Convert keys with '[]' suffix to an array - if (key.length > 2 && key.slice(-2) === "[]") { - key = key.substring(0, key.length - 2) - if (!p[key]) { - p[key] = [] - } - else if (!Array.isArray(p[key])) { - p[key] = [p[key]] - } - } - - // safeguard against resetting a previously defined - // array by accidentally forgetting the brackets - if (Array.isArray(p[key])) { - p[key].push(value) - } - else { - p[key] = value - } - }) - - // {a:{y:1},"a.b":{x:2}} --> {a:{y:1,b:{x:2}}} - // use a filter to return the keys that have to be deleted. - Object.keys(out).filter(function (k, _, __) { - if (!out[k] || typeof out[k] !== "object" || Array.isArray(out[k])) return false - // see if the parent section is also an object. - // if so, add it to that, and mark this one for deletion - var parts = dotSplit(k) - , p = out - , l = parts.pop() - , nl = l.replace(/\\\./g, '.') - parts.forEach(function (part, _, __) { - if (!p[part] || typeof p[part] !== "object") p[part] = {} - p = p[part] - }) - if (p === out && nl === l) return false - p[nl] = out[k] - return true - }).forEach(function (del, _, __) { - delete out[del] - }) - - return out -} - -function isQuoted (val) { - return (val.charAt(0) === "\"" && val.slice(-1) === "\"") - || (val.charAt(0) === "'" && val.slice(-1) === "'") -} - -function safe (val) { - return ( typeof val !== "string" - || val.match(/[=\r\n]/) - || val.match(/^\[/) - || (val.length > 1 - && isQuoted(val)) - || val !== val.trim() ) - ? JSON.stringify(val) - : val.replace(/;/g, '\\;').replace(/#/g, "\\#") -} - -function unsafe (val, doUnesc) { - val = (val || "").trim() - if (isQuoted(val)) { - // remove the single quotes before calling JSON.parse - if (val.charAt(0) === "'") { - val = val.substr(1, val.length - 2); - } - try { val = JSON.parse(val) } catch (_) {} - } else { - // walk the val to find the first not-escaped ; character - var esc = false - var unesc = ""; - for (var i = 0, l = val.length; i < l; i++) { - var c = val.charAt(i) - if (esc) { - if ("\\;#".indexOf(c) !== -1) - unesc += c - else - unesc += "\\" + c - esc = false - } else if (";#".indexOf(c) !== -1) { - break - } else if (c === "\\") { - esc = true - } else { - unesc += c - } - } - if (esc) - unesc += "\\" - return unesc - } - return val -} diff --git a/node_modules/ini/package.json b/node_modules/ini/package.json deleted file mode 100644 index 32dd886..0000000 --- a/node_modules/ini/package.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "ini@~1.3.0", - "scope": null, - "escapedName": "ini", - "name": "ini", - "rawSpec": "~1.3.0", - "spec": ">=1.3.0 <1.4.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/rc" - ] - ], - "_from": "ini@>=1.3.0 <1.4.0", - "_id": "ini@1.3.4", - "_inCache": true, - "_installable": true, - "_location": "/ini", - "_nodeVersion": "2.0.1", - "_npmUser": { - "name": "isaacs", - "email": "isaacs@npmjs.com" - }, - "_npmVersion": "2.10.1", - "_phantomChildren": {}, - "_requested": { - "raw": "ini@~1.3.0", - "scope": null, - "escapedName": "ini", - "name": "ini", - "rawSpec": "~1.3.0", - "spec": ">=1.3.0 <1.4.0", - "type": "range" - }, - "_requiredBy": [ - "/rc" - ], - "_resolved": "http://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "_shasum": "0537cb79daf59b59a1a517dff706c86ec039162e", - "_shrinkwrap": null, - "_spec": "ini@~1.3.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/rc", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/ini/issues" - }, - "dependencies": {}, - "description": "An ini encoder/decoder for node", - "devDependencies": { - "tap": "^1.2.0" - }, - "directories": {}, - "dist": { - "shasum": "0537cb79daf59b59a1a517dff706c86ec039162e", - "tarball": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz" - }, - "engines": { - "node": "*" - }, - "files": [ - "ini.js" - ], - "gitHead": "4a3001abc4c608e51add9f1d2b2cadf02b8e6dea", - "homepage": "https://github.com/isaacs/ini#readme", - "license": "ISC", - "main": "ini.js", - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "name": "ini", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/ini.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "1.3.4" -} diff --git a/node_modules/is-fullwidth-code-point/index.js b/node_modules/is-fullwidth-code-point/index.js deleted file mode 100644 index a7d3e38..0000000 --- a/node_modules/is-fullwidth-code-point/index.js +++ /dev/null @@ -1,46 +0,0 @@ -'use strict'; -var numberIsNan = require('number-is-nan'); - -module.exports = function (x) { - if (numberIsNan(x)) { - return false; - } - - // https://github.com/nodejs/io.js/blob/cff7300a578be1b10001f2d967aaedc88aee6402/lib/readline.js#L1369 - - // code points are derived from: - // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt - if (x >= 0x1100 && ( - x <= 0x115f || // Hangul Jamo - 0x2329 === x || // LEFT-POINTING ANGLE BRACKET - 0x232a === x || // RIGHT-POINTING ANGLE BRACKET - // CJK Radicals Supplement .. Enclosed CJK Letters and Months - (0x2e80 <= x && x <= 0x3247 && x !== 0x303f) || - // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A - 0x3250 <= x && x <= 0x4dbf || - // CJK Unified Ideographs .. Yi Radicals - 0x4e00 <= x && x <= 0xa4c6 || - // Hangul Jamo Extended-A - 0xa960 <= x && x <= 0xa97c || - // Hangul Syllables - 0xac00 <= x && x <= 0xd7a3 || - // CJK Compatibility Ideographs - 0xf900 <= x && x <= 0xfaff || - // Vertical Forms - 0xfe10 <= x && x <= 0xfe19 || - // CJK Compatibility Forms .. Small Form Variants - 0xfe30 <= x && x <= 0xfe6b || - // Halfwidth and Fullwidth Forms - 0xff01 <= x && x <= 0xff60 || - 0xffe0 <= x && x <= 0xffe6 || - // Kana Supplement - 0x1b000 <= x && x <= 0x1b001 || - // Enclosed Ideographic Supplement - 0x1f200 <= x && x <= 0x1f251 || - // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane - 0x20000 <= x && x <= 0x3fffd)) { - return true; - } - - return false; -} diff --git a/node_modules/is-fullwidth-code-point/license b/node_modules/is-fullwidth-code-point/license deleted file mode 100644 index 654d0bf..0000000 --- a/node_modules/is-fullwidth-code-point/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -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. diff --git a/node_modules/is-fullwidth-code-point/package.json b/node_modules/is-fullwidth-code-point/package.json deleted file mode 100644 index ad417df..0000000 --- a/node_modules/is-fullwidth-code-point/package.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "is-fullwidth-code-point@^1.0.0", - "scope": null, - "escapedName": "is-fullwidth-code-point", - "name": "is-fullwidth-code-point", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/string-width" - ] - ], - "_from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", - "_id": "is-fullwidth-code-point@1.0.0", - "_inCache": true, - "_installable": true, - "_location": "/is-fullwidth-code-point", - "_nodeVersion": "0.12.5", - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "2.11.2", - "_phantomChildren": {}, - "_requested": { - "raw": "is-fullwidth-code-point@^1.0.0", - "scope": null, - "escapedName": "is-fullwidth-code-point", - "name": "is-fullwidth-code-point", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/string-width" - ], - "_resolved": "http://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "_shasum": "ef9e31386f031a7f0d643af82fde50c457ef00cb", - "_shrinkwrap": null, - "_spec": "is-fullwidth-code-point@^1.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/string-width", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/is-fullwidth-code-point/issues" - }, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "description": "Check if the character represented by a given Unicode code point is fullwidth", - "devDependencies": { - "ava": "0.0.4", - "code-point-at": "^1.0.0" - }, - "directories": {}, - "dist": { - "shasum": "ef9e31386f031a7f0d643af82fde50c457ef00cb", - "tarball": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "f2152d357f41f82785436d428e4f8ede143b7548", - "homepage": "https://github.com/sindresorhus/is-fullwidth-code-point", - "keywords": [ - "fullwidth", - "full-width", - "full", - "width", - "unicode", - "character", - "char", - "string", - "str", - "codepoint", - "code", - "point", - "is", - "detect", - "check" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "is-fullwidth-code-point", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/is-fullwidth-code-point.git" - }, - "scripts": { - "test": "node test.js" - }, - "version": "1.0.0" -} diff --git a/node_modules/is-fullwidth-code-point/readme.md b/node_modules/is-fullwidth-code-point/readme.md deleted file mode 100644 index 4936464..0000000 --- a/node_modules/is-fullwidth-code-point/readme.md +++ /dev/null @@ -1,39 +0,0 @@ -# is-fullwidth-code-point [![Build Status](https://travis-ci.org/sindresorhus/is-fullwidth-code-point.svg?branch=master)](https://travis-ci.org/sindresorhus/is-fullwidth-code-point) - -> Check if the character represented by a given [Unicode code point](https://en.wikipedia.org/wiki/Code_point) is [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) - - -## Install - -``` -$ npm install --save is-fullwidth-code-point -``` - - -## Usage - -```js -var isFullwidthCodePoint = require('is-fullwidth-code-point'); - -isFullwidthCodePoint('谢'.codePointAt()); -//=> true - -isFullwidthCodePoint('a'.codePointAt()); -//=> false -``` - - -## API - -### isFullwidthCodePoint(input) - -#### input - -Type: `number` - -[Code point](https://en.wikipedia.org/wiki/Code_point) of a character. - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/isarray/.npmignore b/node_modules/isarray/.npmignore deleted file mode 100644 index 3c3629e..0000000 --- a/node_modules/isarray/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/node_modules/isarray/.travis.yml b/node_modules/isarray/.travis.yml deleted file mode 100644 index cc4dba2..0000000 --- a/node_modules/isarray/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - "0.8" - - "0.10" diff --git a/node_modules/isarray/Makefile b/node_modules/isarray/Makefile deleted file mode 100644 index 787d56e..0000000 --- a/node_modules/isarray/Makefile +++ /dev/null @@ -1,6 +0,0 @@ - -test: - @node_modules/.bin/tape test.js - -.PHONY: test - diff --git a/node_modules/isarray/README.md b/node_modules/isarray/README.md deleted file mode 100644 index 16d2c59..0000000 --- a/node_modules/isarray/README.md +++ /dev/null @@ -1,60 +0,0 @@ - -# isarray - -`Array#isArray` for older browsers. - -[![build status](https://secure.travis-ci.org/juliangruber/isarray.svg)](http://travis-ci.org/juliangruber/isarray) -[![downloads](https://img.shields.io/npm/dm/isarray.svg)](https://www.npmjs.org/package/isarray) - -[![browser support](https://ci.testling.com/juliangruber/isarray.png) -](https://ci.testling.com/juliangruber/isarray) - -## Usage - -```js -var isArray = require('isarray'); - -console.log(isArray([])); // => true -console.log(isArray({})); // => false -``` - -## Installation - -With [npm](http://npmjs.org) do - -```bash -$ npm install isarray -``` - -Then bundle for the browser with -[browserify](https://github.com/substack/browserify). - -With [component](http://component.io) do - -```bash -$ component install juliangruber/isarray -``` - -## License - -(MIT) - -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> - -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. diff --git a/node_modules/isarray/component.json b/node_modules/isarray/component.json deleted file mode 100644 index 9e31b68..0000000 --- a/node_modules/isarray/component.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name" : "isarray", - "description" : "Array#isArray for older browsers", - "version" : "0.0.1", - "repository" : "juliangruber/isarray", - "homepage": "https://github.com/juliangruber/isarray", - "main" : "index.js", - "scripts" : [ - "index.js" - ], - "dependencies" : {}, - "keywords": ["browser","isarray","array"], - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "license": "MIT" -} diff --git a/node_modules/isarray/index.js b/node_modules/isarray/index.js deleted file mode 100644 index a57f634..0000000 --- a/node_modules/isarray/index.js +++ /dev/null @@ -1,5 +0,0 @@ -var toString = {}.toString; - -module.exports = Array.isArray || function (arr) { - return toString.call(arr) == '[object Array]'; -}; diff --git a/node_modules/isarray/package.json b/node_modules/isarray/package.json deleted file mode 100644 index 2d523a2..0000000 --- a/node_modules/isarray/package.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "isarray@~1.0.0", - "scope": null, - "escapedName": "isarray", - "name": "isarray", - "rawSpec": "~1.0.0", - "spec": ">=1.0.0 <1.1.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/readable-stream" - ] - ], - "_from": "isarray@>=1.0.0 <1.1.0", - "_id": "isarray@1.0.0", - "_inCache": true, - "_installable": true, - "_location": "/isarray", - "_nodeVersion": "5.1.0", - "_npmUser": { - "name": "juliangruber", - "email": "julian@juliangruber.com" - }, - "_npmVersion": "3.3.12", - "_phantomChildren": {}, - "_requested": { - "raw": "isarray@~1.0.0", - "scope": null, - "escapedName": "isarray", - "name": "isarray", - "rawSpec": "~1.0.0", - "spec": ">=1.0.0 <1.1.0", - "type": "range" - }, - "_requiredBy": [ - "/readable-stream" - ], - "_resolved": "http://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "_shasum": "bb935d48582cba168c06834957a54a3e07124f11", - "_shrinkwrap": null, - "_spec": "isarray@~1.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/readable-stream", - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "bugs": { - "url": "https://github.com/juliangruber/isarray/issues" - }, - "dependencies": {}, - "description": "Array#isArray for older browsers", - "devDependencies": { - "tape": "~2.13.4" - }, - "directories": {}, - "dist": { - "shasum": "bb935d48582cba168c06834957a54a3e07124f11", - "tarball": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - }, - "gitHead": "2a23a281f369e9ae06394c0fb4d2381355a6ba33", - "homepage": "https://github.com/juliangruber/isarray", - "keywords": [ - "browser", - "isarray", - "array" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "juliangruber", - "email": "julian@juliangruber.com" - } - ], - "name": "isarray", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/juliangruber/isarray.git" - }, - "scripts": { - "test": "tape test.js" - }, - "testling": { - "files": "test.js", - "browsers": [ - "ie/8..latest", - "firefox/17..latest", - "firefox/nightly", - "chrome/22..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest", - "android-browser/4.2..latest" - ] - }, - "version": "1.0.0" -} diff --git a/node_modules/isarray/test.js b/node_modules/isarray/test.js deleted file mode 100644 index e0c3444..0000000 --- a/node_modules/isarray/test.js +++ /dev/null @@ -1,20 +0,0 @@ -var isArray = require('./'); -var test = require('tape'); - -test('is array', function(t){ - t.ok(isArray([])); - t.notOk(isArray({})); - t.notOk(isArray(null)); - t.notOk(isArray(false)); - - var obj = {}; - obj[0] = true; - t.notOk(isArray(obj)); - - var arr = []; - arr.foo = 'bar'; - t.ok(isArray(arr)); - - t.end(); -}); - diff --git a/node_modules/lodash.defaults/LICENSE b/node_modules/lodash.defaults/LICENSE deleted file mode 100644 index e0c69d5..0000000 --- a/node_modules/lodash.defaults/LICENSE +++ /dev/null @@ -1,47 +0,0 @@ -Copyright jQuery Foundation and other contributors - -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors - -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash - -The following license applies to all parts of this software except as -documented below: - -==== - -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. - -==== - -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. - -CC0: http://creativecommons.org/publicdomain/zero/1.0/ - -==== - -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. diff --git a/node_modules/lodash.defaults/README.md b/node_modules/lodash.defaults/README.md deleted file mode 100644 index a129849..0000000 --- a/node_modules/lodash.defaults/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# lodash.defaults v4.2.0 - -The [lodash](https://lodash.com/) method `_.defaults` exported as a [Node.js](https://nodejs.org/) module. - -## Installation - -Using npm: -```bash -$ {sudo -H} npm i -g npm -$ npm i --save lodash.defaults -``` - -In Node.js: -```js -var defaults = require('lodash.defaults'); -``` - -See the [documentation](https://lodash.com/docs#defaults) or [package source](https://github.com/lodash/lodash/blob/4.2.0-npm-packages/lodash.defaults) for more details. diff --git a/node_modules/lodash.defaults/index.js b/node_modules/lodash.defaults/index.js deleted file mode 100644 index 25eba9c..0000000 --- a/node_modules/lodash.defaults/index.js +++ /dev/null @@ -1,668 +0,0 @@ -/** - * lodash (Custom Build) - * Build: `lodash modularize exports="npm" -o ./` - * Copyright jQuery Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ - -/** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER = 9007199254740991; - -/** `Object#toString` result references. */ -var argsTag = '[object Arguments]', - funcTag = '[object Function]', - genTag = '[object GeneratorFunction]'; - -/** Used to detect unsigned integer values. */ -var reIsUint = /^(?:0|[1-9]\d*)$/; - -/** - * A faster alternative to `Function#apply`, this function invokes `func` - * with the `this` binding of `thisArg` and the arguments of `args`. - * - * @private - * @param {Function} func The function to invoke. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} args The arguments to invoke `func` with. - * @returns {*} Returns the result of `func`. - */ -function apply(func, thisArg, args) { - switch (args.length) { - case 0: return func.call(thisArg); - case 1: return func.call(thisArg, args[0]); - case 2: return func.call(thisArg, args[0], args[1]); - case 3: return func.call(thisArg, args[0], args[1], args[2]); - } - return func.apply(thisArg, args); -} - -/** - * The base implementation of `_.times` without support for iteratee shorthands - * or max array length checks. - * - * @private - * @param {number} n The number of times to invoke `iteratee`. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the array of results. - */ -function baseTimes(n, iteratee) { - var index = -1, - result = Array(n); - - while (++index < n) { - result[index] = iteratee(index); - } - return result; -} - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var objectToString = objectProto.toString; - -/** Built-in value references. */ -var propertyIsEnumerable = objectProto.propertyIsEnumerable; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * Creates an array of the enumerable property names of the array-like `value`. - * - * @private - * @param {*} value The value to query. - * @param {boolean} inherited Specify returning inherited property names. - * @returns {Array} Returns the array of property names. - */ -function arrayLikeKeys(value, inherited) { - // Safari 8.1 makes `arguments.callee` enumerable in strict mode. - // Safari 9 makes `arguments.length` enumerable in strict mode. - var result = (isArray(value) || isArguments(value)) - ? baseTimes(value.length, String) - : []; - - var length = result.length, - skipIndexes = !!length; - - for (var key in value) { - if ((inherited || hasOwnProperty.call(value, key)) && - !(skipIndexes && (key == 'length' || isIndex(key, length)))) { - result.push(key); - } - } - return result; -} - -/** - * Used by `_.defaults` to customize its `_.assignIn` use. - * - * @private - * @param {*} objValue The destination value. - * @param {*} srcValue The source value. - * @param {string} key The key of the property to assign. - * @param {Object} object The parent object of `objValue`. - * @returns {*} Returns the value to assign. - */ -function assignInDefaults(objValue, srcValue, key, object) { - if (objValue === undefined || - (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { - return srcValue; - } - return objValue; -} - -/** - * Assigns `value` to `key` of `object` if the existing value is not equivalent - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ -function assignValue(object, key, value) { - var objValue = object[key]; - if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || - (value === undefined && !(key in object))) { - object[key] = value; - } -} - -/** - * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ -function baseKeysIn(object) { - if (!isObject(object)) { - return nativeKeysIn(object); - } - var isProto = isPrototype(object), - result = []; - - for (var key in object) { - if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { - result.push(key); - } - } - return result; -} - -/** - * The base implementation of `_.rest` which doesn't validate or coerce arguments. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - */ -function baseRest(func, start) { - start = nativeMax(start === undefined ? (func.length - 1) : start, 0); - return function() { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - array = Array(length); - - while (++index < length) { - array[index] = args[start + index]; - } - index = -1; - var otherArgs = Array(start + 1); - while (++index < start) { - otherArgs[index] = args[index]; - } - otherArgs[start] = array; - return apply(func, this, otherArgs); - }; -} - -/** - * Copies properties of `source` to `object`. - * - * @private - * @param {Object} source The object to copy properties from. - * @param {Array} props The property identifiers to copy. - * @param {Object} [object={}] The object to copy properties to. - * @param {Function} [customizer] The function to customize copied values. - * @returns {Object} Returns `object`. - */ -function copyObject(source, props, object, customizer) { - object || (object = {}); - - var index = -1, - length = props.length; - - while (++index < length) { - var key = props[index]; - - var newValue = customizer - ? customizer(object[key], source[key], key, object, source) - : undefined; - - assignValue(object, key, newValue === undefined ? source[key] : newValue); - } - return object; -} - -/** - * Creates a function like `_.assign`. - * - * @private - * @param {Function} assigner The function to assign values. - * @returns {Function} Returns the new assigner function. - */ -function createAssigner(assigner) { - return baseRest(function(object, sources) { - var index = -1, - length = sources.length, - customizer = length > 1 ? sources[length - 1] : undefined, - guard = length > 2 ? sources[2] : undefined; - - customizer = (assigner.length > 3 && typeof customizer == 'function') - ? (length--, customizer) - : undefined; - - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - customizer = length < 3 ? undefined : customizer; - length = 1; - } - object = Object(object); - while (++index < length) { - var source = sources[index]; - if (source) { - assigner(object, source, index, customizer); - } - } - return object; - }); -} - -/** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */ -function isIndex(value, length) { - length = length == null ? MAX_SAFE_INTEGER : length; - return !!length && - (typeof value == 'number' || reIsUint.test(value)) && - (value > -1 && value % 1 == 0 && value < length); -} - -/** - * Checks if the given arguments are from an iteratee call. - * - * @private - * @param {*} value The potential iteratee value argument. - * @param {*} index The potential iteratee index or key argument. - * @param {*} object The potential iteratee object argument. - * @returns {boolean} Returns `true` if the arguments are from an iteratee call, - * else `false`. - */ -function isIterateeCall(value, index, object) { - if (!isObject(object)) { - return false; - } - var type = typeof index; - if (type == 'number' - ? (isArrayLike(object) && isIndex(index, object.length)) - : (type == 'string' && index in object) - ) { - return eq(object[index], value); - } - return false; -} - -/** - * Checks if `value` is likely a prototype object. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. - */ -function isPrototype(value) { - var Ctor = value && value.constructor, - proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; - - return value === proto; -} - -/** - * This function is like - * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * except that it includes inherited enumerable properties. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ -function nativeKeysIn(object) { - var result = []; - if (object != null) { - for (var key in Object(object)) { - result.push(key); - } - } - return result; -} - -/** - * Performs a - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * comparison between two values to determine if they are equivalent. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.eq(object, object); - * // => true - * - * _.eq(object, other); - * // => false - * - * _.eq('a', 'a'); - * // => true - * - * _.eq('a', Object('a')); - * // => false - * - * _.eq(NaN, NaN); - * // => true - */ -function eq(value, other) { - return value === other || (value !== value && other !== other); -} - -/** - * Checks if `value` is likely an `arguments` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - * else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ -function isArguments(value) { - // Safari 8.1 makes `arguments.callee` enumerable in strict mode. - return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && - (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag); -} - -/** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(document.body.children); - * // => false - * - * _.isArray('abc'); - * // => false - * - * _.isArray(_.noop); - * // => false - */ -var isArray = Array.isArray; - -/** - * Checks if `value` is array-like. A value is considered array-like if it's - * not a function and has a `value.length` that's an integer greater than or - * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - * @example - * - * _.isArrayLike([1, 2, 3]); - * // => true - * - * _.isArrayLike(document.body.children); - * // => true - * - * _.isArrayLike('abc'); - * // => true - * - * _.isArrayLike(_.noop); - * // => false - */ -function isArrayLike(value) { - return value != null && isLength(value.length) && !isFunction(value); -} - -/** - * This method is like `_.isArrayLike` except that it also checks if `value` - * is an object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array-like object, - * else `false`. - * @example - * - * _.isArrayLikeObject([1, 2, 3]); - * // => true - * - * _.isArrayLikeObject(document.body.children); - * // => true - * - * _.isArrayLikeObject('abc'); - * // => false - * - * _.isArrayLikeObject(_.noop); - * // => false - */ -function isArrayLikeObject(value) { - return isObjectLike(value) && isArrayLike(value); -} - -/** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a function, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ -function isFunction(value) { - // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 8-9 which returns 'object' for typed array and other constructors. - var tag = isObject(value) ? objectToString.call(value) : ''; - return tag == funcTag || tag == genTag; -} - -/** - * Checks if `value` is a valid array-like length. - * - * **Note:** This method is loosely based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - * @example - * - * _.isLength(3); - * // => true - * - * _.isLength(Number.MIN_VALUE); - * // => false - * - * _.isLength(Infinity); - * // => false - * - * _.isLength('3'); - * // => false - */ -function isLength(value) { - return typeof value == 'number' && - value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; -} - -/** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ -function isObject(value) { - var type = typeof value; - return !!value && (type == 'object' || type == 'function'); -} - -/** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ -function isObjectLike(value) { - return !!value && typeof value == 'object'; -} - -/** - * This method is like `_.assignIn` except that it accepts `customizer` - * which is invoked to produce the assigned values. If `customizer` returns - * `undefined`, assignment is handled by the method instead. The `customizer` - * is invoked with five arguments: (objValue, srcValue, key, object, source). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias extendWith - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @see _.assignWith - * @example - * - * function customizer(objValue, srcValue) { - * return _.isUndefined(objValue) ? srcValue : objValue; - * } - * - * var defaults = _.partialRight(_.assignInWith, customizer); - * - * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ -var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { - copyObject(source, keysIn(source), object, customizer); -}); - -/** - * Assigns own and inherited enumerable string keyed properties of source - * objects to the destination object for all destination properties that - * resolve to `undefined`. Source objects are applied from left to right. - * Once a property is set, additional values of the same property are ignored. - * - * **Note:** This method mutates `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.defaultsDeep - * @example - * - * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ -var defaults = baseRest(function(args) { - args.push(undefined, assignInDefaults); - return apply(assignInWith, undefined, args); -}); - -/** - * Creates an array of the own and inherited enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keysIn(new Foo); - * // => ['a', 'b', 'c'] (iteration order is not guaranteed) - */ -function keysIn(object) { - return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); -} - -module.exports = defaults; diff --git a/node_modules/lodash.defaults/package.json b/node_modules/lodash.defaults/package.json deleted file mode 100644 index 51abffe..0000000 --- a/node_modules/lodash.defaults/package.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "lodash.defaults@^4.0.1", - "scope": null, - "escapedName": "lodash.defaults", - "name": "lodash.defaults", - "rawSpec": "^4.0.1", - "spec": ">=4.0.1 <5.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/throng" - ] - ], - "_cnpm_publish_time": 1471109872434, - "_from": "lodash.defaults@>=4.0.1 <5.0.0", - "_id": "lodash.defaults@4.2.0", - "_inCache": true, - "_installable": true, - "_location": "/lodash.defaults", - "_nodeVersion": "4.4.7", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/lodash.defaults-4.2.0.tgz_1471109872209_0.6277233152650297" - }, - "_npmUser": { - "name": "jdalton", - "email": "john.david.dalton@gmail.com" - }, - "_npmVersion": "2.15.10", - "_phantomChildren": {}, - "_requested": { - "raw": "lodash.defaults@^4.0.1", - "scope": null, - "escapedName": "lodash.defaults", - "name": "lodash.defaults", - "rawSpec": "^4.0.1", - "spec": ">=4.0.1 <5.0.0", - "type": "range" - }, - "_requiredBy": [ - "/throng" - ], - "_resolved": "https://registry.npm.taobao.org/lodash.defaults/download/lodash.defaults-4.2.0.tgz", - "_shasum": "d09178716ffea4dde9e5fb7b37f6f0802274580c", - "_shrinkwrap": null, - "_spec": "lodash.defaults@^4.0.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/throng", - "author": { - "name": "John-David Dalton", - "email": "john.david.dalton@gmail.com", - "url": "http://allyoucanleet.com/" - }, - "bugs": { - "url": "https://github.com/lodash/lodash/issues" - }, - "contributors": [ - { - "name": "John-David Dalton", - "email": "john.david.dalton@gmail.com", - "url": "http://allyoucanleet.com/" - }, - { - "name": "Blaine Bublitz", - "email": "blaine.bublitz@gmail.com", - "url": "https://github.com/phated" - }, - { - "name": "Mathias Bynens", - "email": "mathias@qiwi.be", - "url": "https://mathiasbynens.be/" - } - ], - "dependencies": {}, - "description": "The lodash method `_.defaults` exported as a module.", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "d09178716ffea4dde9e5fb7b37f6f0802274580c", - "tarball": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz" - }, - "homepage": "https://lodash.com/", - "icon": "https://lodash.com/icon.svg", - "keywords": [ - "lodash-modularized", - "defaults" - ], - "license": "MIT", - "maintainers": [ - { - "name": "jdalton", - "email": "john.david.dalton@gmail.com" - }, - { - "name": "mathias", - "email": "mathias@qiwi.be" - }, - { - "name": "phated", - "email": "blaine@iceddev.com" - } - ], - "name": "lodash.defaults", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/lodash/lodash.git" - }, - "scripts": { - "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" - }, - "version": "4.2.0" -} diff --git a/node_modules/log4js/.bob.json b/node_modules/log4js/.bob.json deleted file mode 100644 index c8c1e02..0000000 --- a/node_modules/log4js/.bob.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "build": "clean lint coverage test", - "lint": { - "type": "jshint" - }, - "coverage": { - "type": "vows" - }, - "test": { - "type": "vows" - } -} diff --git a/node_modules/log4js/.jshintrc b/node_modules/log4js/.jshintrc deleted file mode 100644 index a4ef28b..0000000 --- a/node_modules/log4js/.jshintrc +++ /dev/null @@ -1,15 +0,0 @@ -{ - "node": true, - "laxcomma": true, - "indent": 2, - "globalstrict": true, - "maxparams": 6, - "maxdepth": 3, - "maxstatements": 20, - "maxcomplexity": 10, - "maxlen": 100, - "globals": { - "describe": true, - "it": true - } -} diff --git a/node_modules/log4js/.npmignore b/node_modules/log4js/.npmignore deleted file mode 100644 index 12925cd..0000000 --- a/node_modules/log4js/.npmignore +++ /dev/null @@ -1,7 +0,0 @@ -*.log* -build -node_modules -.bob/ -test/streams/test-* -.idea -.DS_Store diff --git a/node_modules/log4js/.nyc_output/02ca1e00ec81fc17e1351df0472d87b7.json b/node_modules/log4js/.nyc_output/02ca1e00ec81fc17e1351df0472d87b7.json deleted file mode 100644 index 3e0e40d..0000000 --- a/node_modules/log4js/.nyc_output/02ca1e00ec81fc17e1351df0472d87b7.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/log4js.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/log4js.js","statementMap":{"0":{"start":{"line":35,"column":11},"end":{"line":35,"column":24}},"1":{"start":{"line":36,"column":13},"end":{"line":36,"column":28}},"2":{"start":{"line":37,"column":16},"end":{"line":37,"column":36}},"3":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"4":{"start":{"line":39,"column":21},"end":{"line":39,"column":40}},"5":{"start":{"line":40,"column":22},"end":{"line":40,"column":63}},"6":{"start":{"line":42,"column":15},"end":{"line":42,"column":34}},"7":{"start":{"line":44,"column":23},"end":{"line":44,"column":30}},"8":{"start":{"line":45,"column":16},"end":{"line":45,"column":18}},"9":{"start":{"line":46,"column":23},"end":{"line":46,"column":25}},"10":{"start":{"line":47,"column":26},"end":{"line":47,"column":28}},"11":{"start":{"line":48,"column":22},"end":{"line":53,"column":1}},"12":{"start":{"line":55,"column":16},"end":{"line":55,"column":18}},"13":{"start":{"line":58,"column":2},"end":{"line":58,"column":40}},"14":{"start":{"line":62,"column":0},"end":{"line":70,"column":2}},"15":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"16":{"start":{"line":65,"column":23},"end":{"line":65,"column":45}},"17":{"start":{"line":66,"column":4},"end":{"line":66,"column":51}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":40}},"19":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"20":{"start":{"line":73,"column":21},"end":{"line":73,"column":44}},"21":{"start":{"line":74,"column":17},"end":{"line":74,"column":19}},"22":{"start":{"line":75,"column":2},"end":{"line":75,"column":19}},"23":{"start":{"line":76,"column":2},"end":{"line":76,"column":29}},"24":{"start":{"line":77,"column":2},"end":{"line":83,"column":4}},"25":{"start":{"line":78,"column":4},"end":{"line":82,"column":5}},"26":{"start":{"line":79,"column":18},"end":{"line":79,"column":32}},"27":{"start":{"line":80,"column":6},"end":{"line":80,"column":44}},"28":{"start":{"line":81,"column":6},"end":{"line":81,"column":28}},"29":{"start":{"line":84,"column":2},"end":{"line":86,"column":4}},"30":{"start":{"line":85,"column":4},"end":{"line":85,"column":59}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":4}},"32":{"start":{"line":88,"column":4},"end":{"line":88,"column":59}},"33":{"start":{"line":90,"column":2},"end":{"line":92,"column":4}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":58}},"35":{"start":{"line":93,"column":2},"end":{"line":95,"column":4}},"36":{"start":{"line":94,"column":4},"end":{"line":94,"column":58}},"37":{"start":{"line":96,"column":2},"end":{"line":98,"column":4}},"38":{"start":{"line":97,"column":4},"end":{"line":97,"column":59}},"39":{"start":{"line":99,"column":2},"end":{"line":101,"column":4}},"40":{"start":{"line":100,"column":4},"end":{"line":100,"column":59}},"41":{"start":{"line":103,"column":2},"end":{"line":103,"column":16}},"42":{"start":{"line":107,"column":2},"end":{"line":107,"column":24}},"43":{"start":{"line":111,"column":34},"end":{"line":111,"column":66}},"44":{"start":{"line":112,"column":35},"end":{"line":112,"column":68}},"45":{"start":{"line":113,"column":2},"end":{"line":113,"column":107}},"46":{"start":{"line":117,"column":37},"end":{"line":117,"column":72}},"47":{"start":{"line":118,"column":35},"end":{"line":118,"column":68}},"48":{"start":{"line":119,"column":2},"end":{"line":119,"column":113}},"49":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"50":{"start":{"line":131,"column":4},"end":{"line":131,"column":49}},"51":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"52":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"53":{"start":{"line":142,"column":19},"end":{"line":142,"column":52}},"54":{"start":{"line":143,"column":6},"end":{"line":149,"column":7}},"55":{"start":{"line":144,"column":30},"end":{"line":144,"column":39}},"56":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"57":{"start":{"line":147,"column":10},"end":{"line":147,"column":47}},"58":{"start":{"line":154,"column":4},"end":{"line":154,"column":72}},"59":{"start":{"line":158,"column":4},"end":{"line":165,"column":5}},"60":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"61":{"start":{"line":160,"column":8},"end":{"line":160,"column":51}},"62":{"start":{"line":161,"column":8},"end":{"line":163,"column":11}},"63":{"start":{"line":162,"column":10},"end":{"line":162,"column":67}},"64":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":47}},"66":{"start":{"line":170,"column":6},"end":{"line":172,"column":9}},"67":{"start":{"line":171,"column":8},"end":{"line":171,"column":65}},"68":{"start":{"line":176,"column":2},"end":{"line":176,"column":37}},"69":{"start":{"line":185,"column":13},"end":{"line":185,"column":34}},"70":{"start":{"line":186,"column":19},"end":{"line":186,"column":31}},"71":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"72":{"start":{"line":189,"column":4},"end":{"line":189,"column":47}},"73":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"74":{"start":{"line":193,"column":4},"end":{"line":193,"column":28}},"75":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"76":{"start":{"line":197,"column":4},"end":{"line":197,"column":19}},"77":{"start":{"line":200,"column":2},"end":{"line":212,"column":5}},"78":{"start":{"line":201,"column":4},"end":{"line":201,"column":54}},"79":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"80":{"start":{"line":204,"column":6},"end":{"line":204,"column":40}},"81":{"start":{"line":206,"column":6},"end":{"line":210,"column":7}},"82":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"83":{"start":{"line":208,"column":10},"end":{"line":208,"column":63}},"84":{"start":{"line":216,"column":2},"end":{"line":220,"column":3}},"85":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":218,"column":6},"end":{"line":218,"column":51}},"87":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"88":{"start":{"line":225,"column":4},"end":{"line":225,"column":29}},"89":{"start":{"line":227,"column":2},"end":{"line":227,"column":37}},"90":{"start":{"line":233,"column":2},"end":{"line":233,"column":36}},"91":{"start":{"line":234,"column":2},"end":{"line":234,"column":17}},"92":{"start":{"line":235,"column":2},"end":{"line":239,"column":3}},"93":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"94":{"start":{"line":237,"column":6},"end":{"line":237,"column":48}},"95":{"start":{"line":243,"column":2},"end":{"line":243,"column":19}},"96":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"97":{"start":{"line":245,"column":4},"end":{"line":255,"column":7}},"98":{"start":{"line":246,"column":6},"end":{"line":246,"column":40}},"99":{"start":{"line":248,"column":6},"end":{"line":248,"column":45}},"100":{"start":{"line":249,"column":6},"end":{"line":254,"column":7}},"101":{"start":{"line":250,"column":8},"end":{"line":250,"column":80}},"102":{"start":{"line":251,"column":8},"end":{"line":251,"column":55}},"103":{"start":{"line":253,"column":8},"end":{"line":253,"column":95}},"104":{"start":{"line":260,"column":2},"end":{"line":260,"column":26}},"105":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"106":{"start":{"line":262,"column":17},"end":{"line":262,"column":50}},"107":{"start":{"line":265,"column":4},"end":{"line":276,"column":5}},"108":{"start":{"line":266,"column":23},"end":{"line":266,"column":32}},"109":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":45}},"111":{"start":{"line":271,"column":6},"end":{"line":275,"column":7}},"112":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"113":{"start":{"line":273,"column":10},"end":{"line":273,"column":62}},"114":{"start":{"line":281,"column":2},"end":{"line":281,"column":63}},"115":{"start":{"line":290,"column":2},"end":{"line":290,"column":44}},"116":{"start":{"line":293,"column":20},"end":{"line":293,"column":22}},"117":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"118":{"start":{"line":297,"column":4},"end":{"line":297,"column":57}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":19}},"120":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"121":{"start":{"line":304,"column":4},"end":{"line":316,"column":5}},"122":{"start":{"line":305,"column":6},"end":{"line":305,"column":23}},"123":{"start":{"line":306,"column":6},"end":{"line":306,"column":37}},"124":{"start":{"line":307,"column":6},"end":{"line":307,"column":52}},"125":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"126":{"start":{"line":310,"column":8},"end":{"line":310,"column":25}},"127":{"start":{"line":313,"column":6},"end":{"line":315,"column":8}},"128":{"start":{"line":321,"column":16},"end":{"line":321,"column":46}},"129":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"130":{"start":{"line":322,"column":14},"end":{"line":322,"column":21}},"131":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"132":{"start":{"line":325,"column":4},"end":{"line":325,"column":75}},"133":{"start":{"line":327,"column":2},"end":{"line":327,"column":32}},"134":{"start":{"line":332,"column":2},"end":{"line":336,"column":3}},"135":{"start":{"line":333,"column":4},"end":{"line":333,"column":52}},"136":{"start":{"line":335,"column":4},"end":{"line":335,"column":78}},"137":{"start":{"line":337,"column":2},"end":{"line":337,"column":15}},"138":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"139":{"start":{"line":342,"column":4},"end":{"line":342,"column":39}},"140":{"start":{"line":343,"column":4},"end":{"line":343,"column":31}},"141":{"start":{"line":345,"column":2},"end":{"line":345,"column":34}},"142":{"start":{"line":346,"column":2},"end":{"line":346,"column":45}},"143":{"start":{"line":347,"column":2},"end":{"line":347,"column":93}},"144":{"start":{"line":351,"column":15},"end":{"line":351,"column":40}},"145":{"start":{"line":352,"column":2},"end":{"line":352,"column":47}},"146":{"start":{"line":353,"column":2},"end":{"line":353,"column":26}},"147":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"148":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"149":{"start":{"line":357,"column":6},"end":{"line":357,"column":47}},"150":{"start":{"line":359,"column":4},"end":{"line":359,"column":60}},"151":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"152":{"start":{"line":362,"column":6},"end":{"line":364,"column":8}},"153":{"start":{"line":367,"column":2},"end":{"line":367,"column":36}},"154":{"start":{"line":370,"column":33},"end":{"line":376,"column":1}},"155":{"start":{"line":380,"column":4},"end":{"line":384,"column":6}},"156":{"start":{"line":383,"column":6},"end":{"line":383,"column":46}},"157":{"start":{"line":387,"column":2},"end":{"line":387,"column":42}},"158":{"start":{"line":389,"column":2},"end":{"line":391,"column":5}},"159":{"start":{"line":390,"column":4},"end":{"line":390,"column":77}},"160":{"start":{"line":395,"column":2},"end":{"line":397,"column":5}},"161":{"start":{"line":396,"column":4},"end":{"line":396,"column":51}},"162":{"start":{"line":412,"column":2},"end":{"line":416,"column":3}},"163":{"start":{"line":413,"column":4},"end":{"line":413,"column":56}},"164":{"start":{"line":415,"column":4},"end":{"line":415,"column":39}},"165":{"start":{"line":417,"column":2},"end":{"line":417,"column":24}},"166":{"start":{"line":431,"column":2},"end":{"line":431,"column":63}},"167":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"168":{"start":{"line":434,"column":4},"end":{"line":434,"column":74}},"169":{"start":{"line":437,"column":2},"end":{"line":437,"column":76}},"170":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"171":{"start":{"line":439,"column":4},"end":{"line":439,"column":79}},"172":{"start":{"line":441,"column":2},"end":{"line":441,"column":75}},"173":{"start":{"line":455,"column":2},"end":{"line":455,"column":37}},"174":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"175":{"start":{"line":459,"column":4},"end":{"line":459,"column":39}},"176":{"start":{"line":463,"column":18},"end":{"line":463,"column":19}},"177":{"start":{"line":465,"column":28},"end":{"line":465,"column":30}},"178":{"start":{"line":468,"column":4},"end":{"line":468,"column":25}},"179":{"start":{"line":469,"column":4},"end":{"line":469,"column":16}},"180":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"181":{"start":{"line":471,"column":6},"end":{"line":471,"column":16}},"182":{"start":{"line":475,"column":2},"end":{"line":479,"column":3}},"183":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":477,"column":6},"end":{"line":477,"column":58}},"185":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"186":{"start":{"line":482,"column":4},"end":{"line":482,"column":16}},"187":{"start":{"line":485,"column":2},"end":{"line":487,"column":5}},"188":{"start":{"line":486,"column":4},"end":{"line":486,"column":26}},"189":{"start":{"line":489,"column":2},"end":{"line":489,"column":14}},"190":{"start":{"line":513,"column":15},"end":{"line":535,"column":1}},"191":{"start":{"line":537,"column":0},"end":{"line":537,"column":24}},"192":{"start":{"line":540,"column":0},"end":{"line":540,"column":12}}},"fnMap":{"0":{"name":"hasLogger","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":18}},"loc":{"start":{"line":57,"column":27},"end":{"line":59,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":47},"end":{"line":70,"column":1}}},"2":{"name":"getBufferedLogger","decl":{"start":{"line":72,"column":9},"end":{"line":72,"column":26}},"loc":{"start":{"line":72,"column":41},"end":{"line":104,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":17},"end":{"line":77,"column":18}},"loc":{"start":{"line":77,"column":29},"end":{"line":83,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":17},"end":{"line":84,"column":18}},"loc":{"start":{"line":84,"column":36},"end":{"line":86,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":87,"column":17},"end":{"line":87,"column":18}},"loc":{"start":{"line":87,"column":36},"end":{"line":89,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":17}},"loc":{"start":{"line":90,"column":35},"end":{"line":92,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":17}},"loc":{"start":{"line":93,"column":35},"end":{"line":95,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":17},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":36},"end":{"line":98,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":18}},"loc":{"start":{"line":99,"column":36},"end":{"line":101,"column":3}}},"10":{"name":"normalizeCategory","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":37},"end":{"line":108,"column":1}}},"11":{"name":"doesLevelEntryContainsLogger","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":37}},"loc":{"start":{"line":110,"column":69},"end":{"line":114,"column":1}}},"12":{"name":"doesAppenderContainsLogger","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":35}},"loc":{"start":{"line":116,"column":70},"end":{"line":120,"column":1}}},"13":{"name":"getLogger","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":18}},"loc":{"start":{"line":128,"column":39},"end":{"line":177,"column":1}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":161,"column":29},"end":{"line":161,"column":30}},"loc":{"start":{"line":161,"column":43},"end":{"line":163,"column":9}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":170,"column":27},"end":{"line":170,"column":28}},"loc":{"start":{"line":170,"column":41},"end":{"line":172,"column":7}}},"16":{"name":"addAppender","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":20}},"loc":{"start":{"line":182,"column":23},"end":{"line":213,"column":1}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":200,"column":15},"end":{"line":200,"column":16}},"loc":{"start":{"line":200,"column":37},"end":{"line":212,"column":3}}},"18":{"name":"addAppenderToAllLoggers","decl":{"start":{"line":215,"column":9},"end":{"line":215,"column":32}},"loc":{"start":{"line":215,"column":43},"end":{"line":221,"column":1}}},"19":{"name":"addAppenderToCategory","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":30}},"loc":{"start":{"line":223,"column":51},"end":{"line":228,"column":1}}},"20":{"name":"clearAppenders","decl":{"start":{"line":230,"column":9},"end":{"line":230,"column":23}},"loc":{"start":{"line":230,"column":26},"end":{"line":240,"column":1}}},"21":{"name":"configureAppenders","decl":{"start":{"line":242,"column":9},"end":{"line":242,"column":27}},"loc":{"start":{"line":242,"column":51},"end":{"line":257,"column":1}}},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":25},"end":{"line":245,"column":26}},"loc":{"start":{"line":245,"column":45},"end":{"line":255,"column":5}}},"23":{"name":"configureLevels","decl":{"start":{"line":259,"column":9},"end":{"line":259,"column":24}},"loc":{"start":{"line":259,"column":34},"end":{"line":278,"column":1}}},"24":{"name":"setGlobalLogLevel","decl":{"start":{"line":280,"column":9},"end":{"line":280,"column":26}},"loc":{"start":{"line":280,"column":34},"end":{"line":282,"column":1}}},"25":{"name":"getDefaultLogger","decl":{"start":{"line":289,"column":9},"end":{"line":289,"column":25}},"loc":{"start":{"line":289,"column":28},"end":{"line":291,"column":1}}},"26":{"name":"loadConfigurationFile","decl":{"start":{"line":295,"column":9},"end":{"line":295,"column":30}},"loc":{"start":{"line":295,"column":41},"end":{"line":300,"column":1}}},"27":{"name":"configureOnceOff","decl":{"start":{"line":302,"column":9},"end":{"line":302,"column":25}},"loc":{"start":{"line":302,"column":43},"end":{"line":318,"column":1}}},"28":{"name":"reloadConfiguration","decl":{"start":{"line":320,"column":9},"end":{"line":320,"column":28}},"loc":{"start":{"line":320,"column":38},"end":{"line":328,"column":1}}},"29":{"name":"getMTime","decl":{"start":{"line":330,"column":9},"end":{"line":330,"column":17}},"loc":{"start":{"line":330,"column":28},"end":{"line":338,"column":1}}},"30":{"name":"initReloadConfiguration","decl":{"start":{"line":340,"column":9},"end":{"line":340,"column":32}},"loc":{"start":{"line":340,"column":52},"end":{"line":348,"column":1}}},"31":{"name":"configure","decl":{"start":{"line":350,"column":9},"end":{"line":350,"column":18}},"loc":{"start":{"line":350,"column":55},"end":{"line":368,"column":1}}},"32":{"name":"replaceConsole","decl":{"start":{"line":378,"column":9},"end":{"line":378,"column":23}},"loc":{"start":{"line":378,"column":32},"end":{"line":392,"column":1}}},"33":{"name":"replaceWith","decl":{"start":{"line":379,"column":11},"end":{"line":379,"column":22}},"loc":{"start":{"line":379,"column":27},"end":{"line":385,"column":3}}},"34":{"name":"(anonymous_34)","decl":{"start":{"line":380,"column":11},"end":{"line":380,"column":12}},"loc":{"start":{"line":380,"column":23},"end":{"line":384,"column":5}}},"35":{"name":"(anonymous_35)","decl":{"start":{"line":389,"column":52},"end":{"line":389,"column":53}},"loc":{"start":{"line":389,"column":62},"end":{"line":391,"column":3}}},"36":{"name":"restoreConsole","decl":{"start":{"line":394,"column":9},"end":{"line":394,"column":23}},"loc":{"start":{"line":394,"column":26},"end":{"line":398,"column":1}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":395,"column":52},"end":{"line":395,"column":53}},"loc":{"start":{"line":395,"column":62},"end":{"line":397,"column":3}}},"38":{"name":"requireAppender","decl":{"start":{"line":410,"column":9},"end":{"line":410,"column":24}},"loc":{"start":{"line":410,"column":35},"end":{"line":418,"column":1}}},"39":{"name":"loadAppender","decl":{"start":{"line":430,"column":9},"end":{"line":430,"column":21}},"loc":{"start":{"line":430,"column":48},"end":{"line":442,"column":1}}},"40":{"name":"shutdown","decl":{"start":{"line":452,"column":9},"end":{"line":452,"column":17}},"loc":{"start":{"line":452,"column":22},"end":{"line":490,"column":1}}},"41":{"name":"complete","decl":{"start":{"line":467,"column":11},"end":{"line":467,"column":19}},"loc":{"start":{"line":467,"column":25},"end":{"line":473,"column":3}}},"42":{"name":"(anonymous_42)","decl":{"start":{"line":485,"column":28},"end":{"line":485,"column":29}},"loc":{"start":{"line":485,"column":45},"end":{"line":487,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},{"start":{"line":64,"column":2},"end":{"line":68,"column":3}}]},"1":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":66}},"type":"binary-expr","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":34}},{"start":{"line":64,"column":38},"end":{"line":64,"column":66}}]},"2":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{"line":130,"column":2},"end":{"line":132,"column":3}}]},"3":{"loc":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},{"start":{"line":134,"column":2},"end":{"line":174,"column":3}}]},"4":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{"line":139,"column":4},"end":{"line":150,"column":5}}]},"5":{"loc":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},{"start":{"line":145,"column":8},"end":{"line":148,"column":9}}]},"6":{"loc":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},{"start":{"line":159,"column":6},"end":{"line":164,"column":7}}]},"7":{"loc":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},{"start":{"line":168,"column":4},"end":{"line":173,"column":5}}]},"8":{"loc":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"type":"if","locations":[{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},{"start":{"line":188,"column":2},"end":{"line":190,"column":3}}]},"9":{"loc":{"start":{"line":188,"column":6},"end":{"line":188,"column":54}},"type":"binary-expr","locations":[{"start":{"line":188,"column":6},"end":{"line":188,"column":21}},{"start":{"line":188,"column":25},"end":{"line":188,"column":54}}]},"10":{"loc":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},{"start":{"line":192,"column":2},"end":{"line":194,"column":3}}]},"11":{"loc":{"start":{"line":192,"column":6},"end":{"line":192,"column":48}},"type":"binary-expr","locations":[{"start":{"line":192,"column":6},"end":{"line":192,"column":23}},{"start":{"line":192,"column":27},"end":{"line":192,"column":48}}]},"12":{"loc":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"type":"if","locations":[{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},{"start":{"line":196,"column":2},"end":{"line":198,"column":3}}]},"13":{"loc":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"type":"if","locations":[{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},{"start":{"line":203,"column":4},"end":{"line":211,"column":5}}]},"14":{"loc":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},{"start":{"line":207,"column":8},"end":{"line":209,"column":9}}]},"15":{"loc":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},{"start":{"line":217,"column":4},"end":{"line":219,"column":5}}]},"16":{"loc":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"type":"if","locations":[{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},{"start":{"line":224,"column":2},"end":{"line":226,"column":3}}]},"17":{"loc":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"type":"if","locations":[{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},{"start":{"line":236,"column":4},"end":{"line":238,"column":5}}]},"18":{"loc":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},{"start":{"line":244,"column":2},"end":{"line":256,"column":3}}]},"19":{"loc":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"type":"if","locations":[{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},{"start":{"line":261,"column":2},"end":{"line":277,"column":3}}]},"20":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{"line":267,"column":6},"end":{"line":269,"column":7}}]},"21":{"loc":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},{"start":{"line":272,"column":8},"end":{"line":274,"column":9}}]},"22":{"loc":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"type":"if","locations":[{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},{"start":{"line":296,"column":2},"end":{"line":298,"column":3}}]},"23":{"loc":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"type":"if","locations":[{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},{"start":{"line":303,"column":2},"end":{"line":317,"column":3}}]},"24":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{"line":309,"column":6},"end":{"line":311,"column":7}}]},"25":{"loc":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"type":"if","locations":[{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},{"start":{"line":322,"column":2},"end":{"line":322,"column":21}}]},"26":{"loc":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"type":"if","locations":[{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},{"start":{"line":324,"column":2},"end":{"line":326,"column":3}}]},"27":{"loc":{"start":{"line":324,"column":6},"end":{"line":324,"column":82}},"type":"binary-expr","locations":[{"start":{"line":324,"column":6},"end":{"line":324,"column":27}},{"start":{"line":324,"column":32},"end":{"line":324,"column":81}}]},"28":{"loc":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"type":"if","locations":[{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},{"start":{"line":341,"column":2},"end":{"line":344,"column":3}}]},"29":{"loc":{"start":{"line":352,"column":11},"end":{"line":352,"column":46}},"type":"binary-expr","locations":[{"start":{"line":352,"column":11},"end":{"line":352,"column":17}},{"start":{"line":352,"column":21},"end":{"line":352,"column":46}}]},"30":{"loc":{"start":{"line":353,"column":12},"end":{"line":353,"column":25}},"type":"binary-expr","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":19}},{"start":{"line":353,"column":23},"end":{"line":353,"column":25}}]},"31":{"loc":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"type":"if","locations":[{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},{"start":{"line":355,"column":2},"end":{"line":366,"column":3}}]},"32":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":75}},"type":"binary-expr","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":26}},{"start":{"line":355,"column":30},"end":{"line":355,"column":45}},{"start":{"line":355,"column":49},"end":{"line":355,"column":75}}]},"33":{"loc":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"type":"if","locations":[{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},{"start":{"line":356,"column":4},"end":{"line":358,"column":5}}]},"34":{"loc":{"start":{"line":359,"column":13},"end":{"line":359,"column":59}},"type":"binary-expr","locations":[{"start":{"line":359,"column":13},"end":{"line":359,"column":42}},{"start":{"line":359,"column":46},"end":{"line":359,"column":59}}]},"35":{"loc":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"type":"if","locations":[{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},{"start":{"line":361,"column":4},"end":{"line":365,"column":5}}]},"36":{"loc":{"start":{"line":387,"column":11},"end":{"line":387,"column":41}},"type":"binary-expr","locations":[{"start":{"line":387,"column":11},"end":{"line":387,"column":17}},{"start":{"line":387,"column":21},"end":{"line":387,"column":41}}]},"37":{"loc":{"start":{"line":390,"column":32},"end":{"line":390,"column":75}},"type":"cond-expr","locations":[{"start":{"line":390,"column":49},"end":{"line":390,"column":60}},{"start":{"line":390,"column":63},"end":{"line":390,"column":75}}]},"38":{"loc":{"start":{"line":431,"column":19},"end":{"line":431,"column":62}},"type":"binary-expr","locations":[{"start":{"line":431,"column":19},"end":{"line":431,"column":33}},{"start":{"line":431,"column":37},"end":{"line":431,"column":62}}]},"39":{"loc":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"type":"if","locations":[{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},{"start":{"line":433,"column":2},"end":{"line":435,"column":3}}]},"40":{"loc":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"type":"if","locations":[{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},{"start":{"line":438,"column":2},"end":{"line":440,"column":3}}]},"41":{"loc":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"type":"if","locations":[{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},{"start":{"line":458,"column":2},"end":{"line":460,"column":3}}]},"42":{"loc":{"start":{"line":468,"column":12},"end":{"line":468,"column":24}},"type":"binary-expr","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":17}},{"start":{"line":468,"column":21},"end":{"line":468,"column":24}}]},"43":{"loc":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"type":"if","locations":[{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},{"start":{"line":470,"column":4},"end":{"line":472,"column":5}}]},"44":{"loc":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"type":"if","locations":[{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},{"start":{"line":476,"column":4},"end":{"line":478,"column":5}}]},"45":{"loc":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"type":"if","locations":[{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},{"start":{"line":481,"column":2},"end":{"line":483,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":24,"14":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":128,"43":64,"44":64,"45":64,"46":0,"47":0,"48":0,"49":16,"50":0,"51":16,"52":8,"53":8,"54":8,"55":32,"56":32,"57":13,"58":8,"59":8,"60":0,"61":0,"62":0,"63":0,"64":8,"65":0,"66":0,"67":0,"68":16,"69":1,"70":1,"71":1,"72":0,"73":1,"74":1,"75":1,"76":0,"77":1,"78":1,"79":1,"80":1,"81":0,"82":0,"83":0,"84":1,"85":0,"86":0,"87":1,"88":1,"89":1,"90":3,"91":3,"92":3,"93":8,"94":8,"95":3,"96":3,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":0,"104":3,"105":3,"106":2,"107":2,"108":8,"109":8,"110":0,"111":8,"112":32,"113":13,"114":0,"115":0,"116":1,"117":1,"118":0,"119":1,"120":3,"121":3,"122":3,"123":3,"124":3,"125":3,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":3,"145":3,"146":3,"147":3,"148":1,"149":0,"150":1,"151":2,"152":0,"153":3,"154":1,"155":0,"156":0,"157":0,"158":0,"159":0,"160":3,"161":15,"162":1,"163":1,"164":0,"165":1,"166":1,"167":1,"168":0,"169":1,"170":1,"171":0,"172":1,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":1,"191":1,"192":1},"f":{"0":24,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":128,"11":64,"12":0,"13":16,"14":0,"15":0,"16":1,"17":1,"18":1,"19":1,"20":3,"21":3,"22":1,"23":3,"24":0,"25":0,"26":1,"27":3,"28":0,"29":0,"30":0,"31":3,"32":0,"33":0,"34":0,"35":0,"36":3,"37":15,"38":1,"39":1,"40":0,"41":0,"42":0},"b":{"0":[0,0],"1":[0,0],"2":[0,16],"3":[8,8],"4":[8,0],"5":[13,19],"6":[0,0],"7":[0,8],"8":[0,1],"9":[1,1],"10":[1,0],"11":[1,1],"12":[0,1],"13":[1,0],"14":[0,0],"15":[0,0],"16":[1,0],"17":[8,0],"18":[1,2],"19":[2,1],"20":[0,8],"21":[13,19],"22":[0,1],"23":[3,0],"24":[0,3],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[3,1],"30":[3,3],"31":[1,2],"32":[3,2,2],"33":[0,1],"34":[1,1],"35":[0,2],"36":[0,0],"37":[0,0],"38":[1,1],"39":[0,1],"40":[0,1],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3a43360dca26d74ffd67cfe5ec75309575f038ac","contentHash":"10edbceee6329f5ee9c0d2f625fd311b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":1,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":1,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":1,"108":0,"109":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"0":[1,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf","contentHash":"d1d8e598552dfe064eef286d267900be_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":1,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128","contentHash":"672b6336c04cfaa2a8588410ce063022_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/levels.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/levels.js","statementMap":{"0":{"start":{"line":9,"column":4},"end":{"line":9,"column":23}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":42}},"9":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":39}},"11":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"12":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":24}},"14":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"15":{"start":{"line":52,"column":4},"end":{"line":52,"column":43}},"16":{"start":{"line":53,"column":4},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"18":{"start":{"line":57,"column":4},"end":{"line":57,"column":62}},"19":{"start":{"line":60,"column":2},"end":{"line":60,"column":34}},"20":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"21":{"start":{"line":66,"column":23},"end":{"line":66,"column":45}},"22":{"start":{"line":67,"column":4},"end":{"line":67,"column":32}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"24":{"start":{"line":72,"column":0},"end":{"line":85,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":13},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":34},"end":{"line":22,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":37},"end":{"line":29,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":31,"column":24},"end":{"line":36,"column":3}}},"5":{"name":"toLevel","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":37},"end":{"line":61,"column":1}}},"6":{"name":"getLevel","decl":{"start":{"line":63,"column":9},"end":{"line":63,"column":17}},"loc":{"start":{"line":63,"column":28},"end":{"line":70,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{"line":32,"column":4},"end":{"line":34,"column":5}}]},"3":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}]},"4":{"loc":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},{"start":{"line":51,"column":2},"end":{"line":54,"column":3}}]},"5":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}]},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":61}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":45}},{"start":{"line":57,"column":49},"end":{"line":57,"column":61}}]},"7":{"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},{"start":{"line":65,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":9,"1":9,"2":7,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":27,"13":0,"14":27,"15":0,"16":0,"17":27,"18":27,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1},"f":{"0":9,"1":7,"2":0,"3":0,"4":0,"5":27,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,27],"4":[0,27],"5":[27,0],"6":[27,0],"7":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"daae16d9a9a708cc048c35299774fc26e22cf555","contentHash":"de3beea1cbd1c093130b8e3a1963e9d2_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":21},"end":{"line":6,"column":38}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":36}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":27}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":32}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":23}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":25}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":50,"column":4},"end":{"line":50,"column":45}},"11":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"12":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":67}},"14":{"start":{"line":62,"column":4},"end":{"line":62,"column":22}},"15":{"start":{"line":68,"column":17},"end":{"line":68,"column":38}},"16":{"start":{"line":69,"column":21},"end":{"line":69,"column":57}},"17":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":13}},"19":{"start":{"line":73,"column":4},"end":{"line":73,"column":39}},"20":{"start":{"line":77,"column":4},"end":{"line":77,"column":54}},"21":{"start":{"line":81,"column":25},"end":{"line":81,"column":75}},"22":{"start":{"line":82,"column":4},"end":{"line":82,"column":35}},"23":{"start":{"line":86,"column":0},"end":{"line":86,"column":43}},"24":{"start":{"line":87,"column":0},"end":{"line":87,"column":38}},"25":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"26":{"start":{"line":92,"column":16},"end":{"line":92,"column":38}},"27":{"start":{"line":94,"column":24},"end":{"line":94,"column":54}},"28":{"start":{"line":95,"column":22},"end":{"line":95,"column":81}},"29":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}},"30":{"start":{"line":96,"column":24},"end":{"line":96,"column":75}},"31":{"start":{"line":98,"column":2},"end":{"line":100,"column":4}},"32":{"start":{"line":99,"column":4},"end":{"line":99,"column":49}},"33":{"start":{"line":102,"column":2},"end":{"line":109,"column":4}},"34":{"start":{"line":105,"column":17},"end":{"line":105,"column":38}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":117,"column":2},"end":{"line":117,"column":27}},"38":{"start":{"line":125,"column":2},"end":{"line":125,"column":26}},"39":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"40":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"41":{"start":{"line":130,"column":0},"end":{"line":130,"column":57}},"42":{"start":{"line":131,"column":0},"end":{"line":131,"column":55}},"43":{"start":{"line":132,"column":0},"end":{"line":132,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":49},"end":{"line":32,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":27},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":65,"column":8},"end":{"line":74,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":29},"end":{"line":78,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":20},"end":{"line":83,"column":3}}},"7":{"name":"addLevelMethods","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":33},"end":{"line":110,"column":1}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":95,"column":57},"end":{"line":95,"column":58}},"loc":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":50},"end":{"line":98,"column":51}},"loc":{"start":{"line":98,"column":62},"end":{"line":100,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":34},"end":{"line":102,"column":35}},"loc":{"start":{"line":102,"column":46},"end":{"line":109,"column":3}}},"11":{"name":"disableAllLogWrites","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":28}},"loc":{"start":{"line":116,"column":31},"end":{"line":118,"column":1}}},"12":{"name":"enableAllLogWrites","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":27}},"loc":{"start":{"line":124,"column":30},"end":{"line":126,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"type":"binary-expr","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}}]},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":4},"end":{"line":54,"column":5}}]},"2":{"loc":{"start":{"line":58,"column":39},"end":{"line":58,"column":65}},"type":"binary-expr","locations":[{"start":{"line":58,"column":39},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":65}}]},"3":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}]},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}}]},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":106,"column":54}},"type":"binary-expr","locations":[{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},{"start":{"line":106,"column":28},"end":{"line":106,"column":54}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":8,"10":8,"11":8,"12":7,"13":20,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":1,"24":1,"25":1,"26":7,"27":7,"28":7,"29":0,"30":7,"31":7,"32":0,"33":7,"34":0,"35":0,"36":0,"37":0,"38":3,"39":1,"40":1,"41":1,"42":1,"43":1},"f":{"0":0,"1":8,"2":20,"3":0,"4":0,"5":0,"6":0,"7":7,"8":0,"9":0,"10":0,"11":0,"12":3},"b":{"0":[8,0],"1":[7,1],"2":[20,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7d8e54612a5d21505ecc3cd8c5eea114082c17db","contentHash":"00d625ca9babf994c26685dc45e2004b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":7,"column":23},"end":{"line":10,"column":18}},"2":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"4":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":34}},"6":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"7":{"start":{"line":50,"column":21},"end":{"line":50,"column":30}},"8":{"start":{"line":51,"column":14},"end":{"line":51,"column":56}},"9":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"10":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"11":{"start":{"line":55,"column":2},"end":{"line":112,"column":4}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"13":{"start":{"line":57,"column":22},"end":{"line":57,"column":36}},"14":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"15":{"start":{"line":60,"column":46},"end":{"line":60,"column":60}},"16":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"17":{"start":{"line":63,"column":20},"end":{"line":63,"column":30}},"18":{"start":{"line":64,"column":24},"end":{"line":64,"column":37}},"19":{"start":{"line":67,"column":6},"end":{"line":67,"column":26}},"20":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"21":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":37}},"23":{"start":{"line":74,"column":8},"end":{"line":74,"column":32}},"24":{"start":{"line":75,"column":8},"end":{"line":75,"column":38}},"25":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"26":{"start":{"line":79,"column":10},"end":{"line":79,"column":30}},"27":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"28":{"start":{"line":80,"column":27},"end":{"line":80,"column":47}},"29":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"30":{"start":{"line":81,"column":27},"end":{"line":81,"column":48}},"31":{"start":{"line":83,"column":10},"end":{"line":83,"column":61}},"32":{"start":{"line":88,"column":6},"end":{"line":107,"column":9}},"33":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"34":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"35":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"37":{"start":{"line":93,"column":37},"end":{"line":93,"column":57}},"38":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"39":{"start":{"line":94,"column":37},"end":{"line":94,"column":58}},"40":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"41":{"start":{"line":98,"column":33},"end":{"line":98,"column":79}},"42":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"43":{"start":{"line":101,"column":25},"end":{"line":101,"column":74}},"44":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}},"45":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"46":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"47":{"start":{"line":104,"column":12},"end":{"line":104,"column":63}},"48":{"start":{"line":111,"column":4},"end":{"line":111,"column":18}},"49":{"start":{"line":126,"column":28},"end":{"line":138,"column":3}},"50":{"start":{"line":127,"column":14},"end":{"line":127,"column":28}},"51":{"start":{"line":128,"column":4},"end":{"line":136,"column":5}},"52":{"start":{"line":129,"column":6},"end":{"line":135,"column":7}},"53":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"54":{"start":{"line":133,"column":10},"end":{"line":133,"column":27}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":13}},"56":{"start":{"line":140,"column":24},"end":{"line":140,"column":26}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":66}},"58":{"start":{"line":142,"column":2},"end":{"line":142,"column":72}},"59":{"start":{"line":143,"column":2},"end":{"line":143,"column":72}},"60":{"start":{"line":144,"column":2},"end":{"line":144,"column":68}},"61":{"start":{"line":145,"column":2},"end":{"line":145,"column":92}},"62":{"start":{"line":146,"column":2},"end":{"line":146,"column":81}},"63":{"start":{"line":147,"column":2},"end":{"line":147,"column":80}},"64":{"start":{"line":148,"column":2},"end":{"line":151,"column":5}},"65":{"start":{"line":152,"column":2},"end":{"line":155,"column":5}},"66":{"start":{"line":156,"column":2},"end":{"line":166,"column":5}},"67":{"start":{"line":167,"column":2},"end":{"line":167,"column":87}},"68":{"start":{"line":168,"column":2},"end":{"line":173,"column":5}},"69":{"start":{"line":174,"column":2},"end":{"line":179,"column":5}},"70":{"start":{"line":177,"column":6},"end":{"line":177,"column":46}},"71":{"start":{"line":180,"column":2},"end":{"line":187,"column":5}},"72":{"start":{"line":183,"column":6},"end":{"line":185,"column":50}},"73":{"start":{"line":189,"column":2},"end":{"line":189,"column":63}},"74":{"start":{"line":203,"column":2},"end":{"line":203,"column":36}},"75":{"start":{"line":215,"column":2},"end":{"line":217,"column":3}},"76":{"start":{"line":216,"column":4},"end":{"line":216,"column":62}},"77":{"start":{"line":218,"column":2},"end":{"line":218,"column":13}},"78":{"start":{"line":249,"column":15},"end":{"line":249,"column":19}},"79":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"80":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"81":{"start":{"line":253,"column":6},"end":{"line":253,"column":21}},"82":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"83":{"start":{"line":257,"column":6},"end":{"line":257,"column":33}},"84":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"85":{"start":{"line":262,"column":31},"end":{"line":262,"column":80}},"86":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"87":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"88":{"start":{"line":267,"column":2},"end":{"line":267,"column":16}},"89":{"start":{"line":270,"column":0},"end":{"line":270,"column":41}}},"fnMap":{"0":{"name":"getLogger","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":39},"end":{"line":113,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":10}},"loc":{"start":{"line":55,"column":29},"end":{"line":112,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":70,"column":22},"end":{"line":70,"column":23}},"loc":{"start":{"line":70,"column":41},"end":{"line":85,"column":7}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":23},"end":{"line":88,"column":24}},"loc":{"start":{"line":88,"column":29},"end":{"line":107,"column":7}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":39},"end":{"line":101,"column":40}},"loc":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}}},"5":{"name":"assembleTokens","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":48},"end":{"line":190,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":28},"end":{"line":126,"column":29}},"loc":{"start":{"line":126,"column":39},"end":{"line":138,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":17},"end":{"line":176,"column":18}},"loc":{"start":{"line":176,"column":37},"end":{"line":178,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":182,"column":17},"end":{"line":182,"column":18}},"loc":{"start":{"line":182,"column":37},"end":{"line":186,"column":5}}},"9":{"name":"getUrl","decl":{"start":{"line":202,"column":9},"end":{"line":202,"column":15}},"loc":{"start":{"line":202,"column":21},"end":{"line":204,"column":1}}},"10":{"name":"format","decl":{"start":{"line":214,"column":9},"end":{"line":214,"column":15}},"loc":{"start":{"line":214,"column":29},"end":{"line":219,"column":1}}},"11":{"name":"createNoLogCondition","decl":{"start":{"line":248,"column":9},"end":{"line":248,"column":29}},"loc":{"start":{"line":248,"column":37},"end":{"line":268,"column":1}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":262,"column":41},"end":{"line":262,"column":42}},"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}}}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},{"start":{"line":42,"column":2},"end":{"line":48,"column":3}}]},"1":{"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":27}},"type":"binary-expr","locations":[{"start":{"line":43,"column":14},"end":{"line":43,"column":21}},{"start":{"line":43,"column":25},"end":{"line":43,"column":27}}]},"2":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}]},"3":{"loc":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"type":"binary-expr","locations":[{"start":{"line":52,"column":14},"end":{"line":52,"column":28}},{"start":{"line":52,"column":32},"end":{"line":52,"column":46}}]},"4":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":32},"end":{"line":53,"column":67}},{"start":{"line":53,"column":70},"end":{"line":53,"column":74}}]},"5":{"loc":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},{"start":{"line":57,"column":4},"end":{"line":57,"column":36}}]},"6":{"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},{"start":{"line":60,"column":4},"end":{"line":60,"column":60}}]},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":44}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":13}},{"start":{"line":60,"column":17},"end":{"line":60,"column":44}}]},"8":{"loc":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},{"start":{"line":62,"column":4},"end":{"line":108,"column":5}}]},"9":{"loc":{"start":{"line":62,"column":8},"end":{"line":62,"column":68}},"type":"binary-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":40}},{"start":{"line":62,"column":44},"end":{"line":62,"column":68}}]},"10":{"loc":{"start":{"line":75,"column":24},"end":{"line":75,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":24},"end":{"line":75,"column":31}},{"start":{"line":75,"column":35},"end":{"line":75,"column":37}}]},"11":{"loc":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},{"start":{"line":78,"column":8},"end":{"line":84,"column":9}}]},"12":{"loc":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},{"start":{"line":80,"column":10},"end":{"line":80,"column":47}}]},"13":{"loc":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},{"start":{"line":81,"column":10},"end":{"line":81,"column":48}}]},"14":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":91,"column":8},"end":{"line":95,"column":9}}]},"15":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":54}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":26}},{"start":{"line":91,"column":30},"end":{"line":91,"column":54}}]},"16":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"type":"if","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},{"start":{"line":93,"column":10},"end":{"line":93,"column":57}}]},"17":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"type":"if","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},{"start":{"line":94,"column":10},"end":{"line":94,"column":58}}]},"18":{"loc":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},{"start":{"line":97,"column":8},"end":{"line":106,"column":9}}]},"19":{"loc":{"start":{"line":98,"column":58},"end":{"line":98,"column":78}},"type":"binary-expr","locations":[{"start":{"line":98,"column":58},"end":{"line":98,"column":72}},{"start":{"line":98,"column":76},"end":{"line":98,"column":78}}]},"20":{"loc":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},{"start":{"line":100,"column":10},"end":{"line":105,"column":11}}]},"21":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"type":"if","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},{"start":{"line":102,"column":12},"end":{"line":102,"column":50}}]},"22":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},{"start":{"line":132,"column":8},"end":{"line":134,"column":9}}]},"23":{"loc":{"start":{"line":145,"column":54},"end":{"line":145,"column":88}},"type":"binary-expr","locations":[{"start":{"line":145,"column":54},"end":{"line":145,"column":70}},{"start":{"line":145,"column":74},"end":{"line":145,"column":88}}]},"24":{"loc":{"start":{"line":150,"column":17},"end":{"line":150,"column":66}},"type":"binary-expr","locations":[{"start":{"line":150,"column":17},"end":{"line":150,"column":36}},{"start":{"line":150,"column":40},"end":{"line":150,"column":60}},{"start":{"line":150,"column":64},"end":{"line":150,"column":66}}]},"25":{"loc":{"start":{"line":158,"column":17},"end":{"line":165,"column":5}},"type":"binary-expr","locations":[{"start":{"line":158,"column":17},"end":{"line":158,"column":47}},{"start":{"line":159,"column":4},"end":{"line":159,"column":10}},{"start":{"line":160,"column":4},"end":{"line":160,"column":22}},{"start":{"line":161,"column":5},"end":{"line":161,"column":15}},{"start":{"line":162,"column":7},"end":{"line":162,"column":31}},{"start":{"line":163,"column":9},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":61}}]},"26":{"loc":{"start":{"line":170,"column":17},"end":{"line":172,"column":7}},"type":"binary-expr","locations":[{"start":{"line":170,"column":18},"end":{"line":170,"column":30}},{"start":{"line":170,"column":34},"end":{"line":170,"column":64}},{"start":{"line":171,"column":5},"end":{"line":171,"column":18}},{"start":{"line":171,"column":22},"end":{"line":171,"column":53}},{"start":{"line":172,"column":4},"end":{"line":172,"column":7}}]},"27":{"loc":{"start":{"line":183,"column":13},"end":{"line":185,"column":49}},"type":"cond-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},{"start":{"line":185,"column":11},"end":{"line":185,"column":48}}]},"28":{"loc":{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":47}},{"start":{"line":184,"column":51},"end":{"line":184,"column":71}}]},"29":{"loc":{"start":{"line":185,"column":11},"end":{"line":185,"column":48}},"type":"binary-expr","locations":[{"start":{"line":185,"column":11},"end":{"line":185,"column":24}},{"start":{"line":185,"column":28},"end":{"line":185,"column":48}}]},"30":{"loc":{"start":{"line":203,"column":9},"end":{"line":203,"column":35}},"type":"binary-expr","locations":[{"start":{"line":203,"column":9},"end":{"line":203,"column":24}},{"start":{"line":203,"column":28},"end":{"line":203,"column":35}}]},"31":{"loc":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},{"start":{"line":251,"column":2},"end":{"line":265,"column":3}}]},"32":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{"line":252,"column":4},"end":{"line":254,"column":5}}]},"33":{"loc":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},{"start":{"line":256,"column":4},"end":{"line":258,"column":5}}]},"34":{"loc":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"type":"if","locations":[{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},{"start":{"line":260,"column":4},"end":{"line":264,"column":5}}]},"35":{"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"type":"cond-expr","locations":[{"start":{"line":262,"column":62},"end":{"line":262,"column":72}},{"start":{"line":262,"column":75},"end":{"line":262,"column":78}}]}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0,0,0,0,0,0],"26":[0,0,0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8de6ff12985e168d800fe4d220a8a32e3c1dbe2a","contentHash":"06eb335e3bac458879bb256f44ac2576_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}}},"fnMap":{"0":{"name":"stdoutAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":33},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":0,"4":1,"5":0,"6":1,"7":1,"8":1},"f":{"0":1,"1":0,"2":1},"b":{"0":[1,1],"1":[0,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7fe10c84b315d3ba3e07ce62d5e48e59666eb827","contentHash":"009980a1b175f554654dded39c797b6c_9.0.1"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/0988c4c397adb1997f90bf142165dce7.json b/node_modules/log4js/.nyc_output/0988c4c397adb1997f90bf142165dce7.json deleted file mode 100644 index c0816a4..0000000 --- a/node_modules/log4js/.nyc_output/0988c4c397adb1997f90bf142165dce7.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/log4js.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/log4js.js","statementMap":{"0":{"start":{"line":35,"column":11},"end":{"line":35,"column":24}},"1":{"start":{"line":36,"column":13},"end":{"line":36,"column":28}},"2":{"start":{"line":37,"column":16},"end":{"line":37,"column":36}},"3":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"4":{"start":{"line":39,"column":21},"end":{"line":39,"column":40}},"5":{"start":{"line":40,"column":22},"end":{"line":40,"column":63}},"6":{"start":{"line":42,"column":15},"end":{"line":42,"column":34}},"7":{"start":{"line":44,"column":23},"end":{"line":44,"column":30}},"8":{"start":{"line":45,"column":16},"end":{"line":45,"column":18}},"9":{"start":{"line":46,"column":23},"end":{"line":46,"column":25}},"10":{"start":{"line":47,"column":26},"end":{"line":47,"column":28}},"11":{"start":{"line":48,"column":22},"end":{"line":53,"column":1}},"12":{"start":{"line":55,"column":16},"end":{"line":55,"column":18}},"13":{"start":{"line":58,"column":2},"end":{"line":58,"column":40}},"14":{"start":{"line":62,"column":0},"end":{"line":70,"column":2}},"15":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"16":{"start":{"line":65,"column":23},"end":{"line":65,"column":45}},"17":{"start":{"line":66,"column":4},"end":{"line":66,"column":51}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":40}},"19":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"20":{"start":{"line":73,"column":21},"end":{"line":73,"column":44}},"21":{"start":{"line":74,"column":17},"end":{"line":74,"column":19}},"22":{"start":{"line":75,"column":2},"end":{"line":75,"column":19}},"23":{"start":{"line":76,"column":2},"end":{"line":76,"column":29}},"24":{"start":{"line":77,"column":2},"end":{"line":83,"column":4}},"25":{"start":{"line":78,"column":4},"end":{"line":82,"column":5}},"26":{"start":{"line":79,"column":18},"end":{"line":79,"column":32}},"27":{"start":{"line":80,"column":6},"end":{"line":80,"column":44}},"28":{"start":{"line":81,"column":6},"end":{"line":81,"column":28}},"29":{"start":{"line":84,"column":2},"end":{"line":86,"column":4}},"30":{"start":{"line":85,"column":4},"end":{"line":85,"column":59}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":4}},"32":{"start":{"line":88,"column":4},"end":{"line":88,"column":59}},"33":{"start":{"line":90,"column":2},"end":{"line":92,"column":4}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":58}},"35":{"start":{"line":93,"column":2},"end":{"line":95,"column":4}},"36":{"start":{"line":94,"column":4},"end":{"line":94,"column":58}},"37":{"start":{"line":96,"column":2},"end":{"line":98,"column":4}},"38":{"start":{"line":97,"column":4},"end":{"line":97,"column":59}},"39":{"start":{"line":99,"column":2},"end":{"line":101,"column":4}},"40":{"start":{"line":100,"column":4},"end":{"line":100,"column":59}},"41":{"start":{"line":103,"column":2},"end":{"line":103,"column":16}},"42":{"start":{"line":107,"column":2},"end":{"line":107,"column":24}},"43":{"start":{"line":111,"column":34},"end":{"line":111,"column":66}},"44":{"start":{"line":112,"column":35},"end":{"line":112,"column":68}},"45":{"start":{"line":113,"column":2},"end":{"line":113,"column":107}},"46":{"start":{"line":117,"column":37},"end":{"line":117,"column":72}},"47":{"start":{"line":118,"column":35},"end":{"line":118,"column":68}},"48":{"start":{"line":119,"column":2},"end":{"line":119,"column":113}},"49":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"50":{"start":{"line":131,"column":4},"end":{"line":131,"column":49}},"51":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"52":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"53":{"start":{"line":142,"column":19},"end":{"line":142,"column":52}},"54":{"start":{"line":143,"column":6},"end":{"line":149,"column":7}},"55":{"start":{"line":144,"column":30},"end":{"line":144,"column":39}},"56":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"57":{"start":{"line":147,"column":10},"end":{"line":147,"column":47}},"58":{"start":{"line":154,"column":4},"end":{"line":154,"column":72}},"59":{"start":{"line":158,"column":4},"end":{"line":165,"column":5}},"60":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"61":{"start":{"line":160,"column":8},"end":{"line":160,"column":51}},"62":{"start":{"line":161,"column":8},"end":{"line":163,"column":11}},"63":{"start":{"line":162,"column":10},"end":{"line":162,"column":67}},"64":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":47}},"66":{"start":{"line":170,"column":6},"end":{"line":172,"column":9}},"67":{"start":{"line":171,"column":8},"end":{"line":171,"column":65}},"68":{"start":{"line":176,"column":2},"end":{"line":176,"column":37}},"69":{"start":{"line":185,"column":13},"end":{"line":185,"column":34}},"70":{"start":{"line":186,"column":19},"end":{"line":186,"column":31}},"71":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"72":{"start":{"line":189,"column":4},"end":{"line":189,"column":47}},"73":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"74":{"start":{"line":193,"column":4},"end":{"line":193,"column":28}},"75":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"76":{"start":{"line":197,"column":4},"end":{"line":197,"column":19}},"77":{"start":{"line":200,"column":2},"end":{"line":212,"column":5}},"78":{"start":{"line":201,"column":4},"end":{"line":201,"column":54}},"79":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"80":{"start":{"line":204,"column":6},"end":{"line":204,"column":40}},"81":{"start":{"line":206,"column":6},"end":{"line":210,"column":7}},"82":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"83":{"start":{"line":208,"column":10},"end":{"line":208,"column":63}},"84":{"start":{"line":216,"column":2},"end":{"line":220,"column":3}},"85":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":218,"column":6},"end":{"line":218,"column":51}},"87":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"88":{"start":{"line":225,"column":4},"end":{"line":225,"column":29}},"89":{"start":{"line":227,"column":2},"end":{"line":227,"column":37}},"90":{"start":{"line":233,"column":2},"end":{"line":233,"column":36}},"91":{"start":{"line":234,"column":2},"end":{"line":234,"column":17}},"92":{"start":{"line":235,"column":2},"end":{"line":239,"column":3}},"93":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"94":{"start":{"line":237,"column":6},"end":{"line":237,"column":48}},"95":{"start":{"line":243,"column":2},"end":{"line":243,"column":19}},"96":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"97":{"start":{"line":245,"column":4},"end":{"line":255,"column":7}},"98":{"start":{"line":246,"column":6},"end":{"line":246,"column":40}},"99":{"start":{"line":248,"column":6},"end":{"line":248,"column":45}},"100":{"start":{"line":249,"column":6},"end":{"line":254,"column":7}},"101":{"start":{"line":250,"column":8},"end":{"line":250,"column":80}},"102":{"start":{"line":251,"column":8},"end":{"line":251,"column":55}},"103":{"start":{"line":253,"column":8},"end":{"line":253,"column":95}},"104":{"start":{"line":260,"column":2},"end":{"line":260,"column":26}},"105":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"106":{"start":{"line":262,"column":17},"end":{"line":262,"column":50}},"107":{"start":{"line":265,"column":4},"end":{"line":276,"column":5}},"108":{"start":{"line":266,"column":23},"end":{"line":266,"column":32}},"109":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":45}},"111":{"start":{"line":271,"column":6},"end":{"line":275,"column":7}},"112":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"113":{"start":{"line":273,"column":10},"end":{"line":273,"column":62}},"114":{"start":{"line":281,"column":2},"end":{"line":281,"column":63}},"115":{"start":{"line":290,"column":2},"end":{"line":290,"column":44}},"116":{"start":{"line":293,"column":20},"end":{"line":293,"column":22}},"117":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"118":{"start":{"line":297,"column":4},"end":{"line":297,"column":57}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":19}},"120":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"121":{"start":{"line":304,"column":4},"end":{"line":316,"column":5}},"122":{"start":{"line":305,"column":6},"end":{"line":305,"column":23}},"123":{"start":{"line":306,"column":6},"end":{"line":306,"column":37}},"124":{"start":{"line":307,"column":6},"end":{"line":307,"column":52}},"125":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"126":{"start":{"line":310,"column":8},"end":{"line":310,"column":25}},"127":{"start":{"line":313,"column":6},"end":{"line":315,"column":8}},"128":{"start":{"line":321,"column":16},"end":{"line":321,"column":46}},"129":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"130":{"start":{"line":322,"column":14},"end":{"line":322,"column":21}},"131":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"132":{"start":{"line":325,"column":4},"end":{"line":325,"column":75}},"133":{"start":{"line":327,"column":2},"end":{"line":327,"column":32}},"134":{"start":{"line":332,"column":2},"end":{"line":336,"column":3}},"135":{"start":{"line":333,"column":4},"end":{"line":333,"column":52}},"136":{"start":{"line":335,"column":4},"end":{"line":335,"column":78}},"137":{"start":{"line":337,"column":2},"end":{"line":337,"column":15}},"138":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"139":{"start":{"line":342,"column":4},"end":{"line":342,"column":39}},"140":{"start":{"line":343,"column":4},"end":{"line":343,"column":31}},"141":{"start":{"line":345,"column":2},"end":{"line":345,"column":34}},"142":{"start":{"line":346,"column":2},"end":{"line":346,"column":45}},"143":{"start":{"line":347,"column":2},"end":{"line":347,"column":93}},"144":{"start":{"line":351,"column":15},"end":{"line":351,"column":40}},"145":{"start":{"line":352,"column":2},"end":{"line":352,"column":47}},"146":{"start":{"line":353,"column":2},"end":{"line":353,"column":26}},"147":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"148":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"149":{"start":{"line":357,"column":6},"end":{"line":357,"column":47}},"150":{"start":{"line":359,"column":4},"end":{"line":359,"column":60}},"151":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"152":{"start":{"line":362,"column":6},"end":{"line":364,"column":8}},"153":{"start":{"line":367,"column":2},"end":{"line":367,"column":36}},"154":{"start":{"line":370,"column":33},"end":{"line":376,"column":1}},"155":{"start":{"line":380,"column":4},"end":{"line":384,"column":6}},"156":{"start":{"line":383,"column":6},"end":{"line":383,"column":46}},"157":{"start":{"line":387,"column":2},"end":{"line":387,"column":42}},"158":{"start":{"line":389,"column":2},"end":{"line":391,"column":5}},"159":{"start":{"line":390,"column":4},"end":{"line":390,"column":77}},"160":{"start":{"line":395,"column":2},"end":{"line":397,"column":5}},"161":{"start":{"line":396,"column":4},"end":{"line":396,"column":51}},"162":{"start":{"line":412,"column":2},"end":{"line":416,"column":3}},"163":{"start":{"line":413,"column":4},"end":{"line":413,"column":56}},"164":{"start":{"line":415,"column":4},"end":{"line":415,"column":39}},"165":{"start":{"line":417,"column":2},"end":{"line":417,"column":24}},"166":{"start":{"line":431,"column":2},"end":{"line":431,"column":63}},"167":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"168":{"start":{"line":434,"column":4},"end":{"line":434,"column":74}},"169":{"start":{"line":437,"column":2},"end":{"line":437,"column":76}},"170":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"171":{"start":{"line":439,"column":4},"end":{"line":439,"column":79}},"172":{"start":{"line":441,"column":2},"end":{"line":441,"column":75}},"173":{"start":{"line":455,"column":2},"end":{"line":455,"column":37}},"174":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"175":{"start":{"line":459,"column":4},"end":{"line":459,"column":39}},"176":{"start":{"line":463,"column":18},"end":{"line":463,"column":19}},"177":{"start":{"line":465,"column":28},"end":{"line":465,"column":30}},"178":{"start":{"line":468,"column":4},"end":{"line":468,"column":25}},"179":{"start":{"line":469,"column":4},"end":{"line":469,"column":16}},"180":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"181":{"start":{"line":471,"column":6},"end":{"line":471,"column":16}},"182":{"start":{"line":475,"column":2},"end":{"line":479,"column":3}},"183":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":477,"column":6},"end":{"line":477,"column":58}},"185":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"186":{"start":{"line":482,"column":4},"end":{"line":482,"column":16}},"187":{"start":{"line":485,"column":2},"end":{"line":487,"column":5}},"188":{"start":{"line":486,"column":4},"end":{"line":486,"column":26}},"189":{"start":{"line":489,"column":2},"end":{"line":489,"column":14}},"190":{"start":{"line":513,"column":15},"end":{"line":535,"column":1}},"191":{"start":{"line":537,"column":0},"end":{"line":537,"column":24}},"192":{"start":{"line":540,"column":0},"end":{"line":540,"column":12}}},"fnMap":{"0":{"name":"hasLogger","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":18}},"loc":{"start":{"line":57,"column":27},"end":{"line":59,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":47},"end":{"line":70,"column":1}}},"2":{"name":"getBufferedLogger","decl":{"start":{"line":72,"column":9},"end":{"line":72,"column":26}},"loc":{"start":{"line":72,"column":41},"end":{"line":104,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":17},"end":{"line":77,"column":18}},"loc":{"start":{"line":77,"column":29},"end":{"line":83,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":17},"end":{"line":84,"column":18}},"loc":{"start":{"line":84,"column":36},"end":{"line":86,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":87,"column":17},"end":{"line":87,"column":18}},"loc":{"start":{"line":87,"column":36},"end":{"line":89,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":17}},"loc":{"start":{"line":90,"column":35},"end":{"line":92,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":17}},"loc":{"start":{"line":93,"column":35},"end":{"line":95,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":17},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":36},"end":{"line":98,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":18}},"loc":{"start":{"line":99,"column":36},"end":{"line":101,"column":3}}},"10":{"name":"normalizeCategory","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":37},"end":{"line":108,"column":1}}},"11":{"name":"doesLevelEntryContainsLogger","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":37}},"loc":{"start":{"line":110,"column":69},"end":{"line":114,"column":1}}},"12":{"name":"doesAppenderContainsLogger","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":35}},"loc":{"start":{"line":116,"column":70},"end":{"line":120,"column":1}}},"13":{"name":"getLogger","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":18}},"loc":{"start":{"line":128,"column":39},"end":{"line":177,"column":1}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":161,"column":29},"end":{"line":161,"column":30}},"loc":{"start":{"line":161,"column":43},"end":{"line":163,"column":9}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":170,"column":27},"end":{"line":170,"column":28}},"loc":{"start":{"line":170,"column":41},"end":{"line":172,"column":7}}},"16":{"name":"addAppender","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":20}},"loc":{"start":{"line":182,"column":23},"end":{"line":213,"column":1}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":200,"column":15},"end":{"line":200,"column":16}},"loc":{"start":{"line":200,"column":37},"end":{"line":212,"column":3}}},"18":{"name":"addAppenderToAllLoggers","decl":{"start":{"line":215,"column":9},"end":{"line":215,"column":32}},"loc":{"start":{"line":215,"column":43},"end":{"line":221,"column":1}}},"19":{"name":"addAppenderToCategory","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":30}},"loc":{"start":{"line":223,"column":51},"end":{"line":228,"column":1}}},"20":{"name":"clearAppenders","decl":{"start":{"line":230,"column":9},"end":{"line":230,"column":23}},"loc":{"start":{"line":230,"column":26},"end":{"line":240,"column":1}}},"21":{"name":"configureAppenders","decl":{"start":{"line":242,"column":9},"end":{"line":242,"column":27}},"loc":{"start":{"line":242,"column":51},"end":{"line":257,"column":1}}},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":25},"end":{"line":245,"column":26}},"loc":{"start":{"line":245,"column":45},"end":{"line":255,"column":5}}},"23":{"name":"configureLevels","decl":{"start":{"line":259,"column":9},"end":{"line":259,"column":24}},"loc":{"start":{"line":259,"column":34},"end":{"line":278,"column":1}}},"24":{"name":"setGlobalLogLevel","decl":{"start":{"line":280,"column":9},"end":{"line":280,"column":26}},"loc":{"start":{"line":280,"column":34},"end":{"line":282,"column":1}}},"25":{"name":"getDefaultLogger","decl":{"start":{"line":289,"column":9},"end":{"line":289,"column":25}},"loc":{"start":{"line":289,"column":28},"end":{"line":291,"column":1}}},"26":{"name":"loadConfigurationFile","decl":{"start":{"line":295,"column":9},"end":{"line":295,"column":30}},"loc":{"start":{"line":295,"column":41},"end":{"line":300,"column":1}}},"27":{"name":"configureOnceOff","decl":{"start":{"line":302,"column":9},"end":{"line":302,"column":25}},"loc":{"start":{"line":302,"column":43},"end":{"line":318,"column":1}}},"28":{"name":"reloadConfiguration","decl":{"start":{"line":320,"column":9},"end":{"line":320,"column":28}},"loc":{"start":{"line":320,"column":38},"end":{"line":328,"column":1}}},"29":{"name":"getMTime","decl":{"start":{"line":330,"column":9},"end":{"line":330,"column":17}},"loc":{"start":{"line":330,"column":28},"end":{"line":338,"column":1}}},"30":{"name":"initReloadConfiguration","decl":{"start":{"line":340,"column":9},"end":{"line":340,"column":32}},"loc":{"start":{"line":340,"column":52},"end":{"line":348,"column":1}}},"31":{"name":"configure","decl":{"start":{"line":350,"column":9},"end":{"line":350,"column":18}},"loc":{"start":{"line":350,"column":55},"end":{"line":368,"column":1}}},"32":{"name":"replaceConsole","decl":{"start":{"line":378,"column":9},"end":{"line":378,"column":23}},"loc":{"start":{"line":378,"column":32},"end":{"line":392,"column":1}}},"33":{"name":"replaceWith","decl":{"start":{"line":379,"column":11},"end":{"line":379,"column":22}},"loc":{"start":{"line":379,"column":27},"end":{"line":385,"column":3}}},"34":{"name":"(anonymous_34)","decl":{"start":{"line":380,"column":11},"end":{"line":380,"column":12}},"loc":{"start":{"line":380,"column":23},"end":{"line":384,"column":5}}},"35":{"name":"(anonymous_35)","decl":{"start":{"line":389,"column":52},"end":{"line":389,"column":53}},"loc":{"start":{"line":389,"column":62},"end":{"line":391,"column":3}}},"36":{"name":"restoreConsole","decl":{"start":{"line":394,"column":9},"end":{"line":394,"column":23}},"loc":{"start":{"line":394,"column":26},"end":{"line":398,"column":1}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":395,"column":52},"end":{"line":395,"column":53}},"loc":{"start":{"line":395,"column":62},"end":{"line":397,"column":3}}},"38":{"name":"requireAppender","decl":{"start":{"line":410,"column":9},"end":{"line":410,"column":24}},"loc":{"start":{"line":410,"column":35},"end":{"line":418,"column":1}}},"39":{"name":"loadAppender","decl":{"start":{"line":430,"column":9},"end":{"line":430,"column":21}},"loc":{"start":{"line":430,"column":48},"end":{"line":442,"column":1}}},"40":{"name":"shutdown","decl":{"start":{"line":452,"column":9},"end":{"line":452,"column":17}},"loc":{"start":{"line":452,"column":22},"end":{"line":490,"column":1}}},"41":{"name":"complete","decl":{"start":{"line":467,"column":11},"end":{"line":467,"column":19}},"loc":{"start":{"line":467,"column":25},"end":{"line":473,"column":3}}},"42":{"name":"(anonymous_42)","decl":{"start":{"line":485,"column":28},"end":{"line":485,"column":29}},"loc":{"start":{"line":485,"column":45},"end":{"line":487,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},{"start":{"line":64,"column":2},"end":{"line":68,"column":3}}]},"1":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":66}},"type":"binary-expr","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":34}},{"start":{"line":64,"column":38},"end":{"line":64,"column":66}}]},"2":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{"line":130,"column":2},"end":{"line":132,"column":3}}]},"3":{"loc":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},{"start":{"line":134,"column":2},"end":{"line":174,"column":3}}]},"4":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{"line":139,"column":4},"end":{"line":150,"column":5}}]},"5":{"loc":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},{"start":{"line":145,"column":8},"end":{"line":148,"column":9}}]},"6":{"loc":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},{"start":{"line":159,"column":6},"end":{"line":164,"column":7}}]},"7":{"loc":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},{"start":{"line":168,"column":4},"end":{"line":173,"column":5}}]},"8":{"loc":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"type":"if","locations":[{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},{"start":{"line":188,"column":2},"end":{"line":190,"column":3}}]},"9":{"loc":{"start":{"line":188,"column":6},"end":{"line":188,"column":54}},"type":"binary-expr","locations":[{"start":{"line":188,"column":6},"end":{"line":188,"column":21}},{"start":{"line":188,"column":25},"end":{"line":188,"column":54}}]},"10":{"loc":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},{"start":{"line":192,"column":2},"end":{"line":194,"column":3}}]},"11":{"loc":{"start":{"line":192,"column":6},"end":{"line":192,"column":48}},"type":"binary-expr","locations":[{"start":{"line":192,"column":6},"end":{"line":192,"column":23}},{"start":{"line":192,"column":27},"end":{"line":192,"column":48}}]},"12":{"loc":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"type":"if","locations":[{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},{"start":{"line":196,"column":2},"end":{"line":198,"column":3}}]},"13":{"loc":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"type":"if","locations":[{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},{"start":{"line":203,"column":4},"end":{"line":211,"column":5}}]},"14":{"loc":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},{"start":{"line":207,"column":8},"end":{"line":209,"column":9}}]},"15":{"loc":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},{"start":{"line":217,"column":4},"end":{"line":219,"column":5}}]},"16":{"loc":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"type":"if","locations":[{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},{"start":{"line":224,"column":2},"end":{"line":226,"column":3}}]},"17":{"loc":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"type":"if","locations":[{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},{"start":{"line":236,"column":4},"end":{"line":238,"column":5}}]},"18":{"loc":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},{"start":{"line":244,"column":2},"end":{"line":256,"column":3}}]},"19":{"loc":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"type":"if","locations":[{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},{"start":{"line":261,"column":2},"end":{"line":277,"column":3}}]},"20":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{"line":267,"column":6},"end":{"line":269,"column":7}}]},"21":{"loc":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},{"start":{"line":272,"column":8},"end":{"line":274,"column":9}}]},"22":{"loc":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"type":"if","locations":[{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},{"start":{"line":296,"column":2},"end":{"line":298,"column":3}}]},"23":{"loc":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"type":"if","locations":[{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},{"start":{"line":303,"column":2},"end":{"line":317,"column":3}}]},"24":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{"line":309,"column":6},"end":{"line":311,"column":7}}]},"25":{"loc":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"type":"if","locations":[{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},{"start":{"line":322,"column":2},"end":{"line":322,"column":21}}]},"26":{"loc":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"type":"if","locations":[{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},{"start":{"line":324,"column":2},"end":{"line":326,"column":3}}]},"27":{"loc":{"start":{"line":324,"column":6},"end":{"line":324,"column":82}},"type":"binary-expr","locations":[{"start":{"line":324,"column":6},"end":{"line":324,"column":27}},{"start":{"line":324,"column":32},"end":{"line":324,"column":81}}]},"28":{"loc":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"type":"if","locations":[{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},{"start":{"line":341,"column":2},"end":{"line":344,"column":3}}]},"29":{"loc":{"start":{"line":352,"column":11},"end":{"line":352,"column":46}},"type":"binary-expr","locations":[{"start":{"line":352,"column":11},"end":{"line":352,"column":17}},{"start":{"line":352,"column":21},"end":{"line":352,"column":46}}]},"30":{"loc":{"start":{"line":353,"column":12},"end":{"line":353,"column":25}},"type":"binary-expr","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":19}},{"start":{"line":353,"column":23},"end":{"line":353,"column":25}}]},"31":{"loc":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"type":"if","locations":[{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},{"start":{"line":355,"column":2},"end":{"line":366,"column":3}}]},"32":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":75}},"type":"binary-expr","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":26}},{"start":{"line":355,"column":30},"end":{"line":355,"column":45}},{"start":{"line":355,"column":49},"end":{"line":355,"column":75}}]},"33":{"loc":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"type":"if","locations":[{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},{"start":{"line":356,"column":4},"end":{"line":358,"column":5}}]},"34":{"loc":{"start":{"line":359,"column":13},"end":{"line":359,"column":59}},"type":"binary-expr","locations":[{"start":{"line":359,"column":13},"end":{"line":359,"column":42}},{"start":{"line":359,"column":46},"end":{"line":359,"column":59}}]},"35":{"loc":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"type":"if","locations":[{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},{"start":{"line":361,"column":4},"end":{"line":365,"column":5}}]},"36":{"loc":{"start":{"line":387,"column":11},"end":{"line":387,"column":41}},"type":"binary-expr","locations":[{"start":{"line":387,"column":11},"end":{"line":387,"column":17}},{"start":{"line":387,"column":21},"end":{"line":387,"column":41}}]},"37":{"loc":{"start":{"line":390,"column":32},"end":{"line":390,"column":75}},"type":"cond-expr","locations":[{"start":{"line":390,"column":49},"end":{"line":390,"column":60}},{"start":{"line":390,"column":63},"end":{"line":390,"column":75}}]},"38":{"loc":{"start":{"line":431,"column":19},"end":{"line":431,"column":62}},"type":"binary-expr","locations":[{"start":{"line":431,"column":19},"end":{"line":431,"column":33}},{"start":{"line":431,"column":37},"end":{"line":431,"column":62}}]},"39":{"loc":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"type":"if","locations":[{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},{"start":{"line":433,"column":2},"end":{"line":435,"column":3}}]},"40":{"loc":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"type":"if","locations":[{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},{"start":{"line":438,"column":2},"end":{"line":440,"column":3}}]},"41":{"loc":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"type":"if","locations":[{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},{"start":{"line":458,"column":2},"end":{"line":460,"column":3}}]},"42":{"loc":{"start":{"line":468,"column":12},"end":{"line":468,"column":24}},"type":"binary-expr","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":17}},{"start":{"line":468,"column":21},"end":{"line":468,"column":24}}]},"43":{"loc":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"type":"if","locations":[{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},{"start":{"line":470,"column":4},"end":{"line":472,"column":5}}]},"44":{"loc":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"type":"if","locations":[{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},{"start":{"line":476,"column":4},"end":{"line":478,"column":5}}]},"45":{"loc":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"type":"if","locations":[{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},{"start":{"line":481,"column":2},"end":{"line":483,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":4,"14":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":32,"43":0,"44":0,"45":0,"46":16,"47":16,"48":16,"49":4,"50":0,"51":4,"52":4,"53":0,"54":0,"55":0,"56":0,"57":0,"58":4,"59":4,"60":10,"61":4,"62":4,"63":4,"64":4,"65":0,"66":0,"67":0,"68":4,"69":5,"70":5,"71":5,"72":0,"73":5,"74":1,"75":5,"76":0,"77":5,"78":5,"79":5,"80":1,"81":4,"82":6,"83":0,"84":1,"85":0,"86":0,"87":5,"88":5,"89":5,"90":2,"91":2,"92":2,"93":0,"94":0,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":0,"104":1,"105":1,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":1,"117":1,"118":0,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":1,"145":1,"146":1,"147":1,"148":1,"149":0,"150":1,"151":0,"152":0,"153":1,"154":1,"155":0,"156":0,"157":0,"158":0,"159":0,"160":1,"161":5,"162":1,"163":1,"164":0,"165":1,"166":1,"167":1,"168":0,"169":1,"170":1,"171":0,"172":1,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":1,"191":1,"192":1},"f":{"0":4,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":32,"11":0,"12":16,"13":4,"14":4,"15":0,"16":5,"17":5,"18":1,"19":5,"20":2,"21":1,"22":1,"23":1,"24":0,"25":0,"26":1,"27":1,"28":0,"29":0,"30":0,"31":1,"32":0,"33":0,"34":0,"35":0,"36":1,"37":5,"38":1,"39":1,"40":0,"41":0,"42":0},"b":{"0":[0,0],"1":[0,0],"2":[0,4],"3":[4,0],"4":[0,4],"5":[0,0],"6":[4,6],"7":[0,4],"8":[0,5],"9":[5,5],"10":[1,4],"11":[5,5],"12":[0,5],"13":[1,4],"14":[0,6],"15":[0,0],"16":[5,0],"17":[0,0],"18":[1,0],"19":[0,1],"20":[0,0],"21":[0,0],"22":[0,1],"23":[1,0],"24":[0,1],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[1,1],"30":[1,1],"31":[1,0],"32":[1,0,0],"33":[0,1],"34":[1,1],"35":[0,0],"36":[0,0],"37":[0,0],"38":[1,1],"39":[0,1],"40":[0,1],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3a43360dca26d74ffd67cfe5ec75309575f038ac","contentHash":"10edbceee6329f5ee9c0d2f625fd311b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":1,"13":8,"14":20,"15":0,"16":0,"17":20,"18":8,"19":8,"20":4,"21":4,"22":4,"23":16,"24":8,"25":1,"26":4,"27":4,"28":4,"29":4,"30":4,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":1,"108":0,"109":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":8,"7":20,"8":0,"9":8,"10":4,"11":4,"12":4,"13":4,"14":4,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"0":[1,0],"1":[0,0],"2":[0,0],"3":[0,20],"4":[20,0],"5":[0,0],"6":[4,4],"7":[0,4],"8":[0,4],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf","contentHash":"d1d8e598552dfe064eef286d267900be_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":32,"5":32,"6":0,"7":32,"8":28,"9":4,"10":4,"11":4,"12":4,"13":0,"14":4,"15":4,"16":4,"17":1,"18":4,"19":4,"20":4,"21":4,"22":4,"23":4,"24":4,"25":4,"26":4,"27":4,"28":4,"29":4,"30":4,"31":4,"32":4,"33":4,"34":4,"35":4,"36":4,"37":4},"f":{"0":32,"1":28,"2":4,"3":4},"b":{"0":[0,4],"1":[4,0],"2":[4,0],"3":[4,0],"4":[4,0],"5":[4,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128","contentHash":"672b6336c04cfaa2a8588410ce063022_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/levels.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/levels.js","statementMap":{"0":{"start":{"line":9,"column":4},"end":{"line":9,"column":23}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":42}},"9":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":39}},"11":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"12":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":24}},"14":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"15":{"start":{"line":52,"column":4},"end":{"line":52,"column":43}},"16":{"start":{"line":53,"column":4},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"18":{"start":{"line":57,"column":4},"end":{"line":57,"column":62}},"19":{"start":{"line":60,"column":2},"end":{"line":60,"column":34}},"20":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"21":{"start":{"line":66,"column":23},"end":{"line":66,"column":45}},"22":{"start":{"line":67,"column":4},"end":{"line":67,"column":32}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"24":{"start":{"line":72,"column":0},"end":{"line":85,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":13},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":34},"end":{"line":22,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":37},"end":{"line":29,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":31,"column":24},"end":{"line":36,"column":3}}},"5":{"name":"toLevel","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":37},"end":{"line":61,"column":1}}},"6":{"name":"getLevel","decl":{"start":{"line":63,"column":9},"end":{"line":63,"column":17}},"loc":{"start":{"line":63,"column":28},"end":{"line":70,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{"line":32,"column":4},"end":{"line":34,"column":5}}]},"3":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}]},"4":{"loc":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},{"start":{"line":51,"column":2},"end":{"line":54,"column":3}}]},"5":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}]},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":61}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":45}},{"start":{"line":57,"column":49},"end":{"line":57,"column":61}}]},"7":{"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},{"start":{"line":65,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":9,"1":9,"2":11,"3":4,"4":0,"5":4,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":7,"13":0,"14":7,"15":0,"16":0,"17":7,"18":7,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1},"f":{"0":9,"1":11,"2":4,"3":0,"4":0,"5":7,"6":0},"b":{"0":[0,4],"1":[0,0],"2":[0,0],"3":[0,7],"4":[0,7],"5":[7,0],"6":[7,0],"7":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"daae16d9a9a708cc048c35299774fc26e22cf555","contentHash":"de3beea1cbd1c093130b8e3a1963e9d2_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":21},"end":{"line":6,"column":38}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":36}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":27}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":32}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":23}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":25}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":50,"column":4},"end":{"line":50,"column":45}},"11":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"12":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":67}},"14":{"start":{"line":62,"column":4},"end":{"line":62,"column":22}},"15":{"start":{"line":68,"column":17},"end":{"line":68,"column":38}},"16":{"start":{"line":69,"column":21},"end":{"line":69,"column":57}},"17":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":13}},"19":{"start":{"line":73,"column":4},"end":{"line":73,"column":39}},"20":{"start":{"line":77,"column":4},"end":{"line":77,"column":54}},"21":{"start":{"line":81,"column":25},"end":{"line":81,"column":75}},"22":{"start":{"line":82,"column":4},"end":{"line":82,"column":35}},"23":{"start":{"line":86,"column":0},"end":{"line":86,"column":43}},"24":{"start":{"line":87,"column":0},"end":{"line":87,"column":38}},"25":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"26":{"start":{"line":92,"column":16},"end":{"line":92,"column":38}},"27":{"start":{"line":94,"column":24},"end":{"line":94,"column":54}},"28":{"start":{"line":95,"column":22},"end":{"line":95,"column":81}},"29":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}},"30":{"start":{"line":96,"column":24},"end":{"line":96,"column":75}},"31":{"start":{"line":98,"column":2},"end":{"line":100,"column":4}},"32":{"start":{"line":99,"column":4},"end":{"line":99,"column":49}},"33":{"start":{"line":102,"column":2},"end":{"line":109,"column":4}},"34":{"start":{"line":105,"column":17},"end":{"line":105,"column":38}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":117,"column":2},"end":{"line":117,"column":27}},"38":{"start":{"line":125,"column":2},"end":{"line":125,"column":26}},"39":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"40":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"41":{"start":{"line":130,"column":0},"end":{"line":130,"column":57}},"42":{"start":{"line":131,"column":0},"end":{"line":131,"column":55}},"43":{"start":{"line":132,"column":0},"end":{"line":132,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":49},"end":{"line":32,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":27},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":65,"column":8},"end":{"line":74,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":29},"end":{"line":78,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":20},"end":{"line":83,"column":3}}},"7":{"name":"addLevelMethods","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":33},"end":{"line":110,"column":1}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":95,"column":57},"end":{"line":95,"column":58}},"loc":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":50},"end":{"line":98,"column":51}},"loc":{"start":{"line":98,"column":62},"end":{"line":100,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":34},"end":{"line":102,"column":35}},"loc":{"start":{"line":102,"column":46},"end":{"line":109,"column":3}}},"11":{"name":"disableAllLogWrites","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":28}},"loc":{"start":{"line":116,"column":31},"end":{"line":118,"column":1}}},"12":{"name":"enableAllLogWrites","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":27}},"loc":{"start":{"line":124,"column":30},"end":{"line":126,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"type":"binary-expr","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}}]},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":4},"end":{"line":54,"column":5}}]},"2":{"loc":{"start":{"line":58,"column":39},"end":{"line":58,"column":65}},"type":"binary-expr","locations":[{"start":{"line":58,"column":39},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":65}}]},"3":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}]},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}}]},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":106,"column":54}},"type":"binary-expr","locations":[{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},{"start":{"line":106,"column":28},"end":{"line":106,"column":54}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":4,"5":4,"6":4,"7":4,"8":4,"9":4,"10":4,"11":4,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":4,"21":4,"22":4,"23":1,"24":1,"25":1,"26":7,"27":7,"28":7,"29":0,"30":7,"31":7,"32":0,"33":7,"34":4,"35":4,"36":4,"37":0,"38":2,"39":1,"40":1,"41":1,"42":1,"43":1},"f":{"0":4,"1":4,"2":0,"3":0,"4":0,"5":4,"6":4,"7":7,"8":0,"9":0,"10":4,"11":0,"12":2},"b":{"0":[4,0],"1":[0,4],"2":[0,0],"3":[0,0],"4":[4,0],"5":[4,4]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7d8e54612a5d21505ecc3cd8c5eea114082c17db","contentHash":"00d625ca9babf994c26685dc45e2004b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":7,"column":23},"end":{"line":10,"column":18}},"2":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"4":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":34}},"6":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"7":{"start":{"line":50,"column":21},"end":{"line":50,"column":30}},"8":{"start":{"line":51,"column":14},"end":{"line":51,"column":56}},"9":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"10":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"11":{"start":{"line":55,"column":2},"end":{"line":112,"column":4}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"13":{"start":{"line":57,"column":22},"end":{"line":57,"column":36}},"14":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"15":{"start":{"line":60,"column":46},"end":{"line":60,"column":60}},"16":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"17":{"start":{"line":63,"column":20},"end":{"line":63,"column":30}},"18":{"start":{"line":64,"column":24},"end":{"line":64,"column":37}},"19":{"start":{"line":67,"column":6},"end":{"line":67,"column":26}},"20":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"21":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":37}},"23":{"start":{"line":74,"column":8},"end":{"line":74,"column":32}},"24":{"start":{"line":75,"column":8},"end":{"line":75,"column":38}},"25":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"26":{"start":{"line":79,"column":10},"end":{"line":79,"column":30}},"27":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"28":{"start":{"line":80,"column":27},"end":{"line":80,"column":47}},"29":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"30":{"start":{"line":81,"column":27},"end":{"line":81,"column":48}},"31":{"start":{"line":83,"column":10},"end":{"line":83,"column":61}},"32":{"start":{"line":88,"column":6},"end":{"line":107,"column":9}},"33":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"34":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"35":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"37":{"start":{"line":93,"column":37},"end":{"line":93,"column":57}},"38":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"39":{"start":{"line":94,"column":37},"end":{"line":94,"column":58}},"40":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"41":{"start":{"line":98,"column":33},"end":{"line":98,"column":79}},"42":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"43":{"start":{"line":101,"column":25},"end":{"line":101,"column":74}},"44":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}},"45":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"46":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"47":{"start":{"line":104,"column":12},"end":{"line":104,"column":63}},"48":{"start":{"line":111,"column":4},"end":{"line":111,"column":18}},"49":{"start":{"line":126,"column":28},"end":{"line":138,"column":3}},"50":{"start":{"line":127,"column":14},"end":{"line":127,"column":28}},"51":{"start":{"line":128,"column":4},"end":{"line":136,"column":5}},"52":{"start":{"line":129,"column":6},"end":{"line":135,"column":7}},"53":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"54":{"start":{"line":133,"column":10},"end":{"line":133,"column":27}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":13}},"56":{"start":{"line":140,"column":24},"end":{"line":140,"column":26}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":66}},"58":{"start":{"line":142,"column":2},"end":{"line":142,"column":72}},"59":{"start":{"line":143,"column":2},"end":{"line":143,"column":72}},"60":{"start":{"line":144,"column":2},"end":{"line":144,"column":68}},"61":{"start":{"line":145,"column":2},"end":{"line":145,"column":92}},"62":{"start":{"line":146,"column":2},"end":{"line":146,"column":81}},"63":{"start":{"line":147,"column":2},"end":{"line":147,"column":80}},"64":{"start":{"line":148,"column":2},"end":{"line":151,"column":5}},"65":{"start":{"line":152,"column":2},"end":{"line":155,"column":5}},"66":{"start":{"line":156,"column":2},"end":{"line":166,"column":5}},"67":{"start":{"line":167,"column":2},"end":{"line":167,"column":87}},"68":{"start":{"line":168,"column":2},"end":{"line":173,"column":5}},"69":{"start":{"line":174,"column":2},"end":{"line":179,"column":5}},"70":{"start":{"line":177,"column":6},"end":{"line":177,"column":46}},"71":{"start":{"line":180,"column":2},"end":{"line":187,"column":5}},"72":{"start":{"line":183,"column":6},"end":{"line":185,"column":50}},"73":{"start":{"line":189,"column":2},"end":{"line":189,"column":63}},"74":{"start":{"line":203,"column":2},"end":{"line":203,"column":36}},"75":{"start":{"line":215,"column":2},"end":{"line":217,"column":3}},"76":{"start":{"line":216,"column":4},"end":{"line":216,"column":62}},"77":{"start":{"line":218,"column":2},"end":{"line":218,"column":13}},"78":{"start":{"line":249,"column":15},"end":{"line":249,"column":19}},"79":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"80":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"81":{"start":{"line":253,"column":6},"end":{"line":253,"column":21}},"82":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"83":{"start":{"line":257,"column":6},"end":{"line":257,"column":33}},"84":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"85":{"start":{"line":262,"column":31},"end":{"line":262,"column":80}},"86":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"87":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"88":{"start":{"line":267,"column":2},"end":{"line":267,"column":16}},"89":{"start":{"line":270,"column":0},"end":{"line":270,"column":41}}},"fnMap":{"0":{"name":"getLogger","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":39},"end":{"line":113,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":10}},"loc":{"start":{"line":55,"column":29},"end":{"line":112,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":70,"column":22},"end":{"line":70,"column":23}},"loc":{"start":{"line":70,"column":41},"end":{"line":85,"column":7}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":23},"end":{"line":88,"column":24}},"loc":{"start":{"line":88,"column":29},"end":{"line":107,"column":7}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":39},"end":{"line":101,"column":40}},"loc":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}}},"5":{"name":"assembleTokens","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":48},"end":{"line":190,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":28},"end":{"line":126,"column":29}},"loc":{"start":{"line":126,"column":39},"end":{"line":138,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":17},"end":{"line":176,"column":18}},"loc":{"start":{"line":176,"column":37},"end":{"line":178,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":182,"column":17},"end":{"line":182,"column":18}},"loc":{"start":{"line":182,"column":37},"end":{"line":186,"column":5}}},"9":{"name":"getUrl","decl":{"start":{"line":202,"column":9},"end":{"line":202,"column":15}},"loc":{"start":{"line":202,"column":21},"end":{"line":204,"column":1}}},"10":{"name":"format","decl":{"start":{"line":214,"column":9},"end":{"line":214,"column":15}},"loc":{"start":{"line":214,"column":29},"end":{"line":219,"column":1}}},"11":{"name":"createNoLogCondition","decl":{"start":{"line":248,"column":9},"end":{"line":248,"column":29}},"loc":{"start":{"line":248,"column":37},"end":{"line":268,"column":1}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":262,"column":41},"end":{"line":262,"column":42}},"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}}}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},{"start":{"line":42,"column":2},"end":{"line":48,"column":3}}]},"1":{"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":27}},"type":"binary-expr","locations":[{"start":{"line":43,"column":14},"end":{"line":43,"column":21}},{"start":{"line":43,"column":25},"end":{"line":43,"column":27}}]},"2":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}]},"3":{"loc":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"type":"binary-expr","locations":[{"start":{"line":52,"column":14},"end":{"line":52,"column":28}},{"start":{"line":52,"column":32},"end":{"line":52,"column":46}}]},"4":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":32},"end":{"line":53,"column":67}},{"start":{"line":53,"column":70},"end":{"line":53,"column":74}}]},"5":{"loc":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},{"start":{"line":57,"column":4},"end":{"line":57,"column":36}}]},"6":{"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},{"start":{"line":60,"column":4},"end":{"line":60,"column":60}}]},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":44}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":13}},{"start":{"line":60,"column":17},"end":{"line":60,"column":44}}]},"8":{"loc":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},{"start":{"line":62,"column":4},"end":{"line":108,"column":5}}]},"9":{"loc":{"start":{"line":62,"column":8},"end":{"line":62,"column":68}},"type":"binary-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":40}},{"start":{"line":62,"column":44},"end":{"line":62,"column":68}}]},"10":{"loc":{"start":{"line":75,"column":24},"end":{"line":75,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":24},"end":{"line":75,"column":31}},{"start":{"line":75,"column":35},"end":{"line":75,"column":37}}]},"11":{"loc":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},{"start":{"line":78,"column":8},"end":{"line":84,"column":9}}]},"12":{"loc":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},{"start":{"line":80,"column":10},"end":{"line":80,"column":47}}]},"13":{"loc":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},{"start":{"line":81,"column":10},"end":{"line":81,"column":48}}]},"14":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":91,"column":8},"end":{"line":95,"column":9}}]},"15":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":54}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":26}},{"start":{"line":91,"column":30},"end":{"line":91,"column":54}}]},"16":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"type":"if","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},{"start":{"line":93,"column":10},"end":{"line":93,"column":57}}]},"17":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"type":"if","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},{"start":{"line":94,"column":10},"end":{"line":94,"column":58}}]},"18":{"loc":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},{"start":{"line":97,"column":8},"end":{"line":106,"column":9}}]},"19":{"loc":{"start":{"line":98,"column":58},"end":{"line":98,"column":78}},"type":"binary-expr","locations":[{"start":{"line":98,"column":58},"end":{"line":98,"column":72}},{"start":{"line":98,"column":76},"end":{"line":98,"column":78}}]},"20":{"loc":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},{"start":{"line":100,"column":10},"end":{"line":105,"column":11}}]},"21":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"type":"if","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},{"start":{"line":102,"column":12},"end":{"line":102,"column":50}}]},"22":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},{"start":{"line":132,"column":8},"end":{"line":134,"column":9}}]},"23":{"loc":{"start":{"line":145,"column":54},"end":{"line":145,"column":88}},"type":"binary-expr","locations":[{"start":{"line":145,"column":54},"end":{"line":145,"column":70}},{"start":{"line":145,"column":74},"end":{"line":145,"column":88}}]},"24":{"loc":{"start":{"line":150,"column":17},"end":{"line":150,"column":66}},"type":"binary-expr","locations":[{"start":{"line":150,"column":17},"end":{"line":150,"column":36}},{"start":{"line":150,"column":40},"end":{"line":150,"column":60}},{"start":{"line":150,"column":64},"end":{"line":150,"column":66}}]},"25":{"loc":{"start":{"line":158,"column":17},"end":{"line":165,"column":5}},"type":"binary-expr","locations":[{"start":{"line":158,"column":17},"end":{"line":158,"column":47}},{"start":{"line":159,"column":4},"end":{"line":159,"column":10}},{"start":{"line":160,"column":4},"end":{"line":160,"column":22}},{"start":{"line":161,"column":5},"end":{"line":161,"column":15}},{"start":{"line":162,"column":7},"end":{"line":162,"column":31}},{"start":{"line":163,"column":9},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":61}}]},"26":{"loc":{"start":{"line":170,"column":17},"end":{"line":172,"column":7}},"type":"binary-expr","locations":[{"start":{"line":170,"column":18},"end":{"line":170,"column":30}},{"start":{"line":170,"column":34},"end":{"line":170,"column":64}},{"start":{"line":171,"column":5},"end":{"line":171,"column":18}},{"start":{"line":171,"column":22},"end":{"line":171,"column":53}},{"start":{"line":172,"column":4},"end":{"line":172,"column":7}}]},"27":{"loc":{"start":{"line":183,"column":13},"end":{"line":185,"column":49}},"type":"cond-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},{"start":{"line":185,"column":11},"end":{"line":185,"column":48}}]},"28":{"loc":{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":47}},{"start":{"line":184,"column":51},"end":{"line":184,"column":71}}]},"29":{"loc":{"start":{"line":185,"column":11},"end":{"line":185,"column":48}},"type":"binary-expr","locations":[{"start":{"line":185,"column":11},"end":{"line":185,"column":24}},{"start":{"line":185,"column":28},"end":{"line":185,"column":48}}]},"30":{"loc":{"start":{"line":203,"column":9},"end":{"line":203,"column":35}},"type":"binary-expr","locations":[{"start":{"line":203,"column":9},"end":{"line":203,"column":24}},{"start":{"line":203,"column":28},"end":{"line":203,"column":35}}]},"31":{"loc":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},{"start":{"line":251,"column":2},"end":{"line":265,"column":3}}]},"32":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{"line":252,"column":4},"end":{"line":254,"column":5}}]},"33":{"loc":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},{"start":{"line":256,"column":4},"end":{"line":258,"column":5}}]},"34":{"loc":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"type":"if","locations":[{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},{"start":{"line":260,"column":4},"end":{"line":264,"column":5}}]},"35":{"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"type":"cond-expr","locations":[{"start":{"line":262,"column":62},"end":{"line":262,"column":72}},{"start":{"line":262,"column":75},"end":{"line":262,"column":78}}]}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0,0,0,0,0,0],"26":[0,0,0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8de6ff12985e168d800fe4d220a8a32e3c1dbe2a","contentHash":"06eb335e3bac458879bb256f44ac2576_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}}},"fnMap":{"0":{"name":"stdoutAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":33},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":0,"4":1,"5":0,"6":1,"7":1,"8":1},"f":{"0":1,"1":0,"2":1},"b":{"0":[1,1],"1":[0,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7fe10c84b315d3ba3e07ce62d5e48e59666eb827","contentHash":"009980a1b175f554654dded39c797b6c_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/slack.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/slack.js","statementMap":{"0":{"start":{"line":3,"column":14},"end":{"line":3,"column":35}},"1":{"start":{"line":4,"column":16},"end":{"line":4,"column":37}},"2":{"start":{"line":10,"column":2},"end":{"line":10,"column":42}},"3":{"start":{"line":12,"column":2},"end":{"line":31,"column":4}},"4":{"start":{"line":13,"column":17},"end":{"line":18,"column":5}},"5":{"start":{"line":21,"column":4},"end":{"line":30,"column":7}},"6":{"start":{"line":27,"column":6},"end":{"line":29,"column":7}},"7":{"start":{"line":28,"column":8},"end":{"line":28,"column":18}},"8":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"9":{"start":{"line":36,"column":4},"end":{"line":36,"column":65}},"10":{"start":{"line":39,"column":2},"end":{"line":39,"column":35}},"11":{"start":{"line":41,"column":2},"end":{"line":41,"column":40}},"12":{"start":{"line":44,"column":0},"end":{"line":44,"column":30}},"13":{"start":{"line":45,"column":0},"end":{"line":45,"column":40}},"14":{"start":{"line":46,"column":0},"end":{"line":46,"column":37}}},"fnMap":{"0":{"name":"slackAppender","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":22}},"loc":{"start":{"line":9,"column":41},"end":{"line":32,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":27},"end":{"line":31,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":26,"column":7},"end":{"line":26,"column":8}},"loc":{"start":{"line":26,"column":26},"end":{"line":30,"column":5}}},"3":{"name":"configure","decl":{"start":{"line":34,"column":9},"end":{"line":34,"column":18}},"loc":{"start":{"line":34,"column":28},"end":{"line":42,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":11},"end":{"line":10,"column":41}},"type":"binary-expr","locations":[{"start":{"line":10,"column":11},"end":{"line":10,"column":18}},{"start":{"line":10,"column":22},"end":{"line":10,"column":41}}]},"1":{"loc":{"start":{"line":27,"column":6},"end":{"line":29,"column":7}},"type":"if","locations":[{"start":{"line":27,"column":6},"end":{"line":29,"column":7}},{"start":{"line":27,"column":6},"end":{"line":29,"column":7}}]},"2":{"loc":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},{"start":{"line":35,"column":2},"end":{"line":37,"column":3}}]}},"s":{"0":4,"1":4,"2":4,"3":4,"4":4,"5":4,"6":4,"7":0,"8":4,"9":1,"10":4,"11":4,"12":4,"13":4,"14":4},"f":{"0":4,"1":4,"2":4,"3":4},"b":{"0":[4,3],"1":[0,4],"2":[1,3]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"f5c7d7d57b8a5975c2e3c853a1ad5fabe93e63bc"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/3015553fcfdf0e9916bf3b037b1df73c.json b/node_modules/log4js/.nyc_output/3015553fcfdf0e9916bf3b037b1df73c.json deleted file mode 100644 index ca0e3a2..0000000 --- a/node_modules/log4js/.nyc_output/3015553fcfdf0e9916bf3b037b1df73c.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/appenders/file.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/file.js","statementMap":{"0":{"start":{"line":3,"column":14},"end":{"line":3,"column":45}},"1":{"start":{"line":4,"column":16},"end":{"line":4,"column":37}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":6,"column":16},"end":{"line":6,"column":39}},"4":{"start":{"line":7,"column":11},"end":{"line":7,"column":24}},"5":{"start":{"line":9,"column":12},"end":{"line":9,"column":26}},"6":{"start":{"line":10,"column":18},"end":{"line":10,"column":20}},"7":{"start":{"line":13,"column":0},"end":{"line":18,"column":3}},"8":{"start":{"line":14,"column":2},"end":{"line":14,"column":32}},"9":{"start":{"line":15,"column":2},"end":{"line":17,"column":5}},"10":{"start":{"line":16,"column":4},"end":{"line":16,"column":15}},"11":{"start":{"line":23,"column":0},"end":{"line":28,"column":3}},"12":{"start":{"line":24,"column":2},"end":{"line":24,"column":34}},"13":{"start":{"line":25,"column":2},"end":{"line":27,"column":5}},"14":{"start":{"line":26,"column":4},"end":{"line":26,"column":61}},"15":{"start":{"line":44,"column":2},"end":{"line":44,"column":30}},"16":{"start":{"line":45,"column":2},"end":{"line":45,"column":41}},"17":{"start":{"line":46,"column":2},"end":{"line":46,"column":57}},"18":{"start":{"line":48,"column":2},"end":{"line":48,"column":49}},"19":{"start":{"line":50,"column":2},"end":{"line":56,"column":4}},"20":{"start":{"line":57,"column":17},"end":{"line":57,"column":66}},"21":{"start":{"line":60,"column":2},"end":{"line":60,"column":25}},"22":{"start":{"line":62,"column":2},"end":{"line":64,"column":4}},"23":{"start":{"line":63,"column":4},"end":{"line":63,"column":69}},"24":{"start":{"line":68,"column":17},"end":{"line":73,"column":3}},"25":{"start":{"line":74,"column":2},"end":{"line":76,"column":5}},"26":{"start":{"line":75,"column":4},"end":{"line":75,"column":90}},"27":{"start":{"line":77,"column":2},"end":{"line":77,"column":16}},"28":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"29":{"start":{"line":84,"column":4},"end":{"line":84,"column":63}},"30":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},"31":{"start":{"line":88,"column":4},"end":{"line":88,"column":62}},"32":{"start":{"line":91,"column":2},"end":{"line":98,"column":4}},"33":{"start":{"line":102,"column":18},"end":{"line":102,"column":19}},"34":{"start":{"line":104,"column":19},"end":{"line":110,"column":3}},"35":{"start":{"line":105,"column":4},"end":{"line":105,"column":25}},"36":{"start":{"line":106,"column":4},"end":{"line":106,"column":16}},"37":{"start":{"line":107,"column":4},"end":{"line":109,"column":5}},"38":{"start":{"line":108,"column":6},"end":{"line":108,"column":16}},"39":{"start":{"line":111,"column":2},"end":{"line":113,"column":3}},"40":{"start":{"line":112,"column":4},"end":{"line":112,"column":16}},"41":{"start":{"line":115,"column":2},"end":{"line":123,"column":5}},"42":{"start":{"line":116,"column":4},"end":{"line":122,"column":5}},"43":{"start":{"line":117,"column":6},"end":{"line":119,"column":9}},"44":{"start":{"line":118,"column":8},"end":{"line":118,"column":27}},"45":{"start":{"line":121,"column":6},"end":{"line":121,"column":25}},"46":{"start":{"line":126,"column":0},"end":{"line":126,"column":39}},"47":{"start":{"line":127,"column":0},"end":{"line":127,"column":37}},"48":{"start":{"line":128,"column":0},"end":{"line":128,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":19},"end":{"line":13,"column":20}},"loc":{"start":{"line":13,"column":25},"end":{"line":18,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":20},"end":{"line":15,"column":21}},"loc":{"start":{"line":15,"column":30},"end":{"line":17,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":21},"end":{"line":23,"column":22}},"loc":{"start":{"line":23,"column":27},"end":{"line":28,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":25,"column":20},"end":{"line":25,"column":21}},"loc":{"start":{"line":25,"column":32},"end":{"line":27,"column":3}}},"4":{"name":"fileAppender","decl":{"start":{"line":43,"column":9},"end":{"line":43,"column":21}},"loc":{"start":{"line":43,"column":82},"end":{"line":65,"column":1}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":62,"column":9},"end":{"line":62,"column":10}},"loc":{"start":{"line":62,"column":33},"end":{"line":64,"column":3}}},"6":{"name":"openTheStream","decl":{"start":{"line":67,"column":9},"end":{"line":67,"column":22}},"loc":{"start":{"line":67,"column":58},"end":{"line":78,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":74,"column":21},"end":{"line":74,"column":22}},"loc":{"start":{"line":74,"column":30},"end":{"line":76,"column":3}}},"8":{"name":"configure","decl":{"start":{"line":81,"column":9},"end":{"line":81,"column":18}},"loc":{"start":{"line":81,"column":36},"end":{"line":99,"column":1}}},"9":{"name":"shutdown","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":17}},"loc":{"start":{"line":101,"column":22},"end":{"line":124,"column":1}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":104,"column":19},"end":{"line":104,"column":20}},"loc":{"start":{"line":104,"column":28},"end":{"line":110,"column":3}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":115,"column":27},"end":{"line":115,"column":28}},"loc":{"start":{"line":115,"column":37},"end":{"line":123,"column":3}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":117,"column":25},"end":{"line":117,"column":26}},"loc":{"start":{"line":117,"column":31},"end":{"line":119,"column":7}}}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":12},"end":{"line":9,"column":26}},"type":"binary-expr","locations":[{"start":{"line":9,"column":12},"end":{"line":9,"column":18}},{"start":{"line":9,"column":22},"end":{"line":9,"column":26}}]},"1":{"loc":{"start":{"line":45,"column":11},"end":{"line":45,"column":40}},"type":"binary-expr","locations":[{"start":{"line":45,"column":11},"end":{"line":45,"column":17}},{"start":{"line":45,"column":21},"end":{"line":45,"column":40}}]},"2":{"loc":{"start":{"line":46,"column":15},"end":{"line":46,"column":56}},"type":"cond-expr","locations":[{"start":{"line":46,"column":42},"end":{"line":46,"column":43}},{"start":{"line":46,"column":46},"end":{"line":46,"column":56}}]},"3":{"loc":{"start":{"line":48,"column":15},"end":{"line":48,"column":48}},"type":"cond-expr","locations":[{"start":{"line":48,"column":34},"end":{"line":48,"column":35}},{"start":{"line":48,"column":38},"end":{"line":48,"column":48}}]},"4":{"loc":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"type":"if","locations":[{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},{"start":{"line":83,"column":2},"end":{"line":85,"column":3}}]},"5":{"loc":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},"type":"if","locations":[{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},{"start":{"line":87,"column":2},"end":{"line":89,"column":3}}]},"6":{"loc":{"start":{"line":87,"column":6},"end":{"line":87,"column":48}},"type":"binary-expr","locations":[{"start":{"line":87,"column":6},"end":{"line":87,"column":13}},{"start":{"line":87,"column":17},"end":{"line":87,"column":28}},{"start":{"line":87,"column":32},"end":{"line":87,"column":48}}]},"7":{"loc":{"start":{"line":105,"column":12},"end":{"line":105,"column":24}},"type":"binary-expr","locations":[{"start":{"line":105,"column":12},"end":{"line":105,"column":17}},{"start":{"line":105,"column":21},"end":{"line":105,"column":24}}]},"8":{"loc":{"start":{"line":107,"column":4},"end":{"line":109,"column":5}},"type":"if","locations":[{"start":{"line":107,"column":4},"end":{"line":109,"column":5}},{"start":{"line":107,"column":4},"end":{"line":109,"column":5}}]},"9":{"loc":{"start":{"line":111,"column":2},"end":{"line":113,"column":3}},"type":"if","locations":[{"start":{"line":111,"column":2},"end":{"line":113,"column":3}},{"start":{"line":111,"column":2},"end":{"line":113,"column":3}}]},"10":{"loc":{"start":{"line":116,"column":4},"end":{"line":122,"column":5}},"type":"if","locations":[{"start":{"line":116,"column":4},"end":{"line":122,"column":5}},{"start":{"line":116,"column":4},"end":{"line":122,"column":5}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":0,"24":1,"25":1,"26":0,"27":1,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":1,"47":1,"48":1},"f":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":1,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[1,0],"1":[1,1],"2":[1,0],"3":[0,1],"4":[0,0],"5":[0,0],"6":[0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"81b13e39d9297c6759591861511487c0d1e2d033"},"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":1,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":1,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":1,"108":0,"109":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"0":[1,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":1,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/38ce0be7f4779eb5664908ef21b17ca1.json b/node_modules/log4js/.nyc_output/38ce0be7f4779eb5664908ef21b17ca1.json deleted file mode 100644 index f029989..0000000 --- a/node_modules/log4js/.nyc_output/38ce0be7f4779eb5664908ef21b17ca1.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":2,"12":2,"13":1,"14":1,"15":0,"16":0,"17":1,"18":1,"19":1,"20":0,"21":0,"22":0,"23":0,"24":1,"25":2,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":1,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":2,"108":0,"109":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":1,"7":1,"8":0,"9":1,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"0":[2,0],"1":[0,0],"2":[0,0],"3":[0,1],"4":[1,0],"5":[0,0],"6":[0,1],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf","contentHash":"d1d8e598552dfe064eef286d267900be_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":2,"1":2,"2":2,"3":2,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":2,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128","contentHash":"672b6336c04cfaa2a8588410ce063022_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/console.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/console.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":5,"column":19},"end":{"line":5,"column":44}},"2":{"start":{"line":8,"column":2},"end":{"line":8,"column":44}},"3":{"start":{"line":9,"column":2},"end":{"line":11,"column":4}},"4":{"start":{"line":10,"column":4},"end":{"line":10,"column":53}},"5":{"start":{"line":16,"column":2},"end":{"line":18,"column":3}},"6":{"start":{"line":17,"column":4},"end":{"line":17,"column":63}},"7":{"start":{"line":19,"column":2},"end":{"line":19,"column":56}},"8":{"start":{"line":22,"column":0},"end":{"line":22,"column":42}},"9":{"start":{"line":23,"column":0},"end":{"line":23,"column":37}}},"fnMap":{"0":{"name":"consoleAppender","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":24}},"loc":{"start":{"line":7,"column":49},"end":{"line":12,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":10}},"loc":{"start":{"line":9,"column":27},"end":{"line":11,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":18}},"loc":{"start":{"line":14,"column":27},"end":{"line":20,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":11},"end":{"line":8,"column":43}},"type":"binary-expr","locations":[{"start":{"line":8,"column":11},"end":{"line":8,"column":17}},{"start":{"line":8,"column":21},"end":{"line":8,"column":43}}]},"1":{"loc":{"start":{"line":16,"column":2},"end":{"line":18,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":18,"column":3}},{"start":{"line":16,"column":2},"end":{"line":18,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":1,"9":1},"f":{"0":1,"1":1,"2":0},"b":{"0":[1,0],"1":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"4477a1ae7d309edb325d01b33c4a112dfb25e423"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/3a093ac247f1d0be45cbdd9876b6e944.json b/node_modules/log4js/.nyc_output/3a093ac247f1d0be45cbdd9876b6e944.json deleted file mode 100644 index ee82662..0000000 --- a/node_modules/log4js/.nyc_output/3a093ac247f1d0be45cbdd9876b6e944.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":2,"12":2,"13":1,"14":1,"15":0,"16":0,"17":1,"18":1,"19":1,"20":0,"21":0,"22":0,"23":0,"24":1,"25":2,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":1,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":2,"108":0,"109":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":1,"7":1,"8":0,"9":1,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"0":[2,0],"1":[0,0],"2":[0,0],"3":[0,1],"4":[1,0],"5":[0,0],"6":[0,1],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf","contentHash":"d1d8e598552dfe064eef286d267900be_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":2,"1":2,"2":2,"3":2,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":2,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128","contentHash":"672b6336c04cfaa2a8588410ce063022_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/stderr.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stderr.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":41}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":37}}},"fnMap":{"0":{"name":"stderrAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":27},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":1,"8":1},"f":{"0":1,"1":1,"2":0},"b":{"0":[1,0],"1":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"65ff0e8e27b3b41153fc5ef8dfa2d76ead023e36"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/3aab46a07ffafe66099d01e8635ade94.json b/node_modules/log4js/.nyc_output/3aab46a07ffafe66099d01e8635ade94.json deleted file mode 100644 index 3afa8ee..0000000 --- a/node_modules/log4js/.nyc_output/3aab46a07ffafe66099d01e8635ade94.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/log4js.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/log4js.js","statementMap":{"0":{"start":{"line":35,"column":11},"end":{"line":35,"column":24}},"1":{"start":{"line":36,"column":13},"end":{"line":36,"column":28}},"2":{"start":{"line":37,"column":16},"end":{"line":37,"column":36}},"3":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"4":{"start":{"line":39,"column":21},"end":{"line":39,"column":40}},"5":{"start":{"line":40,"column":22},"end":{"line":40,"column":63}},"6":{"start":{"line":42,"column":15},"end":{"line":42,"column":34}},"7":{"start":{"line":44,"column":23},"end":{"line":44,"column":30}},"8":{"start":{"line":45,"column":16},"end":{"line":45,"column":18}},"9":{"start":{"line":46,"column":23},"end":{"line":46,"column":25}},"10":{"start":{"line":47,"column":26},"end":{"line":47,"column":28}},"11":{"start":{"line":48,"column":22},"end":{"line":53,"column":1}},"12":{"start":{"line":55,"column":16},"end":{"line":55,"column":18}},"13":{"start":{"line":58,"column":2},"end":{"line":58,"column":40}},"14":{"start":{"line":62,"column":0},"end":{"line":70,"column":2}},"15":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"16":{"start":{"line":65,"column":23},"end":{"line":65,"column":45}},"17":{"start":{"line":66,"column":4},"end":{"line":66,"column":51}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":40}},"19":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"20":{"start":{"line":73,"column":21},"end":{"line":73,"column":44}},"21":{"start":{"line":74,"column":17},"end":{"line":74,"column":19}},"22":{"start":{"line":75,"column":2},"end":{"line":75,"column":19}},"23":{"start":{"line":76,"column":2},"end":{"line":76,"column":29}},"24":{"start":{"line":77,"column":2},"end":{"line":83,"column":4}},"25":{"start":{"line":78,"column":4},"end":{"line":82,"column":5}},"26":{"start":{"line":79,"column":18},"end":{"line":79,"column":32}},"27":{"start":{"line":80,"column":6},"end":{"line":80,"column":44}},"28":{"start":{"line":81,"column":6},"end":{"line":81,"column":28}},"29":{"start":{"line":84,"column":2},"end":{"line":86,"column":4}},"30":{"start":{"line":85,"column":4},"end":{"line":85,"column":59}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":4}},"32":{"start":{"line":88,"column":4},"end":{"line":88,"column":59}},"33":{"start":{"line":90,"column":2},"end":{"line":92,"column":4}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":58}},"35":{"start":{"line":93,"column":2},"end":{"line":95,"column":4}},"36":{"start":{"line":94,"column":4},"end":{"line":94,"column":58}},"37":{"start":{"line":96,"column":2},"end":{"line":98,"column":4}},"38":{"start":{"line":97,"column":4},"end":{"line":97,"column":59}},"39":{"start":{"line":99,"column":2},"end":{"line":101,"column":4}},"40":{"start":{"line":100,"column":4},"end":{"line":100,"column":59}},"41":{"start":{"line":103,"column":2},"end":{"line":103,"column":16}},"42":{"start":{"line":107,"column":2},"end":{"line":107,"column":24}},"43":{"start":{"line":111,"column":34},"end":{"line":111,"column":66}},"44":{"start":{"line":112,"column":35},"end":{"line":112,"column":68}},"45":{"start":{"line":113,"column":2},"end":{"line":113,"column":107}},"46":{"start":{"line":117,"column":37},"end":{"line":117,"column":72}},"47":{"start":{"line":118,"column":35},"end":{"line":118,"column":68}},"48":{"start":{"line":119,"column":2},"end":{"line":119,"column":113}},"49":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"50":{"start":{"line":131,"column":4},"end":{"line":131,"column":49}},"51":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"52":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"53":{"start":{"line":142,"column":19},"end":{"line":142,"column":52}},"54":{"start":{"line":143,"column":6},"end":{"line":149,"column":7}},"55":{"start":{"line":144,"column":30},"end":{"line":144,"column":39}},"56":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"57":{"start":{"line":147,"column":10},"end":{"line":147,"column":47}},"58":{"start":{"line":154,"column":4},"end":{"line":154,"column":72}},"59":{"start":{"line":158,"column":4},"end":{"line":165,"column":5}},"60":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"61":{"start":{"line":160,"column":8},"end":{"line":160,"column":51}},"62":{"start":{"line":161,"column":8},"end":{"line":163,"column":11}},"63":{"start":{"line":162,"column":10},"end":{"line":162,"column":67}},"64":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":47}},"66":{"start":{"line":170,"column":6},"end":{"line":172,"column":9}},"67":{"start":{"line":171,"column":8},"end":{"line":171,"column":65}},"68":{"start":{"line":176,"column":2},"end":{"line":176,"column":37}},"69":{"start":{"line":185,"column":13},"end":{"line":185,"column":34}},"70":{"start":{"line":186,"column":19},"end":{"line":186,"column":31}},"71":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"72":{"start":{"line":189,"column":4},"end":{"line":189,"column":47}},"73":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"74":{"start":{"line":193,"column":4},"end":{"line":193,"column":28}},"75":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"76":{"start":{"line":197,"column":4},"end":{"line":197,"column":19}},"77":{"start":{"line":200,"column":2},"end":{"line":212,"column":5}},"78":{"start":{"line":201,"column":4},"end":{"line":201,"column":54}},"79":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"80":{"start":{"line":204,"column":6},"end":{"line":204,"column":40}},"81":{"start":{"line":206,"column":6},"end":{"line":210,"column":7}},"82":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"83":{"start":{"line":208,"column":10},"end":{"line":208,"column":63}},"84":{"start":{"line":216,"column":2},"end":{"line":220,"column":3}},"85":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":218,"column":6},"end":{"line":218,"column":51}},"87":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"88":{"start":{"line":225,"column":4},"end":{"line":225,"column":29}},"89":{"start":{"line":227,"column":2},"end":{"line":227,"column":37}},"90":{"start":{"line":233,"column":2},"end":{"line":233,"column":36}},"91":{"start":{"line":234,"column":2},"end":{"line":234,"column":17}},"92":{"start":{"line":235,"column":2},"end":{"line":239,"column":3}},"93":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"94":{"start":{"line":237,"column":6},"end":{"line":237,"column":48}},"95":{"start":{"line":243,"column":2},"end":{"line":243,"column":19}},"96":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"97":{"start":{"line":245,"column":4},"end":{"line":255,"column":7}},"98":{"start":{"line":246,"column":6},"end":{"line":246,"column":40}},"99":{"start":{"line":248,"column":6},"end":{"line":248,"column":45}},"100":{"start":{"line":249,"column":6},"end":{"line":254,"column":7}},"101":{"start":{"line":250,"column":8},"end":{"line":250,"column":80}},"102":{"start":{"line":251,"column":8},"end":{"line":251,"column":55}},"103":{"start":{"line":253,"column":8},"end":{"line":253,"column":95}},"104":{"start":{"line":260,"column":2},"end":{"line":260,"column":26}},"105":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"106":{"start":{"line":262,"column":17},"end":{"line":262,"column":50}},"107":{"start":{"line":265,"column":4},"end":{"line":276,"column":5}},"108":{"start":{"line":266,"column":23},"end":{"line":266,"column":32}},"109":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":45}},"111":{"start":{"line":271,"column":6},"end":{"line":275,"column":7}},"112":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"113":{"start":{"line":273,"column":10},"end":{"line":273,"column":62}},"114":{"start":{"line":281,"column":2},"end":{"line":281,"column":63}},"115":{"start":{"line":290,"column":2},"end":{"line":290,"column":44}},"116":{"start":{"line":293,"column":20},"end":{"line":293,"column":22}},"117":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"118":{"start":{"line":297,"column":4},"end":{"line":297,"column":57}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":19}},"120":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"121":{"start":{"line":304,"column":4},"end":{"line":316,"column":5}},"122":{"start":{"line":305,"column":6},"end":{"line":305,"column":23}},"123":{"start":{"line":306,"column":6},"end":{"line":306,"column":37}},"124":{"start":{"line":307,"column":6},"end":{"line":307,"column":52}},"125":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"126":{"start":{"line":310,"column":8},"end":{"line":310,"column":25}},"127":{"start":{"line":313,"column":6},"end":{"line":315,"column":8}},"128":{"start":{"line":321,"column":16},"end":{"line":321,"column":46}},"129":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"130":{"start":{"line":322,"column":14},"end":{"line":322,"column":21}},"131":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"132":{"start":{"line":325,"column":4},"end":{"line":325,"column":75}},"133":{"start":{"line":327,"column":2},"end":{"line":327,"column":32}},"134":{"start":{"line":332,"column":2},"end":{"line":336,"column":3}},"135":{"start":{"line":333,"column":4},"end":{"line":333,"column":52}},"136":{"start":{"line":335,"column":4},"end":{"line":335,"column":78}},"137":{"start":{"line":337,"column":2},"end":{"line":337,"column":15}},"138":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"139":{"start":{"line":342,"column":4},"end":{"line":342,"column":39}},"140":{"start":{"line":343,"column":4},"end":{"line":343,"column":31}},"141":{"start":{"line":345,"column":2},"end":{"line":345,"column":34}},"142":{"start":{"line":346,"column":2},"end":{"line":346,"column":45}},"143":{"start":{"line":347,"column":2},"end":{"line":347,"column":93}},"144":{"start":{"line":351,"column":15},"end":{"line":351,"column":40}},"145":{"start":{"line":352,"column":2},"end":{"line":352,"column":47}},"146":{"start":{"line":353,"column":2},"end":{"line":353,"column":26}},"147":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"148":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"149":{"start":{"line":357,"column":6},"end":{"line":357,"column":47}},"150":{"start":{"line":359,"column":4},"end":{"line":359,"column":60}},"151":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"152":{"start":{"line":362,"column":6},"end":{"line":364,"column":8}},"153":{"start":{"line":367,"column":2},"end":{"line":367,"column":36}},"154":{"start":{"line":370,"column":33},"end":{"line":376,"column":1}},"155":{"start":{"line":380,"column":4},"end":{"line":384,"column":6}},"156":{"start":{"line":383,"column":6},"end":{"line":383,"column":46}},"157":{"start":{"line":387,"column":2},"end":{"line":387,"column":42}},"158":{"start":{"line":389,"column":2},"end":{"line":391,"column":5}},"159":{"start":{"line":390,"column":4},"end":{"line":390,"column":77}},"160":{"start":{"line":395,"column":2},"end":{"line":397,"column":5}},"161":{"start":{"line":396,"column":4},"end":{"line":396,"column":51}},"162":{"start":{"line":412,"column":2},"end":{"line":416,"column":3}},"163":{"start":{"line":413,"column":4},"end":{"line":413,"column":56}},"164":{"start":{"line":415,"column":4},"end":{"line":415,"column":39}},"165":{"start":{"line":417,"column":2},"end":{"line":417,"column":24}},"166":{"start":{"line":431,"column":2},"end":{"line":431,"column":63}},"167":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"168":{"start":{"line":434,"column":4},"end":{"line":434,"column":74}},"169":{"start":{"line":437,"column":2},"end":{"line":437,"column":76}},"170":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"171":{"start":{"line":439,"column":4},"end":{"line":439,"column":79}},"172":{"start":{"line":441,"column":2},"end":{"line":441,"column":75}},"173":{"start":{"line":455,"column":2},"end":{"line":455,"column":37}},"174":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"175":{"start":{"line":459,"column":4},"end":{"line":459,"column":39}},"176":{"start":{"line":463,"column":18},"end":{"line":463,"column":19}},"177":{"start":{"line":465,"column":28},"end":{"line":465,"column":30}},"178":{"start":{"line":468,"column":4},"end":{"line":468,"column":25}},"179":{"start":{"line":469,"column":4},"end":{"line":469,"column":16}},"180":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"181":{"start":{"line":471,"column":6},"end":{"line":471,"column":16}},"182":{"start":{"line":475,"column":2},"end":{"line":479,"column":3}},"183":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":477,"column":6},"end":{"line":477,"column":58}},"185":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"186":{"start":{"line":482,"column":4},"end":{"line":482,"column":16}},"187":{"start":{"line":485,"column":2},"end":{"line":487,"column":5}},"188":{"start":{"line":486,"column":4},"end":{"line":486,"column":26}},"189":{"start":{"line":489,"column":2},"end":{"line":489,"column":14}},"190":{"start":{"line":513,"column":15},"end":{"line":535,"column":1}},"191":{"start":{"line":537,"column":0},"end":{"line":537,"column":24}},"192":{"start":{"line":540,"column":0},"end":{"line":540,"column":12}}},"fnMap":{"0":{"name":"hasLogger","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":18}},"loc":{"start":{"line":57,"column":27},"end":{"line":59,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":47},"end":{"line":70,"column":1}}},"2":{"name":"getBufferedLogger","decl":{"start":{"line":72,"column":9},"end":{"line":72,"column":26}},"loc":{"start":{"line":72,"column":41},"end":{"line":104,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":17},"end":{"line":77,"column":18}},"loc":{"start":{"line":77,"column":29},"end":{"line":83,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":17},"end":{"line":84,"column":18}},"loc":{"start":{"line":84,"column":36},"end":{"line":86,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":87,"column":17},"end":{"line":87,"column":18}},"loc":{"start":{"line":87,"column":36},"end":{"line":89,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":17}},"loc":{"start":{"line":90,"column":35},"end":{"line":92,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":17}},"loc":{"start":{"line":93,"column":35},"end":{"line":95,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":17},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":36},"end":{"line":98,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":18}},"loc":{"start":{"line":99,"column":36},"end":{"line":101,"column":3}}},"10":{"name":"normalizeCategory","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":37},"end":{"line":108,"column":1}}},"11":{"name":"doesLevelEntryContainsLogger","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":37}},"loc":{"start":{"line":110,"column":69},"end":{"line":114,"column":1}}},"12":{"name":"doesAppenderContainsLogger","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":35}},"loc":{"start":{"line":116,"column":70},"end":{"line":120,"column":1}}},"13":{"name":"getLogger","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":18}},"loc":{"start":{"line":128,"column":39},"end":{"line":177,"column":1}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":161,"column":29},"end":{"line":161,"column":30}},"loc":{"start":{"line":161,"column":43},"end":{"line":163,"column":9}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":170,"column":27},"end":{"line":170,"column":28}},"loc":{"start":{"line":170,"column":41},"end":{"line":172,"column":7}}},"16":{"name":"addAppender","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":20}},"loc":{"start":{"line":182,"column":23},"end":{"line":213,"column":1}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":200,"column":15},"end":{"line":200,"column":16}},"loc":{"start":{"line":200,"column":37},"end":{"line":212,"column":3}}},"18":{"name":"addAppenderToAllLoggers","decl":{"start":{"line":215,"column":9},"end":{"line":215,"column":32}},"loc":{"start":{"line":215,"column":43},"end":{"line":221,"column":1}}},"19":{"name":"addAppenderToCategory","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":30}},"loc":{"start":{"line":223,"column":51},"end":{"line":228,"column":1}}},"20":{"name":"clearAppenders","decl":{"start":{"line":230,"column":9},"end":{"line":230,"column":23}},"loc":{"start":{"line":230,"column":26},"end":{"line":240,"column":1}}},"21":{"name":"configureAppenders","decl":{"start":{"line":242,"column":9},"end":{"line":242,"column":27}},"loc":{"start":{"line":242,"column":51},"end":{"line":257,"column":1}}},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":25},"end":{"line":245,"column":26}},"loc":{"start":{"line":245,"column":45},"end":{"line":255,"column":5}}},"23":{"name":"configureLevels","decl":{"start":{"line":259,"column":9},"end":{"line":259,"column":24}},"loc":{"start":{"line":259,"column":34},"end":{"line":278,"column":1}}},"24":{"name":"setGlobalLogLevel","decl":{"start":{"line":280,"column":9},"end":{"line":280,"column":26}},"loc":{"start":{"line":280,"column":34},"end":{"line":282,"column":1}}},"25":{"name":"getDefaultLogger","decl":{"start":{"line":289,"column":9},"end":{"line":289,"column":25}},"loc":{"start":{"line":289,"column":28},"end":{"line":291,"column":1}}},"26":{"name":"loadConfigurationFile","decl":{"start":{"line":295,"column":9},"end":{"line":295,"column":30}},"loc":{"start":{"line":295,"column":41},"end":{"line":300,"column":1}}},"27":{"name":"configureOnceOff","decl":{"start":{"line":302,"column":9},"end":{"line":302,"column":25}},"loc":{"start":{"line":302,"column":43},"end":{"line":318,"column":1}}},"28":{"name":"reloadConfiguration","decl":{"start":{"line":320,"column":9},"end":{"line":320,"column":28}},"loc":{"start":{"line":320,"column":38},"end":{"line":328,"column":1}}},"29":{"name":"getMTime","decl":{"start":{"line":330,"column":9},"end":{"line":330,"column":17}},"loc":{"start":{"line":330,"column":28},"end":{"line":338,"column":1}}},"30":{"name":"initReloadConfiguration","decl":{"start":{"line":340,"column":9},"end":{"line":340,"column":32}},"loc":{"start":{"line":340,"column":52},"end":{"line":348,"column":1}}},"31":{"name":"configure","decl":{"start":{"line":350,"column":9},"end":{"line":350,"column":18}},"loc":{"start":{"line":350,"column":55},"end":{"line":368,"column":1}}},"32":{"name":"replaceConsole","decl":{"start":{"line":378,"column":9},"end":{"line":378,"column":23}},"loc":{"start":{"line":378,"column":32},"end":{"line":392,"column":1}}},"33":{"name":"replaceWith","decl":{"start":{"line":379,"column":11},"end":{"line":379,"column":22}},"loc":{"start":{"line":379,"column":27},"end":{"line":385,"column":3}}},"34":{"name":"(anonymous_34)","decl":{"start":{"line":380,"column":11},"end":{"line":380,"column":12}},"loc":{"start":{"line":380,"column":23},"end":{"line":384,"column":5}}},"35":{"name":"(anonymous_35)","decl":{"start":{"line":389,"column":52},"end":{"line":389,"column":53}},"loc":{"start":{"line":389,"column":62},"end":{"line":391,"column":3}}},"36":{"name":"restoreConsole","decl":{"start":{"line":394,"column":9},"end":{"line":394,"column":23}},"loc":{"start":{"line":394,"column":26},"end":{"line":398,"column":1}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":395,"column":52},"end":{"line":395,"column":53}},"loc":{"start":{"line":395,"column":62},"end":{"line":397,"column":3}}},"38":{"name":"requireAppender","decl":{"start":{"line":410,"column":9},"end":{"line":410,"column":24}},"loc":{"start":{"line":410,"column":35},"end":{"line":418,"column":1}}},"39":{"name":"loadAppender","decl":{"start":{"line":430,"column":9},"end":{"line":430,"column":21}},"loc":{"start":{"line":430,"column":48},"end":{"line":442,"column":1}}},"40":{"name":"shutdown","decl":{"start":{"line":452,"column":9},"end":{"line":452,"column":17}},"loc":{"start":{"line":452,"column":22},"end":{"line":490,"column":1}}},"41":{"name":"complete","decl":{"start":{"line":467,"column":11},"end":{"line":467,"column":19}},"loc":{"start":{"line":467,"column":25},"end":{"line":473,"column":3}}},"42":{"name":"(anonymous_42)","decl":{"start":{"line":485,"column":28},"end":{"line":485,"column":29}},"loc":{"start":{"line":485,"column":45},"end":{"line":487,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},{"start":{"line":64,"column":2},"end":{"line":68,"column":3}}]},"1":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":66}},"type":"binary-expr","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":34}},{"start":{"line":64,"column":38},"end":{"line":64,"column":66}}]},"2":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{"line":130,"column":2},"end":{"line":132,"column":3}}]},"3":{"loc":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},{"start":{"line":134,"column":2},"end":{"line":174,"column":3}}]},"4":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{"line":139,"column":4},"end":{"line":150,"column":5}}]},"5":{"loc":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},{"start":{"line":145,"column":8},"end":{"line":148,"column":9}}]},"6":{"loc":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},{"start":{"line":159,"column":6},"end":{"line":164,"column":7}}]},"7":{"loc":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},{"start":{"line":168,"column":4},"end":{"line":173,"column":5}}]},"8":{"loc":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"type":"if","locations":[{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},{"start":{"line":188,"column":2},"end":{"line":190,"column":3}}]},"9":{"loc":{"start":{"line":188,"column":6},"end":{"line":188,"column":54}},"type":"binary-expr","locations":[{"start":{"line":188,"column":6},"end":{"line":188,"column":21}},{"start":{"line":188,"column":25},"end":{"line":188,"column":54}}]},"10":{"loc":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},{"start":{"line":192,"column":2},"end":{"line":194,"column":3}}]},"11":{"loc":{"start":{"line":192,"column":6},"end":{"line":192,"column":48}},"type":"binary-expr","locations":[{"start":{"line":192,"column":6},"end":{"line":192,"column":23}},{"start":{"line":192,"column":27},"end":{"line":192,"column":48}}]},"12":{"loc":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"type":"if","locations":[{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},{"start":{"line":196,"column":2},"end":{"line":198,"column":3}}]},"13":{"loc":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"type":"if","locations":[{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},{"start":{"line":203,"column":4},"end":{"line":211,"column":5}}]},"14":{"loc":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},{"start":{"line":207,"column":8},"end":{"line":209,"column":9}}]},"15":{"loc":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},{"start":{"line":217,"column":4},"end":{"line":219,"column":5}}]},"16":{"loc":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"type":"if","locations":[{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},{"start":{"line":224,"column":2},"end":{"line":226,"column":3}}]},"17":{"loc":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"type":"if","locations":[{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},{"start":{"line":236,"column":4},"end":{"line":238,"column":5}}]},"18":{"loc":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},{"start":{"line":244,"column":2},"end":{"line":256,"column":3}}]},"19":{"loc":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"type":"if","locations":[{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},{"start":{"line":261,"column":2},"end":{"line":277,"column":3}}]},"20":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{"line":267,"column":6},"end":{"line":269,"column":7}}]},"21":{"loc":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},{"start":{"line":272,"column":8},"end":{"line":274,"column":9}}]},"22":{"loc":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"type":"if","locations":[{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},{"start":{"line":296,"column":2},"end":{"line":298,"column":3}}]},"23":{"loc":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"type":"if","locations":[{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},{"start":{"line":303,"column":2},"end":{"line":317,"column":3}}]},"24":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{"line":309,"column":6},"end":{"line":311,"column":7}}]},"25":{"loc":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"type":"if","locations":[{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},{"start":{"line":322,"column":2},"end":{"line":322,"column":21}}]},"26":{"loc":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"type":"if","locations":[{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},{"start":{"line":324,"column":2},"end":{"line":326,"column":3}}]},"27":{"loc":{"start":{"line":324,"column":6},"end":{"line":324,"column":82}},"type":"binary-expr","locations":[{"start":{"line":324,"column":6},"end":{"line":324,"column":27}},{"start":{"line":324,"column":32},"end":{"line":324,"column":81}}]},"28":{"loc":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"type":"if","locations":[{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},{"start":{"line":341,"column":2},"end":{"line":344,"column":3}}]},"29":{"loc":{"start":{"line":352,"column":11},"end":{"line":352,"column":46}},"type":"binary-expr","locations":[{"start":{"line":352,"column":11},"end":{"line":352,"column":17}},{"start":{"line":352,"column":21},"end":{"line":352,"column":46}}]},"30":{"loc":{"start":{"line":353,"column":12},"end":{"line":353,"column":25}},"type":"binary-expr","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":19}},{"start":{"line":353,"column":23},"end":{"line":353,"column":25}}]},"31":{"loc":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"type":"if","locations":[{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},{"start":{"line":355,"column":2},"end":{"line":366,"column":3}}]},"32":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":75}},"type":"binary-expr","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":26}},{"start":{"line":355,"column":30},"end":{"line":355,"column":45}},{"start":{"line":355,"column":49},"end":{"line":355,"column":75}}]},"33":{"loc":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"type":"if","locations":[{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},{"start":{"line":356,"column":4},"end":{"line":358,"column":5}}]},"34":{"loc":{"start":{"line":359,"column":13},"end":{"line":359,"column":59}},"type":"binary-expr","locations":[{"start":{"line":359,"column":13},"end":{"line":359,"column":42}},{"start":{"line":359,"column":46},"end":{"line":359,"column":59}}]},"35":{"loc":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"type":"if","locations":[{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},{"start":{"line":361,"column":4},"end":{"line":365,"column":5}}]},"36":{"loc":{"start":{"line":387,"column":11},"end":{"line":387,"column":41}},"type":"binary-expr","locations":[{"start":{"line":387,"column":11},"end":{"line":387,"column":17}},{"start":{"line":387,"column":21},"end":{"line":387,"column":41}}]},"37":{"loc":{"start":{"line":390,"column":32},"end":{"line":390,"column":75}},"type":"cond-expr","locations":[{"start":{"line":390,"column":49},"end":{"line":390,"column":60}},{"start":{"line":390,"column":63},"end":{"line":390,"column":75}}]},"38":{"loc":{"start":{"line":431,"column":19},"end":{"line":431,"column":62}},"type":"binary-expr","locations":[{"start":{"line":431,"column":19},"end":{"line":431,"column":33}},{"start":{"line":431,"column":37},"end":{"line":431,"column":62}}]},"39":{"loc":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"type":"if","locations":[{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},{"start":{"line":433,"column":2},"end":{"line":435,"column":3}}]},"40":{"loc":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"type":"if","locations":[{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},{"start":{"line":438,"column":2},"end":{"line":440,"column":3}}]},"41":{"loc":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"type":"if","locations":[{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},{"start":{"line":458,"column":2},"end":{"line":460,"column":3}}]},"42":{"loc":{"start":{"line":468,"column":12},"end":{"line":468,"column":24}},"type":"binary-expr","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":17}},{"start":{"line":468,"column":21},"end":{"line":468,"column":24}}]},"43":{"loc":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"type":"if","locations":[{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},{"start":{"line":470,"column":4},"end":{"line":472,"column":5}}]},"44":{"loc":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"type":"if","locations":[{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},{"start":{"line":476,"column":4},"end":{"line":478,"column":5}}]},"45":{"loc":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"type":"if","locations":[{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},{"start":{"line":481,"column":2},"end":{"line":483,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":13,"14":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":14,"43":0,"44":0,"45":0,"46":7,"47":7,"48":7,"49":7,"50":0,"51":7,"52":1,"53":0,"54":0,"55":0,"56":0,"57":0,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":0,"66":0,"67":0,"68":7,"69":8,"70":8,"71":8,"72":0,"73":8,"74":1,"75":8,"76":0,"77":8,"78":8,"79":8,"80":1,"81":7,"82":6,"83":6,"84":1,"85":0,"86":0,"87":8,"88":8,"89":8,"90":8,"91":8,"92":8,"93":6,"94":6,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":0,"104":1,"105":1,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":1,"117":1,"118":0,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":1,"145":1,"146":1,"147":1,"148":1,"149":0,"150":1,"151":0,"152":0,"153":1,"154":1,"155":0,"156":0,"157":0,"158":0,"159":0,"160":1,"161":5,"162":1,"163":1,"164":0,"165":1,"166":1,"167":1,"168":0,"169":1,"170":1,"171":0,"172":1,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":1,"191":1,"192":1},"f":{"0":13,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":14,"11":0,"12":7,"13":7,"14":1,"15":0,"16":8,"17":8,"18":1,"19":8,"20":8,"21":1,"22":1,"23":1,"24":0,"25":0,"26":1,"27":1,"28":0,"29":0,"30":0,"31":1,"32":0,"33":0,"34":0,"35":0,"36":1,"37":5,"38":1,"39":1,"40":0,"41":0,"42":0},"b":{"0":[0,0],"1":[0,0],"2":[0,7],"3":[1,6],"4":[0,1],"5":[0,0],"6":[1,0],"7":[0,1],"8":[0,8],"9":[8,8],"10":[1,7],"11":[8,8],"12":[0,8],"13":[1,7],"14":[6,0],"15":[0,0],"16":[8,0],"17":[6,0],"18":[1,0],"19":[0,1],"20":[0,0],"21":[0,0],"22":[0,1],"23":[1,0],"24":[0,1],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[1,1],"30":[1,1],"31":[1,0],"32":[1,0,0],"33":[0,1],"34":[1,1],"35":[0,0],"36":[0,0],"37":[0,0],"38":[1,1],"39":[0,1],"40":[0,1],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3a43360dca26d74ffd67cfe5ec75309575f038ac","contentHash":"10edbceee6329f5ee9c0d2f625fd311b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":1,"13":5,"14":5,"15":0,"16":0,"17":5,"18":5,"19":5,"20":0,"21":0,"22":0,"23":0,"24":5,"25":1,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":5,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":1,"108":0,"109":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":5,"7":5,"8":0,"9":5,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":5,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"0":[1,0],"1":[0,0],"2":[0,0],"3":[0,5],"4":[5,0],"5":[0,0],"6":[0,5],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf","contentHash":"d1d8e598552dfe064eef286d267900be_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":1,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128","contentHash":"672b6336c04cfaa2a8588410ce063022_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/levels.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/levels.js","statementMap":{"0":{"start":{"line":9,"column":4},"end":{"line":9,"column":23}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":42}},"9":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":39}},"11":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"12":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":24}},"14":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"15":{"start":{"line":52,"column":4},"end":{"line":52,"column":43}},"16":{"start":{"line":53,"column":4},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"18":{"start":{"line":57,"column":4},"end":{"line":57,"column":62}},"19":{"start":{"line":60,"column":2},"end":{"line":60,"column":34}},"20":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"21":{"start":{"line":66,"column":23},"end":{"line":66,"column":45}},"22":{"start":{"line":67,"column":4},"end":{"line":67,"column":32}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"24":{"start":{"line":72,"column":0},"end":{"line":85,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":13},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":34},"end":{"line":22,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":37},"end":{"line":29,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":31,"column":24},"end":{"line":36,"column":3}}},"5":{"name":"toLevel","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":37},"end":{"line":61,"column":1}}},"6":{"name":"getLevel","decl":{"start":{"line":63,"column":9},"end":{"line":63,"column":17}},"loc":{"start":{"line":63,"column":28},"end":{"line":70,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{"line":32,"column":4},"end":{"line":34,"column":5}}]},"3":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}]},"4":{"loc":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},{"start":{"line":51,"column":2},"end":{"line":54,"column":3}}]},"5":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}]},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":61}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":45}},{"start":{"line":57,"column":49},"end":{"line":57,"column":61}}]},"7":{"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},{"start":{"line":65,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":72,"1":72,"2":61,"3":5,"4":0,"5":5,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":7,"13":0,"14":7,"15":0,"16":0,"17":7,"18":7,"19":0,"20":0,"21":0,"22":0,"23":0,"24":8},"f":{"0":72,"1":61,"2":5,"3":0,"4":0,"5":7,"6":0},"b":{"0":[0,5],"1":[0,0],"2":[0,0],"3":[0,7],"4":[0,7],"5":[7,0],"6":[7,0],"7":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"daae16d9a9a708cc048c35299774fc26e22cf555","contentHash":"de3beea1cbd1c093130b8e3a1963e9d2_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":21},"end":{"line":6,"column":38}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":36}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":27}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":32}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":23}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":25}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":50,"column":4},"end":{"line":50,"column":45}},"11":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"12":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":67}},"14":{"start":{"line":62,"column":4},"end":{"line":62,"column":22}},"15":{"start":{"line":68,"column":17},"end":{"line":68,"column":38}},"16":{"start":{"line":69,"column":21},"end":{"line":69,"column":57}},"17":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":13}},"19":{"start":{"line":73,"column":4},"end":{"line":73,"column":39}},"20":{"start":{"line":77,"column":4},"end":{"line":77,"column":54}},"21":{"start":{"line":81,"column":25},"end":{"line":81,"column":75}},"22":{"start":{"line":82,"column":4},"end":{"line":82,"column":35}},"23":{"start":{"line":86,"column":0},"end":{"line":86,"column":43}},"24":{"start":{"line":87,"column":0},"end":{"line":87,"column":38}},"25":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"26":{"start":{"line":92,"column":16},"end":{"line":92,"column":38}},"27":{"start":{"line":94,"column":24},"end":{"line":94,"column":54}},"28":{"start":{"line":95,"column":22},"end":{"line":95,"column":81}},"29":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}},"30":{"start":{"line":96,"column":24},"end":{"line":96,"column":75}},"31":{"start":{"line":98,"column":2},"end":{"line":100,"column":4}},"32":{"start":{"line":99,"column":4},"end":{"line":99,"column":49}},"33":{"start":{"line":102,"column":2},"end":{"line":109,"column":4}},"34":{"start":{"line":105,"column":17},"end":{"line":105,"column":38}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":117,"column":2},"end":{"line":117,"column":27}},"38":{"start":{"line":125,"column":2},"end":{"line":125,"column":26}},"39":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"40":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"41":{"start":{"line":130,"column":0},"end":{"line":130,"column":57}},"42":{"start":{"line":131,"column":0},"end":{"line":131,"column":55}},"43":{"start":{"line":132,"column":0},"end":{"line":132,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":49},"end":{"line":32,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":27},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":65,"column":8},"end":{"line":74,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":29},"end":{"line":78,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":20},"end":{"line":83,"column":3}}},"7":{"name":"addLevelMethods","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":33},"end":{"line":110,"column":1}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":95,"column":57},"end":{"line":95,"column":58}},"loc":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":50},"end":{"line":98,"column":51}},"loc":{"start":{"line":98,"column":62},"end":{"line":100,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":34},"end":{"line":102,"column":35}},"loc":{"start":{"line":102,"column":46},"end":{"line":109,"column":3}}},"11":{"name":"disableAllLogWrites","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":28}},"loc":{"start":{"line":116,"column":31},"end":{"line":118,"column":1}}},"12":{"name":"enableAllLogWrites","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":27}},"loc":{"start":{"line":124,"column":30},"end":{"line":126,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"type":"binary-expr","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}}]},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":4},"end":{"line":54,"column":5}}]},"2":{"loc":{"start":{"line":58,"column":39},"end":{"line":58,"column":65}},"type":"binary-expr","locations":[{"start":{"line":58,"column":39},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":65}}]},"3":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}]},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}}]},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":106,"column":54}},"type":"binary-expr","locations":[{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},{"start":{"line":106,"column":28},"end":{"line":106,"column":54}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":5,"5":5,"6":5,"7":5,"8":5,"9":1,"10":1,"11":1,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":5,"21":5,"22":5,"23":1,"24":1,"25":1,"26":7,"27":7,"28":7,"29":0,"30":7,"31":7,"32":0,"33":7,"34":5,"35":5,"36":5,"37":0,"38":8,"39":1,"40":1,"41":1,"42":1,"43":1},"f":{"0":5,"1":1,"2":0,"3":0,"4":0,"5":5,"6":5,"7":7,"8":0,"9":0,"10":5,"11":0,"12":8},"b":{"0":[1,0],"1":[0,1],"2":[0,0],"3":[0,0],"4":[5,0],"5":[5,5]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7d8e54612a5d21505ecc3cd8c5eea114082c17db","contentHash":"00d625ca9babf994c26685dc45e2004b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":7,"column":23},"end":{"line":10,"column":18}},"2":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"4":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":34}},"6":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"7":{"start":{"line":50,"column":21},"end":{"line":50,"column":30}},"8":{"start":{"line":51,"column":14},"end":{"line":51,"column":56}},"9":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"10":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"11":{"start":{"line":55,"column":2},"end":{"line":112,"column":4}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"13":{"start":{"line":57,"column":22},"end":{"line":57,"column":36}},"14":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"15":{"start":{"line":60,"column":46},"end":{"line":60,"column":60}},"16":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"17":{"start":{"line":63,"column":20},"end":{"line":63,"column":30}},"18":{"start":{"line":64,"column":24},"end":{"line":64,"column":37}},"19":{"start":{"line":67,"column":6},"end":{"line":67,"column":26}},"20":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"21":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":37}},"23":{"start":{"line":74,"column":8},"end":{"line":74,"column":32}},"24":{"start":{"line":75,"column":8},"end":{"line":75,"column":38}},"25":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"26":{"start":{"line":79,"column":10},"end":{"line":79,"column":30}},"27":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"28":{"start":{"line":80,"column":27},"end":{"line":80,"column":47}},"29":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"30":{"start":{"line":81,"column":27},"end":{"line":81,"column":48}},"31":{"start":{"line":83,"column":10},"end":{"line":83,"column":61}},"32":{"start":{"line":88,"column":6},"end":{"line":107,"column":9}},"33":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"34":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"35":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"37":{"start":{"line":93,"column":37},"end":{"line":93,"column":57}},"38":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"39":{"start":{"line":94,"column":37},"end":{"line":94,"column":58}},"40":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"41":{"start":{"line":98,"column":33},"end":{"line":98,"column":79}},"42":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"43":{"start":{"line":101,"column":25},"end":{"line":101,"column":74}},"44":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}},"45":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"46":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"47":{"start":{"line":104,"column":12},"end":{"line":104,"column":63}},"48":{"start":{"line":111,"column":4},"end":{"line":111,"column":18}},"49":{"start":{"line":126,"column":28},"end":{"line":138,"column":3}},"50":{"start":{"line":127,"column":14},"end":{"line":127,"column":28}},"51":{"start":{"line":128,"column":4},"end":{"line":136,"column":5}},"52":{"start":{"line":129,"column":6},"end":{"line":135,"column":7}},"53":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"54":{"start":{"line":133,"column":10},"end":{"line":133,"column":27}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":13}},"56":{"start":{"line":140,"column":24},"end":{"line":140,"column":26}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":66}},"58":{"start":{"line":142,"column":2},"end":{"line":142,"column":72}},"59":{"start":{"line":143,"column":2},"end":{"line":143,"column":72}},"60":{"start":{"line":144,"column":2},"end":{"line":144,"column":68}},"61":{"start":{"line":145,"column":2},"end":{"line":145,"column":92}},"62":{"start":{"line":146,"column":2},"end":{"line":146,"column":81}},"63":{"start":{"line":147,"column":2},"end":{"line":147,"column":80}},"64":{"start":{"line":148,"column":2},"end":{"line":151,"column":5}},"65":{"start":{"line":152,"column":2},"end":{"line":155,"column":5}},"66":{"start":{"line":156,"column":2},"end":{"line":166,"column":5}},"67":{"start":{"line":167,"column":2},"end":{"line":167,"column":87}},"68":{"start":{"line":168,"column":2},"end":{"line":173,"column":5}},"69":{"start":{"line":174,"column":2},"end":{"line":179,"column":5}},"70":{"start":{"line":177,"column":6},"end":{"line":177,"column":46}},"71":{"start":{"line":180,"column":2},"end":{"line":187,"column":5}},"72":{"start":{"line":183,"column":6},"end":{"line":185,"column":50}},"73":{"start":{"line":189,"column":2},"end":{"line":189,"column":63}},"74":{"start":{"line":203,"column":2},"end":{"line":203,"column":36}},"75":{"start":{"line":215,"column":2},"end":{"line":217,"column":3}},"76":{"start":{"line":216,"column":4},"end":{"line":216,"column":62}},"77":{"start":{"line":218,"column":2},"end":{"line":218,"column":13}},"78":{"start":{"line":249,"column":15},"end":{"line":249,"column":19}},"79":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"80":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"81":{"start":{"line":253,"column":6},"end":{"line":253,"column":21}},"82":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"83":{"start":{"line":257,"column":6},"end":{"line":257,"column":33}},"84":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"85":{"start":{"line":262,"column":31},"end":{"line":262,"column":80}},"86":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"87":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"88":{"start":{"line":267,"column":2},"end":{"line":267,"column":16}},"89":{"start":{"line":270,"column":0},"end":{"line":270,"column":41}}},"fnMap":{"0":{"name":"getLogger","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":39},"end":{"line":113,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":10}},"loc":{"start":{"line":55,"column":29},"end":{"line":112,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":70,"column":22},"end":{"line":70,"column":23}},"loc":{"start":{"line":70,"column":41},"end":{"line":85,"column":7}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":23},"end":{"line":88,"column":24}},"loc":{"start":{"line":88,"column":29},"end":{"line":107,"column":7}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":39},"end":{"line":101,"column":40}},"loc":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}}},"5":{"name":"assembleTokens","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":48},"end":{"line":190,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":28},"end":{"line":126,"column":29}},"loc":{"start":{"line":126,"column":39},"end":{"line":138,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":17},"end":{"line":176,"column":18}},"loc":{"start":{"line":176,"column":37},"end":{"line":178,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":182,"column":17},"end":{"line":182,"column":18}},"loc":{"start":{"line":182,"column":37},"end":{"line":186,"column":5}}},"9":{"name":"getUrl","decl":{"start":{"line":202,"column":9},"end":{"line":202,"column":15}},"loc":{"start":{"line":202,"column":21},"end":{"line":204,"column":1}}},"10":{"name":"format","decl":{"start":{"line":214,"column":9},"end":{"line":214,"column":15}},"loc":{"start":{"line":214,"column":29},"end":{"line":219,"column":1}}},"11":{"name":"createNoLogCondition","decl":{"start":{"line":248,"column":9},"end":{"line":248,"column":29}},"loc":{"start":{"line":248,"column":37},"end":{"line":268,"column":1}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":262,"column":41},"end":{"line":262,"column":42}},"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}}}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},{"start":{"line":42,"column":2},"end":{"line":48,"column":3}}]},"1":{"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":27}},"type":"binary-expr","locations":[{"start":{"line":43,"column":14},"end":{"line":43,"column":21}},{"start":{"line":43,"column":25},"end":{"line":43,"column":27}}]},"2":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}]},"3":{"loc":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"type":"binary-expr","locations":[{"start":{"line":52,"column":14},"end":{"line":52,"column":28}},{"start":{"line":52,"column":32},"end":{"line":52,"column":46}}]},"4":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":32},"end":{"line":53,"column":67}},{"start":{"line":53,"column":70},"end":{"line":53,"column":74}}]},"5":{"loc":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},{"start":{"line":57,"column":4},"end":{"line":57,"column":36}}]},"6":{"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},{"start":{"line":60,"column":4},"end":{"line":60,"column":60}}]},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":44}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":13}},{"start":{"line":60,"column":17},"end":{"line":60,"column":44}}]},"8":{"loc":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},{"start":{"line":62,"column":4},"end":{"line":108,"column":5}}]},"9":{"loc":{"start":{"line":62,"column":8},"end":{"line":62,"column":68}},"type":"binary-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":40}},{"start":{"line":62,"column":44},"end":{"line":62,"column":68}}]},"10":{"loc":{"start":{"line":75,"column":24},"end":{"line":75,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":24},"end":{"line":75,"column":31}},{"start":{"line":75,"column":35},"end":{"line":75,"column":37}}]},"11":{"loc":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},{"start":{"line":78,"column":8},"end":{"line":84,"column":9}}]},"12":{"loc":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},{"start":{"line":80,"column":10},"end":{"line":80,"column":47}}]},"13":{"loc":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},{"start":{"line":81,"column":10},"end":{"line":81,"column":48}}]},"14":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":91,"column":8},"end":{"line":95,"column":9}}]},"15":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":54}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":26}},{"start":{"line":91,"column":30},"end":{"line":91,"column":54}}]},"16":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"type":"if","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},{"start":{"line":93,"column":10},"end":{"line":93,"column":57}}]},"17":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"type":"if","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},{"start":{"line":94,"column":10},"end":{"line":94,"column":58}}]},"18":{"loc":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},{"start":{"line":97,"column":8},"end":{"line":106,"column":9}}]},"19":{"loc":{"start":{"line":98,"column":58},"end":{"line":98,"column":78}},"type":"binary-expr","locations":[{"start":{"line":98,"column":58},"end":{"line":98,"column":72}},{"start":{"line":98,"column":76},"end":{"line":98,"column":78}}]},"20":{"loc":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},{"start":{"line":100,"column":10},"end":{"line":105,"column":11}}]},"21":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"type":"if","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},{"start":{"line":102,"column":12},"end":{"line":102,"column":50}}]},"22":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},{"start":{"line":132,"column":8},"end":{"line":134,"column":9}}]},"23":{"loc":{"start":{"line":145,"column":54},"end":{"line":145,"column":88}},"type":"binary-expr","locations":[{"start":{"line":145,"column":54},"end":{"line":145,"column":70}},{"start":{"line":145,"column":74},"end":{"line":145,"column":88}}]},"24":{"loc":{"start":{"line":150,"column":17},"end":{"line":150,"column":66}},"type":"binary-expr","locations":[{"start":{"line":150,"column":17},"end":{"line":150,"column":36}},{"start":{"line":150,"column":40},"end":{"line":150,"column":60}},{"start":{"line":150,"column":64},"end":{"line":150,"column":66}}]},"25":{"loc":{"start":{"line":158,"column":17},"end":{"line":165,"column":5}},"type":"binary-expr","locations":[{"start":{"line":158,"column":17},"end":{"line":158,"column":47}},{"start":{"line":159,"column":4},"end":{"line":159,"column":10}},{"start":{"line":160,"column":4},"end":{"line":160,"column":22}},{"start":{"line":161,"column":5},"end":{"line":161,"column":15}},{"start":{"line":162,"column":7},"end":{"line":162,"column":31}},{"start":{"line":163,"column":9},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":61}}]},"26":{"loc":{"start":{"line":170,"column":17},"end":{"line":172,"column":7}},"type":"binary-expr","locations":[{"start":{"line":170,"column":18},"end":{"line":170,"column":30}},{"start":{"line":170,"column":34},"end":{"line":170,"column":64}},{"start":{"line":171,"column":5},"end":{"line":171,"column":18}},{"start":{"line":171,"column":22},"end":{"line":171,"column":53}},{"start":{"line":172,"column":4},"end":{"line":172,"column":7}}]},"27":{"loc":{"start":{"line":183,"column":13},"end":{"line":185,"column":49}},"type":"cond-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},{"start":{"line":185,"column":11},"end":{"line":185,"column":48}}]},"28":{"loc":{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":47}},{"start":{"line":184,"column":51},"end":{"line":184,"column":71}}]},"29":{"loc":{"start":{"line":185,"column":11},"end":{"line":185,"column":48}},"type":"binary-expr","locations":[{"start":{"line":185,"column":11},"end":{"line":185,"column":24}},{"start":{"line":185,"column":28},"end":{"line":185,"column":48}}]},"30":{"loc":{"start":{"line":203,"column":9},"end":{"line":203,"column":35}},"type":"binary-expr","locations":[{"start":{"line":203,"column":9},"end":{"line":203,"column":24}},{"start":{"line":203,"column":28},"end":{"line":203,"column":35}}]},"31":{"loc":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},{"start":{"line":251,"column":2},"end":{"line":265,"column":3}}]},"32":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{"line":252,"column":4},"end":{"line":254,"column":5}}]},"33":{"loc":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},{"start":{"line":256,"column":4},"end":{"line":258,"column":5}}]},"34":{"loc":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"type":"if","locations":[{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},{"start":{"line":260,"column":4},"end":{"line":264,"column":5}}]},"35":{"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"type":"cond-expr","locations":[{"start":{"line":262,"column":62},"end":{"line":262,"column":72}},{"start":{"line":262,"column":75},"end":{"line":262,"column":78}}]}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0,0,0,0,0,0],"26":[0,0,0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8de6ff12985e168d800fe4d220a8a32e3c1dbe2a","contentHash":"06eb335e3bac458879bb256f44ac2576_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}}},"fnMap":{"0":{"name":"stdoutAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":33},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":0,"4":1,"5":0,"6":1,"7":1,"8":1},"f":{"0":1,"1":0,"2":1},"b":{"0":[1,1],"1":[0,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7fe10c84b315d3ba3e07ce62d5e48e59666eb827","contentHash":"009980a1b175f554654dded39c797b6c_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/gelf.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/gelf.js","statementMap":{"0":{"start":{"line":3,"column":13},"end":{"line":3,"column":28}},"1":{"start":{"line":4,"column":16},"end":{"line":4,"column":37}},"2":{"start":{"line":5,"column":15},"end":{"line":5,"column":35}},"3":{"start":{"line":6,"column":14},"end":{"line":6,"column":30}},"4":{"start":{"line":7,"column":13},"end":{"line":7,"column":28}},"5":{"start":{"line":8,"column":11},"end":{"line":8,"column":24}},"6":{"start":{"line":9,"column":14},"end":{"line":9,"column":45}},"7":{"start":{"line":12,"column":18},"end":{"line":12,"column":19}},"8":{"start":{"line":13,"column":18},"end":{"line":13,"column":19}},"9":{"start":{"line":14,"column":17},"end":{"line":14,"column":18}},"10":{"start":{"line":15,"column":18},"end":{"line":15,"column":19}},"11":{"start":{"line":16,"column":20},"end":{"line":16,"column":21}},"12":{"start":{"line":17,"column":19},"end":{"line":17,"column":20}},"13":{"start":{"line":18,"column":17},"end":{"line":18,"column":18}},"14":{"start":{"line":19,"column":18},"end":{"line":19,"column":19}},"15":{"start":{"line":21,"column":21},"end":{"line":21,"column":23}},"16":{"start":{"line":22,"column":0},"end":{"line":22,"column":37}},"17":{"start":{"line":23,"column":0},"end":{"line":23,"column":39}},"18":{"start":{"line":24,"column":0},"end":{"line":24,"column":39}},"19":{"start":{"line":25,"column":0},"end":{"line":25,"column":37}},"20":{"start":{"line":26,"column":0},"end":{"line":26,"column":40}},"21":{"start":{"line":27,"column":0},"end":{"line":27,"column":39}},"22":{"start":{"line":28,"column":0},"end":{"line":28,"column":38}},"23":{"start":{"line":45,"column":2},"end":{"line":52,"column":3}},"24":{"start":{"line":46,"column":4},"end":{"line":46,"column":18}},"25":{"start":{"line":47,"column":4},"end":{"line":47,"column":23}},"26":{"start":{"line":48,"column":4},"end":{"line":48,"column":23}},"27":{"start":{"line":49,"column":4},"end":{"line":49,"column":31}},"28":{"start":{"line":50,"column":4},"end":{"line":50,"column":31}},"29":{"start":{"line":51,"column":4},"end":{"line":51,"column":39}},"30":{"start":{"line":54,"column":2},"end":{"line":54,"column":29}},"31":{"start":{"line":55,"column":2},"end":{"line":55,"column":23}},"32":{"start":{"line":56,"column":2},"end":{"line":56,"column":39}},"33":{"start":{"line":57,"column":2},"end":{"line":57,"column":54}},"34":{"start":{"line":59,"column":30},"end":{"line":59,"column":48}},"35":{"start":{"line":61,"column":2},"end":{"line":63,"column":3}},"36":{"start":{"line":62,"column":4},"end":{"line":62,"column":45}},"37":{"start":{"line":65,"column":2},"end":{"line":65,"column":38}},"38":{"start":{"line":67,"column":2},"end":{"line":69,"column":5}},"39":{"start":{"line":68,"column":4},"end":{"line":68,"column":31}},"40":{"start":{"line":68,"column":16},"end":{"line":68,"column":31}},"41":{"start":{"line":80,"column":4},"end":{"line":85,"column":7}},"42":{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},"43":{"start":{"line":83,"column":8},"end":{"line":83,"column":44}},"44":{"start":{"line":88,"column":17},"end":{"line":88,"column":34}},"45":{"start":{"line":89,"column":4},"end":{"line":89,"column":58}},"46":{"start":{"line":89,"column":51},"end":{"line":89,"column":58}},"47":{"start":{"line":90,"column":22},"end":{"line":90,"column":29}},"48":{"start":{"line":92,"column":4},"end":{"line":92,"column":32}},"49":{"start":{"line":92,"column":25},"end":{"line":92,"column":32}},"50":{"start":{"line":94,"column":4},"end":{"line":94,"column":26}},"51":{"start":{"line":95,"column":4},"end":{"line":100,"column":7}},"52":{"start":{"line":97,"column":6},"end":{"line":99,"column":7}},"53":{"start":{"line":98,"column":8},"end":{"line":98,"column":34}},"54":{"start":{"line":103,"column":4},"end":{"line":103,"column":30}},"55":{"start":{"line":107,"column":16},"end":{"line":107,"column":18}},"56":{"start":{"line":108,"column":4},"end":{"line":108,"column":39}},"57":{"start":{"line":109,"column":4},"end":{"line":109,"column":45}},"58":{"start":{"line":111,"column":4},"end":{"line":111,"column":24}},"59":{"start":{"line":112,"column":4},"end":{"line":112,"column":65}},"60":{"start":{"line":113,"column":4},"end":{"line":113,"column":24}},"61":{"start":{"line":114,"column":4},"end":{"line":114,"column":65}},"62":{"start":{"line":115,"column":4},"end":{"line":115,"column":15}},"63":{"start":{"line":119,"column":4},"end":{"line":123,"column":7}},"64":{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},"65":{"start":{"line":121,"column":8},"end":{"line":121,"column":27}},"66":{"start":{"line":126,"column":2},"end":{"line":139,"column":4}},"67":{"start":{"line":127,"column":20},"end":{"line":127,"column":47}},"68":{"start":{"line":128,"column":4},"end":{"line":138,"column":7}},"69":{"start":{"line":129,"column":6},"end":{"line":137,"column":7}},"70":{"start":{"line":130,"column":8},"end":{"line":130,"column":33}},"71":{"start":{"line":132,"column":8},"end":{"line":136,"column":9}},"72":{"start":{"line":133,"column":10},"end":{"line":133,"column":91}},"73":{"start":{"line":135,"column":10},"end":{"line":135,"column":29}},"74":{"start":{"line":144,"column":2},"end":{"line":146,"column":3}},"75":{"start":{"line":145,"column":4},"end":{"line":145,"column":63}},"76":{"start":{"line":147,"column":2},"end":{"line":147,"column":38}},"77":{"start":{"line":151,"column":2},"end":{"line":154,"column":3}},"78":{"start":{"line":152,"column":4},"end":{"line":152,"column":21}},"79":{"start":{"line":153,"column":4},"end":{"line":153,"column":18}},"80":{"start":{"line":157,"column":0},"end":{"line":157,"column":39}},"81":{"start":{"line":158,"column":0},"end":{"line":158,"column":37}},"82":{"start":{"line":159,"column":0},"end":{"line":159,"column":35}}},"fnMap":{"0":{"name":"gelfAppender","decl":{"start":{"line":42,"column":9},"end":{"line":42,"column":21}},"loc":{"start":{"line":42,"column":62},"end":{"line":140,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":67,"column":21},"end":{"line":67,"column":22}},"loc":{"start":{"line":67,"column":27},"end":{"line":69,"column":3}}},"2":{"name":"addCustomFields","decl":{"start":{"line":78,"column":11},"end":{"line":78,"column":26}},"loc":{"start":{"line":78,"column":46},"end":{"line":104,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":80,"column":45},"end":{"line":80,"column":46}},"loc":{"start":{"line":80,"column":54},"end":{"line":85,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":95,"column":35},"end":{"line":95,"column":36}},"loc":{"start":{"line":95,"column":44},"end":{"line":100,"column":5}}},"5":{"name":"preparePacket","decl":{"start":{"line":106,"column":11},"end":{"line":106,"column":24}},"loc":{"start":{"line":106,"column":39},"end":{"line":116,"column":3}}},"6":{"name":"sendPacket","decl":{"start":{"line":118,"column":11},"end":{"line":118,"column":21}},"loc":{"start":{"line":118,"column":30},"end":{"line":124,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":119,"column":54},"end":{"line":119,"column":55}},"loc":{"start":{"line":119,"column":63},"end":{"line":123,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":126,"column":9},"end":{"line":126,"column":10}},"loc":{"start":{"line":126,"column":27},"end":{"line":139,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":128,"column":51},"end":{"line":128,"column":52}},"loc":{"start":{"line":128,"column":68},"end":{"line":138,"column":5}}},"10":{"name":"configure","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":18}},"loc":{"start":{"line":142,"column":27},"end":{"line":148,"column":1}}},"11":{"name":"shutdown","decl":{"start":{"line":150,"column":9},"end":{"line":150,"column":17}},"loc":{"start":{"line":150,"column":22},"end":{"line":155,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":45,"column":2},"end":{"line":52,"column":3}},"type":"if","locations":[{"start":{"line":45,"column":2},"end":{"line":52,"column":3}},{"start":{"line":45,"column":2},"end":{"line":52,"column":3}}]},"1":{"loc":{"start":{"line":54,"column":9},"end":{"line":54,"column":28}},"type":"binary-expr","locations":[{"start":{"line":54,"column":9},"end":{"line":54,"column":13}},{"start":{"line":54,"column":17},"end":{"line":54,"column":28}}]},"2":{"loc":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"type":"binary-expr","locations":[{"start":{"line":55,"column":9},"end":{"line":55,"column":13}},{"start":{"line":55,"column":17},"end":{"line":55,"column":22}}]},"3":{"loc":{"start":{"line":56,"column":13},"end":{"line":56,"column":38}},"type":"binary-expr","locations":[{"start":{"line":56,"column":13},"end":{"line":56,"column":21}},{"start":{"line":56,"column":25},"end":{"line":56,"column":38}}]},"4":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":53}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":17}},{"start":{"line":57,"column":21},"end":{"line":57,"column":53}}]},"5":{"loc":{"start":{"line":59,"column":30},"end":{"line":59,"column":48}},"type":"binary-expr","locations":[{"start":{"line":59,"column":30},"end":{"line":59,"column":42}},{"start":{"line":59,"column":46},"end":{"line":59,"column":48}}]},"6":{"loc":{"start":{"line":61,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":61,"column":2},"end":{"line":63,"column":3}},{"start":{"line":61,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":68,"column":4},"end":{"line":68,"column":31}},"type":"if","locations":[{"start":{"line":68,"column":4},"end":{"line":68,"column":31}},{"start":{"line":68,"column":4},"end":{"line":68,"column":31}}]},"8":{"loc":{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},"type":"if","locations":[{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},{"start":{"line":82,"column":6},"end":{"line":84,"column":7}}]},"9":{"loc":{"start":{"line":82,"column":10},"end":{"line":82,"column":42}},"type":"binary-expr","locations":[{"start":{"line":82,"column":10},"end":{"line":82,"column":25}},{"start":{"line":82,"column":29},"end":{"line":82,"column":42}}]},"10":{"loc":{"start":{"line":89,"column":4},"end":{"line":89,"column":58}},"type":"if","locations":[{"start":{"line":89,"column":4},"end":{"line":89,"column":58}},{"start":{"line":89,"column":4},"end":{"line":89,"column":58}}]},"11":{"loc":{"start":{"line":89,"column":8},"end":{"line":89,"column":49}},"type":"binary-expr","locations":[{"start":{"line":89,"column":8},"end":{"line":89,"column":28}},{"start":{"line":89,"column":32},"end":{"line":89,"column":49}}]},"12":{"loc":{"start":{"line":92,"column":4},"end":{"line":92,"column":32}},"type":"if","locations":[{"start":{"line":92,"column":4},"end":{"line":92,"column":32}},{"start":{"line":92,"column":4},"end":{"line":92,"column":32}}]},"13":{"loc":{"start":{"line":97,"column":6},"end":{"line":99,"column":7}},"type":"if","locations":[{"start":{"line":97,"column":6},"end":{"line":99,"column":7}},{"start":{"line":97,"column":6},"end":{"line":99,"column":7}}]},"14":{"loc":{"start":{"line":97,"column":10},"end":{"line":97,"column":42}},"type":"binary-expr","locations":[{"start":{"line":97,"column":10},"end":{"line":97,"column":25}},{"start":{"line":97,"column":29},"end":{"line":97,"column":42}}]},"15":{"loc":{"start":{"line":112,"column":20},"end":{"line":112,"column":64}},"type":"binary-expr","locations":[{"start":{"line":112,"column":20},"end":{"line":112,"column":33}},{"start":{"line":112,"column":37},"end":{"line":112,"column":64}}]},"16":{"loc":{"start":{"line":114,"column":29},"end":{"line":114,"column":63}},"type":"binary-expr","locations":[{"start":{"line":114,"column":29},"end":{"line":114,"column":47}},{"start":{"line":114,"column":51},"end":{"line":114,"column":63}}]},"17":{"loc":{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},"type":"if","locations":[{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},{"start":{"line":120,"column":6},"end":{"line":122,"column":7}}]},"18":{"loc":{"start":{"line":129,"column":6},"end":{"line":137,"column":7}},"type":"if","locations":[{"start":{"line":129,"column":6},"end":{"line":137,"column":7}},{"start":{"line":129,"column":6},"end":{"line":137,"column":7}}]},"19":{"loc":{"start":{"line":132,"column":8},"end":{"line":136,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":136,"column":9}},{"start":{"line":132,"column":8},"end":{"line":136,"column":9}}]},"20":{"loc":{"start":{"line":144,"column":2},"end":{"line":146,"column":3}},"type":"if","locations":[{"start":{"line":144,"column":2},"end":{"line":146,"column":3}},{"start":{"line":144,"column":2},"end":{"line":146,"column":3}}]},"21":{"loc":{"start":{"line":151,"column":2},"end":{"line":154,"column":3}},"type":"if","locations":[{"start":{"line":151,"column":2},"end":{"line":154,"column":3}},{"start":{"line":151,"column":2},"end":{"line":154,"column":3}}]}},"s":{"0":7,"1":7,"2":7,"3":7,"4":7,"5":7,"6":7,"7":7,"8":7,"9":7,"10":7,"11":7,"12":7,"13":7,"14":7,"15":7,"16":7,"17":7,"18":7,"19":7,"20":7,"21":7,"22":7,"23":7,"24":7,"25":7,"26":7,"27":7,"28":7,"29":7,"30":7,"31":7,"32":7,"33":7,"34":7,"35":7,"36":2,"37":7,"38":7,"39":1,"40":1,"41":5,"42":4,"43":4,"44":5,"45":5,"46":0,"47":5,"48":5,"49":4,"50":1,"51":1,"52":2,"53":2,"54":1,"55":5,"56":5,"57":5,"58":5,"59":5,"60":5,"61":5,"62":5,"63":3,"64":0,"65":0,"66":7,"67":5,"68":5,"69":5,"70":1,"71":4,"72":1,"73":3,"74":7,"75":1,"76":7,"77":0,"78":0,"79":0,"80":7,"81":7,"82":7},"f":{"0":7,"1":1,"2":5,"3":4,"4":2,"5":5,"6":3,"7":0,"8":5,"9":5,"10":7,"11":0},"b":{"0":[7,0],"1":[7,5],"2":[7,5],"3":[7,5],"4":[7,6],"5":[7,6],"6":[2,5],"7":[1,0],"8":[4,0],"9":[4,4],"10":[0,5],"11":[5,5],"12":[4,1],"13":[2,0],"14":[2,0],"15":[5,5],"16":[5,0],"17":[0,0],"18":[1,4],"19":[1,3],"20":[1,6],"21":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"932059538be38f2448322983ba9857bcfd2f3d62"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/3c49dddbac81af881cb6eb205d8fcc9d.json b/node_modules/log4js/.nyc_output/3c49dddbac81af881cb6eb205d8fcc9d.json deleted file mode 100644 index 1bdaa06..0000000 --- a/node_modules/log4js/.nyc_output/3c49dddbac81af881cb6eb205d8fcc9d.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/log4js.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/log4js.js","statementMap":{"0":{"start":{"line":35,"column":11},"end":{"line":35,"column":24}},"1":{"start":{"line":36,"column":13},"end":{"line":36,"column":28}},"2":{"start":{"line":37,"column":16},"end":{"line":37,"column":36}},"3":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"4":{"start":{"line":39,"column":21},"end":{"line":39,"column":40}},"5":{"start":{"line":40,"column":22},"end":{"line":40,"column":63}},"6":{"start":{"line":42,"column":15},"end":{"line":42,"column":34}},"7":{"start":{"line":44,"column":23},"end":{"line":44,"column":30}},"8":{"start":{"line":45,"column":16},"end":{"line":45,"column":18}},"9":{"start":{"line":46,"column":23},"end":{"line":46,"column":25}},"10":{"start":{"line":47,"column":26},"end":{"line":47,"column":28}},"11":{"start":{"line":48,"column":22},"end":{"line":53,"column":1}},"12":{"start":{"line":55,"column":16},"end":{"line":55,"column":18}},"13":{"start":{"line":58,"column":2},"end":{"line":58,"column":40}},"14":{"start":{"line":62,"column":0},"end":{"line":70,"column":2}},"15":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"16":{"start":{"line":65,"column":23},"end":{"line":65,"column":45}},"17":{"start":{"line":66,"column":4},"end":{"line":66,"column":51}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":40}},"19":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"20":{"start":{"line":73,"column":21},"end":{"line":73,"column":44}},"21":{"start":{"line":74,"column":17},"end":{"line":74,"column":19}},"22":{"start":{"line":75,"column":2},"end":{"line":75,"column":19}},"23":{"start":{"line":76,"column":2},"end":{"line":76,"column":29}},"24":{"start":{"line":77,"column":2},"end":{"line":83,"column":4}},"25":{"start":{"line":78,"column":4},"end":{"line":82,"column":5}},"26":{"start":{"line":79,"column":18},"end":{"line":79,"column":32}},"27":{"start":{"line":80,"column":6},"end":{"line":80,"column":44}},"28":{"start":{"line":81,"column":6},"end":{"line":81,"column":28}},"29":{"start":{"line":84,"column":2},"end":{"line":86,"column":4}},"30":{"start":{"line":85,"column":4},"end":{"line":85,"column":59}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":4}},"32":{"start":{"line":88,"column":4},"end":{"line":88,"column":59}},"33":{"start":{"line":90,"column":2},"end":{"line":92,"column":4}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":58}},"35":{"start":{"line":93,"column":2},"end":{"line":95,"column":4}},"36":{"start":{"line":94,"column":4},"end":{"line":94,"column":58}},"37":{"start":{"line":96,"column":2},"end":{"line":98,"column":4}},"38":{"start":{"line":97,"column":4},"end":{"line":97,"column":59}},"39":{"start":{"line":99,"column":2},"end":{"line":101,"column":4}},"40":{"start":{"line":100,"column":4},"end":{"line":100,"column":59}},"41":{"start":{"line":103,"column":2},"end":{"line":103,"column":16}},"42":{"start":{"line":107,"column":2},"end":{"line":107,"column":24}},"43":{"start":{"line":111,"column":34},"end":{"line":111,"column":66}},"44":{"start":{"line":112,"column":35},"end":{"line":112,"column":68}},"45":{"start":{"line":113,"column":2},"end":{"line":113,"column":107}},"46":{"start":{"line":117,"column":37},"end":{"line":117,"column":72}},"47":{"start":{"line":118,"column":35},"end":{"line":118,"column":68}},"48":{"start":{"line":119,"column":2},"end":{"line":119,"column":113}},"49":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"50":{"start":{"line":131,"column":4},"end":{"line":131,"column":49}},"51":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"52":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"53":{"start":{"line":142,"column":19},"end":{"line":142,"column":52}},"54":{"start":{"line":143,"column":6},"end":{"line":149,"column":7}},"55":{"start":{"line":144,"column":30},"end":{"line":144,"column":39}},"56":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"57":{"start":{"line":147,"column":10},"end":{"line":147,"column":47}},"58":{"start":{"line":154,"column":4},"end":{"line":154,"column":72}},"59":{"start":{"line":158,"column":4},"end":{"line":165,"column":5}},"60":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"61":{"start":{"line":160,"column":8},"end":{"line":160,"column":51}},"62":{"start":{"line":161,"column":8},"end":{"line":163,"column":11}},"63":{"start":{"line":162,"column":10},"end":{"line":162,"column":67}},"64":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":47}},"66":{"start":{"line":170,"column":6},"end":{"line":172,"column":9}},"67":{"start":{"line":171,"column":8},"end":{"line":171,"column":65}},"68":{"start":{"line":176,"column":2},"end":{"line":176,"column":37}},"69":{"start":{"line":185,"column":13},"end":{"line":185,"column":34}},"70":{"start":{"line":186,"column":19},"end":{"line":186,"column":31}},"71":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"72":{"start":{"line":189,"column":4},"end":{"line":189,"column":47}},"73":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"74":{"start":{"line":193,"column":4},"end":{"line":193,"column":28}},"75":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"76":{"start":{"line":197,"column":4},"end":{"line":197,"column":19}},"77":{"start":{"line":200,"column":2},"end":{"line":212,"column":5}},"78":{"start":{"line":201,"column":4},"end":{"line":201,"column":54}},"79":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"80":{"start":{"line":204,"column":6},"end":{"line":204,"column":40}},"81":{"start":{"line":206,"column":6},"end":{"line":210,"column":7}},"82":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"83":{"start":{"line":208,"column":10},"end":{"line":208,"column":63}},"84":{"start":{"line":216,"column":2},"end":{"line":220,"column":3}},"85":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":218,"column":6},"end":{"line":218,"column":51}},"87":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"88":{"start":{"line":225,"column":4},"end":{"line":225,"column":29}},"89":{"start":{"line":227,"column":2},"end":{"line":227,"column":37}},"90":{"start":{"line":233,"column":2},"end":{"line":233,"column":36}},"91":{"start":{"line":234,"column":2},"end":{"line":234,"column":17}},"92":{"start":{"line":235,"column":2},"end":{"line":239,"column":3}},"93":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"94":{"start":{"line":237,"column":6},"end":{"line":237,"column":48}},"95":{"start":{"line":243,"column":2},"end":{"line":243,"column":19}},"96":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"97":{"start":{"line":245,"column":4},"end":{"line":255,"column":7}},"98":{"start":{"line":246,"column":6},"end":{"line":246,"column":40}},"99":{"start":{"line":248,"column":6},"end":{"line":248,"column":45}},"100":{"start":{"line":249,"column":6},"end":{"line":254,"column":7}},"101":{"start":{"line":250,"column":8},"end":{"line":250,"column":80}},"102":{"start":{"line":251,"column":8},"end":{"line":251,"column":55}},"103":{"start":{"line":253,"column":8},"end":{"line":253,"column":95}},"104":{"start":{"line":260,"column":2},"end":{"line":260,"column":26}},"105":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"106":{"start":{"line":262,"column":17},"end":{"line":262,"column":50}},"107":{"start":{"line":265,"column":4},"end":{"line":276,"column":5}},"108":{"start":{"line":266,"column":23},"end":{"line":266,"column":32}},"109":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":45}},"111":{"start":{"line":271,"column":6},"end":{"line":275,"column":7}},"112":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"113":{"start":{"line":273,"column":10},"end":{"line":273,"column":62}},"114":{"start":{"line":281,"column":2},"end":{"line":281,"column":63}},"115":{"start":{"line":290,"column":2},"end":{"line":290,"column":44}},"116":{"start":{"line":293,"column":20},"end":{"line":293,"column":22}},"117":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"118":{"start":{"line":297,"column":4},"end":{"line":297,"column":57}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":19}},"120":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"121":{"start":{"line":304,"column":4},"end":{"line":316,"column":5}},"122":{"start":{"line":305,"column":6},"end":{"line":305,"column":23}},"123":{"start":{"line":306,"column":6},"end":{"line":306,"column":37}},"124":{"start":{"line":307,"column":6},"end":{"line":307,"column":52}},"125":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"126":{"start":{"line":310,"column":8},"end":{"line":310,"column":25}},"127":{"start":{"line":313,"column":6},"end":{"line":315,"column":8}},"128":{"start":{"line":321,"column":16},"end":{"line":321,"column":46}},"129":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"130":{"start":{"line":322,"column":14},"end":{"line":322,"column":21}},"131":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"132":{"start":{"line":325,"column":4},"end":{"line":325,"column":75}},"133":{"start":{"line":327,"column":2},"end":{"line":327,"column":32}},"134":{"start":{"line":332,"column":2},"end":{"line":336,"column":3}},"135":{"start":{"line":333,"column":4},"end":{"line":333,"column":52}},"136":{"start":{"line":335,"column":4},"end":{"line":335,"column":78}},"137":{"start":{"line":337,"column":2},"end":{"line":337,"column":15}},"138":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"139":{"start":{"line":342,"column":4},"end":{"line":342,"column":39}},"140":{"start":{"line":343,"column":4},"end":{"line":343,"column":31}},"141":{"start":{"line":345,"column":2},"end":{"line":345,"column":34}},"142":{"start":{"line":346,"column":2},"end":{"line":346,"column":45}},"143":{"start":{"line":347,"column":2},"end":{"line":347,"column":93}},"144":{"start":{"line":351,"column":15},"end":{"line":351,"column":40}},"145":{"start":{"line":352,"column":2},"end":{"line":352,"column":47}},"146":{"start":{"line":353,"column":2},"end":{"line":353,"column":26}},"147":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"148":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"149":{"start":{"line":357,"column":6},"end":{"line":357,"column":47}},"150":{"start":{"line":359,"column":4},"end":{"line":359,"column":60}},"151":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"152":{"start":{"line":362,"column":6},"end":{"line":364,"column":8}},"153":{"start":{"line":367,"column":2},"end":{"line":367,"column":36}},"154":{"start":{"line":370,"column":33},"end":{"line":376,"column":1}},"155":{"start":{"line":380,"column":4},"end":{"line":384,"column":6}},"156":{"start":{"line":383,"column":6},"end":{"line":383,"column":46}},"157":{"start":{"line":387,"column":2},"end":{"line":387,"column":42}},"158":{"start":{"line":389,"column":2},"end":{"line":391,"column":5}},"159":{"start":{"line":390,"column":4},"end":{"line":390,"column":77}},"160":{"start":{"line":395,"column":2},"end":{"line":397,"column":5}},"161":{"start":{"line":396,"column":4},"end":{"line":396,"column":51}},"162":{"start":{"line":412,"column":2},"end":{"line":416,"column":3}},"163":{"start":{"line":413,"column":4},"end":{"line":413,"column":56}},"164":{"start":{"line":415,"column":4},"end":{"line":415,"column":39}},"165":{"start":{"line":417,"column":2},"end":{"line":417,"column":24}},"166":{"start":{"line":431,"column":2},"end":{"line":431,"column":63}},"167":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"168":{"start":{"line":434,"column":4},"end":{"line":434,"column":74}},"169":{"start":{"line":437,"column":2},"end":{"line":437,"column":76}},"170":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"171":{"start":{"line":439,"column":4},"end":{"line":439,"column":79}},"172":{"start":{"line":441,"column":2},"end":{"line":441,"column":75}},"173":{"start":{"line":455,"column":2},"end":{"line":455,"column":37}},"174":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"175":{"start":{"line":459,"column":4},"end":{"line":459,"column":39}},"176":{"start":{"line":463,"column":18},"end":{"line":463,"column":19}},"177":{"start":{"line":465,"column":28},"end":{"line":465,"column":30}},"178":{"start":{"line":468,"column":4},"end":{"line":468,"column":25}},"179":{"start":{"line":469,"column":4},"end":{"line":469,"column":16}},"180":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"181":{"start":{"line":471,"column":6},"end":{"line":471,"column":16}},"182":{"start":{"line":475,"column":2},"end":{"line":479,"column":3}},"183":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":477,"column":6},"end":{"line":477,"column":58}},"185":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"186":{"start":{"line":482,"column":4},"end":{"line":482,"column":16}},"187":{"start":{"line":485,"column":2},"end":{"line":487,"column":5}},"188":{"start":{"line":486,"column":4},"end":{"line":486,"column":26}},"189":{"start":{"line":489,"column":2},"end":{"line":489,"column":14}},"190":{"start":{"line":513,"column":15},"end":{"line":535,"column":1}},"191":{"start":{"line":537,"column":0},"end":{"line":537,"column":24}},"192":{"start":{"line":540,"column":0},"end":{"line":540,"column":12}}},"fnMap":{"0":{"name":"hasLogger","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":18}},"loc":{"start":{"line":57,"column":27},"end":{"line":59,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":47},"end":{"line":70,"column":1}}},"2":{"name":"getBufferedLogger","decl":{"start":{"line":72,"column":9},"end":{"line":72,"column":26}},"loc":{"start":{"line":72,"column":41},"end":{"line":104,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":17},"end":{"line":77,"column":18}},"loc":{"start":{"line":77,"column":29},"end":{"line":83,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":17},"end":{"line":84,"column":18}},"loc":{"start":{"line":84,"column":36},"end":{"line":86,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":87,"column":17},"end":{"line":87,"column":18}},"loc":{"start":{"line":87,"column":36},"end":{"line":89,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":17}},"loc":{"start":{"line":90,"column":35},"end":{"line":92,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":17}},"loc":{"start":{"line":93,"column":35},"end":{"line":95,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":17},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":36},"end":{"line":98,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":18}},"loc":{"start":{"line":99,"column":36},"end":{"line":101,"column":3}}},"10":{"name":"normalizeCategory","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":37},"end":{"line":108,"column":1}}},"11":{"name":"doesLevelEntryContainsLogger","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":37}},"loc":{"start":{"line":110,"column":69},"end":{"line":114,"column":1}}},"12":{"name":"doesAppenderContainsLogger","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":35}},"loc":{"start":{"line":116,"column":70},"end":{"line":120,"column":1}}},"13":{"name":"getLogger","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":18}},"loc":{"start":{"line":128,"column":39},"end":{"line":177,"column":1}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":161,"column":29},"end":{"line":161,"column":30}},"loc":{"start":{"line":161,"column":43},"end":{"line":163,"column":9}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":170,"column":27},"end":{"line":170,"column":28}},"loc":{"start":{"line":170,"column":41},"end":{"line":172,"column":7}}},"16":{"name":"addAppender","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":20}},"loc":{"start":{"line":182,"column":23},"end":{"line":213,"column":1}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":200,"column":15},"end":{"line":200,"column":16}},"loc":{"start":{"line":200,"column":37},"end":{"line":212,"column":3}}},"18":{"name":"addAppenderToAllLoggers","decl":{"start":{"line":215,"column":9},"end":{"line":215,"column":32}},"loc":{"start":{"line":215,"column":43},"end":{"line":221,"column":1}}},"19":{"name":"addAppenderToCategory","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":30}},"loc":{"start":{"line":223,"column":51},"end":{"line":228,"column":1}}},"20":{"name":"clearAppenders","decl":{"start":{"line":230,"column":9},"end":{"line":230,"column":23}},"loc":{"start":{"line":230,"column":26},"end":{"line":240,"column":1}}},"21":{"name":"configureAppenders","decl":{"start":{"line":242,"column":9},"end":{"line":242,"column":27}},"loc":{"start":{"line":242,"column":51},"end":{"line":257,"column":1}}},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":25},"end":{"line":245,"column":26}},"loc":{"start":{"line":245,"column":45},"end":{"line":255,"column":5}}},"23":{"name":"configureLevels","decl":{"start":{"line":259,"column":9},"end":{"line":259,"column":24}},"loc":{"start":{"line":259,"column":34},"end":{"line":278,"column":1}}},"24":{"name":"setGlobalLogLevel","decl":{"start":{"line":280,"column":9},"end":{"line":280,"column":26}},"loc":{"start":{"line":280,"column":34},"end":{"line":282,"column":1}}},"25":{"name":"getDefaultLogger","decl":{"start":{"line":289,"column":9},"end":{"line":289,"column":25}},"loc":{"start":{"line":289,"column":28},"end":{"line":291,"column":1}}},"26":{"name":"loadConfigurationFile","decl":{"start":{"line":295,"column":9},"end":{"line":295,"column":30}},"loc":{"start":{"line":295,"column":41},"end":{"line":300,"column":1}}},"27":{"name":"configureOnceOff","decl":{"start":{"line":302,"column":9},"end":{"line":302,"column":25}},"loc":{"start":{"line":302,"column":43},"end":{"line":318,"column":1}}},"28":{"name":"reloadConfiguration","decl":{"start":{"line":320,"column":9},"end":{"line":320,"column":28}},"loc":{"start":{"line":320,"column":38},"end":{"line":328,"column":1}}},"29":{"name":"getMTime","decl":{"start":{"line":330,"column":9},"end":{"line":330,"column":17}},"loc":{"start":{"line":330,"column":28},"end":{"line":338,"column":1}}},"30":{"name":"initReloadConfiguration","decl":{"start":{"line":340,"column":9},"end":{"line":340,"column":32}},"loc":{"start":{"line":340,"column":52},"end":{"line":348,"column":1}}},"31":{"name":"configure","decl":{"start":{"line":350,"column":9},"end":{"line":350,"column":18}},"loc":{"start":{"line":350,"column":55},"end":{"line":368,"column":1}}},"32":{"name":"replaceConsole","decl":{"start":{"line":378,"column":9},"end":{"line":378,"column":23}},"loc":{"start":{"line":378,"column":32},"end":{"line":392,"column":1}}},"33":{"name":"replaceWith","decl":{"start":{"line":379,"column":11},"end":{"line":379,"column":22}},"loc":{"start":{"line":379,"column":27},"end":{"line":385,"column":3}}},"34":{"name":"(anonymous_34)","decl":{"start":{"line":380,"column":11},"end":{"line":380,"column":12}},"loc":{"start":{"line":380,"column":23},"end":{"line":384,"column":5}}},"35":{"name":"(anonymous_35)","decl":{"start":{"line":389,"column":52},"end":{"line":389,"column":53}},"loc":{"start":{"line":389,"column":62},"end":{"line":391,"column":3}}},"36":{"name":"restoreConsole","decl":{"start":{"line":394,"column":9},"end":{"line":394,"column":23}},"loc":{"start":{"line":394,"column":26},"end":{"line":398,"column":1}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":395,"column":52},"end":{"line":395,"column":53}},"loc":{"start":{"line":395,"column":62},"end":{"line":397,"column":3}}},"38":{"name":"requireAppender","decl":{"start":{"line":410,"column":9},"end":{"line":410,"column":24}},"loc":{"start":{"line":410,"column":35},"end":{"line":418,"column":1}}},"39":{"name":"loadAppender","decl":{"start":{"line":430,"column":9},"end":{"line":430,"column":21}},"loc":{"start":{"line":430,"column":48},"end":{"line":442,"column":1}}},"40":{"name":"shutdown","decl":{"start":{"line":452,"column":9},"end":{"line":452,"column":17}},"loc":{"start":{"line":452,"column":22},"end":{"line":490,"column":1}}},"41":{"name":"complete","decl":{"start":{"line":467,"column":11},"end":{"line":467,"column":19}},"loc":{"start":{"line":467,"column":25},"end":{"line":473,"column":3}}},"42":{"name":"(anonymous_42)","decl":{"start":{"line":485,"column":28},"end":{"line":485,"column":29}},"loc":{"start":{"line":485,"column":45},"end":{"line":487,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},{"start":{"line":64,"column":2},"end":{"line":68,"column":3}}]},"1":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":66}},"type":"binary-expr","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":34}},{"start":{"line":64,"column":38},"end":{"line":64,"column":66}}]},"2":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{"line":130,"column":2},"end":{"line":132,"column":3}}]},"3":{"loc":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},{"start":{"line":134,"column":2},"end":{"line":174,"column":3}}]},"4":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{"line":139,"column":4},"end":{"line":150,"column":5}}]},"5":{"loc":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},{"start":{"line":145,"column":8},"end":{"line":148,"column":9}}]},"6":{"loc":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},{"start":{"line":159,"column":6},"end":{"line":164,"column":7}}]},"7":{"loc":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},{"start":{"line":168,"column":4},"end":{"line":173,"column":5}}]},"8":{"loc":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"type":"if","locations":[{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},{"start":{"line":188,"column":2},"end":{"line":190,"column":3}}]},"9":{"loc":{"start":{"line":188,"column":6},"end":{"line":188,"column":54}},"type":"binary-expr","locations":[{"start":{"line":188,"column":6},"end":{"line":188,"column":21}},{"start":{"line":188,"column":25},"end":{"line":188,"column":54}}]},"10":{"loc":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},{"start":{"line":192,"column":2},"end":{"line":194,"column":3}}]},"11":{"loc":{"start":{"line":192,"column":6},"end":{"line":192,"column":48}},"type":"binary-expr","locations":[{"start":{"line":192,"column":6},"end":{"line":192,"column":23}},{"start":{"line":192,"column":27},"end":{"line":192,"column":48}}]},"12":{"loc":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"type":"if","locations":[{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},{"start":{"line":196,"column":2},"end":{"line":198,"column":3}}]},"13":{"loc":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"type":"if","locations":[{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},{"start":{"line":203,"column":4},"end":{"line":211,"column":5}}]},"14":{"loc":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},{"start":{"line":207,"column":8},"end":{"line":209,"column":9}}]},"15":{"loc":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},{"start":{"line":217,"column":4},"end":{"line":219,"column":5}}]},"16":{"loc":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"type":"if","locations":[{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},{"start":{"line":224,"column":2},"end":{"line":226,"column":3}}]},"17":{"loc":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"type":"if","locations":[{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},{"start":{"line":236,"column":4},"end":{"line":238,"column":5}}]},"18":{"loc":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},{"start":{"line":244,"column":2},"end":{"line":256,"column":3}}]},"19":{"loc":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"type":"if","locations":[{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},{"start":{"line":261,"column":2},"end":{"line":277,"column":3}}]},"20":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{"line":267,"column":6},"end":{"line":269,"column":7}}]},"21":{"loc":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},{"start":{"line":272,"column":8},"end":{"line":274,"column":9}}]},"22":{"loc":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"type":"if","locations":[{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},{"start":{"line":296,"column":2},"end":{"line":298,"column":3}}]},"23":{"loc":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"type":"if","locations":[{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},{"start":{"line":303,"column":2},"end":{"line":317,"column":3}}]},"24":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{"line":309,"column":6},"end":{"line":311,"column":7}}]},"25":{"loc":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"type":"if","locations":[{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},{"start":{"line":322,"column":2},"end":{"line":322,"column":21}}]},"26":{"loc":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"type":"if","locations":[{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},{"start":{"line":324,"column":2},"end":{"line":326,"column":3}}]},"27":{"loc":{"start":{"line":324,"column":6},"end":{"line":324,"column":82}},"type":"binary-expr","locations":[{"start":{"line":324,"column":6},"end":{"line":324,"column":27}},{"start":{"line":324,"column":32},"end":{"line":324,"column":81}}]},"28":{"loc":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"type":"if","locations":[{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},{"start":{"line":341,"column":2},"end":{"line":344,"column":3}}]},"29":{"loc":{"start":{"line":352,"column":11},"end":{"line":352,"column":46}},"type":"binary-expr","locations":[{"start":{"line":352,"column":11},"end":{"line":352,"column":17}},{"start":{"line":352,"column":21},"end":{"line":352,"column":46}}]},"30":{"loc":{"start":{"line":353,"column":12},"end":{"line":353,"column":25}},"type":"binary-expr","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":19}},{"start":{"line":353,"column":23},"end":{"line":353,"column":25}}]},"31":{"loc":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"type":"if","locations":[{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},{"start":{"line":355,"column":2},"end":{"line":366,"column":3}}]},"32":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":75}},"type":"binary-expr","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":26}},{"start":{"line":355,"column":30},"end":{"line":355,"column":45}},{"start":{"line":355,"column":49},"end":{"line":355,"column":75}}]},"33":{"loc":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"type":"if","locations":[{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},{"start":{"line":356,"column":4},"end":{"line":358,"column":5}}]},"34":{"loc":{"start":{"line":359,"column":13},"end":{"line":359,"column":59}},"type":"binary-expr","locations":[{"start":{"line":359,"column":13},"end":{"line":359,"column":42}},{"start":{"line":359,"column":46},"end":{"line":359,"column":59}}]},"35":{"loc":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"type":"if","locations":[{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},{"start":{"line":361,"column":4},"end":{"line":365,"column":5}}]},"36":{"loc":{"start":{"line":387,"column":11},"end":{"line":387,"column":41}},"type":"binary-expr","locations":[{"start":{"line":387,"column":11},"end":{"line":387,"column":17}},{"start":{"line":387,"column":21},"end":{"line":387,"column":41}}]},"37":{"loc":{"start":{"line":390,"column":32},"end":{"line":390,"column":75}},"type":"cond-expr","locations":[{"start":{"line":390,"column":49},"end":{"line":390,"column":60}},{"start":{"line":390,"column":63},"end":{"line":390,"column":75}}]},"38":{"loc":{"start":{"line":431,"column":19},"end":{"line":431,"column":62}},"type":"binary-expr","locations":[{"start":{"line":431,"column":19},"end":{"line":431,"column":33}},{"start":{"line":431,"column":37},"end":{"line":431,"column":62}}]},"39":{"loc":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"type":"if","locations":[{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},{"start":{"line":433,"column":2},"end":{"line":435,"column":3}}]},"40":{"loc":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"type":"if","locations":[{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},{"start":{"line":438,"column":2},"end":{"line":440,"column":3}}]},"41":{"loc":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"type":"if","locations":[{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},{"start":{"line":458,"column":2},"end":{"line":460,"column":3}}]},"42":{"loc":{"start":{"line":468,"column":12},"end":{"line":468,"column":24}},"type":"binary-expr","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":17}},{"start":{"line":468,"column":21},"end":{"line":468,"column":24}}]},"43":{"loc":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"type":"if","locations":[{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},{"start":{"line":470,"column":4},"end":{"line":472,"column":5}}]},"44":{"loc":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"type":"if","locations":[{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},{"start":{"line":476,"column":4},"end":{"line":478,"column":5}}]},"45":{"loc":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"type":"if","locations":[{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},{"start":{"line":481,"column":2},"end":{"line":483,"column":3}}]}},"s":{"0":5,"1":5,"2":5,"3":5,"4":5,"5":5,"6":5,"7":5,"8":5,"9":5,"10":5,"11":5,"12":5,"13":0,"14":5,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":6,"70":6,"71":6,"72":0,"73":6,"74":6,"75":6,"76":0,"77":6,"78":6,"79":6,"80":6,"81":0,"82":0,"83":0,"84":6,"85":0,"86":0,"87":6,"88":6,"89":6,"90":6,"91":6,"92":6,"93":0,"94":0,"95":6,"96":6,"97":6,"98":6,"99":6,"100":6,"101":6,"102":6,"103":0,"104":6,"105":6,"106":1,"107":1,"108":1,"109":1,"110":0,"111":1,"112":0,"113":0,"114":0,"115":0,"116":5,"117":5,"118":1,"119":4,"120":6,"121":6,"122":6,"123":6,"124":6,"125":6,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":6,"145":6,"146":6,"147":6,"148":5,"149":0,"150":5,"151":1,"152":0,"153":6,"154":5,"155":0,"156":0,"157":0,"158":0,"159":0,"160":6,"161":30,"162":8,"163":8,"164":1,"165":8,"166":9,"167":9,"168":0,"169":9,"170":9,"171":0,"172":9,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":5,"191":5,"192":5},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":6,"17":6,"18":6,"19":6,"20":6,"21":6,"22":6,"23":6,"24":0,"25":0,"26":5,"27":6,"28":0,"29":0,"30":0,"31":6,"32":0,"33":0,"34":0,"35":0,"36":6,"37":30,"38":8,"39":9,"40":0,"41":0,"42":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,6],"9":[6,6],"10":[6,0],"11":[6,6],"12":[0,6],"13":[6,0],"14":[0,0],"15":[0,0],"16":[6,0],"17":[0,0],"18":[6,0],"19":[1,5],"20":[0,1],"21":[0,0],"22":[1,4],"23":[6,0],"24":[0,6],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[6,5],"30":[6,5],"31":[5,1],"32":[6,2,2],"33":[0,5],"34":[5,4],"35":[0,1],"36":[0,0],"37":[0,0],"38":[9,8],"39":[0,9],"40":[0,9],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3a43360dca26d74ffd67cfe5ec75309575f038ac"},"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":8,"1":8,"2":8,"3":8,"4":8,"5":1,"6":0,"7":0,"8":0,"9":0,"10":0,"11":8,"12":8,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":8,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":8,"108":0,"109":1},"f":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":1},"b":{"0":[8,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[1,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf","contentHash":"d1d8e598552dfe064eef286d267900be_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":8,"1":8,"2":8,"3":8,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":8,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128","contentHash":"672b6336c04cfaa2a8588410ce063022_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/levels.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/levels.js","statementMap":{"0":{"start":{"line":9,"column":4},"end":{"line":9,"column":23}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":42}},"9":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":39}},"11":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"12":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":24}},"14":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"15":{"start":{"line":52,"column":4},"end":{"line":52,"column":43}},"16":{"start":{"line":53,"column":4},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"18":{"start":{"line":57,"column":4},"end":{"line":57,"column":62}},"19":{"start":{"line":60,"column":2},"end":{"line":60,"column":34}},"20":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"21":{"start":{"line":66,"column":23},"end":{"line":66,"column":45}},"22":{"start":{"line":67,"column":4},"end":{"line":67,"column":32}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"24":{"start":{"line":72,"column":0},"end":{"line":85,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":13},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":34},"end":{"line":22,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":37},"end":{"line":29,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":31,"column":24},"end":{"line":36,"column":3}}},"5":{"name":"toLevel","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":37},"end":{"line":61,"column":1}}},"6":{"name":"getLevel","decl":{"start":{"line":63,"column":9},"end":{"line":63,"column":17}},"loc":{"start":{"line":63,"column":28},"end":{"line":70,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{"line":32,"column":4},"end":{"line":34,"column":5}}]},"3":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}]},"4":{"loc":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},{"start":{"line":51,"column":2},"end":{"line":54,"column":3}}]},"5":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}]},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":61}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":45}},{"start":{"line":57,"column":49},"end":{"line":57,"column":61}}]},"7":{"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},{"start":{"line":65,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":99,"1":99,"2":35,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":35,"13":0,"14":35,"15":0,"16":0,"17":35,"18":35,"19":0,"20":0,"21":0,"22":0,"23":0,"24":11},"f":{"0":99,"1":35,"2":0,"3":0,"4":0,"5":35,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,35],"4":[0,35],"5":[35,0],"6":[35,0],"7":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"daae16d9a9a708cc048c35299774fc26e22cf555","contentHash":"de3beea1cbd1c093130b8e3a1963e9d2_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":21},"end":{"line":6,"column":38}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":36}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":27}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":32}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":23}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":25}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":50,"column":4},"end":{"line":50,"column":45}},"11":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"12":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":67}},"14":{"start":{"line":62,"column":4},"end":{"line":62,"column":22}},"15":{"start":{"line":68,"column":17},"end":{"line":68,"column":38}},"16":{"start":{"line":69,"column":21},"end":{"line":69,"column":57}},"17":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":13}},"19":{"start":{"line":73,"column":4},"end":{"line":73,"column":39}},"20":{"start":{"line":77,"column":4},"end":{"line":77,"column":54}},"21":{"start":{"line":81,"column":25},"end":{"line":81,"column":75}},"22":{"start":{"line":82,"column":4},"end":{"line":82,"column":35}},"23":{"start":{"line":86,"column":0},"end":{"line":86,"column":43}},"24":{"start":{"line":87,"column":0},"end":{"line":87,"column":38}},"25":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"26":{"start":{"line":92,"column":16},"end":{"line":92,"column":38}},"27":{"start":{"line":94,"column":24},"end":{"line":94,"column":54}},"28":{"start":{"line":95,"column":22},"end":{"line":95,"column":81}},"29":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}},"30":{"start":{"line":96,"column":24},"end":{"line":96,"column":75}},"31":{"start":{"line":98,"column":2},"end":{"line":100,"column":4}},"32":{"start":{"line":99,"column":4},"end":{"line":99,"column":49}},"33":{"start":{"line":102,"column":2},"end":{"line":109,"column":4}},"34":{"start":{"line":105,"column":17},"end":{"line":105,"column":38}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":117,"column":2},"end":{"line":117,"column":27}},"38":{"start":{"line":125,"column":2},"end":{"line":125,"column":26}},"39":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"40":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"41":{"start":{"line":130,"column":0},"end":{"line":130,"column":57}},"42":{"start":{"line":131,"column":0},"end":{"line":131,"column":55}},"43":{"start":{"line":132,"column":0},"end":{"line":132,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":49},"end":{"line":32,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":27},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":65,"column":8},"end":{"line":74,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":29},"end":{"line":78,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":20},"end":{"line":83,"column":3}}},"7":{"name":"addLevelMethods","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":33},"end":{"line":110,"column":1}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":95,"column":57},"end":{"line":95,"column":58}},"loc":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":50},"end":{"line":98,"column":51}},"loc":{"start":{"line":98,"column":62},"end":{"line":100,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":34},"end":{"line":102,"column":35}},"loc":{"start":{"line":102,"column":46},"end":{"line":109,"column":3}}},"11":{"name":"disableAllLogWrites","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":28}},"loc":{"start":{"line":116,"column":31},"end":{"line":118,"column":1}}},"12":{"name":"enableAllLogWrites","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":27}},"loc":{"start":{"line":124,"column":30},"end":{"line":126,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"type":"binary-expr","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}}]},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":4},"end":{"line":54,"column":5}}]},"2":{"loc":{"start":{"line":58,"column":39},"end":{"line":58,"column":65}},"type":"binary-expr","locations":[{"start":{"line":58,"column":39},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":65}}]},"3":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}]},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}}]},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":106,"column":54}},"type":"binary-expr","locations":[{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},{"start":{"line":106,"column":28},"end":{"line":106,"column":54}}]}},"s":{"0":5,"1":5,"2":5,"3":5,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":5,"24":5,"25":5,"26":35,"27":35,"28":35,"29":0,"30":35,"31":35,"32":0,"33":35,"34":0,"35":0,"36":0,"37":0,"38":6,"39":5,"40":5,"41":5,"42":5,"43":5},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":35,"8":0,"9":0,"10":0,"11":0,"12":6},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7d8e54612a5d21505ecc3cd8c5eea114082c17db","contentHash":"00d625ca9babf994c26685dc45e2004b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":7,"column":23},"end":{"line":10,"column":18}},"2":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"4":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":34}},"6":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"7":{"start":{"line":50,"column":21},"end":{"line":50,"column":30}},"8":{"start":{"line":51,"column":14},"end":{"line":51,"column":56}},"9":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"10":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"11":{"start":{"line":55,"column":2},"end":{"line":112,"column":4}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"13":{"start":{"line":57,"column":22},"end":{"line":57,"column":36}},"14":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"15":{"start":{"line":60,"column":46},"end":{"line":60,"column":60}},"16":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"17":{"start":{"line":63,"column":20},"end":{"line":63,"column":30}},"18":{"start":{"line":64,"column":24},"end":{"line":64,"column":37}},"19":{"start":{"line":67,"column":6},"end":{"line":67,"column":26}},"20":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"21":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":37}},"23":{"start":{"line":74,"column":8},"end":{"line":74,"column":32}},"24":{"start":{"line":75,"column":8},"end":{"line":75,"column":38}},"25":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"26":{"start":{"line":79,"column":10},"end":{"line":79,"column":30}},"27":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"28":{"start":{"line":80,"column":27},"end":{"line":80,"column":47}},"29":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"30":{"start":{"line":81,"column":27},"end":{"line":81,"column":48}},"31":{"start":{"line":83,"column":10},"end":{"line":83,"column":61}},"32":{"start":{"line":88,"column":6},"end":{"line":107,"column":9}},"33":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"34":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"35":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"37":{"start":{"line":93,"column":37},"end":{"line":93,"column":57}},"38":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"39":{"start":{"line":94,"column":37},"end":{"line":94,"column":58}},"40":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"41":{"start":{"line":98,"column":33},"end":{"line":98,"column":79}},"42":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"43":{"start":{"line":101,"column":25},"end":{"line":101,"column":74}},"44":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}},"45":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"46":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"47":{"start":{"line":104,"column":12},"end":{"line":104,"column":63}},"48":{"start":{"line":111,"column":4},"end":{"line":111,"column":18}},"49":{"start":{"line":126,"column":28},"end":{"line":138,"column":3}},"50":{"start":{"line":127,"column":14},"end":{"line":127,"column":28}},"51":{"start":{"line":128,"column":4},"end":{"line":136,"column":5}},"52":{"start":{"line":129,"column":6},"end":{"line":135,"column":7}},"53":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"54":{"start":{"line":133,"column":10},"end":{"line":133,"column":27}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":13}},"56":{"start":{"line":140,"column":24},"end":{"line":140,"column":26}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":66}},"58":{"start":{"line":142,"column":2},"end":{"line":142,"column":72}},"59":{"start":{"line":143,"column":2},"end":{"line":143,"column":72}},"60":{"start":{"line":144,"column":2},"end":{"line":144,"column":68}},"61":{"start":{"line":145,"column":2},"end":{"line":145,"column":92}},"62":{"start":{"line":146,"column":2},"end":{"line":146,"column":81}},"63":{"start":{"line":147,"column":2},"end":{"line":147,"column":80}},"64":{"start":{"line":148,"column":2},"end":{"line":151,"column":5}},"65":{"start":{"line":152,"column":2},"end":{"line":155,"column":5}},"66":{"start":{"line":156,"column":2},"end":{"line":166,"column":5}},"67":{"start":{"line":167,"column":2},"end":{"line":167,"column":87}},"68":{"start":{"line":168,"column":2},"end":{"line":173,"column":5}},"69":{"start":{"line":174,"column":2},"end":{"line":179,"column":5}},"70":{"start":{"line":177,"column":6},"end":{"line":177,"column":46}},"71":{"start":{"line":180,"column":2},"end":{"line":187,"column":5}},"72":{"start":{"line":183,"column":6},"end":{"line":185,"column":50}},"73":{"start":{"line":189,"column":2},"end":{"line":189,"column":63}},"74":{"start":{"line":203,"column":2},"end":{"line":203,"column":36}},"75":{"start":{"line":215,"column":2},"end":{"line":217,"column":3}},"76":{"start":{"line":216,"column":4},"end":{"line":216,"column":62}},"77":{"start":{"line":218,"column":2},"end":{"line":218,"column":13}},"78":{"start":{"line":249,"column":15},"end":{"line":249,"column":19}},"79":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"80":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"81":{"start":{"line":253,"column":6},"end":{"line":253,"column":21}},"82":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"83":{"start":{"line":257,"column":6},"end":{"line":257,"column":33}},"84":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"85":{"start":{"line":262,"column":31},"end":{"line":262,"column":80}},"86":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"87":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"88":{"start":{"line":267,"column":2},"end":{"line":267,"column":16}},"89":{"start":{"line":270,"column":0},"end":{"line":270,"column":41}}},"fnMap":{"0":{"name":"getLogger","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":39},"end":{"line":113,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":10}},"loc":{"start":{"line":55,"column":29},"end":{"line":112,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":70,"column":22},"end":{"line":70,"column":23}},"loc":{"start":{"line":70,"column":41},"end":{"line":85,"column":7}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":23},"end":{"line":88,"column":24}},"loc":{"start":{"line":88,"column":29},"end":{"line":107,"column":7}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":39},"end":{"line":101,"column":40}},"loc":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}}},"5":{"name":"assembleTokens","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":48},"end":{"line":190,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":28},"end":{"line":126,"column":29}},"loc":{"start":{"line":126,"column":39},"end":{"line":138,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":17},"end":{"line":176,"column":18}},"loc":{"start":{"line":176,"column":37},"end":{"line":178,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":182,"column":17},"end":{"line":182,"column":18}},"loc":{"start":{"line":182,"column":37},"end":{"line":186,"column":5}}},"9":{"name":"getUrl","decl":{"start":{"line":202,"column":9},"end":{"line":202,"column":15}},"loc":{"start":{"line":202,"column":21},"end":{"line":204,"column":1}}},"10":{"name":"format","decl":{"start":{"line":214,"column":9},"end":{"line":214,"column":15}},"loc":{"start":{"line":214,"column":29},"end":{"line":219,"column":1}}},"11":{"name":"createNoLogCondition","decl":{"start":{"line":248,"column":9},"end":{"line":248,"column":29}},"loc":{"start":{"line":248,"column":37},"end":{"line":268,"column":1}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":262,"column":41},"end":{"line":262,"column":42}},"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}}}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},{"start":{"line":42,"column":2},"end":{"line":48,"column":3}}]},"1":{"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":27}},"type":"binary-expr","locations":[{"start":{"line":43,"column":14},"end":{"line":43,"column":21}},{"start":{"line":43,"column":25},"end":{"line":43,"column":27}}]},"2":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}]},"3":{"loc":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"type":"binary-expr","locations":[{"start":{"line":52,"column":14},"end":{"line":52,"column":28}},{"start":{"line":52,"column":32},"end":{"line":52,"column":46}}]},"4":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":32},"end":{"line":53,"column":67}},{"start":{"line":53,"column":70},"end":{"line":53,"column":74}}]},"5":{"loc":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},{"start":{"line":57,"column":4},"end":{"line":57,"column":36}}]},"6":{"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},{"start":{"line":60,"column":4},"end":{"line":60,"column":60}}]},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":44}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":13}},{"start":{"line":60,"column":17},"end":{"line":60,"column":44}}]},"8":{"loc":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},{"start":{"line":62,"column":4},"end":{"line":108,"column":5}}]},"9":{"loc":{"start":{"line":62,"column":8},"end":{"line":62,"column":68}},"type":"binary-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":40}},{"start":{"line":62,"column":44},"end":{"line":62,"column":68}}]},"10":{"loc":{"start":{"line":75,"column":24},"end":{"line":75,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":24},"end":{"line":75,"column":31}},{"start":{"line":75,"column":35},"end":{"line":75,"column":37}}]},"11":{"loc":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},{"start":{"line":78,"column":8},"end":{"line":84,"column":9}}]},"12":{"loc":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},{"start":{"line":80,"column":10},"end":{"line":80,"column":47}}]},"13":{"loc":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},{"start":{"line":81,"column":10},"end":{"line":81,"column":48}}]},"14":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":91,"column":8},"end":{"line":95,"column":9}}]},"15":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":54}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":26}},{"start":{"line":91,"column":30},"end":{"line":91,"column":54}}]},"16":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"type":"if","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},{"start":{"line":93,"column":10},"end":{"line":93,"column":57}}]},"17":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"type":"if","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},{"start":{"line":94,"column":10},"end":{"line":94,"column":58}}]},"18":{"loc":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},{"start":{"line":97,"column":8},"end":{"line":106,"column":9}}]},"19":{"loc":{"start":{"line":98,"column":58},"end":{"line":98,"column":78}},"type":"binary-expr","locations":[{"start":{"line":98,"column":58},"end":{"line":98,"column":72}},{"start":{"line":98,"column":76},"end":{"line":98,"column":78}}]},"20":{"loc":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},{"start":{"line":100,"column":10},"end":{"line":105,"column":11}}]},"21":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"type":"if","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},{"start":{"line":102,"column":12},"end":{"line":102,"column":50}}]},"22":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},{"start":{"line":132,"column":8},"end":{"line":134,"column":9}}]},"23":{"loc":{"start":{"line":145,"column":54},"end":{"line":145,"column":88}},"type":"binary-expr","locations":[{"start":{"line":145,"column":54},"end":{"line":145,"column":70}},{"start":{"line":145,"column":74},"end":{"line":145,"column":88}}]},"24":{"loc":{"start":{"line":150,"column":17},"end":{"line":150,"column":66}},"type":"binary-expr","locations":[{"start":{"line":150,"column":17},"end":{"line":150,"column":36}},{"start":{"line":150,"column":40},"end":{"line":150,"column":60}},{"start":{"line":150,"column":64},"end":{"line":150,"column":66}}]},"25":{"loc":{"start":{"line":158,"column":17},"end":{"line":165,"column":5}},"type":"binary-expr","locations":[{"start":{"line":158,"column":17},"end":{"line":158,"column":47}},{"start":{"line":159,"column":4},"end":{"line":159,"column":10}},{"start":{"line":160,"column":4},"end":{"line":160,"column":22}},{"start":{"line":161,"column":5},"end":{"line":161,"column":15}},{"start":{"line":162,"column":7},"end":{"line":162,"column":31}},{"start":{"line":163,"column":9},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":61}}]},"26":{"loc":{"start":{"line":170,"column":17},"end":{"line":172,"column":7}},"type":"binary-expr","locations":[{"start":{"line":170,"column":18},"end":{"line":170,"column":30}},{"start":{"line":170,"column":34},"end":{"line":170,"column":64}},{"start":{"line":171,"column":5},"end":{"line":171,"column":18}},{"start":{"line":171,"column":22},"end":{"line":171,"column":53}},{"start":{"line":172,"column":4},"end":{"line":172,"column":7}}]},"27":{"loc":{"start":{"line":183,"column":13},"end":{"line":185,"column":49}},"type":"cond-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},{"start":{"line":185,"column":11},"end":{"line":185,"column":48}}]},"28":{"loc":{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":47}},{"start":{"line":184,"column":51},"end":{"line":184,"column":71}}]},"29":{"loc":{"start":{"line":185,"column":11},"end":{"line":185,"column":48}},"type":"binary-expr","locations":[{"start":{"line":185,"column":11},"end":{"line":185,"column":24}},{"start":{"line":185,"column":28},"end":{"line":185,"column":48}}]},"30":{"loc":{"start":{"line":203,"column":9},"end":{"line":203,"column":35}},"type":"binary-expr","locations":[{"start":{"line":203,"column":9},"end":{"line":203,"column":24}},{"start":{"line":203,"column":28},"end":{"line":203,"column":35}}]},"31":{"loc":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},{"start":{"line":251,"column":2},"end":{"line":265,"column":3}}]},"32":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{"line":252,"column":4},"end":{"line":254,"column":5}}]},"33":{"loc":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},{"start":{"line":256,"column":4},"end":{"line":258,"column":5}}]},"34":{"loc":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"type":"if","locations":[{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},{"start":{"line":260,"column":4},"end":{"line":264,"column":5}}]},"35":{"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"type":"cond-expr","locations":[{"start":{"line":262,"column":62},"end":{"line":262,"column":72}},{"start":{"line":262,"column":75},"end":{"line":262,"column":78}}]}},"s":{"0":5,"1":5,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":5},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0,0,0,0,0,0],"26":[0,0,0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8de6ff12985e168d800fe4d220a8a32e3c1dbe2a","contentHash":"06eb335e3bac458879bb256f44ac2576_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}}},"fnMap":{"0":{"name":"stdoutAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":33},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":4,"1":4,"2":4,"3":0,"4":4,"5":0,"6":4,"7":4,"8":4},"f":{"0":4,"1":0,"2":4},"b":{"0":[4,4],"1":[0,4]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7fe10c84b315d3ba3e07ce62d5e48e59666eb827","contentHash":"009980a1b175f554654dded39c797b6c_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/console.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/console.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":5,"column":19},"end":{"line":5,"column":44}},"2":{"start":{"line":8,"column":2},"end":{"line":8,"column":44}},"3":{"start":{"line":9,"column":2},"end":{"line":11,"column":4}},"4":{"start":{"line":10,"column":4},"end":{"line":10,"column":53}},"5":{"start":{"line":16,"column":2},"end":{"line":18,"column":3}},"6":{"start":{"line":17,"column":4},"end":{"line":17,"column":63}},"7":{"start":{"line":19,"column":2},"end":{"line":19,"column":56}},"8":{"start":{"line":22,"column":0},"end":{"line":22,"column":42}},"9":{"start":{"line":23,"column":0},"end":{"line":23,"column":37}}},"fnMap":{"0":{"name":"consoleAppender","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":24}},"loc":{"start":{"line":7,"column":49},"end":{"line":12,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":10}},"loc":{"start":{"line":9,"column":27},"end":{"line":11,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":18}},"loc":{"start":{"line":14,"column":27},"end":{"line":20,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":11},"end":{"line":8,"column":43}},"type":"binary-expr","locations":[{"start":{"line":8,"column":11},"end":{"line":8,"column":17}},{"start":{"line":8,"column":21},"end":{"line":8,"column":43}}]},"1":{"loc":{"start":{"line":16,"column":2},"end":{"line":18,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":18,"column":3}},{"start":{"line":16,"column":2},"end":{"line":18,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":1,"6":1,"7":1,"8":1,"9":1},"f":{"0":1,"1":0,"2":1},"b":{"0":[1,0],"1":[1,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"4477a1ae7d309edb325d01b33c4a112dfb25e423"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/40d3ebd99aa6c65a69969834ecfa7a79.json b/node_modules/log4js/.nyc_output/40d3ebd99aa6c65a69969834ecfa7a79.json deleted file mode 100644 index 15f6d38..0000000 --- a/node_modules/log4js/.nyc_output/40d3ebd99aa6c65a69969834ecfa7a79.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/log4js.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/log4js.js","statementMap":{"0":{"start":{"line":35,"column":11},"end":{"line":35,"column":24}},"1":{"start":{"line":36,"column":13},"end":{"line":36,"column":28}},"2":{"start":{"line":37,"column":16},"end":{"line":37,"column":36}},"3":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"4":{"start":{"line":39,"column":21},"end":{"line":39,"column":40}},"5":{"start":{"line":40,"column":22},"end":{"line":40,"column":63}},"6":{"start":{"line":42,"column":15},"end":{"line":42,"column":34}},"7":{"start":{"line":44,"column":23},"end":{"line":44,"column":30}},"8":{"start":{"line":45,"column":16},"end":{"line":45,"column":18}},"9":{"start":{"line":46,"column":23},"end":{"line":46,"column":25}},"10":{"start":{"line":47,"column":26},"end":{"line":47,"column":28}},"11":{"start":{"line":48,"column":22},"end":{"line":53,"column":1}},"12":{"start":{"line":55,"column":16},"end":{"line":55,"column":18}},"13":{"start":{"line":58,"column":2},"end":{"line":58,"column":40}},"14":{"start":{"line":62,"column":0},"end":{"line":70,"column":2}},"15":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"16":{"start":{"line":65,"column":23},"end":{"line":65,"column":45}},"17":{"start":{"line":66,"column":4},"end":{"line":66,"column":51}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":40}},"19":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"20":{"start":{"line":73,"column":21},"end":{"line":73,"column":44}},"21":{"start":{"line":74,"column":17},"end":{"line":74,"column":19}},"22":{"start":{"line":75,"column":2},"end":{"line":75,"column":19}},"23":{"start":{"line":76,"column":2},"end":{"line":76,"column":29}},"24":{"start":{"line":77,"column":2},"end":{"line":83,"column":4}},"25":{"start":{"line":78,"column":4},"end":{"line":82,"column":5}},"26":{"start":{"line":79,"column":18},"end":{"line":79,"column":32}},"27":{"start":{"line":80,"column":6},"end":{"line":80,"column":44}},"28":{"start":{"line":81,"column":6},"end":{"line":81,"column":28}},"29":{"start":{"line":84,"column":2},"end":{"line":86,"column":4}},"30":{"start":{"line":85,"column":4},"end":{"line":85,"column":59}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":4}},"32":{"start":{"line":88,"column":4},"end":{"line":88,"column":59}},"33":{"start":{"line":90,"column":2},"end":{"line":92,"column":4}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":58}},"35":{"start":{"line":93,"column":2},"end":{"line":95,"column":4}},"36":{"start":{"line":94,"column":4},"end":{"line":94,"column":58}},"37":{"start":{"line":96,"column":2},"end":{"line":98,"column":4}},"38":{"start":{"line":97,"column":4},"end":{"line":97,"column":59}},"39":{"start":{"line":99,"column":2},"end":{"line":101,"column":4}},"40":{"start":{"line":100,"column":4},"end":{"line":100,"column":59}},"41":{"start":{"line":103,"column":2},"end":{"line":103,"column":16}},"42":{"start":{"line":107,"column":2},"end":{"line":107,"column":24}},"43":{"start":{"line":111,"column":34},"end":{"line":111,"column":66}},"44":{"start":{"line":112,"column":35},"end":{"line":112,"column":68}},"45":{"start":{"line":113,"column":2},"end":{"line":113,"column":107}},"46":{"start":{"line":117,"column":37},"end":{"line":117,"column":72}},"47":{"start":{"line":118,"column":35},"end":{"line":118,"column":68}},"48":{"start":{"line":119,"column":2},"end":{"line":119,"column":113}},"49":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"50":{"start":{"line":131,"column":4},"end":{"line":131,"column":49}},"51":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"52":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"53":{"start":{"line":142,"column":19},"end":{"line":142,"column":52}},"54":{"start":{"line":143,"column":6},"end":{"line":149,"column":7}},"55":{"start":{"line":144,"column":30},"end":{"line":144,"column":39}},"56":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"57":{"start":{"line":147,"column":10},"end":{"line":147,"column":47}},"58":{"start":{"line":154,"column":4},"end":{"line":154,"column":72}},"59":{"start":{"line":158,"column":4},"end":{"line":165,"column":5}},"60":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"61":{"start":{"line":160,"column":8},"end":{"line":160,"column":51}},"62":{"start":{"line":161,"column":8},"end":{"line":163,"column":11}},"63":{"start":{"line":162,"column":10},"end":{"line":162,"column":67}},"64":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":47}},"66":{"start":{"line":170,"column":6},"end":{"line":172,"column":9}},"67":{"start":{"line":171,"column":8},"end":{"line":171,"column":65}},"68":{"start":{"line":176,"column":2},"end":{"line":176,"column":37}},"69":{"start":{"line":185,"column":13},"end":{"line":185,"column":34}},"70":{"start":{"line":186,"column":19},"end":{"line":186,"column":31}},"71":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"72":{"start":{"line":189,"column":4},"end":{"line":189,"column":47}},"73":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"74":{"start":{"line":193,"column":4},"end":{"line":193,"column":28}},"75":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"76":{"start":{"line":197,"column":4},"end":{"line":197,"column":19}},"77":{"start":{"line":200,"column":2},"end":{"line":212,"column":5}},"78":{"start":{"line":201,"column":4},"end":{"line":201,"column":54}},"79":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"80":{"start":{"line":204,"column":6},"end":{"line":204,"column":40}},"81":{"start":{"line":206,"column":6},"end":{"line":210,"column":7}},"82":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"83":{"start":{"line":208,"column":10},"end":{"line":208,"column":63}},"84":{"start":{"line":216,"column":2},"end":{"line":220,"column":3}},"85":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":218,"column":6},"end":{"line":218,"column":51}},"87":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"88":{"start":{"line":225,"column":4},"end":{"line":225,"column":29}},"89":{"start":{"line":227,"column":2},"end":{"line":227,"column":37}},"90":{"start":{"line":233,"column":2},"end":{"line":233,"column":36}},"91":{"start":{"line":234,"column":2},"end":{"line":234,"column":17}},"92":{"start":{"line":235,"column":2},"end":{"line":239,"column":3}},"93":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"94":{"start":{"line":237,"column":6},"end":{"line":237,"column":48}},"95":{"start":{"line":243,"column":2},"end":{"line":243,"column":19}},"96":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"97":{"start":{"line":245,"column":4},"end":{"line":255,"column":7}},"98":{"start":{"line":246,"column":6},"end":{"line":246,"column":40}},"99":{"start":{"line":248,"column":6},"end":{"line":248,"column":45}},"100":{"start":{"line":249,"column":6},"end":{"line":254,"column":7}},"101":{"start":{"line":250,"column":8},"end":{"line":250,"column":80}},"102":{"start":{"line":251,"column":8},"end":{"line":251,"column":55}},"103":{"start":{"line":253,"column":8},"end":{"line":253,"column":95}},"104":{"start":{"line":260,"column":2},"end":{"line":260,"column":26}},"105":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"106":{"start":{"line":262,"column":17},"end":{"line":262,"column":50}},"107":{"start":{"line":265,"column":4},"end":{"line":276,"column":5}},"108":{"start":{"line":266,"column":23},"end":{"line":266,"column":32}},"109":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":45}},"111":{"start":{"line":271,"column":6},"end":{"line":275,"column":7}},"112":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"113":{"start":{"line":273,"column":10},"end":{"line":273,"column":62}},"114":{"start":{"line":281,"column":2},"end":{"line":281,"column":63}},"115":{"start":{"line":290,"column":2},"end":{"line":290,"column":44}},"116":{"start":{"line":293,"column":20},"end":{"line":293,"column":22}},"117":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"118":{"start":{"line":297,"column":4},"end":{"line":297,"column":57}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":19}},"120":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"121":{"start":{"line":304,"column":4},"end":{"line":316,"column":5}},"122":{"start":{"line":305,"column":6},"end":{"line":305,"column":23}},"123":{"start":{"line":306,"column":6},"end":{"line":306,"column":37}},"124":{"start":{"line":307,"column":6},"end":{"line":307,"column":52}},"125":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"126":{"start":{"line":310,"column":8},"end":{"line":310,"column":25}},"127":{"start":{"line":313,"column":6},"end":{"line":315,"column":8}},"128":{"start":{"line":321,"column":16},"end":{"line":321,"column":46}},"129":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"130":{"start":{"line":322,"column":14},"end":{"line":322,"column":21}},"131":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"132":{"start":{"line":325,"column":4},"end":{"line":325,"column":75}},"133":{"start":{"line":327,"column":2},"end":{"line":327,"column":32}},"134":{"start":{"line":332,"column":2},"end":{"line":336,"column":3}},"135":{"start":{"line":333,"column":4},"end":{"line":333,"column":52}},"136":{"start":{"line":335,"column":4},"end":{"line":335,"column":78}},"137":{"start":{"line":337,"column":2},"end":{"line":337,"column":15}},"138":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"139":{"start":{"line":342,"column":4},"end":{"line":342,"column":39}},"140":{"start":{"line":343,"column":4},"end":{"line":343,"column":31}},"141":{"start":{"line":345,"column":2},"end":{"line":345,"column":34}},"142":{"start":{"line":346,"column":2},"end":{"line":346,"column":45}},"143":{"start":{"line":347,"column":2},"end":{"line":347,"column":93}},"144":{"start":{"line":351,"column":15},"end":{"line":351,"column":40}},"145":{"start":{"line":352,"column":2},"end":{"line":352,"column":47}},"146":{"start":{"line":353,"column":2},"end":{"line":353,"column":26}},"147":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"148":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"149":{"start":{"line":357,"column":6},"end":{"line":357,"column":47}},"150":{"start":{"line":359,"column":4},"end":{"line":359,"column":60}},"151":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"152":{"start":{"line":362,"column":6},"end":{"line":364,"column":8}},"153":{"start":{"line":367,"column":2},"end":{"line":367,"column":36}},"154":{"start":{"line":370,"column":33},"end":{"line":376,"column":1}},"155":{"start":{"line":380,"column":4},"end":{"line":384,"column":6}},"156":{"start":{"line":383,"column":6},"end":{"line":383,"column":46}},"157":{"start":{"line":387,"column":2},"end":{"line":387,"column":42}},"158":{"start":{"line":389,"column":2},"end":{"line":391,"column":5}},"159":{"start":{"line":390,"column":4},"end":{"line":390,"column":77}},"160":{"start":{"line":395,"column":2},"end":{"line":397,"column":5}},"161":{"start":{"line":396,"column":4},"end":{"line":396,"column":51}},"162":{"start":{"line":412,"column":2},"end":{"line":416,"column":3}},"163":{"start":{"line":413,"column":4},"end":{"line":413,"column":56}},"164":{"start":{"line":415,"column":4},"end":{"line":415,"column":39}},"165":{"start":{"line":417,"column":2},"end":{"line":417,"column":24}},"166":{"start":{"line":431,"column":2},"end":{"line":431,"column":63}},"167":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"168":{"start":{"line":434,"column":4},"end":{"line":434,"column":74}},"169":{"start":{"line":437,"column":2},"end":{"line":437,"column":76}},"170":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"171":{"start":{"line":439,"column":4},"end":{"line":439,"column":79}},"172":{"start":{"line":441,"column":2},"end":{"line":441,"column":75}},"173":{"start":{"line":455,"column":2},"end":{"line":455,"column":37}},"174":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"175":{"start":{"line":459,"column":4},"end":{"line":459,"column":39}},"176":{"start":{"line":463,"column":18},"end":{"line":463,"column":19}},"177":{"start":{"line":465,"column":28},"end":{"line":465,"column":30}},"178":{"start":{"line":468,"column":4},"end":{"line":468,"column":25}},"179":{"start":{"line":469,"column":4},"end":{"line":469,"column":16}},"180":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"181":{"start":{"line":471,"column":6},"end":{"line":471,"column":16}},"182":{"start":{"line":475,"column":2},"end":{"line":479,"column":3}},"183":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":477,"column":6},"end":{"line":477,"column":58}},"185":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"186":{"start":{"line":482,"column":4},"end":{"line":482,"column":16}},"187":{"start":{"line":485,"column":2},"end":{"line":487,"column":5}},"188":{"start":{"line":486,"column":4},"end":{"line":486,"column":26}},"189":{"start":{"line":489,"column":2},"end":{"line":489,"column":14}},"190":{"start":{"line":513,"column":15},"end":{"line":535,"column":1}},"191":{"start":{"line":537,"column":0},"end":{"line":537,"column":24}},"192":{"start":{"line":540,"column":0},"end":{"line":540,"column":12}}},"fnMap":{"0":{"name":"hasLogger","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":18}},"loc":{"start":{"line":57,"column":27},"end":{"line":59,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":47},"end":{"line":70,"column":1}}},"2":{"name":"getBufferedLogger","decl":{"start":{"line":72,"column":9},"end":{"line":72,"column":26}},"loc":{"start":{"line":72,"column":41},"end":{"line":104,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":17},"end":{"line":77,"column":18}},"loc":{"start":{"line":77,"column":29},"end":{"line":83,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":17},"end":{"line":84,"column":18}},"loc":{"start":{"line":84,"column":36},"end":{"line":86,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":87,"column":17},"end":{"line":87,"column":18}},"loc":{"start":{"line":87,"column":36},"end":{"line":89,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":17}},"loc":{"start":{"line":90,"column":35},"end":{"line":92,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":17}},"loc":{"start":{"line":93,"column":35},"end":{"line":95,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":17},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":36},"end":{"line":98,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":18}},"loc":{"start":{"line":99,"column":36},"end":{"line":101,"column":3}}},"10":{"name":"normalizeCategory","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":37},"end":{"line":108,"column":1}}},"11":{"name":"doesLevelEntryContainsLogger","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":37}},"loc":{"start":{"line":110,"column":69},"end":{"line":114,"column":1}}},"12":{"name":"doesAppenderContainsLogger","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":35}},"loc":{"start":{"line":116,"column":70},"end":{"line":120,"column":1}}},"13":{"name":"getLogger","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":18}},"loc":{"start":{"line":128,"column":39},"end":{"line":177,"column":1}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":161,"column":29},"end":{"line":161,"column":30}},"loc":{"start":{"line":161,"column":43},"end":{"line":163,"column":9}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":170,"column":27},"end":{"line":170,"column":28}},"loc":{"start":{"line":170,"column":41},"end":{"line":172,"column":7}}},"16":{"name":"addAppender","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":20}},"loc":{"start":{"line":182,"column":23},"end":{"line":213,"column":1}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":200,"column":15},"end":{"line":200,"column":16}},"loc":{"start":{"line":200,"column":37},"end":{"line":212,"column":3}}},"18":{"name":"addAppenderToAllLoggers","decl":{"start":{"line":215,"column":9},"end":{"line":215,"column":32}},"loc":{"start":{"line":215,"column":43},"end":{"line":221,"column":1}}},"19":{"name":"addAppenderToCategory","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":30}},"loc":{"start":{"line":223,"column":51},"end":{"line":228,"column":1}}},"20":{"name":"clearAppenders","decl":{"start":{"line":230,"column":9},"end":{"line":230,"column":23}},"loc":{"start":{"line":230,"column":26},"end":{"line":240,"column":1}}},"21":{"name":"configureAppenders","decl":{"start":{"line":242,"column":9},"end":{"line":242,"column":27}},"loc":{"start":{"line":242,"column":51},"end":{"line":257,"column":1}}},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":25},"end":{"line":245,"column":26}},"loc":{"start":{"line":245,"column":45},"end":{"line":255,"column":5}}},"23":{"name":"configureLevels","decl":{"start":{"line":259,"column":9},"end":{"line":259,"column":24}},"loc":{"start":{"line":259,"column":34},"end":{"line":278,"column":1}}},"24":{"name":"setGlobalLogLevel","decl":{"start":{"line":280,"column":9},"end":{"line":280,"column":26}},"loc":{"start":{"line":280,"column":34},"end":{"line":282,"column":1}}},"25":{"name":"getDefaultLogger","decl":{"start":{"line":289,"column":9},"end":{"line":289,"column":25}},"loc":{"start":{"line":289,"column":28},"end":{"line":291,"column":1}}},"26":{"name":"loadConfigurationFile","decl":{"start":{"line":295,"column":9},"end":{"line":295,"column":30}},"loc":{"start":{"line":295,"column":41},"end":{"line":300,"column":1}}},"27":{"name":"configureOnceOff","decl":{"start":{"line":302,"column":9},"end":{"line":302,"column":25}},"loc":{"start":{"line":302,"column":43},"end":{"line":318,"column":1}}},"28":{"name":"reloadConfiguration","decl":{"start":{"line":320,"column":9},"end":{"line":320,"column":28}},"loc":{"start":{"line":320,"column":38},"end":{"line":328,"column":1}}},"29":{"name":"getMTime","decl":{"start":{"line":330,"column":9},"end":{"line":330,"column":17}},"loc":{"start":{"line":330,"column":28},"end":{"line":338,"column":1}}},"30":{"name":"initReloadConfiguration","decl":{"start":{"line":340,"column":9},"end":{"line":340,"column":32}},"loc":{"start":{"line":340,"column":52},"end":{"line":348,"column":1}}},"31":{"name":"configure","decl":{"start":{"line":350,"column":9},"end":{"line":350,"column":18}},"loc":{"start":{"line":350,"column":55},"end":{"line":368,"column":1}}},"32":{"name":"replaceConsole","decl":{"start":{"line":378,"column":9},"end":{"line":378,"column":23}},"loc":{"start":{"line":378,"column":32},"end":{"line":392,"column":1}}},"33":{"name":"replaceWith","decl":{"start":{"line":379,"column":11},"end":{"line":379,"column":22}},"loc":{"start":{"line":379,"column":27},"end":{"line":385,"column":3}}},"34":{"name":"(anonymous_34)","decl":{"start":{"line":380,"column":11},"end":{"line":380,"column":12}},"loc":{"start":{"line":380,"column":23},"end":{"line":384,"column":5}}},"35":{"name":"(anonymous_35)","decl":{"start":{"line":389,"column":52},"end":{"line":389,"column":53}},"loc":{"start":{"line":389,"column":62},"end":{"line":391,"column":3}}},"36":{"name":"restoreConsole","decl":{"start":{"line":394,"column":9},"end":{"line":394,"column":23}},"loc":{"start":{"line":394,"column":26},"end":{"line":398,"column":1}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":395,"column":52},"end":{"line":395,"column":53}},"loc":{"start":{"line":395,"column":62},"end":{"line":397,"column":3}}},"38":{"name":"requireAppender","decl":{"start":{"line":410,"column":9},"end":{"line":410,"column":24}},"loc":{"start":{"line":410,"column":35},"end":{"line":418,"column":1}}},"39":{"name":"loadAppender","decl":{"start":{"line":430,"column":9},"end":{"line":430,"column":21}},"loc":{"start":{"line":430,"column":48},"end":{"line":442,"column":1}}},"40":{"name":"shutdown","decl":{"start":{"line":452,"column":9},"end":{"line":452,"column":17}},"loc":{"start":{"line":452,"column":22},"end":{"line":490,"column":1}}},"41":{"name":"complete","decl":{"start":{"line":467,"column":11},"end":{"line":467,"column":19}},"loc":{"start":{"line":467,"column":25},"end":{"line":473,"column":3}}},"42":{"name":"(anonymous_42)","decl":{"start":{"line":485,"column":28},"end":{"line":485,"column":29}},"loc":{"start":{"line":485,"column":45},"end":{"line":487,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},{"start":{"line":64,"column":2},"end":{"line":68,"column":3}}]},"1":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":66}},"type":"binary-expr","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":34}},{"start":{"line":64,"column":38},"end":{"line":64,"column":66}}]},"2":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{"line":130,"column":2},"end":{"line":132,"column":3}}]},"3":{"loc":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},{"start":{"line":134,"column":2},"end":{"line":174,"column":3}}]},"4":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{"line":139,"column":4},"end":{"line":150,"column":5}}]},"5":{"loc":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},{"start":{"line":145,"column":8},"end":{"line":148,"column":9}}]},"6":{"loc":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},{"start":{"line":159,"column":6},"end":{"line":164,"column":7}}]},"7":{"loc":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},{"start":{"line":168,"column":4},"end":{"line":173,"column":5}}]},"8":{"loc":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"type":"if","locations":[{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},{"start":{"line":188,"column":2},"end":{"line":190,"column":3}}]},"9":{"loc":{"start":{"line":188,"column":6},"end":{"line":188,"column":54}},"type":"binary-expr","locations":[{"start":{"line":188,"column":6},"end":{"line":188,"column":21}},{"start":{"line":188,"column":25},"end":{"line":188,"column":54}}]},"10":{"loc":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},{"start":{"line":192,"column":2},"end":{"line":194,"column":3}}]},"11":{"loc":{"start":{"line":192,"column":6},"end":{"line":192,"column":48}},"type":"binary-expr","locations":[{"start":{"line":192,"column":6},"end":{"line":192,"column":23}},{"start":{"line":192,"column":27},"end":{"line":192,"column":48}}]},"12":{"loc":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"type":"if","locations":[{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},{"start":{"line":196,"column":2},"end":{"line":198,"column":3}}]},"13":{"loc":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"type":"if","locations":[{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},{"start":{"line":203,"column":4},"end":{"line":211,"column":5}}]},"14":{"loc":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},{"start":{"line":207,"column":8},"end":{"line":209,"column":9}}]},"15":{"loc":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},{"start":{"line":217,"column":4},"end":{"line":219,"column":5}}]},"16":{"loc":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"type":"if","locations":[{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},{"start":{"line":224,"column":2},"end":{"line":226,"column":3}}]},"17":{"loc":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"type":"if","locations":[{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},{"start":{"line":236,"column":4},"end":{"line":238,"column":5}}]},"18":{"loc":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},{"start":{"line":244,"column":2},"end":{"line":256,"column":3}}]},"19":{"loc":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"type":"if","locations":[{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},{"start":{"line":261,"column":2},"end":{"line":277,"column":3}}]},"20":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{"line":267,"column":6},"end":{"line":269,"column":7}}]},"21":{"loc":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},{"start":{"line":272,"column":8},"end":{"line":274,"column":9}}]},"22":{"loc":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"type":"if","locations":[{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},{"start":{"line":296,"column":2},"end":{"line":298,"column":3}}]},"23":{"loc":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"type":"if","locations":[{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},{"start":{"line":303,"column":2},"end":{"line":317,"column":3}}]},"24":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{"line":309,"column":6},"end":{"line":311,"column":7}}]},"25":{"loc":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"type":"if","locations":[{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},{"start":{"line":322,"column":2},"end":{"line":322,"column":21}}]},"26":{"loc":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"type":"if","locations":[{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},{"start":{"line":324,"column":2},"end":{"line":326,"column":3}}]},"27":{"loc":{"start":{"line":324,"column":6},"end":{"line":324,"column":82}},"type":"binary-expr","locations":[{"start":{"line":324,"column":6},"end":{"line":324,"column":27}},{"start":{"line":324,"column":32},"end":{"line":324,"column":81}}]},"28":{"loc":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"type":"if","locations":[{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},{"start":{"line":341,"column":2},"end":{"line":344,"column":3}}]},"29":{"loc":{"start":{"line":352,"column":11},"end":{"line":352,"column":46}},"type":"binary-expr","locations":[{"start":{"line":352,"column":11},"end":{"line":352,"column":17}},{"start":{"line":352,"column":21},"end":{"line":352,"column":46}}]},"30":{"loc":{"start":{"line":353,"column":12},"end":{"line":353,"column":25}},"type":"binary-expr","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":19}},{"start":{"line":353,"column":23},"end":{"line":353,"column":25}}]},"31":{"loc":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"type":"if","locations":[{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},{"start":{"line":355,"column":2},"end":{"line":366,"column":3}}]},"32":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":75}},"type":"binary-expr","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":26}},{"start":{"line":355,"column":30},"end":{"line":355,"column":45}},{"start":{"line":355,"column":49},"end":{"line":355,"column":75}}]},"33":{"loc":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"type":"if","locations":[{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},{"start":{"line":356,"column":4},"end":{"line":358,"column":5}}]},"34":{"loc":{"start":{"line":359,"column":13},"end":{"line":359,"column":59}},"type":"binary-expr","locations":[{"start":{"line":359,"column":13},"end":{"line":359,"column":42}},{"start":{"line":359,"column":46},"end":{"line":359,"column":59}}]},"35":{"loc":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"type":"if","locations":[{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},{"start":{"line":361,"column":4},"end":{"line":365,"column":5}}]},"36":{"loc":{"start":{"line":387,"column":11},"end":{"line":387,"column":41}},"type":"binary-expr","locations":[{"start":{"line":387,"column":11},"end":{"line":387,"column":17}},{"start":{"line":387,"column":21},"end":{"line":387,"column":41}}]},"37":{"loc":{"start":{"line":390,"column":32},"end":{"line":390,"column":75}},"type":"cond-expr","locations":[{"start":{"line":390,"column":49},"end":{"line":390,"column":60}},{"start":{"line":390,"column":63},"end":{"line":390,"column":75}}]},"38":{"loc":{"start":{"line":431,"column":19},"end":{"line":431,"column":62}},"type":"binary-expr","locations":[{"start":{"line":431,"column":19},"end":{"line":431,"column":33}},{"start":{"line":431,"column":37},"end":{"line":431,"column":62}}]},"39":{"loc":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"type":"if","locations":[{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},{"start":{"line":433,"column":2},"end":{"line":435,"column":3}}]},"40":{"loc":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"type":"if","locations":[{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},{"start":{"line":438,"column":2},"end":{"line":440,"column":3}}]},"41":{"loc":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"type":"if","locations":[{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},{"start":{"line":458,"column":2},"end":{"line":460,"column":3}}]},"42":{"loc":{"start":{"line":468,"column":12},"end":{"line":468,"column":24}},"type":"binary-expr","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":17}},{"start":{"line":468,"column":21},"end":{"line":468,"column":24}}]},"43":{"loc":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"type":"if","locations":[{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},{"start":{"line":470,"column":4},"end":{"line":472,"column":5}}]},"44":{"loc":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"type":"if","locations":[{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},{"start":{"line":476,"column":4},"end":{"line":478,"column":5}}]},"45":{"loc":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"type":"if","locations":[{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},{"start":{"line":481,"column":2},"end":{"line":483,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":6,"14":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":10,"43":0,"44":0,"45":0,"46":5,"47":5,"48":5,"49":3,"50":0,"51":3,"52":2,"53":0,"54":0,"55":0,"56":0,"57":0,"58":2,"59":2,"60":2,"61":2,"62":2,"63":2,"64":2,"65":0,"66":0,"67":0,"68":3,"69":4,"70":4,"71":4,"72":0,"73":4,"74":1,"75":4,"76":0,"77":4,"78":4,"79":4,"80":1,"81":3,"82":3,"83":1,"84":1,"85":0,"86":0,"87":4,"88":4,"89":4,"90":4,"91":4,"92":4,"93":3,"94":3,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":0,"104":1,"105":1,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":1,"117":1,"118":0,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":1,"145":1,"146":1,"147":1,"148":1,"149":0,"150":1,"151":0,"152":0,"153":1,"154":1,"155":0,"156":0,"157":0,"158":0,"159":0,"160":1,"161":5,"162":1,"163":1,"164":0,"165":1,"166":1,"167":1,"168":0,"169":1,"170":1,"171":0,"172":1,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":1,"191":1,"192":1},"f":{"0":6,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":10,"11":0,"12":5,"13":3,"14":2,"15":0,"16":4,"17":4,"18":1,"19":4,"20":4,"21":1,"22":1,"23":1,"24":0,"25":0,"26":1,"27":1,"28":0,"29":0,"30":0,"31":1,"32":0,"33":0,"34":0,"35":0,"36":1,"37":5,"38":1,"39":1,"40":0,"41":0,"42":0},"b":{"0":[0,0],"1":[0,0],"2":[0,3],"3":[2,1],"4":[0,2],"5":[0,0],"6":[2,0],"7":[0,2],"8":[0,4],"9":[4,4],"10":[1,3],"11":[4,4],"12":[0,4],"13":[1,3],"14":[1,2],"15":[0,0],"16":[4,0],"17":[3,0],"18":[1,0],"19":[0,1],"20":[0,0],"21":[0,0],"22":[0,1],"23":[1,0],"24":[0,1],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[1,1],"30":[1,1],"31":[1,0],"32":[1,0,0],"33":[0,1],"34":[1,1],"35":[0,0],"36":[0,0],"37":[0,0],"38":[1,1],"39":[0,1],"40":[0,1],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3a43360dca26d74ffd67cfe5ec75309575f038ac","contentHash":"10edbceee6329f5ee9c0d2f625fd311b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":4,"1":4,"2":4,"3":4,"4":4,"5":0,"6":0,"7":0,"8":0,"9":2,"10":1,"11":4,"12":4,"13":2,"14":2,"15":0,"16":0,"17":2,"18":2,"19":2,"20":0,"21":0,"22":0,"23":0,"24":2,"25":4,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":1,"34":2,"35":2,"36":2,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":2,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":2,"74":2,"75":2,"76":0,"77":0,"78":2,"79":2,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":2,"88":2,"89":2,"90":2,"91":2,"92":2,"93":2,"94":2,"95":2,"96":2,"97":2,"98":2,"99":2,"100":2,"101":2,"102":0,"103":2,"104":2,"105":2,"106":2,"107":4,"108":0,"109":3},"f":{"0":0,"1":0,"2":0,"3":0,"4":2,"5":1,"6":2,"7":2,"8":0,"9":2,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":1,"18":2,"19":0,"20":0,"21":0,"22":2,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":2,"33":2,"34":2,"35":2,"36":2,"37":0,"38":3},"b":{"0":[4,0],"1":[2,2],"2":[2,2],"3":[0,2],"4":[2,0],"5":[0,0],"6":[0,2],"7":[0,0],"8":[0,0],"9":[2,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,2],"25":[0,2],"26":[0,0],"27":[0,2],"28":[3,3]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf","contentHash":"d1d8e598552dfe064eef286d267900be_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":4,"1":4,"2":4,"3":4,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":4,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128","contentHash":"672b6336c04cfaa2a8588410ce063022_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/levels.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/levels.js","statementMap":{"0":{"start":{"line":9,"column":4},"end":{"line":9,"column":23}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":42}},"9":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":39}},"11":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"12":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":24}},"14":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"15":{"start":{"line":52,"column":4},"end":{"line":52,"column":43}},"16":{"start":{"line":53,"column":4},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"18":{"start":{"line":57,"column":4},"end":{"line":57,"column":62}},"19":{"start":{"line":60,"column":2},"end":{"line":60,"column":34}},"20":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"21":{"start":{"line":66,"column":23},"end":{"line":66,"column":45}},"22":{"start":{"line":67,"column":4},"end":{"line":67,"column":32}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"24":{"start":{"line":72,"column":0},"end":{"line":85,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":13},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":34},"end":{"line":22,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":37},"end":{"line":29,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":31,"column":24},"end":{"line":36,"column":3}}},"5":{"name":"toLevel","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":37},"end":{"line":61,"column":1}}},"6":{"name":"getLevel","decl":{"start":{"line":63,"column":9},"end":{"line":63,"column":17}},"loc":{"start":{"line":63,"column":28},"end":{"line":70,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{"line":32,"column":4},"end":{"line":34,"column":5}}]},"3":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}]},"4":{"loc":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},{"start":{"line":51,"column":2},"end":{"line":54,"column":3}}]},"5":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}]},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":61}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":45}},{"start":{"line":57,"column":49},"end":{"line":57,"column":61}}]},"7":{"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},{"start":{"line":65,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":9,"1":9,"2":7,"3":3,"4":0,"5":3,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":10,"13":0,"14":10,"15":0,"16":0,"17":10,"18":10,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1},"f":{"0":9,"1":7,"2":3,"3":0,"4":0,"5":10,"6":0},"b":{"0":[0,3],"1":[0,0],"2":[0,0],"3":[0,10],"4":[0,10],"5":[10,0],"6":[10,0],"7":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"daae16d9a9a708cc048c35299774fc26e22cf555","contentHash":"de3beea1cbd1c093130b8e3a1963e9d2_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":21},"end":{"line":6,"column":38}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":36}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":27}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":32}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":23}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":25}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":50,"column":4},"end":{"line":50,"column":45}},"11":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"12":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":67}},"14":{"start":{"line":62,"column":4},"end":{"line":62,"column":22}},"15":{"start":{"line":68,"column":17},"end":{"line":68,"column":38}},"16":{"start":{"line":69,"column":21},"end":{"line":69,"column":57}},"17":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":13}},"19":{"start":{"line":73,"column":4},"end":{"line":73,"column":39}},"20":{"start":{"line":77,"column":4},"end":{"line":77,"column":54}},"21":{"start":{"line":81,"column":25},"end":{"line":81,"column":75}},"22":{"start":{"line":82,"column":4},"end":{"line":82,"column":35}},"23":{"start":{"line":86,"column":0},"end":{"line":86,"column":43}},"24":{"start":{"line":87,"column":0},"end":{"line":87,"column":38}},"25":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"26":{"start":{"line":92,"column":16},"end":{"line":92,"column":38}},"27":{"start":{"line":94,"column":24},"end":{"line":94,"column":54}},"28":{"start":{"line":95,"column":22},"end":{"line":95,"column":81}},"29":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}},"30":{"start":{"line":96,"column":24},"end":{"line":96,"column":75}},"31":{"start":{"line":98,"column":2},"end":{"line":100,"column":4}},"32":{"start":{"line":99,"column":4},"end":{"line":99,"column":49}},"33":{"start":{"line":102,"column":2},"end":{"line":109,"column":4}},"34":{"start":{"line":105,"column":17},"end":{"line":105,"column":38}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":117,"column":2},"end":{"line":117,"column":27}},"38":{"start":{"line":125,"column":2},"end":{"line":125,"column":26}},"39":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"40":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"41":{"start":{"line":130,"column":0},"end":{"line":130,"column":57}},"42":{"start":{"line":131,"column":0},"end":{"line":131,"column":55}},"43":{"start":{"line":132,"column":0},"end":{"line":132,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":49},"end":{"line":32,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":27},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":65,"column":8},"end":{"line":74,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":29},"end":{"line":78,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":20},"end":{"line":83,"column":3}}},"7":{"name":"addLevelMethods","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":33},"end":{"line":110,"column":1}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":95,"column":57},"end":{"line":95,"column":58}},"loc":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":50},"end":{"line":98,"column":51}},"loc":{"start":{"line":98,"column":62},"end":{"line":100,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":34},"end":{"line":102,"column":35}},"loc":{"start":{"line":102,"column":46},"end":{"line":109,"column":3}}},"11":{"name":"disableAllLogWrites","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":28}},"loc":{"start":{"line":116,"column":31},"end":{"line":118,"column":1}}},"12":{"name":"enableAllLogWrites","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":27}},"loc":{"start":{"line":124,"column":30},"end":{"line":126,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"type":"binary-expr","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}}]},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":4},"end":{"line":54,"column":5}}]},"2":{"loc":{"start":{"line":58,"column":39},"end":{"line":58,"column":65}},"type":"binary-expr","locations":[{"start":{"line":58,"column":39},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":65}}]},"3":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}]},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}}]},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":106,"column":54}},"type":"binary-expr","locations":[{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},{"start":{"line":106,"column":28},"end":{"line":106,"column":54}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":3,"5":3,"6":3,"7":3,"8":3,"9":2,"10":2,"11":2,"12":0,"13":0,"14":0,"15":3,"16":3,"17":3,"18":0,"19":3,"20":3,"21":3,"22":3,"23":1,"24":1,"25":1,"26":7,"27":7,"28":7,"29":0,"30":7,"31":7,"32":0,"33":7,"34":0,"35":0,"36":0,"37":0,"38":4,"39":1,"40":1,"41":1,"42":1,"43":1},"f":{"0":3,"1":2,"2":0,"3":0,"4":3,"5":3,"6":3,"7":7,"8":0,"9":0,"10":0,"11":0,"12":4},"b":{"0":[2,0],"1":[0,2],"2":[0,0],"3":[0,3],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7d8e54612a5d21505ecc3cd8c5eea114082c17db","contentHash":"00d625ca9babf994c26685dc45e2004b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":7,"column":23},"end":{"line":10,"column":18}},"2":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"4":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":34}},"6":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"7":{"start":{"line":50,"column":21},"end":{"line":50,"column":30}},"8":{"start":{"line":51,"column":14},"end":{"line":51,"column":56}},"9":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"10":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"11":{"start":{"line":55,"column":2},"end":{"line":112,"column":4}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"13":{"start":{"line":57,"column":22},"end":{"line":57,"column":36}},"14":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"15":{"start":{"line":60,"column":46},"end":{"line":60,"column":60}},"16":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"17":{"start":{"line":63,"column":20},"end":{"line":63,"column":30}},"18":{"start":{"line":64,"column":24},"end":{"line":64,"column":37}},"19":{"start":{"line":67,"column":6},"end":{"line":67,"column":26}},"20":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"21":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":37}},"23":{"start":{"line":74,"column":8},"end":{"line":74,"column":32}},"24":{"start":{"line":75,"column":8},"end":{"line":75,"column":38}},"25":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"26":{"start":{"line":79,"column":10},"end":{"line":79,"column":30}},"27":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"28":{"start":{"line":80,"column":27},"end":{"line":80,"column":47}},"29":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"30":{"start":{"line":81,"column":27},"end":{"line":81,"column":48}},"31":{"start":{"line":83,"column":10},"end":{"line":83,"column":61}},"32":{"start":{"line":88,"column":6},"end":{"line":107,"column":9}},"33":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"34":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"35":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"37":{"start":{"line":93,"column":37},"end":{"line":93,"column":57}},"38":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"39":{"start":{"line":94,"column":37},"end":{"line":94,"column":58}},"40":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"41":{"start":{"line":98,"column":33},"end":{"line":98,"column":79}},"42":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"43":{"start":{"line":101,"column":25},"end":{"line":101,"column":74}},"44":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}},"45":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"46":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"47":{"start":{"line":104,"column":12},"end":{"line":104,"column":63}},"48":{"start":{"line":111,"column":4},"end":{"line":111,"column":18}},"49":{"start":{"line":126,"column":28},"end":{"line":138,"column":3}},"50":{"start":{"line":127,"column":14},"end":{"line":127,"column":28}},"51":{"start":{"line":128,"column":4},"end":{"line":136,"column":5}},"52":{"start":{"line":129,"column":6},"end":{"line":135,"column":7}},"53":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"54":{"start":{"line":133,"column":10},"end":{"line":133,"column":27}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":13}},"56":{"start":{"line":140,"column":24},"end":{"line":140,"column":26}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":66}},"58":{"start":{"line":142,"column":2},"end":{"line":142,"column":72}},"59":{"start":{"line":143,"column":2},"end":{"line":143,"column":72}},"60":{"start":{"line":144,"column":2},"end":{"line":144,"column":68}},"61":{"start":{"line":145,"column":2},"end":{"line":145,"column":92}},"62":{"start":{"line":146,"column":2},"end":{"line":146,"column":81}},"63":{"start":{"line":147,"column":2},"end":{"line":147,"column":80}},"64":{"start":{"line":148,"column":2},"end":{"line":151,"column":5}},"65":{"start":{"line":152,"column":2},"end":{"line":155,"column":5}},"66":{"start":{"line":156,"column":2},"end":{"line":166,"column":5}},"67":{"start":{"line":167,"column":2},"end":{"line":167,"column":87}},"68":{"start":{"line":168,"column":2},"end":{"line":173,"column":5}},"69":{"start":{"line":174,"column":2},"end":{"line":179,"column":5}},"70":{"start":{"line":177,"column":6},"end":{"line":177,"column":46}},"71":{"start":{"line":180,"column":2},"end":{"line":187,"column":5}},"72":{"start":{"line":183,"column":6},"end":{"line":185,"column":50}},"73":{"start":{"line":189,"column":2},"end":{"line":189,"column":63}},"74":{"start":{"line":203,"column":2},"end":{"line":203,"column":36}},"75":{"start":{"line":215,"column":2},"end":{"line":217,"column":3}},"76":{"start":{"line":216,"column":4},"end":{"line":216,"column":62}},"77":{"start":{"line":218,"column":2},"end":{"line":218,"column":13}},"78":{"start":{"line":249,"column":15},"end":{"line":249,"column":19}},"79":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"80":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"81":{"start":{"line":253,"column":6},"end":{"line":253,"column":21}},"82":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"83":{"start":{"line":257,"column":6},"end":{"line":257,"column":33}},"84":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"85":{"start":{"line":262,"column":31},"end":{"line":262,"column":80}},"86":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"87":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"88":{"start":{"line":267,"column":2},"end":{"line":267,"column":16}},"89":{"start":{"line":270,"column":0},"end":{"line":270,"column":41}}},"fnMap":{"0":{"name":"getLogger","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":39},"end":{"line":113,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":10}},"loc":{"start":{"line":55,"column":29},"end":{"line":112,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":70,"column":22},"end":{"line":70,"column":23}},"loc":{"start":{"line":70,"column":41},"end":{"line":85,"column":7}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":23},"end":{"line":88,"column":24}},"loc":{"start":{"line":88,"column":29},"end":{"line":107,"column":7}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":39},"end":{"line":101,"column":40}},"loc":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}}},"5":{"name":"assembleTokens","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":48},"end":{"line":190,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":28},"end":{"line":126,"column":29}},"loc":{"start":{"line":126,"column":39},"end":{"line":138,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":17},"end":{"line":176,"column":18}},"loc":{"start":{"line":176,"column":37},"end":{"line":178,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":182,"column":17},"end":{"line":182,"column":18}},"loc":{"start":{"line":182,"column":37},"end":{"line":186,"column":5}}},"9":{"name":"getUrl","decl":{"start":{"line":202,"column":9},"end":{"line":202,"column":15}},"loc":{"start":{"line":202,"column":21},"end":{"line":204,"column":1}}},"10":{"name":"format","decl":{"start":{"line":214,"column":9},"end":{"line":214,"column":15}},"loc":{"start":{"line":214,"column":29},"end":{"line":219,"column":1}}},"11":{"name":"createNoLogCondition","decl":{"start":{"line":248,"column":9},"end":{"line":248,"column":29}},"loc":{"start":{"line":248,"column":37},"end":{"line":268,"column":1}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":262,"column":41},"end":{"line":262,"column":42}},"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}}}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},{"start":{"line":42,"column":2},"end":{"line":48,"column":3}}]},"1":{"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":27}},"type":"binary-expr","locations":[{"start":{"line":43,"column":14},"end":{"line":43,"column":21}},{"start":{"line":43,"column":25},"end":{"line":43,"column":27}}]},"2":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}]},"3":{"loc":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"type":"binary-expr","locations":[{"start":{"line":52,"column":14},"end":{"line":52,"column":28}},{"start":{"line":52,"column":32},"end":{"line":52,"column":46}}]},"4":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":32},"end":{"line":53,"column":67}},{"start":{"line":53,"column":70},"end":{"line":53,"column":74}}]},"5":{"loc":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},{"start":{"line":57,"column":4},"end":{"line":57,"column":36}}]},"6":{"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},{"start":{"line":60,"column":4},"end":{"line":60,"column":60}}]},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":44}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":13}},{"start":{"line":60,"column":17},"end":{"line":60,"column":44}}]},"8":{"loc":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},{"start":{"line":62,"column":4},"end":{"line":108,"column":5}}]},"9":{"loc":{"start":{"line":62,"column":8},"end":{"line":62,"column":68}},"type":"binary-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":40}},{"start":{"line":62,"column":44},"end":{"line":62,"column":68}}]},"10":{"loc":{"start":{"line":75,"column":24},"end":{"line":75,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":24},"end":{"line":75,"column":31}},{"start":{"line":75,"column":35},"end":{"line":75,"column":37}}]},"11":{"loc":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},{"start":{"line":78,"column":8},"end":{"line":84,"column":9}}]},"12":{"loc":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},{"start":{"line":80,"column":10},"end":{"line":80,"column":47}}]},"13":{"loc":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},{"start":{"line":81,"column":10},"end":{"line":81,"column":48}}]},"14":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":91,"column":8},"end":{"line":95,"column":9}}]},"15":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":54}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":26}},{"start":{"line":91,"column":30},"end":{"line":91,"column":54}}]},"16":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"type":"if","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},{"start":{"line":93,"column":10},"end":{"line":93,"column":57}}]},"17":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"type":"if","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},{"start":{"line":94,"column":10},"end":{"line":94,"column":58}}]},"18":{"loc":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},{"start":{"line":97,"column":8},"end":{"line":106,"column":9}}]},"19":{"loc":{"start":{"line":98,"column":58},"end":{"line":98,"column":78}},"type":"binary-expr","locations":[{"start":{"line":98,"column":58},"end":{"line":98,"column":72}},{"start":{"line":98,"column":76},"end":{"line":98,"column":78}}]},"20":{"loc":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},{"start":{"line":100,"column":10},"end":{"line":105,"column":11}}]},"21":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"type":"if","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},{"start":{"line":102,"column":12},"end":{"line":102,"column":50}}]},"22":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},{"start":{"line":132,"column":8},"end":{"line":134,"column":9}}]},"23":{"loc":{"start":{"line":145,"column":54},"end":{"line":145,"column":88}},"type":"binary-expr","locations":[{"start":{"line":145,"column":54},"end":{"line":145,"column":70}},{"start":{"line":145,"column":74},"end":{"line":145,"column":88}}]},"24":{"loc":{"start":{"line":150,"column":17},"end":{"line":150,"column":66}},"type":"binary-expr","locations":[{"start":{"line":150,"column":17},"end":{"line":150,"column":36}},{"start":{"line":150,"column":40},"end":{"line":150,"column":60}},{"start":{"line":150,"column":64},"end":{"line":150,"column":66}}]},"25":{"loc":{"start":{"line":158,"column":17},"end":{"line":165,"column":5}},"type":"binary-expr","locations":[{"start":{"line":158,"column":17},"end":{"line":158,"column":47}},{"start":{"line":159,"column":4},"end":{"line":159,"column":10}},{"start":{"line":160,"column":4},"end":{"line":160,"column":22}},{"start":{"line":161,"column":5},"end":{"line":161,"column":15}},{"start":{"line":162,"column":7},"end":{"line":162,"column":31}},{"start":{"line":163,"column":9},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":61}}]},"26":{"loc":{"start":{"line":170,"column":17},"end":{"line":172,"column":7}},"type":"binary-expr","locations":[{"start":{"line":170,"column":18},"end":{"line":170,"column":30}},{"start":{"line":170,"column":34},"end":{"line":170,"column":64}},{"start":{"line":171,"column":5},"end":{"line":171,"column":18}},{"start":{"line":171,"column":22},"end":{"line":171,"column":53}},{"start":{"line":172,"column":4},"end":{"line":172,"column":7}}]},"27":{"loc":{"start":{"line":183,"column":13},"end":{"line":185,"column":49}},"type":"cond-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},{"start":{"line":185,"column":11},"end":{"line":185,"column":48}}]},"28":{"loc":{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":47}},{"start":{"line":184,"column":51},"end":{"line":184,"column":71}}]},"29":{"loc":{"start":{"line":185,"column":11},"end":{"line":185,"column":48}},"type":"binary-expr","locations":[{"start":{"line":185,"column":11},"end":{"line":185,"column":24}},{"start":{"line":185,"column":28},"end":{"line":185,"column":48}}]},"30":{"loc":{"start":{"line":203,"column":9},"end":{"line":203,"column":35}},"type":"binary-expr","locations":[{"start":{"line":203,"column":9},"end":{"line":203,"column":24}},{"start":{"line":203,"column":28},"end":{"line":203,"column":35}}]},"31":{"loc":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},{"start":{"line":251,"column":2},"end":{"line":265,"column":3}}]},"32":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{"line":252,"column":4},"end":{"line":254,"column":5}}]},"33":{"loc":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},{"start":{"line":256,"column":4},"end":{"line":258,"column":5}}]},"34":{"loc":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"type":"if","locations":[{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},{"start":{"line":260,"column":4},"end":{"line":264,"column":5}}]},"35":{"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"type":"cond-expr","locations":[{"start":{"line":262,"column":62},"end":{"line":262,"column":72}},{"start":{"line":262,"column":75},"end":{"line":262,"column":78}}]}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0,0,0,0,0,0],"26":[0,0,0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8de6ff12985e168d800fe4d220a8a32e3c1dbe2a","contentHash":"06eb335e3bac458879bb256f44ac2576_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}}},"fnMap":{"0":{"name":"stdoutAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":33},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":0,"4":1,"5":0,"6":1,"7":1,"8":1},"f":{"0":1,"1":0,"2":1},"b":{"0":[1,1],"1":[0,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7fe10c84b315d3ba3e07ce62d5e48e59666eb827","contentHash":"009980a1b175f554654dded39c797b6c_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/logstashUDP.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/logstashUDP.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":4,"column":14},"end":{"line":4,"column":30}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":8,"column":14},"end":{"line":8,"column":40}},"4":{"start":{"line":9,"column":15},"end":{"line":9,"column":64}},"5":{"start":{"line":10,"column":2},"end":{"line":10,"column":41}},"6":{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},"7":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"8":{"start":{"line":16,"column":2},"end":{"line":50,"column":4}},"9":{"start":{"line":31,"column":4},"end":{"line":38,"column":5}},"10":{"start":{"line":32,"column":27},"end":{"line":32,"column":47}},"11":{"start":{"line":33,"column":6},"end":{"line":37,"column":7}},"12":{"start":{"line":34,"column":8},"end":{"line":36,"column":9}},"13":{"start":{"line":35,"column":10},"end":{"line":35,"column":49}},"14":{"start":{"line":39,"column":4},"end":{"line":39,"column":54}},"15":{"start":{"line":40,"column":4},"end":{"line":40,"column":55}},"16":{"start":{"line":42,"column":22},"end":{"line":48,"column":5}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":54}},"18":{"start":{"line":54,"column":17},"end":{"line":54,"column":54}},"19":{"start":{"line":57,"column":2},"end":{"line":61,"column":5}},"20":{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},"21":{"start":{"line":59,"column":6},"end":{"line":59,"column":91}},"22":{"start":{"line":66,"column":2},"end":{"line":68,"column":3}},"23":{"start":{"line":67,"column":4},"end":{"line":67,"column":63}},"24":{"start":{"line":70,"column":2},"end":{"line":70,"column":37}},"25":{"start":{"line":73,"column":0},"end":{"line":73,"column":38}},"26":{"start":{"line":74,"column":0},"end":{"line":74,"column":37}}},"fnMap":{"0":{"name":"logstashUDP","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":20}},"loc":{"start":{"line":7,"column":37},"end":{"line":51,"column":1}}},"1":{"name":"log","decl":{"start":{"line":16,"column":18},"end":{"line":16,"column":21}},"loc":{"start":{"line":16,"column":36},"end":{"line":50,"column":3}}},"2":{"name":"sendLog","decl":{"start":{"line":53,"column":9},"end":{"line":53,"column":16}},"loc":{"start":{"line":53,"column":45},"end":{"line":62,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":57,"column":49},"end":{"line":57,"column":50}},"loc":{"start":{"line":57,"column":65},"end":{"line":61,"column":3}}},"4":{"name":"configure","decl":{"start":{"line":64,"column":9},"end":{"line":64,"column":18}},"loc":{"start":{"line":64,"column":27},"end":{"line":71,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":15},"end":{"line":9,"column":64}},"type":"cond-expr","locations":[{"start":{"line":9,"column":32},"end":{"line":9,"column":46}},{"start":{"line":9,"column":49},"end":{"line":9,"column":64}}]},"1":{"loc":{"start":{"line":10,"column":11},"end":{"line":10,"column":40}},"type":"binary-expr","locations":[{"start":{"line":10,"column":11},"end":{"line":10,"column":17}},{"start":{"line":10,"column":21},"end":{"line":10,"column":40}}]},"2":{"loc":{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},{"start":{"line":12,"column":2},"end":{"line":14,"column":3}}]},"3":{"loc":{"start":{"line":31,"column":4},"end":{"line":38,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":38,"column":5}},{"start":{"line":31,"column":4},"end":{"line":38,"column":5}}]},"4":{"loc":{"start":{"line":34,"column":8},"end":{"line":36,"column":9}},"type":"if","locations":[{"start":{"line":34,"column":8},"end":{"line":36,"column":9}},{"start":{"line":34,"column":8},"end":{"line":36,"column":9}}]},"5":{"loc":{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},{"start":{"line":58,"column":4},"end":{"line":60,"column":5}}]},"6":{"loc":{"start":{"line":66,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":66,"column":2},"end":{"line":68,"column":3}},{"start":{"line":66,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":3,"1":3,"2":3,"3":3,"4":3,"5":3,"6":3,"7":2,"8":3,"9":3,"10":1,"11":1,"12":2,"13":2,"14":3,"15":3,"16":3,"17":3,"18":3,"19":3,"20":3,"21":0,"22":3,"23":3,"24":3,"25":3,"26":3},"f":{"0":3,"1":3,"2":3,"3":3,"4":3},"b":{"0":[1,2],"1":[3,0],"2":[2,1],"3":[1,2],"4":[2,0],"5":[0,3],"6":[3,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e3c2fd36c2fe5b8281eb1e743e095feea3a498c7"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/45223ee8e60afe371609e371646b7357.json b/node_modules/log4js/.nyc_output/45223ee8e60afe371609e371646b7357.json deleted file mode 100644 index 761b838..0000000 --- a/node_modules/log4js/.nyc_output/45223ee8e60afe371609e371646b7357.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/log4js.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/log4js.js","statementMap":{"0":{"start":{"line":35,"column":11},"end":{"line":35,"column":24}},"1":{"start":{"line":36,"column":13},"end":{"line":36,"column":28}},"2":{"start":{"line":37,"column":16},"end":{"line":37,"column":36}},"3":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"4":{"start":{"line":39,"column":21},"end":{"line":39,"column":40}},"5":{"start":{"line":40,"column":22},"end":{"line":40,"column":63}},"6":{"start":{"line":42,"column":15},"end":{"line":42,"column":34}},"7":{"start":{"line":44,"column":23},"end":{"line":44,"column":30}},"8":{"start":{"line":45,"column":16},"end":{"line":45,"column":18}},"9":{"start":{"line":46,"column":23},"end":{"line":46,"column":25}},"10":{"start":{"line":47,"column":26},"end":{"line":47,"column":28}},"11":{"start":{"line":48,"column":22},"end":{"line":53,"column":1}},"12":{"start":{"line":55,"column":16},"end":{"line":55,"column":18}},"13":{"start":{"line":58,"column":2},"end":{"line":58,"column":40}},"14":{"start":{"line":62,"column":0},"end":{"line":70,"column":2}},"15":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"16":{"start":{"line":65,"column":23},"end":{"line":65,"column":45}},"17":{"start":{"line":66,"column":4},"end":{"line":66,"column":51}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":40}},"19":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"20":{"start":{"line":73,"column":21},"end":{"line":73,"column":44}},"21":{"start":{"line":74,"column":17},"end":{"line":74,"column":19}},"22":{"start":{"line":75,"column":2},"end":{"line":75,"column":19}},"23":{"start":{"line":76,"column":2},"end":{"line":76,"column":29}},"24":{"start":{"line":77,"column":2},"end":{"line":83,"column":4}},"25":{"start":{"line":78,"column":4},"end":{"line":82,"column":5}},"26":{"start":{"line":79,"column":18},"end":{"line":79,"column":32}},"27":{"start":{"line":80,"column":6},"end":{"line":80,"column":44}},"28":{"start":{"line":81,"column":6},"end":{"line":81,"column":28}},"29":{"start":{"line":84,"column":2},"end":{"line":86,"column":4}},"30":{"start":{"line":85,"column":4},"end":{"line":85,"column":59}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":4}},"32":{"start":{"line":88,"column":4},"end":{"line":88,"column":59}},"33":{"start":{"line":90,"column":2},"end":{"line":92,"column":4}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":58}},"35":{"start":{"line":93,"column":2},"end":{"line":95,"column":4}},"36":{"start":{"line":94,"column":4},"end":{"line":94,"column":58}},"37":{"start":{"line":96,"column":2},"end":{"line":98,"column":4}},"38":{"start":{"line":97,"column":4},"end":{"line":97,"column":59}},"39":{"start":{"line":99,"column":2},"end":{"line":101,"column":4}},"40":{"start":{"line":100,"column":4},"end":{"line":100,"column":59}},"41":{"start":{"line":103,"column":2},"end":{"line":103,"column":16}},"42":{"start":{"line":107,"column":2},"end":{"line":107,"column":24}},"43":{"start":{"line":111,"column":34},"end":{"line":111,"column":66}},"44":{"start":{"line":112,"column":35},"end":{"line":112,"column":68}},"45":{"start":{"line":113,"column":2},"end":{"line":113,"column":107}},"46":{"start":{"line":117,"column":37},"end":{"line":117,"column":72}},"47":{"start":{"line":118,"column":35},"end":{"line":118,"column":68}},"48":{"start":{"line":119,"column":2},"end":{"line":119,"column":113}},"49":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"50":{"start":{"line":131,"column":4},"end":{"line":131,"column":49}},"51":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"52":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"53":{"start":{"line":142,"column":19},"end":{"line":142,"column":52}},"54":{"start":{"line":143,"column":6},"end":{"line":149,"column":7}},"55":{"start":{"line":144,"column":30},"end":{"line":144,"column":39}},"56":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"57":{"start":{"line":147,"column":10},"end":{"line":147,"column":47}},"58":{"start":{"line":154,"column":4},"end":{"line":154,"column":72}},"59":{"start":{"line":158,"column":4},"end":{"line":165,"column":5}},"60":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"61":{"start":{"line":160,"column":8},"end":{"line":160,"column":51}},"62":{"start":{"line":161,"column":8},"end":{"line":163,"column":11}},"63":{"start":{"line":162,"column":10},"end":{"line":162,"column":67}},"64":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":47}},"66":{"start":{"line":170,"column":6},"end":{"line":172,"column":9}},"67":{"start":{"line":171,"column":8},"end":{"line":171,"column":65}},"68":{"start":{"line":176,"column":2},"end":{"line":176,"column":37}},"69":{"start":{"line":185,"column":13},"end":{"line":185,"column":34}},"70":{"start":{"line":186,"column":19},"end":{"line":186,"column":31}},"71":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"72":{"start":{"line":189,"column":4},"end":{"line":189,"column":47}},"73":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"74":{"start":{"line":193,"column":4},"end":{"line":193,"column":28}},"75":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"76":{"start":{"line":197,"column":4},"end":{"line":197,"column":19}},"77":{"start":{"line":200,"column":2},"end":{"line":212,"column":5}},"78":{"start":{"line":201,"column":4},"end":{"line":201,"column":54}},"79":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"80":{"start":{"line":204,"column":6},"end":{"line":204,"column":40}},"81":{"start":{"line":206,"column":6},"end":{"line":210,"column":7}},"82":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"83":{"start":{"line":208,"column":10},"end":{"line":208,"column":63}},"84":{"start":{"line":216,"column":2},"end":{"line":220,"column":3}},"85":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":218,"column":6},"end":{"line":218,"column":51}},"87":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"88":{"start":{"line":225,"column":4},"end":{"line":225,"column":29}},"89":{"start":{"line":227,"column":2},"end":{"line":227,"column":37}},"90":{"start":{"line":233,"column":2},"end":{"line":233,"column":36}},"91":{"start":{"line":234,"column":2},"end":{"line":234,"column":17}},"92":{"start":{"line":235,"column":2},"end":{"line":239,"column":3}},"93":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"94":{"start":{"line":237,"column":6},"end":{"line":237,"column":48}},"95":{"start":{"line":243,"column":2},"end":{"line":243,"column":19}},"96":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"97":{"start":{"line":245,"column":4},"end":{"line":255,"column":7}},"98":{"start":{"line":246,"column":6},"end":{"line":246,"column":40}},"99":{"start":{"line":248,"column":6},"end":{"line":248,"column":45}},"100":{"start":{"line":249,"column":6},"end":{"line":254,"column":7}},"101":{"start":{"line":250,"column":8},"end":{"line":250,"column":80}},"102":{"start":{"line":251,"column":8},"end":{"line":251,"column":55}},"103":{"start":{"line":253,"column":8},"end":{"line":253,"column":95}},"104":{"start":{"line":260,"column":2},"end":{"line":260,"column":26}},"105":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"106":{"start":{"line":262,"column":17},"end":{"line":262,"column":50}},"107":{"start":{"line":265,"column":4},"end":{"line":276,"column":5}},"108":{"start":{"line":266,"column":23},"end":{"line":266,"column":32}},"109":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":45}},"111":{"start":{"line":271,"column":6},"end":{"line":275,"column":7}},"112":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"113":{"start":{"line":273,"column":10},"end":{"line":273,"column":62}},"114":{"start":{"line":281,"column":2},"end":{"line":281,"column":63}},"115":{"start":{"line":290,"column":2},"end":{"line":290,"column":44}},"116":{"start":{"line":293,"column":20},"end":{"line":293,"column":22}},"117":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"118":{"start":{"line":297,"column":4},"end":{"line":297,"column":57}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":19}},"120":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"121":{"start":{"line":304,"column":4},"end":{"line":316,"column":5}},"122":{"start":{"line":305,"column":6},"end":{"line":305,"column":23}},"123":{"start":{"line":306,"column":6},"end":{"line":306,"column":37}},"124":{"start":{"line":307,"column":6},"end":{"line":307,"column":52}},"125":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"126":{"start":{"line":310,"column":8},"end":{"line":310,"column":25}},"127":{"start":{"line":313,"column":6},"end":{"line":315,"column":8}},"128":{"start":{"line":321,"column":16},"end":{"line":321,"column":46}},"129":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"130":{"start":{"line":322,"column":14},"end":{"line":322,"column":21}},"131":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"132":{"start":{"line":325,"column":4},"end":{"line":325,"column":75}},"133":{"start":{"line":327,"column":2},"end":{"line":327,"column":32}},"134":{"start":{"line":332,"column":2},"end":{"line":336,"column":3}},"135":{"start":{"line":333,"column":4},"end":{"line":333,"column":52}},"136":{"start":{"line":335,"column":4},"end":{"line":335,"column":78}},"137":{"start":{"line":337,"column":2},"end":{"line":337,"column":15}},"138":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"139":{"start":{"line":342,"column":4},"end":{"line":342,"column":39}},"140":{"start":{"line":343,"column":4},"end":{"line":343,"column":31}},"141":{"start":{"line":345,"column":2},"end":{"line":345,"column":34}},"142":{"start":{"line":346,"column":2},"end":{"line":346,"column":45}},"143":{"start":{"line":347,"column":2},"end":{"line":347,"column":93}},"144":{"start":{"line":351,"column":15},"end":{"line":351,"column":40}},"145":{"start":{"line":352,"column":2},"end":{"line":352,"column":47}},"146":{"start":{"line":353,"column":2},"end":{"line":353,"column":26}},"147":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"148":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"149":{"start":{"line":357,"column":6},"end":{"line":357,"column":47}},"150":{"start":{"line":359,"column":4},"end":{"line":359,"column":60}},"151":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"152":{"start":{"line":362,"column":6},"end":{"line":364,"column":8}},"153":{"start":{"line":367,"column":2},"end":{"line":367,"column":36}},"154":{"start":{"line":370,"column":33},"end":{"line":376,"column":1}},"155":{"start":{"line":380,"column":4},"end":{"line":384,"column":6}},"156":{"start":{"line":383,"column":6},"end":{"line":383,"column":46}},"157":{"start":{"line":387,"column":2},"end":{"line":387,"column":42}},"158":{"start":{"line":389,"column":2},"end":{"line":391,"column":5}},"159":{"start":{"line":390,"column":4},"end":{"line":390,"column":77}},"160":{"start":{"line":395,"column":2},"end":{"line":397,"column":5}},"161":{"start":{"line":396,"column":4},"end":{"line":396,"column":51}},"162":{"start":{"line":412,"column":2},"end":{"line":416,"column":3}},"163":{"start":{"line":413,"column":4},"end":{"line":413,"column":56}},"164":{"start":{"line":415,"column":4},"end":{"line":415,"column":39}},"165":{"start":{"line":417,"column":2},"end":{"line":417,"column":24}},"166":{"start":{"line":431,"column":2},"end":{"line":431,"column":63}},"167":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"168":{"start":{"line":434,"column":4},"end":{"line":434,"column":74}},"169":{"start":{"line":437,"column":2},"end":{"line":437,"column":76}},"170":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"171":{"start":{"line":439,"column":4},"end":{"line":439,"column":79}},"172":{"start":{"line":441,"column":2},"end":{"line":441,"column":75}},"173":{"start":{"line":455,"column":2},"end":{"line":455,"column":37}},"174":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"175":{"start":{"line":459,"column":4},"end":{"line":459,"column":39}},"176":{"start":{"line":463,"column":18},"end":{"line":463,"column":19}},"177":{"start":{"line":465,"column":28},"end":{"line":465,"column":30}},"178":{"start":{"line":468,"column":4},"end":{"line":468,"column":25}},"179":{"start":{"line":469,"column":4},"end":{"line":469,"column":16}},"180":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"181":{"start":{"line":471,"column":6},"end":{"line":471,"column":16}},"182":{"start":{"line":475,"column":2},"end":{"line":479,"column":3}},"183":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":477,"column":6},"end":{"line":477,"column":58}},"185":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"186":{"start":{"line":482,"column":4},"end":{"line":482,"column":16}},"187":{"start":{"line":485,"column":2},"end":{"line":487,"column":5}},"188":{"start":{"line":486,"column":4},"end":{"line":486,"column":26}},"189":{"start":{"line":489,"column":2},"end":{"line":489,"column":14}},"190":{"start":{"line":513,"column":15},"end":{"line":535,"column":1}},"191":{"start":{"line":537,"column":0},"end":{"line":537,"column":24}},"192":{"start":{"line":540,"column":0},"end":{"line":540,"column":12}}},"fnMap":{"0":{"name":"hasLogger","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":18}},"loc":{"start":{"line":57,"column":27},"end":{"line":59,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":47},"end":{"line":70,"column":1}}},"2":{"name":"getBufferedLogger","decl":{"start":{"line":72,"column":9},"end":{"line":72,"column":26}},"loc":{"start":{"line":72,"column":41},"end":{"line":104,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":17},"end":{"line":77,"column":18}},"loc":{"start":{"line":77,"column":29},"end":{"line":83,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":17},"end":{"line":84,"column":18}},"loc":{"start":{"line":84,"column":36},"end":{"line":86,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":87,"column":17},"end":{"line":87,"column":18}},"loc":{"start":{"line":87,"column":36},"end":{"line":89,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":17}},"loc":{"start":{"line":90,"column":35},"end":{"line":92,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":17}},"loc":{"start":{"line":93,"column":35},"end":{"line":95,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":17},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":36},"end":{"line":98,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":18}},"loc":{"start":{"line":99,"column":36},"end":{"line":101,"column":3}}},"10":{"name":"normalizeCategory","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":37},"end":{"line":108,"column":1}}},"11":{"name":"doesLevelEntryContainsLogger","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":37}},"loc":{"start":{"line":110,"column":69},"end":{"line":114,"column":1}}},"12":{"name":"doesAppenderContainsLogger","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":35}},"loc":{"start":{"line":116,"column":70},"end":{"line":120,"column":1}}},"13":{"name":"getLogger","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":18}},"loc":{"start":{"line":128,"column":39},"end":{"line":177,"column":1}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":161,"column":29},"end":{"line":161,"column":30}},"loc":{"start":{"line":161,"column":43},"end":{"line":163,"column":9}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":170,"column":27},"end":{"line":170,"column":28}},"loc":{"start":{"line":170,"column":41},"end":{"line":172,"column":7}}},"16":{"name":"addAppender","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":20}},"loc":{"start":{"line":182,"column":23},"end":{"line":213,"column":1}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":200,"column":15},"end":{"line":200,"column":16}},"loc":{"start":{"line":200,"column":37},"end":{"line":212,"column":3}}},"18":{"name":"addAppenderToAllLoggers","decl":{"start":{"line":215,"column":9},"end":{"line":215,"column":32}},"loc":{"start":{"line":215,"column":43},"end":{"line":221,"column":1}}},"19":{"name":"addAppenderToCategory","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":30}},"loc":{"start":{"line":223,"column":51},"end":{"line":228,"column":1}}},"20":{"name":"clearAppenders","decl":{"start":{"line":230,"column":9},"end":{"line":230,"column":23}},"loc":{"start":{"line":230,"column":26},"end":{"line":240,"column":1}}},"21":{"name":"configureAppenders","decl":{"start":{"line":242,"column":9},"end":{"line":242,"column":27}},"loc":{"start":{"line":242,"column":51},"end":{"line":257,"column":1}}},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":25},"end":{"line":245,"column":26}},"loc":{"start":{"line":245,"column":45},"end":{"line":255,"column":5}}},"23":{"name":"configureLevels","decl":{"start":{"line":259,"column":9},"end":{"line":259,"column":24}},"loc":{"start":{"line":259,"column":34},"end":{"line":278,"column":1}}},"24":{"name":"setGlobalLogLevel","decl":{"start":{"line":280,"column":9},"end":{"line":280,"column":26}},"loc":{"start":{"line":280,"column":34},"end":{"line":282,"column":1}}},"25":{"name":"getDefaultLogger","decl":{"start":{"line":289,"column":9},"end":{"line":289,"column":25}},"loc":{"start":{"line":289,"column":28},"end":{"line":291,"column":1}}},"26":{"name":"loadConfigurationFile","decl":{"start":{"line":295,"column":9},"end":{"line":295,"column":30}},"loc":{"start":{"line":295,"column":41},"end":{"line":300,"column":1}}},"27":{"name":"configureOnceOff","decl":{"start":{"line":302,"column":9},"end":{"line":302,"column":25}},"loc":{"start":{"line":302,"column":43},"end":{"line":318,"column":1}}},"28":{"name":"reloadConfiguration","decl":{"start":{"line":320,"column":9},"end":{"line":320,"column":28}},"loc":{"start":{"line":320,"column":38},"end":{"line":328,"column":1}}},"29":{"name":"getMTime","decl":{"start":{"line":330,"column":9},"end":{"line":330,"column":17}},"loc":{"start":{"line":330,"column":28},"end":{"line":338,"column":1}}},"30":{"name":"initReloadConfiguration","decl":{"start":{"line":340,"column":9},"end":{"line":340,"column":32}},"loc":{"start":{"line":340,"column":52},"end":{"line":348,"column":1}}},"31":{"name":"configure","decl":{"start":{"line":350,"column":9},"end":{"line":350,"column":18}},"loc":{"start":{"line":350,"column":55},"end":{"line":368,"column":1}}},"32":{"name":"replaceConsole","decl":{"start":{"line":378,"column":9},"end":{"line":378,"column":23}},"loc":{"start":{"line":378,"column":32},"end":{"line":392,"column":1}}},"33":{"name":"replaceWith","decl":{"start":{"line":379,"column":11},"end":{"line":379,"column":22}},"loc":{"start":{"line":379,"column":27},"end":{"line":385,"column":3}}},"34":{"name":"(anonymous_34)","decl":{"start":{"line":380,"column":11},"end":{"line":380,"column":12}},"loc":{"start":{"line":380,"column":23},"end":{"line":384,"column":5}}},"35":{"name":"(anonymous_35)","decl":{"start":{"line":389,"column":52},"end":{"line":389,"column":53}},"loc":{"start":{"line":389,"column":62},"end":{"line":391,"column":3}}},"36":{"name":"restoreConsole","decl":{"start":{"line":394,"column":9},"end":{"line":394,"column":23}},"loc":{"start":{"line":394,"column":26},"end":{"line":398,"column":1}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":395,"column":52},"end":{"line":395,"column":53}},"loc":{"start":{"line":395,"column":62},"end":{"line":397,"column":3}}},"38":{"name":"requireAppender","decl":{"start":{"line":410,"column":9},"end":{"line":410,"column":24}},"loc":{"start":{"line":410,"column":35},"end":{"line":418,"column":1}}},"39":{"name":"loadAppender","decl":{"start":{"line":430,"column":9},"end":{"line":430,"column":21}},"loc":{"start":{"line":430,"column":48},"end":{"line":442,"column":1}}},"40":{"name":"shutdown","decl":{"start":{"line":452,"column":9},"end":{"line":452,"column":17}},"loc":{"start":{"line":452,"column":22},"end":{"line":490,"column":1}}},"41":{"name":"complete","decl":{"start":{"line":467,"column":11},"end":{"line":467,"column":19}},"loc":{"start":{"line":467,"column":25},"end":{"line":473,"column":3}}},"42":{"name":"(anonymous_42)","decl":{"start":{"line":485,"column":28},"end":{"line":485,"column":29}},"loc":{"start":{"line":485,"column":45},"end":{"line":487,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},{"start":{"line":64,"column":2},"end":{"line":68,"column":3}}]},"1":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":66}},"type":"binary-expr","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":34}},{"start":{"line":64,"column":38},"end":{"line":64,"column":66}}]},"2":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{"line":130,"column":2},"end":{"line":132,"column":3}}]},"3":{"loc":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},{"start":{"line":134,"column":2},"end":{"line":174,"column":3}}]},"4":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{"line":139,"column":4},"end":{"line":150,"column":5}}]},"5":{"loc":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},{"start":{"line":145,"column":8},"end":{"line":148,"column":9}}]},"6":{"loc":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},{"start":{"line":159,"column":6},"end":{"line":164,"column":7}}]},"7":{"loc":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},{"start":{"line":168,"column":4},"end":{"line":173,"column":5}}]},"8":{"loc":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"type":"if","locations":[{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},{"start":{"line":188,"column":2},"end":{"line":190,"column":3}}]},"9":{"loc":{"start":{"line":188,"column":6},"end":{"line":188,"column":54}},"type":"binary-expr","locations":[{"start":{"line":188,"column":6},"end":{"line":188,"column":21}},{"start":{"line":188,"column":25},"end":{"line":188,"column":54}}]},"10":{"loc":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},{"start":{"line":192,"column":2},"end":{"line":194,"column":3}}]},"11":{"loc":{"start":{"line":192,"column":6},"end":{"line":192,"column":48}},"type":"binary-expr","locations":[{"start":{"line":192,"column":6},"end":{"line":192,"column":23}},{"start":{"line":192,"column":27},"end":{"line":192,"column":48}}]},"12":{"loc":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"type":"if","locations":[{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},{"start":{"line":196,"column":2},"end":{"line":198,"column":3}}]},"13":{"loc":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"type":"if","locations":[{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},{"start":{"line":203,"column":4},"end":{"line":211,"column":5}}]},"14":{"loc":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},{"start":{"line":207,"column":8},"end":{"line":209,"column":9}}]},"15":{"loc":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},{"start":{"line":217,"column":4},"end":{"line":219,"column":5}}]},"16":{"loc":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"type":"if","locations":[{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},{"start":{"line":224,"column":2},"end":{"line":226,"column":3}}]},"17":{"loc":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"type":"if","locations":[{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},{"start":{"line":236,"column":4},"end":{"line":238,"column":5}}]},"18":{"loc":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},{"start":{"line":244,"column":2},"end":{"line":256,"column":3}}]},"19":{"loc":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"type":"if","locations":[{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},{"start":{"line":261,"column":2},"end":{"line":277,"column":3}}]},"20":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{"line":267,"column":6},"end":{"line":269,"column":7}}]},"21":{"loc":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},{"start":{"line":272,"column":8},"end":{"line":274,"column":9}}]},"22":{"loc":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"type":"if","locations":[{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},{"start":{"line":296,"column":2},"end":{"line":298,"column":3}}]},"23":{"loc":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"type":"if","locations":[{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},{"start":{"line":303,"column":2},"end":{"line":317,"column":3}}]},"24":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{"line":309,"column":6},"end":{"line":311,"column":7}}]},"25":{"loc":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"type":"if","locations":[{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},{"start":{"line":322,"column":2},"end":{"line":322,"column":21}}]},"26":{"loc":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"type":"if","locations":[{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},{"start":{"line":324,"column":2},"end":{"line":326,"column":3}}]},"27":{"loc":{"start":{"line":324,"column":6},"end":{"line":324,"column":82}},"type":"binary-expr","locations":[{"start":{"line":324,"column":6},"end":{"line":324,"column":27}},{"start":{"line":324,"column":32},"end":{"line":324,"column":81}}]},"28":{"loc":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"type":"if","locations":[{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},{"start":{"line":341,"column":2},"end":{"line":344,"column":3}}]},"29":{"loc":{"start":{"line":352,"column":11},"end":{"line":352,"column":46}},"type":"binary-expr","locations":[{"start":{"line":352,"column":11},"end":{"line":352,"column":17}},{"start":{"line":352,"column":21},"end":{"line":352,"column":46}}]},"30":{"loc":{"start":{"line":353,"column":12},"end":{"line":353,"column":25}},"type":"binary-expr","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":19}},{"start":{"line":353,"column":23},"end":{"line":353,"column":25}}]},"31":{"loc":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"type":"if","locations":[{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},{"start":{"line":355,"column":2},"end":{"line":366,"column":3}}]},"32":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":75}},"type":"binary-expr","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":26}},{"start":{"line":355,"column":30},"end":{"line":355,"column":45}},{"start":{"line":355,"column":49},"end":{"line":355,"column":75}}]},"33":{"loc":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"type":"if","locations":[{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},{"start":{"line":356,"column":4},"end":{"line":358,"column":5}}]},"34":{"loc":{"start":{"line":359,"column":13},"end":{"line":359,"column":59}},"type":"binary-expr","locations":[{"start":{"line":359,"column":13},"end":{"line":359,"column":42}},{"start":{"line":359,"column":46},"end":{"line":359,"column":59}}]},"35":{"loc":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"type":"if","locations":[{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},{"start":{"line":361,"column":4},"end":{"line":365,"column":5}}]},"36":{"loc":{"start":{"line":387,"column":11},"end":{"line":387,"column":41}},"type":"binary-expr","locations":[{"start":{"line":387,"column":11},"end":{"line":387,"column":17}},{"start":{"line":387,"column":21},"end":{"line":387,"column":41}}]},"37":{"loc":{"start":{"line":390,"column":32},"end":{"line":390,"column":75}},"type":"cond-expr","locations":[{"start":{"line":390,"column":49},"end":{"line":390,"column":60}},{"start":{"line":390,"column":63},"end":{"line":390,"column":75}}]},"38":{"loc":{"start":{"line":431,"column":19},"end":{"line":431,"column":62}},"type":"binary-expr","locations":[{"start":{"line":431,"column":19},"end":{"line":431,"column":33}},{"start":{"line":431,"column":37},"end":{"line":431,"column":62}}]},"39":{"loc":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"type":"if","locations":[{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},{"start":{"line":433,"column":2},"end":{"line":435,"column":3}}]},"40":{"loc":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"type":"if","locations":[{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},{"start":{"line":438,"column":2},"end":{"line":440,"column":3}}]},"41":{"loc":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"type":"if","locations":[{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},{"start":{"line":458,"column":2},"end":{"line":460,"column":3}}]},"42":{"loc":{"start":{"line":468,"column":12},"end":{"line":468,"column":24}},"type":"binary-expr","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":17}},{"start":{"line":468,"column":21},"end":{"line":468,"column":24}}]},"43":{"loc":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"type":"if","locations":[{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},{"start":{"line":470,"column":4},"end":{"line":472,"column":5}}]},"44":{"loc":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"type":"if","locations":[{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},{"start":{"line":476,"column":4},"end":{"line":478,"column":5}}]},"45":{"loc":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"type":"if","locations":[{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},{"start":{"line":481,"column":2},"end":{"line":483,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":0,"14":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":2,"70":2,"71":2,"72":0,"73":2,"74":2,"75":2,"76":0,"77":2,"78":2,"79":2,"80":2,"81":0,"82":0,"83":0,"84":2,"85":0,"86":0,"87":2,"88":2,"89":2,"90":2,"91":2,"92":2,"93":0,"94":0,"95":2,"96":2,"97":2,"98":2,"99":2,"100":2,"101":2,"102":2,"103":0,"104":2,"105":2,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":1,"117":1,"118":0,"119":1,"120":2,"121":2,"122":2,"123":2,"124":2,"125":2,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":2,"145":2,"146":2,"147":2,"148":1,"149":0,"150":1,"151":1,"152":0,"153":2,"154":1,"155":0,"156":0,"157":0,"158":0,"159":0,"160":2,"161":10,"162":3,"163":3,"164":0,"165":3,"166":3,"167":3,"168":0,"169":3,"170":3,"171":1,"172":3,"173":1,"174":1,"175":0,"176":1,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":0,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":2,"23":2,"24":0,"25":0,"26":1,"27":2,"28":0,"29":0,"30":0,"31":2,"32":0,"33":0,"34":0,"35":0,"36":2,"37":10,"38":3,"39":3,"40":1,"41":1,"42":1},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,2],"9":[2,2],"10":[2,0],"11":[2,2],"12":[0,2],"13":[2,0],"14":[0,0],"15":[0,0],"16":[2,0],"17":[0,0],"18":[2,0],"19":[0,2],"20":[0,0],"21":[0,0],"22":[0,1],"23":[2,0],"24":[0,2],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[2,1],"30":[2,2],"31":[1,1],"32":[2,1,1],"33":[0,1],"34":[1,1],"35":[0,1],"36":[0,0],"37":[0,0],"38":[3,3],"39":[0,3],"40":[1,2],"41":[0,1],"42":[1,1],"43":[1,0],"44":[1,0],"45":[0,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3a43360dca26d74ffd67cfe5ec75309575f038ac","contentHash":"10edbceee6329f5ee9c0d2f625fd311b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":1,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":1,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":1,"108":0,"109":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"0":[1,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf","contentHash":"d1d8e598552dfe064eef286d267900be_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":1,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128","contentHash":"672b6336c04cfaa2a8588410ce063022_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/levels.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/levels.js","statementMap":{"0":{"start":{"line":9,"column":4},"end":{"line":9,"column":23}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":42}},"9":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":39}},"11":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"12":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":24}},"14":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"15":{"start":{"line":52,"column":4},"end":{"line":52,"column":43}},"16":{"start":{"line":53,"column":4},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"18":{"start":{"line":57,"column":4},"end":{"line":57,"column":62}},"19":{"start":{"line":60,"column":2},"end":{"line":60,"column":34}},"20":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"21":{"start":{"line":66,"column":23},"end":{"line":66,"column":45}},"22":{"start":{"line":67,"column":4},"end":{"line":67,"column":32}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"24":{"start":{"line":72,"column":0},"end":{"line":85,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":13},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":34},"end":{"line":22,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":37},"end":{"line":29,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":31,"column":24},"end":{"line":36,"column":3}}},"5":{"name":"toLevel","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":37},"end":{"line":61,"column":1}}},"6":{"name":"getLevel","decl":{"start":{"line":63,"column":9},"end":{"line":63,"column":17}},"loc":{"start":{"line":63,"column":28},"end":{"line":70,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{"line":32,"column":4},"end":{"line":34,"column":5}}]},"3":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}]},"4":{"loc":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},{"start":{"line":51,"column":2},"end":{"line":54,"column":3}}]},"5":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}]},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":61}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":45}},{"start":{"line":57,"column":49},"end":{"line":57,"column":61}}]},"7":{"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},{"start":{"line":65,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":9,"1":9,"2":7,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":7,"13":0,"14":7,"15":0,"16":0,"17":7,"18":7,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1},"f":{"0":9,"1":7,"2":0,"3":0,"4":0,"5":7,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,7],"4":[0,7],"5":[7,0],"6":[7,0],"7":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"daae16d9a9a708cc048c35299774fc26e22cf555","contentHash":"de3beea1cbd1c093130b8e3a1963e9d2_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":21},"end":{"line":6,"column":38}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":36}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":27}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":32}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":23}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":25}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":50,"column":4},"end":{"line":50,"column":45}},"11":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"12":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":67}},"14":{"start":{"line":62,"column":4},"end":{"line":62,"column":22}},"15":{"start":{"line":68,"column":17},"end":{"line":68,"column":38}},"16":{"start":{"line":69,"column":21},"end":{"line":69,"column":57}},"17":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":13}},"19":{"start":{"line":73,"column":4},"end":{"line":73,"column":39}},"20":{"start":{"line":77,"column":4},"end":{"line":77,"column":54}},"21":{"start":{"line":81,"column":25},"end":{"line":81,"column":75}},"22":{"start":{"line":82,"column":4},"end":{"line":82,"column":35}},"23":{"start":{"line":86,"column":0},"end":{"line":86,"column":43}},"24":{"start":{"line":87,"column":0},"end":{"line":87,"column":38}},"25":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"26":{"start":{"line":92,"column":16},"end":{"line":92,"column":38}},"27":{"start":{"line":94,"column":24},"end":{"line":94,"column":54}},"28":{"start":{"line":95,"column":22},"end":{"line":95,"column":81}},"29":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}},"30":{"start":{"line":96,"column":24},"end":{"line":96,"column":75}},"31":{"start":{"line":98,"column":2},"end":{"line":100,"column":4}},"32":{"start":{"line":99,"column":4},"end":{"line":99,"column":49}},"33":{"start":{"line":102,"column":2},"end":{"line":109,"column":4}},"34":{"start":{"line":105,"column":17},"end":{"line":105,"column":38}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":117,"column":2},"end":{"line":117,"column":27}},"38":{"start":{"line":125,"column":2},"end":{"line":125,"column":26}},"39":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"40":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"41":{"start":{"line":130,"column":0},"end":{"line":130,"column":57}},"42":{"start":{"line":131,"column":0},"end":{"line":131,"column":55}},"43":{"start":{"line":132,"column":0},"end":{"line":132,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":49},"end":{"line":32,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":27},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":65,"column":8},"end":{"line":74,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":29},"end":{"line":78,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":20},"end":{"line":83,"column":3}}},"7":{"name":"addLevelMethods","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":33},"end":{"line":110,"column":1}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":95,"column":57},"end":{"line":95,"column":58}},"loc":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":50},"end":{"line":98,"column":51}},"loc":{"start":{"line":98,"column":62},"end":{"line":100,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":34},"end":{"line":102,"column":35}},"loc":{"start":{"line":102,"column":46},"end":{"line":109,"column":3}}},"11":{"name":"disableAllLogWrites","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":28}},"loc":{"start":{"line":116,"column":31},"end":{"line":118,"column":1}}},"12":{"name":"enableAllLogWrites","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":27}},"loc":{"start":{"line":124,"column":30},"end":{"line":126,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"type":"binary-expr","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}}]},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":4},"end":{"line":54,"column":5}}]},"2":{"loc":{"start":{"line":58,"column":39},"end":{"line":58,"column":65}},"type":"binary-expr","locations":[{"start":{"line":58,"column":39},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":65}}]},"3":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}]},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}}]},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":106,"column":54}},"type":"binary-expr","locations":[{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},{"start":{"line":106,"column":28},"end":{"line":106,"column":54}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":1,"24":1,"25":1,"26":7,"27":7,"28":7,"29":0,"30":7,"31":7,"32":0,"33":7,"34":0,"35":0,"36":0,"37":1,"38":2,"39":1,"40":1,"41":1,"42":1,"43":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":7,"8":0,"9":0,"10":0,"11":1,"12":2},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7d8e54612a5d21505ecc3cd8c5eea114082c17db","contentHash":"00d625ca9babf994c26685dc45e2004b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":7,"column":23},"end":{"line":10,"column":18}},"2":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"4":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":34}},"6":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"7":{"start":{"line":50,"column":21},"end":{"line":50,"column":30}},"8":{"start":{"line":51,"column":14},"end":{"line":51,"column":56}},"9":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"10":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"11":{"start":{"line":55,"column":2},"end":{"line":112,"column":4}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"13":{"start":{"line":57,"column":22},"end":{"line":57,"column":36}},"14":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"15":{"start":{"line":60,"column":46},"end":{"line":60,"column":60}},"16":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"17":{"start":{"line":63,"column":20},"end":{"line":63,"column":30}},"18":{"start":{"line":64,"column":24},"end":{"line":64,"column":37}},"19":{"start":{"line":67,"column":6},"end":{"line":67,"column":26}},"20":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"21":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":37}},"23":{"start":{"line":74,"column":8},"end":{"line":74,"column":32}},"24":{"start":{"line":75,"column":8},"end":{"line":75,"column":38}},"25":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"26":{"start":{"line":79,"column":10},"end":{"line":79,"column":30}},"27":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"28":{"start":{"line":80,"column":27},"end":{"line":80,"column":47}},"29":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"30":{"start":{"line":81,"column":27},"end":{"line":81,"column":48}},"31":{"start":{"line":83,"column":10},"end":{"line":83,"column":61}},"32":{"start":{"line":88,"column":6},"end":{"line":107,"column":9}},"33":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"34":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"35":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"37":{"start":{"line":93,"column":37},"end":{"line":93,"column":57}},"38":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"39":{"start":{"line":94,"column":37},"end":{"line":94,"column":58}},"40":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"41":{"start":{"line":98,"column":33},"end":{"line":98,"column":79}},"42":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"43":{"start":{"line":101,"column":25},"end":{"line":101,"column":74}},"44":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}},"45":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"46":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"47":{"start":{"line":104,"column":12},"end":{"line":104,"column":63}},"48":{"start":{"line":111,"column":4},"end":{"line":111,"column":18}},"49":{"start":{"line":126,"column":28},"end":{"line":138,"column":3}},"50":{"start":{"line":127,"column":14},"end":{"line":127,"column":28}},"51":{"start":{"line":128,"column":4},"end":{"line":136,"column":5}},"52":{"start":{"line":129,"column":6},"end":{"line":135,"column":7}},"53":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"54":{"start":{"line":133,"column":10},"end":{"line":133,"column":27}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":13}},"56":{"start":{"line":140,"column":24},"end":{"line":140,"column":26}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":66}},"58":{"start":{"line":142,"column":2},"end":{"line":142,"column":72}},"59":{"start":{"line":143,"column":2},"end":{"line":143,"column":72}},"60":{"start":{"line":144,"column":2},"end":{"line":144,"column":68}},"61":{"start":{"line":145,"column":2},"end":{"line":145,"column":92}},"62":{"start":{"line":146,"column":2},"end":{"line":146,"column":81}},"63":{"start":{"line":147,"column":2},"end":{"line":147,"column":80}},"64":{"start":{"line":148,"column":2},"end":{"line":151,"column":5}},"65":{"start":{"line":152,"column":2},"end":{"line":155,"column":5}},"66":{"start":{"line":156,"column":2},"end":{"line":166,"column":5}},"67":{"start":{"line":167,"column":2},"end":{"line":167,"column":87}},"68":{"start":{"line":168,"column":2},"end":{"line":173,"column":5}},"69":{"start":{"line":174,"column":2},"end":{"line":179,"column":5}},"70":{"start":{"line":177,"column":6},"end":{"line":177,"column":46}},"71":{"start":{"line":180,"column":2},"end":{"line":187,"column":5}},"72":{"start":{"line":183,"column":6},"end":{"line":185,"column":50}},"73":{"start":{"line":189,"column":2},"end":{"line":189,"column":63}},"74":{"start":{"line":203,"column":2},"end":{"line":203,"column":36}},"75":{"start":{"line":215,"column":2},"end":{"line":217,"column":3}},"76":{"start":{"line":216,"column":4},"end":{"line":216,"column":62}},"77":{"start":{"line":218,"column":2},"end":{"line":218,"column":13}},"78":{"start":{"line":249,"column":15},"end":{"line":249,"column":19}},"79":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"80":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"81":{"start":{"line":253,"column":6},"end":{"line":253,"column":21}},"82":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"83":{"start":{"line":257,"column":6},"end":{"line":257,"column":33}},"84":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"85":{"start":{"line":262,"column":31},"end":{"line":262,"column":80}},"86":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"87":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"88":{"start":{"line":267,"column":2},"end":{"line":267,"column":16}},"89":{"start":{"line":270,"column":0},"end":{"line":270,"column":41}}},"fnMap":{"0":{"name":"getLogger","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":39},"end":{"line":113,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":10}},"loc":{"start":{"line":55,"column":29},"end":{"line":112,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":70,"column":22},"end":{"line":70,"column":23}},"loc":{"start":{"line":70,"column":41},"end":{"line":85,"column":7}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":23},"end":{"line":88,"column":24}},"loc":{"start":{"line":88,"column":29},"end":{"line":107,"column":7}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":39},"end":{"line":101,"column":40}},"loc":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}}},"5":{"name":"assembleTokens","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":48},"end":{"line":190,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":28},"end":{"line":126,"column":29}},"loc":{"start":{"line":126,"column":39},"end":{"line":138,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":17},"end":{"line":176,"column":18}},"loc":{"start":{"line":176,"column":37},"end":{"line":178,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":182,"column":17},"end":{"line":182,"column":18}},"loc":{"start":{"line":182,"column":37},"end":{"line":186,"column":5}}},"9":{"name":"getUrl","decl":{"start":{"line":202,"column":9},"end":{"line":202,"column":15}},"loc":{"start":{"line":202,"column":21},"end":{"line":204,"column":1}}},"10":{"name":"format","decl":{"start":{"line":214,"column":9},"end":{"line":214,"column":15}},"loc":{"start":{"line":214,"column":29},"end":{"line":219,"column":1}}},"11":{"name":"createNoLogCondition","decl":{"start":{"line":248,"column":9},"end":{"line":248,"column":29}},"loc":{"start":{"line":248,"column":37},"end":{"line":268,"column":1}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":262,"column":41},"end":{"line":262,"column":42}},"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}}}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},{"start":{"line":42,"column":2},"end":{"line":48,"column":3}}]},"1":{"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":27}},"type":"binary-expr","locations":[{"start":{"line":43,"column":14},"end":{"line":43,"column":21}},{"start":{"line":43,"column":25},"end":{"line":43,"column":27}}]},"2":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}]},"3":{"loc":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"type":"binary-expr","locations":[{"start":{"line":52,"column":14},"end":{"line":52,"column":28}},{"start":{"line":52,"column":32},"end":{"line":52,"column":46}}]},"4":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":32},"end":{"line":53,"column":67}},{"start":{"line":53,"column":70},"end":{"line":53,"column":74}}]},"5":{"loc":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},{"start":{"line":57,"column":4},"end":{"line":57,"column":36}}]},"6":{"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},{"start":{"line":60,"column":4},"end":{"line":60,"column":60}}]},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":44}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":13}},{"start":{"line":60,"column":17},"end":{"line":60,"column":44}}]},"8":{"loc":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},{"start":{"line":62,"column":4},"end":{"line":108,"column":5}}]},"9":{"loc":{"start":{"line":62,"column":8},"end":{"line":62,"column":68}},"type":"binary-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":40}},{"start":{"line":62,"column":44},"end":{"line":62,"column":68}}]},"10":{"loc":{"start":{"line":75,"column":24},"end":{"line":75,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":24},"end":{"line":75,"column":31}},{"start":{"line":75,"column":35},"end":{"line":75,"column":37}}]},"11":{"loc":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},{"start":{"line":78,"column":8},"end":{"line":84,"column":9}}]},"12":{"loc":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},{"start":{"line":80,"column":10},"end":{"line":80,"column":47}}]},"13":{"loc":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},{"start":{"line":81,"column":10},"end":{"line":81,"column":48}}]},"14":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":91,"column":8},"end":{"line":95,"column":9}}]},"15":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":54}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":26}},{"start":{"line":91,"column":30},"end":{"line":91,"column":54}}]},"16":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"type":"if","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},{"start":{"line":93,"column":10},"end":{"line":93,"column":57}}]},"17":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"type":"if","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},{"start":{"line":94,"column":10},"end":{"line":94,"column":58}}]},"18":{"loc":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},{"start":{"line":97,"column":8},"end":{"line":106,"column":9}}]},"19":{"loc":{"start":{"line":98,"column":58},"end":{"line":98,"column":78}},"type":"binary-expr","locations":[{"start":{"line":98,"column":58},"end":{"line":98,"column":72}},{"start":{"line":98,"column":76},"end":{"line":98,"column":78}}]},"20":{"loc":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},{"start":{"line":100,"column":10},"end":{"line":105,"column":11}}]},"21":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"type":"if","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},{"start":{"line":102,"column":12},"end":{"line":102,"column":50}}]},"22":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},{"start":{"line":132,"column":8},"end":{"line":134,"column":9}}]},"23":{"loc":{"start":{"line":145,"column":54},"end":{"line":145,"column":88}},"type":"binary-expr","locations":[{"start":{"line":145,"column":54},"end":{"line":145,"column":70}},{"start":{"line":145,"column":74},"end":{"line":145,"column":88}}]},"24":{"loc":{"start":{"line":150,"column":17},"end":{"line":150,"column":66}},"type":"binary-expr","locations":[{"start":{"line":150,"column":17},"end":{"line":150,"column":36}},{"start":{"line":150,"column":40},"end":{"line":150,"column":60}},{"start":{"line":150,"column":64},"end":{"line":150,"column":66}}]},"25":{"loc":{"start":{"line":158,"column":17},"end":{"line":165,"column":5}},"type":"binary-expr","locations":[{"start":{"line":158,"column":17},"end":{"line":158,"column":47}},{"start":{"line":159,"column":4},"end":{"line":159,"column":10}},{"start":{"line":160,"column":4},"end":{"line":160,"column":22}},{"start":{"line":161,"column":5},"end":{"line":161,"column":15}},{"start":{"line":162,"column":7},"end":{"line":162,"column":31}},{"start":{"line":163,"column":9},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":61}}]},"26":{"loc":{"start":{"line":170,"column":17},"end":{"line":172,"column":7}},"type":"binary-expr","locations":[{"start":{"line":170,"column":18},"end":{"line":170,"column":30}},{"start":{"line":170,"column":34},"end":{"line":170,"column":64}},{"start":{"line":171,"column":5},"end":{"line":171,"column":18}},{"start":{"line":171,"column":22},"end":{"line":171,"column":53}},{"start":{"line":172,"column":4},"end":{"line":172,"column":7}}]},"27":{"loc":{"start":{"line":183,"column":13},"end":{"line":185,"column":49}},"type":"cond-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},{"start":{"line":185,"column":11},"end":{"line":185,"column":48}}]},"28":{"loc":{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":47}},{"start":{"line":184,"column":51},"end":{"line":184,"column":71}}]},"29":{"loc":{"start":{"line":185,"column":11},"end":{"line":185,"column":48}},"type":"binary-expr","locations":[{"start":{"line":185,"column":11},"end":{"line":185,"column":24}},{"start":{"line":185,"column":28},"end":{"line":185,"column":48}}]},"30":{"loc":{"start":{"line":203,"column":9},"end":{"line":203,"column":35}},"type":"binary-expr","locations":[{"start":{"line":203,"column":9},"end":{"line":203,"column":24}},{"start":{"line":203,"column":28},"end":{"line":203,"column":35}}]},"31":{"loc":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},{"start":{"line":251,"column":2},"end":{"line":265,"column":3}}]},"32":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{"line":252,"column":4},"end":{"line":254,"column":5}}]},"33":{"loc":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},{"start":{"line":256,"column":4},"end":{"line":258,"column":5}}]},"34":{"loc":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"type":"if","locations":[{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},{"start":{"line":260,"column":4},"end":{"line":264,"column":5}}]},"35":{"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"type":"cond-expr","locations":[{"start":{"line":262,"column":62},"end":{"line":262,"column":72}},{"start":{"line":262,"column":75},"end":{"line":262,"column":78}}]}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0,0,0,0,0,0],"26":[0,0,0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8de6ff12985e168d800fe4d220a8a32e3c1dbe2a","contentHash":"06eb335e3bac458879bb256f44ac2576_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}}},"fnMap":{"0":{"name":"stdoutAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":33},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":1,"1":2,"2":2,"3":0,"4":2,"5":0,"6":2,"7":1,"8":1},"f":{"0":2,"1":0,"2":2},"b":{"0":[2,2],"1":[0,2]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7fe10c84b315d3ba3e07ce62d5e48e59666eb827","contentHash":"009980a1b175f554654dded39c797b6c_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/multiprocess.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/multiprocess.js","statementMap":{"0":{"start":{"line":3,"column":15},"end":{"line":3,"column":35}},"1":{"start":{"line":4,"column":12},"end":{"line":4,"column":26}},"2":{"start":{"line":6,"column":16},"end":{"line":6,"column":28}},"3":{"start":{"line":7,"column":16},"end":{"line":7,"column":18}},"4":{"start":{"line":21,"column":4},"end":{"line":33,"column":5}},"5":{"start":{"line":22,"column":6},"end":{"line":22,"column":37}},"6":{"start":{"line":23,"column":6},"end":{"line":23,"column":64}},"7":{"start":{"line":24,"column":6},"end":{"line":24,"column":78}},"8":{"start":{"line":27,"column":6},"end":{"line":32,"column":8}},"9":{"start":{"line":35,"column":4},"end":{"line":35,"column":60}},"10":{"start":{"line":36,"column":4},"end":{"line":36,"column":54}},"11":{"start":{"line":38,"column":4},"end":{"line":38,"column":24}},"12":{"start":{"line":41,"column":25},"end":{"line":41,"column":46}},"13":{"start":{"line":44,"column":17},"end":{"line":68,"column":4}},"14":{"start":{"line":45,"column":4},"end":{"line":45,"column":37}},"15":{"start":{"line":46,"column":21},"end":{"line":46,"column":23}},"16":{"start":{"line":49,"column":6},"end":{"line":51,"column":7}},"17":{"start":{"line":50,"column":8},"end":{"line":50,"column":67}},"18":{"start":{"line":56,"column":6},"end":{"line":56,"column":32}},"19":{"start":{"line":57,"column":6},"end":{"line":63,"column":7}},"20":{"start":{"line":58,"column":8},"end":{"line":58,"column":69}},"21":{"start":{"line":59,"column":8},"end":{"line":59,"column":29}},"22":{"start":{"line":60,"column":8},"end":{"line":60,"column":79}},"23":{"start":{"line":62,"column":8},"end":{"line":62,"column":24}},"24":{"start":{"line":66,"column":4},"end":{"line":66,"column":43}},"25":{"start":{"line":67,"column":4},"end":{"line":67,"column":42}},"26":{"start":{"line":70,"column":2},"end":{"line":74,"column":5}},"27":{"start":{"line":71,"column":4},"end":{"line":71,"column":25}},"28":{"start":{"line":73,"column":4},"end":{"line":73,"column":19}},"29":{"start":{"line":76,"column":2},"end":{"line":76,"column":24}},"30":{"start":{"line":80,"column":17},"end":{"line":80,"column":22}},"31":{"start":{"line":81,"column":17},"end":{"line":81,"column":19}},"32":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"33":{"start":{"line":89,"column":6},"end":{"line":89,"column":51}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":55}},"35":{"start":{"line":92,"column":4},"end":{"line":92,"column":34}},"36":{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},"37":{"start":{"line":100,"column":6},"end":{"line":100,"column":17}},"38":{"start":{"line":105,"column":4},"end":{"line":105,"column":95}},"39":{"start":{"line":106,"column":4},"end":{"line":109,"column":7}},"40":{"start":{"line":107,"column":6},"end":{"line":107,"column":20}},"41":{"start":{"line":108,"column":6},"end":{"line":108,"column":22}},"42":{"start":{"line":110,"column":4},"end":{"line":110,"column":50}},"43":{"start":{"line":112,"column":4},"end":{"line":112,"column":37}},"44":{"start":{"line":115,"column":2},"end":{"line":115,"column":17}},"45":{"start":{"line":117,"column":2},"end":{"line":123,"column":4}},"46":{"start":{"line":118,"column":4},"end":{"line":122,"column":5}},"47":{"start":{"line":119,"column":6},"end":{"line":119,"column":26}},"48":{"start":{"line":121,"column":6},"end":{"line":121,"column":32}},"49":{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},"50":{"start":{"line":128,"column":4},"end":{"line":128,"column":29}},"51":{"start":{"line":131,"column":2},"end":{"line":131,"column":32}},"52":{"start":{"line":136,"column":2},"end":{"line":140,"column":3}},"53":{"start":{"line":137,"column":4},"end":{"line":137,"column":46}},"54":{"start":{"line":138,"column":4},"end":{"line":138,"column":91}},"55":{"start":{"line":139,"column":4},"end":{"line":139,"column":43}},"56":{"start":{"line":141,"column":2},"end":{"line":141,"column":32}},"57":{"start":{"line":145,"column":19},"end":{"line":145,"column":33}},"58":{"start":{"line":146,"column":2},"end":{"line":153,"column":5}},"59":{"start":{"line":147,"column":4},"end":{"line":152,"column":7}},"60":{"start":{"line":148,"column":6},"end":{"line":148,"column":22}},"61":{"start":{"line":149,"column":6},"end":{"line":151,"column":7}},"62":{"start":{"line":150,"column":8},"end":{"line":150,"column":15}},"63":{"start":{"line":156,"column":0},"end":{"line":156,"column":41}},"64":{"start":{"line":157,"column":0},"end":{"line":157,"column":37}},"65":{"start":{"line":158,"column":0},"end":{"line":158,"column":35}}},"fnMap":{"0":{"name":"logServer","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":18}},"loc":{"start":{"line":14,"column":27},"end":{"line":77,"column":1}}},"1":{"name":"deserializeLoggingEvent","decl":{"start":{"line":19,"column":11},"end":{"line":19,"column":34}},"loc":{"start":{"line":19,"column":54},"end":{"line":39,"column":3}}},"2":{"name":"serverCreated","decl":{"start":{"line":44,"column":43},"end":{"line":44,"column":56}},"loc":{"start":{"line":44,"column":71},"end":{"line":68,"column":3}}},"3":{"name":"logTheMessage","decl":{"start":{"line":48,"column":13},"end":{"line":48,"column":26}},"loc":{"start":{"line":48,"column":32},"end":{"line":52,"column":5}}},"4":{"name":"chunkReceived","decl":{"start":{"line":54,"column":13},"end":{"line":54,"column":26}},"loc":{"start":{"line":54,"column":34},"end":{"line":64,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":70,"column":77},"end":{"line":70,"column":78}},"loc":{"start":{"line":70,"column":89},"end":{"line":74,"column":3}}},"6":{"name":"workerAppender","decl":{"start":{"line":79,"column":9},"end":{"line":79,"column":23}},"loc":{"start":{"line":79,"column":32},"end":{"line":124,"column":1}}},"7":{"name":"write","decl":{"start":{"line":84,"column":11},"end":{"line":84,"column":16}},"loc":{"start":{"line":84,"column":31},"end":{"line":93,"column":3}}},"8":{"name":"emptyBuffer","decl":{"start":{"line":95,"column":11},"end":{"line":95,"column":22}},"loc":{"start":{"line":95,"column":25},"end":{"line":102,"column":3}}},"9":{"name":"createSocket","decl":{"start":{"line":104,"column":11},"end":{"line":104,"column":23}},"loc":{"start":{"line":104,"column":26},"end":{"line":113,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":106,"column":25},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":31},"end":{"line":109,"column":5}}},"11":{"name":"log","decl":{"start":{"line":117,"column":18},"end":{"line":117,"column":21}},"loc":{"start":{"line":117,"column":36},"end":{"line":123,"column":3}}},"12":{"name":"createAppender","decl":{"start":{"line":126,"column":9},"end":{"line":126,"column":23}},"loc":{"start":{"line":126,"column":32},"end":{"line":132,"column":1}}},"13":{"name":"configure","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":18}},"loc":{"start":{"line":134,"column":36},"end":{"line":142,"column":1}}},"14":{"name":"shutdown","decl":{"start":{"line":144,"column":9},"end":{"line":144,"column":17}},"loc":{"start":{"line":144,"column":24},"end":{"line":154,"column":1}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":146,"column":18},"end":{"line":146,"column":19}},"loc":{"start":{"line":146,"column":36},"end":{"line":153,"column":3}}},"16":{"name":"(anonymous_16)","decl":{"start":{"line":147,"column":17},"end":{"line":147,"column":18}},"loc":{"start":{"line":147,"column":29},"end":{"line":152,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":49,"column":6},"end":{"line":51,"column":7}},"type":"if","locations":[{"start":{"line":49,"column":6},"end":{"line":51,"column":7}},{"start":{"line":49,"column":6},"end":{"line":51,"column":7}}]},"1":{"loc":{"start":{"line":56,"column":20},"end":{"line":56,"column":31}},"type":"binary-expr","locations":[{"start":{"line":56,"column":20},"end":{"line":56,"column":25}},{"start":{"line":56,"column":29},"end":{"line":56,"column":31}}]},"2":{"loc":{"start":{"line":57,"column":6},"end":{"line":63,"column":7}},"type":"if","locations":[{"start":{"line":57,"column":6},"end":{"line":63,"column":7}},{"start":{"line":57,"column":6},"end":{"line":63,"column":7}}]},"3":{"loc":{"start":{"line":60,"column":21},"end":{"line":60,"column":78}},"type":"binary-expr","locations":[{"start":{"line":60,"column":21},"end":{"line":60,"column":72}},{"start":{"line":60,"column":76},"end":{"line":60,"column":78}}]},"4":{"loc":{"start":{"line":70,"column":16},"end":{"line":70,"column":41}},"type":"binary-expr","locations":[{"start":{"line":70,"column":16},"end":{"line":70,"column":33}},{"start":{"line":70,"column":37},"end":{"line":70,"column":41}}]},"5":{"loc":{"start":{"line":70,"column":43},"end":{"line":70,"column":75}},"type":"binary-expr","locations":[{"start":{"line":70,"column":43},"end":{"line":70,"column":60}},{"start":{"line":70,"column":64},"end":{"line":70,"column":75}}]},"6":{"loc":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"type":"if","locations":[{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},{"start":{"line":88,"column":4},"end":{"line":90,"column":5}}]},"7":{"loc":{"start":{"line":88,"column":8},"end":{"line":88,"column":83}},"type":"binary-expr","locations":[{"start":{"line":88,"column":8},"end":{"line":88,"column":20}},{"start":{"line":88,"column":24},"end":{"line":88,"column":42}},{"start":{"line":88,"column":46},"end":{"line":88,"column":83}}]},"8":{"loc":{"start":{"line":105,"column":34},"end":{"line":105,"column":59}},"type":"binary-expr","locations":[{"start":{"line":105,"column":34},"end":{"line":105,"column":51}},{"start":{"line":105,"column":55},"end":{"line":105,"column":59}}]},"9":{"loc":{"start":{"line":105,"column":61},"end":{"line":105,"column":93}},"type":"binary-expr","locations":[{"start":{"line":105,"column":61},"end":{"line":105,"column":78}},{"start":{"line":105,"column":82},"end":{"line":105,"column":93}}]},"10":{"loc":{"start":{"line":118,"column":4},"end":{"line":122,"column":5}},"type":"if","locations":[{"start":{"line":118,"column":4},"end":{"line":122,"column":5}},{"start":{"line":118,"column":4},"end":{"line":122,"column":5}}]},"11":{"loc":{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},"type":"if","locations":[{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},{"start":{"line":127,"column":2},"end":{"line":129,"column":3}}]},"12":{"loc":{"start":{"line":136,"column":2},"end":{"line":140,"column":3}},"type":"if","locations":[{"start":{"line":136,"column":2},"end":{"line":140,"column":3}},{"start":{"line":136,"column":2},"end":{"line":140,"column":3}}]},"13":{"loc":{"start":{"line":136,"column":6},"end":{"line":136,"column":49}},"type":"binary-expr","locations":[{"start":{"line":136,"column":6},"end":{"line":136,"column":21}},{"start":{"line":136,"column":25},"end":{"line":136,"column":49}}]},"14":{"loc":{"start":{"line":149,"column":6},"end":{"line":151,"column":7}},"type":"if","locations":[{"start":{"line":149,"column":6},"end":{"line":151,"column":7}},{"start":{"line":149,"column":6},"end":{"line":151,"column":7}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":1,"27":1,"28":1,"29":1,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":1,"50":1,"51":0,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1},"f":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":1,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":1,"13":1,"14":1,"15":1,"16":1},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[1,0],"5":[1,1],"6":[0,0],"7":[0,0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[1,0],"12":[1,0],"13":[1,1],"14":[1,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6aa59f949b4a025b55369d369947ab5cd6146d41","contentHash":"f909bd7db83389d70d8386ce699009c0_9.0.1"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/4e458f2483da43c8f95a56aae9dcc673.json b/node_modules/log4js/.nyc_output/4e458f2483da43c8f95a56aae9dcc673.json deleted file mode 100644 index e410cc9..0000000 --- a/node_modules/log4js/.nyc_output/4e458f2483da43c8f95a56aae9dcc673.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/log4js.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/log4js.js","statementMap":{"0":{"start":{"line":35,"column":11},"end":{"line":35,"column":24}},"1":{"start":{"line":36,"column":13},"end":{"line":36,"column":28}},"2":{"start":{"line":37,"column":16},"end":{"line":37,"column":36}},"3":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"4":{"start":{"line":39,"column":21},"end":{"line":39,"column":40}},"5":{"start":{"line":40,"column":22},"end":{"line":40,"column":63}},"6":{"start":{"line":42,"column":15},"end":{"line":42,"column":34}},"7":{"start":{"line":44,"column":23},"end":{"line":44,"column":30}},"8":{"start":{"line":45,"column":16},"end":{"line":45,"column":18}},"9":{"start":{"line":46,"column":23},"end":{"line":46,"column":25}},"10":{"start":{"line":47,"column":26},"end":{"line":47,"column":28}},"11":{"start":{"line":48,"column":22},"end":{"line":53,"column":1}},"12":{"start":{"line":55,"column":16},"end":{"line":55,"column":18}},"13":{"start":{"line":58,"column":2},"end":{"line":58,"column":40}},"14":{"start":{"line":62,"column":0},"end":{"line":70,"column":2}},"15":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"16":{"start":{"line":65,"column":23},"end":{"line":65,"column":45}},"17":{"start":{"line":66,"column":4},"end":{"line":66,"column":51}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":40}},"19":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"20":{"start":{"line":73,"column":21},"end":{"line":73,"column":44}},"21":{"start":{"line":74,"column":17},"end":{"line":74,"column":19}},"22":{"start":{"line":75,"column":2},"end":{"line":75,"column":19}},"23":{"start":{"line":76,"column":2},"end":{"line":76,"column":29}},"24":{"start":{"line":77,"column":2},"end":{"line":83,"column":4}},"25":{"start":{"line":78,"column":4},"end":{"line":82,"column":5}},"26":{"start":{"line":79,"column":18},"end":{"line":79,"column":32}},"27":{"start":{"line":80,"column":6},"end":{"line":80,"column":44}},"28":{"start":{"line":81,"column":6},"end":{"line":81,"column":28}},"29":{"start":{"line":84,"column":2},"end":{"line":86,"column":4}},"30":{"start":{"line":85,"column":4},"end":{"line":85,"column":59}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":4}},"32":{"start":{"line":88,"column":4},"end":{"line":88,"column":59}},"33":{"start":{"line":90,"column":2},"end":{"line":92,"column":4}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":58}},"35":{"start":{"line":93,"column":2},"end":{"line":95,"column":4}},"36":{"start":{"line":94,"column":4},"end":{"line":94,"column":58}},"37":{"start":{"line":96,"column":2},"end":{"line":98,"column":4}},"38":{"start":{"line":97,"column":4},"end":{"line":97,"column":59}},"39":{"start":{"line":99,"column":2},"end":{"line":101,"column":4}},"40":{"start":{"line":100,"column":4},"end":{"line":100,"column":59}},"41":{"start":{"line":103,"column":2},"end":{"line":103,"column":16}},"42":{"start":{"line":107,"column":2},"end":{"line":107,"column":24}},"43":{"start":{"line":111,"column":34},"end":{"line":111,"column":66}},"44":{"start":{"line":112,"column":35},"end":{"line":112,"column":68}},"45":{"start":{"line":113,"column":2},"end":{"line":113,"column":107}},"46":{"start":{"line":117,"column":37},"end":{"line":117,"column":72}},"47":{"start":{"line":118,"column":35},"end":{"line":118,"column":68}},"48":{"start":{"line":119,"column":2},"end":{"line":119,"column":113}},"49":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"50":{"start":{"line":131,"column":4},"end":{"line":131,"column":49}},"51":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"52":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"53":{"start":{"line":142,"column":19},"end":{"line":142,"column":52}},"54":{"start":{"line":143,"column":6},"end":{"line":149,"column":7}},"55":{"start":{"line":144,"column":30},"end":{"line":144,"column":39}},"56":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"57":{"start":{"line":147,"column":10},"end":{"line":147,"column":47}},"58":{"start":{"line":154,"column":4},"end":{"line":154,"column":72}},"59":{"start":{"line":158,"column":4},"end":{"line":165,"column":5}},"60":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"61":{"start":{"line":160,"column":8},"end":{"line":160,"column":51}},"62":{"start":{"line":161,"column":8},"end":{"line":163,"column":11}},"63":{"start":{"line":162,"column":10},"end":{"line":162,"column":67}},"64":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":47}},"66":{"start":{"line":170,"column":6},"end":{"line":172,"column":9}},"67":{"start":{"line":171,"column":8},"end":{"line":171,"column":65}},"68":{"start":{"line":176,"column":2},"end":{"line":176,"column":37}},"69":{"start":{"line":185,"column":13},"end":{"line":185,"column":34}},"70":{"start":{"line":186,"column":19},"end":{"line":186,"column":31}},"71":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"72":{"start":{"line":189,"column":4},"end":{"line":189,"column":47}},"73":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"74":{"start":{"line":193,"column":4},"end":{"line":193,"column":28}},"75":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"76":{"start":{"line":197,"column":4},"end":{"line":197,"column":19}},"77":{"start":{"line":200,"column":2},"end":{"line":212,"column":5}},"78":{"start":{"line":201,"column":4},"end":{"line":201,"column":54}},"79":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"80":{"start":{"line":204,"column":6},"end":{"line":204,"column":40}},"81":{"start":{"line":206,"column":6},"end":{"line":210,"column":7}},"82":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"83":{"start":{"line":208,"column":10},"end":{"line":208,"column":63}},"84":{"start":{"line":216,"column":2},"end":{"line":220,"column":3}},"85":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":218,"column":6},"end":{"line":218,"column":51}},"87":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"88":{"start":{"line":225,"column":4},"end":{"line":225,"column":29}},"89":{"start":{"line":227,"column":2},"end":{"line":227,"column":37}},"90":{"start":{"line":233,"column":2},"end":{"line":233,"column":36}},"91":{"start":{"line":234,"column":2},"end":{"line":234,"column":17}},"92":{"start":{"line":235,"column":2},"end":{"line":239,"column":3}},"93":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"94":{"start":{"line":237,"column":6},"end":{"line":237,"column":48}},"95":{"start":{"line":243,"column":2},"end":{"line":243,"column":19}},"96":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"97":{"start":{"line":245,"column":4},"end":{"line":255,"column":7}},"98":{"start":{"line":246,"column":6},"end":{"line":246,"column":40}},"99":{"start":{"line":248,"column":6},"end":{"line":248,"column":45}},"100":{"start":{"line":249,"column":6},"end":{"line":254,"column":7}},"101":{"start":{"line":250,"column":8},"end":{"line":250,"column":80}},"102":{"start":{"line":251,"column":8},"end":{"line":251,"column":55}},"103":{"start":{"line":253,"column":8},"end":{"line":253,"column":95}},"104":{"start":{"line":260,"column":2},"end":{"line":260,"column":26}},"105":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"106":{"start":{"line":262,"column":17},"end":{"line":262,"column":50}},"107":{"start":{"line":265,"column":4},"end":{"line":276,"column":5}},"108":{"start":{"line":266,"column":23},"end":{"line":266,"column":32}},"109":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":45}},"111":{"start":{"line":271,"column":6},"end":{"line":275,"column":7}},"112":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"113":{"start":{"line":273,"column":10},"end":{"line":273,"column":62}},"114":{"start":{"line":281,"column":2},"end":{"line":281,"column":63}},"115":{"start":{"line":290,"column":2},"end":{"line":290,"column":44}},"116":{"start":{"line":293,"column":20},"end":{"line":293,"column":22}},"117":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"118":{"start":{"line":297,"column":4},"end":{"line":297,"column":57}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":19}},"120":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"121":{"start":{"line":304,"column":4},"end":{"line":316,"column":5}},"122":{"start":{"line":305,"column":6},"end":{"line":305,"column":23}},"123":{"start":{"line":306,"column":6},"end":{"line":306,"column":37}},"124":{"start":{"line":307,"column":6},"end":{"line":307,"column":52}},"125":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"126":{"start":{"line":310,"column":8},"end":{"line":310,"column":25}},"127":{"start":{"line":313,"column":6},"end":{"line":315,"column":8}},"128":{"start":{"line":321,"column":16},"end":{"line":321,"column":46}},"129":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"130":{"start":{"line":322,"column":14},"end":{"line":322,"column":21}},"131":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"132":{"start":{"line":325,"column":4},"end":{"line":325,"column":75}},"133":{"start":{"line":327,"column":2},"end":{"line":327,"column":32}},"134":{"start":{"line":332,"column":2},"end":{"line":336,"column":3}},"135":{"start":{"line":333,"column":4},"end":{"line":333,"column":52}},"136":{"start":{"line":335,"column":4},"end":{"line":335,"column":78}},"137":{"start":{"line":337,"column":2},"end":{"line":337,"column":15}},"138":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"139":{"start":{"line":342,"column":4},"end":{"line":342,"column":39}},"140":{"start":{"line":343,"column":4},"end":{"line":343,"column":31}},"141":{"start":{"line":345,"column":2},"end":{"line":345,"column":34}},"142":{"start":{"line":346,"column":2},"end":{"line":346,"column":45}},"143":{"start":{"line":347,"column":2},"end":{"line":347,"column":93}},"144":{"start":{"line":351,"column":15},"end":{"line":351,"column":40}},"145":{"start":{"line":352,"column":2},"end":{"line":352,"column":47}},"146":{"start":{"line":353,"column":2},"end":{"line":353,"column":26}},"147":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"148":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"149":{"start":{"line":357,"column":6},"end":{"line":357,"column":47}},"150":{"start":{"line":359,"column":4},"end":{"line":359,"column":60}},"151":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"152":{"start":{"line":362,"column":6},"end":{"line":364,"column":8}},"153":{"start":{"line":367,"column":2},"end":{"line":367,"column":36}},"154":{"start":{"line":370,"column":33},"end":{"line":376,"column":1}},"155":{"start":{"line":380,"column":4},"end":{"line":384,"column":6}},"156":{"start":{"line":383,"column":6},"end":{"line":383,"column":46}},"157":{"start":{"line":387,"column":2},"end":{"line":387,"column":42}},"158":{"start":{"line":389,"column":2},"end":{"line":391,"column":5}},"159":{"start":{"line":390,"column":4},"end":{"line":390,"column":77}},"160":{"start":{"line":395,"column":2},"end":{"line":397,"column":5}},"161":{"start":{"line":396,"column":4},"end":{"line":396,"column":51}},"162":{"start":{"line":412,"column":2},"end":{"line":416,"column":3}},"163":{"start":{"line":413,"column":4},"end":{"line":413,"column":56}},"164":{"start":{"line":415,"column":4},"end":{"line":415,"column":39}},"165":{"start":{"line":417,"column":2},"end":{"line":417,"column":24}},"166":{"start":{"line":431,"column":2},"end":{"line":431,"column":63}},"167":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"168":{"start":{"line":434,"column":4},"end":{"line":434,"column":74}},"169":{"start":{"line":437,"column":2},"end":{"line":437,"column":76}},"170":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"171":{"start":{"line":439,"column":4},"end":{"line":439,"column":79}},"172":{"start":{"line":441,"column":2},"end":{"line":441,"column":75}},"173":{"start":{"line":455,"column":2},"end":{"line":455,"column":37}},"174":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"175":{"start":{"line":459,"column":4},"end":{"line":459,"column":39}},"176":{"start":{"line":463,"column":18},"end":{"line":463,"column":19}},"177":{"start":{"line":465,"column":28},"end":{"line":465,"column":30}},"178":{"start":{"line":468,"column":4},"end":{"line":468,"column":25}},"179":{"start":{"line":469,"column":4},"end":{"line":469,"column":16}},"180":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"181":{"start":{"line":471,"column":6},"end":{"line":471,"column":16}},"182":{"start":{"line":475,"column":2},"end":{"line":479,"column":3}},"183":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":477,"column":6},"end":{"line":477,"column":58}},"185":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"186":{"start":{"line":482,"column":4},"end":{"line":482,"column":16}},"187":{"start":{"line":485,"column":2},"end":{"line":487,"column":5}},"188":{"start":{"line":486,"column":4},"end":{"line":486,"column":26}},"189":{"start":{"line":489,"column":2},"end":{"line":489,"column":14}},"190":{"start":{"line":513,"column":15},"end":{"line":535,"column":1}},"191":{"start":{"line":537,"column":0},"end":{"line":537,"column":24}},"192":{"start":{"line":540,"column":0},"end":{"line":540,"column":12}}},"fnMap":{"0":{"name":"hasLogger","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":18}},"loc":{"start":{"line":57,"column":27},"end":{"line":59,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":47},"end":{"line":70,"column":1}}},"2":{"name":"getBufferedLogger","decl":{"start":{"line":72,"column":9},"end":{"line":72,"column":26}},"loc":{"start":{"line":72,"column":41},"end":{"line":104,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":17},"end":{"line":77,"column":18}},"loc":{"start":{"line":77,"column":29},"end":{"line":83,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":17},"end":{"line":84,"column":18}},"loc":{"start":{"line":84,"column":36},"end":{"line":86,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":87,"column":17},"end":{"line":87,"column":18}},"loc":{"start":{"line":87,"column":36},"end":{"line":89,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":17}},"loc":{"start":{"line":90,"column":35},"end":{"line":92,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":17}},"loc":{"start":{"line":93,"column":35},"end":{"line":95,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":17},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":36},"end":{"line":98,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":18}},"loc":{"start":{"line":99,"column":36},"end":{"line":101,"column":3}}},"10":{"name":"normalizeCategory","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":37},"end":{"line":108,"column":1}}},"11":{"name":"doesLevelEntryContainsLogger","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":37}},"loc":{"start":{"line":110,"column":69},"end":{"line":114,"column":1}}},"12":{"name":"doesAppenderContainsLogger","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":35}},"loc":{"start":{"line":116,"column":70},"end":{"line":120,"column":1}}},"13":{"name":"getLogger","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":18}},"loc":{"start":{"line":128,"column":39},"end":{"line":177,"column":1}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":161,"column":29},"end":{"line":161,"column":30}},"loc":{"start":{"line":161,"column":43},"end":{"line":163,"column":9}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":170,"column":27},"end":{"line":170,"column":28}},"loc":{"start":{"line":170,"column":41},"end":{"line":172,"column":7}}},"16":{"name":"addAppender","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":20}},"loc":{"start":{"line":182,"column":23},"end":{"line":213,"column":1}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":200,"column":15},"end":{"line":200,"column":16}},"loc":{"start":{"line":200,"column":37},"end":{"line":212,"column":3}}},"18":{"name":"addAppenderToAllLoggers","decl":{"start":{"line":215,"column":9},"end":{"line":215,"column":32}},"loc":{"start":{"line":215,"column":43},"end":{"line":221,"column":1}}},"19":{"name":"addAppenderToCategory","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":30}},"loc":{"start":{"line":223,"column":51},"end":{"line":228,"column":1}}},"20":{"name":"clearAppenders","decl":{"start":{"line":230,"column":9},"end":{"line":230,"column":23}},"loc":{"start":{"line":230,"column":26},"end":{"line":240,"column":1}}},"21":{"name":"configureAppenders","decl":{"start":{"line":242,"column":9},"end":{"line":242,"column":27}},"loc":{"start":{"line":242,"column":51},"end":{"line":257,"column":1}}},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":25},"end":{"line":245,"column":26}},"loc":{"start":{"line":245,"column":45},"end":{"line":255,"column":5}}},"23":{"name":"configureLevels","decl":{"start":{"line":259,"column":9},"end":{"line":259,"column":24}},"loc":{"start":{"line":259,"column":34},"end":{"line":278,"column":1}}},"24":{"name":"setGlobalLogLevel","decl":{"start":{"line":280,"column":9},"end":{"line":280,"column":26}},"loc":{"start":{"line":280,"column":34},"end":{"line":282,"column":1}}},"25":{"name":"getDefaultLogger","decl":{"start":{"line":289,"column":9},"end":{"line":289,"column":25}},"loc":{"start":{"line":289,"column":28},"end":{"line":291,"column":1}}},"26":{"name":"loadConfigurationFile","decl":{"start":{"line":295,"column":9},"end":{"line":295,"column":30}},"loc":{"start":{"line":295,"column":41},"end":{"line":300,"column":1}}},"27":{"name":"configureOnceOff","decl":{"start":{"line":302,"column":9},"end":{"line":302,"column":25}},"loc":{"start":{"line":302,"column":43},"end":{"line":318,"column":1}}},"28":{"name":"reloadConfiguration","decl":{"start":{"line":320,"column":9},"end":{"line":320,"column":28}},"loc":{"start":{"line":320,"column":38},"end":{"line":328,"column":1}}},"29":{"name":"getMTime","decl":{"start":{"line":330,"column":9},"end":{"line":330,"column":17}},"loc":{"start":{"line":330,"column":28},"end":{"line":338,"column":1}}},"30":{"name":"initReloadConfiguration","decl":{"start":{"line":340,"column":9},"end":{"line":340,"column":32}},"loc":{"start":{"line":340,"column":52},"end":{"line":348,"column":1}}},"31":{"name":"configure","decl":{"start":{"line":350,"column":9},"end":{"line":350,"column":18}},"loc":{"start":{"line":350,"column":55},"end":{"line":368,"column":1}}},"32":{"name":"replaceConsole","decl":{"start":{"line":378,"column":9},"end":{"line":378,"column":23}},"loc":{"start":{"line":378,"column":32},"end":{"line":392,"column":1}}},"33":{"name":"replaceWith","decl":{"start":{"line":379,"column":11},"end":{"line":379,"column":22}},"loc":{"start":{"line":379,"column":27},"end":{"line":385,"column":3}}},"34":{"name":"(anonymous_34)","decl":{"start":{"line":380,"column":11},"end":{"line":380,"column":12}},"loc":{"start":{"line":380,"column":23},"end":{"line":384,"column":5}}},"35":{"name":"(anonymous_35)","decl":{"start":{"line":389,"column":52},"end":{"line":389,"column":53}},"loc":{"start":{"line":389,"column":62},"end":{"line":391,"column":3}}},"36":{"name":"restoreConsole","decl":{"start":{"line":394,"column":9},"end":{"line":394,"column":23}},"loc":{"start":{"line":394,"column":26},"end":{"line":398,"column":1}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":395,"column":52},"end":{"line":395,"column":53}},"loc":{"start":{"line":395,"column":62},"end":{"line":397,"column":3}}},"38":{"name":"requireAppender","decl":{"start":{"line":410,"column":9},"end":{"line":410,"column":24}},"loc":{"start":{"line":410,"column":35},"end":{"line":418,"column":1}}},"39":{"name":"loadAppender","decl":{"start":{"line":430,"column":9},"end":{"line":430,"column":21}},"loc":{"start":{"line":430,"column":48},"end":{"line":442,"column":1}}},"40":{"name":"shutdown","decl":{"start":{"line":452,"column":9},"end":{"line":452,"column":17}},"loc":{"start":{"line":452,"column":22},"end":{"line":490,"column":1}}},"41":{"name":"complete","decl":{"start":{"line":467,"column":11},"end":{"line":467,"column":19}},"loc":{"start":{"line":467,"column":25},"end":{"line":473,"column":3}}},"42":{"name":"(anonymous_42)","decl":{"start":{"line":485,"column":28},"end":{"line":485,"column":29}},"loc":{"start":{"line":485,"column":45},"end":{"line":487,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},{"start":{"line":64,"column":2},"end":{"line":68,"column":3}}]},"1":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":66}},"type":"binary-expr","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":34}},{"start":{"line":64,"column":38},"end":{"line":64,"column":66}}]},"2":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{"line":130,"column":2},"end":{"line":132,"column":3}}]},"3":{"loc":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},{"start":{"line":134,"column":2},"end":{"line":174,"column":3}}]},"4":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{"line":139,"column":4},"end":{"line":150,"column":5}}]},"5":{"loc":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},{"start":{"line":145,"column":8},"end":{"line":148,"column":9}}]},"6":{"loc":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},{"start":{"line":159,"column":6},"end":{"line":164,"column":7}}]},"7":{"loc":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},{"start":{"line":168,"column":4},"end":{"line":173,"column":5}}]},"8":{"loc":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"type":"if","locations":[{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},{"start":{"line":188,"column":2},"end":{"line":190,"column":3}}]},"9":{"loc":{"start":{"line":188,"column":6},"end":{"line":188,"column":54}},"type":"binary-expr","locations":[{"start":{"line":188,"column":6},"end":{"line":188,"column":21}},{"start":{"line":188,"column":25},"end":{"line":188,"column":54}}]},"10":{"loc":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},{"start":{"line":192,"column":2},"end":{"line":194,"column":3}}]},"11":{"loc":{"start":{"line":192,"column":6},"end":{"line":192,"column":48}},"type":"binary-expr","locations":[{"start":{"line":192,"column":6},"end":{"line":192,"column":23}},{"start":{"line":192,"column":27},"end":{"line":192,"column":48}}]},"12":{"loc":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"type":"if","locations":[{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},{"start":{"line":196,"column":2},"end":{"line":198,"column":3}}]},"13":{"loc":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"type":"if","locations":[{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},{"start":{"line":203,"column":4},"end":{"line":211,"column":5}}]},"14":{"loc":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},{"start":{"line":207,"column":8},"end":{"line":209,"column":9}}]},"15":{"loc":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},{"start":{"line":217,"column":4},"end":{"line":219,"column":5}}]},"16":{"loc":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"type":"if","locations":[{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},{"start":{"line":224,"column":2},"end":{"line":226,"column":3}}]},"17":{"loc":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"type":"if","locations":[{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},{"start":{"line":236,"column":4},"end":{"line":238,"column":5}}]},"18":{"loc":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},{"start":{"line":244,"column":2},"end":{"line":256,"column":3}}]},"19":{"loc":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"type":"if","locations":[{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},{"start":{"line":261,"column":2},"end":{"line":277,"column":3}}]},"20":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{"line":267,"column":6},"end":{"line":269,"column":7}}]},"21":{"loc":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},{"start":{"line":272,"column":8},"end":{"line":274,"column":9}}]},"22":{"loc":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"type":"if","locations":[{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},{"start":{"line":296,"column":2},"end":{"line":298,"column":3}}]},"23":{"loc":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"type":"if","locations":[{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},{"start":{"line":303,"column":2},"end":{"line":317,"column":3}}]},"24":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{"line":309,"column":6},"end":{"line":311,"column":7}}]},"25":{"loc":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"type":"if","locations":[{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},{"start":{"line":322,"column":2},"end":{"line":322,"column":21}}]},"26":{"loc":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"type":"if","locations":[{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},{"start":{"line":324,"column":2},"end":{"line":326,"column":3}}]},"27":{"loc":{"start":{"line":324,"column":6},"end":{"line":324,"column":82}},"type":"binary-expr","locations":[{"start":{"line":324,"column":6},"end":{"line":324,"column":27}},{"start":{"line":324,"column":32},"end":{"line":324,"column":81}}]},"28":{"loc":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"type":"if","locations":[{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},{"start":{"line":341,"column":2},"end":{"line":344,"column":3}}]},"29":{"loc":{"start":{"line":352,"column":11},"end":{"line":352,"column":46}},"type":"binary-expr","locations":[{"start":{"line":352,"column":11},"end":{"line":352,"column":17}},{"start":{"line":352,"column":21},"end":{"line":352,"column":46}}]},"30":{"loc":{"start":{"line":353,"column":12},"end":{"line":353,"column":25}},"type":"binary-expr","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":19}},{"start":{"line":353,"column":23},"end":{"line":353,"column":25}}]},"31":{"loc":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"type":"if","locations":[{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},{"start":{"line":355,"column":2},"end":{"line":366,"column":3}}]},"32":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":75}},"type":"binary-expr","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":26}},{"start":{"line":355,"column":30},"end":{"line":355,"column":45}},{"start":{"line":355,"column":49},"end":{"line":355,"column":75}}]},"33":{"loc":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"type":"if","locations":[{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},{"start":{"line":356,"column":4},"end":{"line":358,"column":5}}]},"34":{"loc":{"start":{"line":359,"column":13},"end":{"line":359,"column":59}},"type":"binary-expr","locations":[{"start":{"line":359,"column":13},"end":{"line":359,"column":42}},{"start":{"line":359,"column":46},"end":{"line":359,"column":59}}]},"35":{"loc":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"type":"if","locations":[{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},{"start":{"line":361,"column":4},"end":{"line":365,"column":5}}]},"36":{"loc":{"start":{"line":387,"column":11},"end":{"line":387,"column":41}},"type":"binary-expr","locations":[{"start":{"line":387,"column":11},"end":{"line":387,"column":17}},{"start":{"line":387,"column":21},"end":{"line":387,"column":41}}]},"37":{"loc":{"start":{"line":390,"column":32},"end":{"line":390,"column":75}},"type":"cond-expr","locations":[{"start":{"line":390,"column":49},"end":{"line":390,"column":60}},{"start":{"line":390,"column":63},"end":{"line":390,"column":75}}]},"38":{"loc":{"start":{"line":431,"column":19},"end":{"line":431,"column":62}},"type":"binary-expr","locations":[{"start":{"line":431,"column":19},"end":{"line":431,"column":33}},{"start":{"line":431,"column":37},"end":{"line":431,"column":62}}]},"39":{"loc":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"type":"if","locations":[{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},{"start":{"line":433,"column":2},"end":{"line":435,"column":3}}]},"40":{"loc":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"type":"if","locations":[{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},{"start":{"line":438,"column":2},"end":{"line":440,"column":3}}]},"41":{"loc":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"type":"if","locations":[{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},{"start":{"line":458,"column":2},"end":{"line":460,"column":3}}]},"42":{"loc":{"start":{"line":468,"column":12},"end":{"line":468,"column":24}},"type":"binary-expr","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":17}},{"start":{"line":468,"column":21},"end":{"line":468,"column":24}}]},"43":{"loc":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"type":"if","locations":[{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},{"start":{"line":470,"column":4},"end":{"line":472,"column":5}}]},"44":{"loc":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"type":"if","locations":[{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},{"start":{"line":476,"column":4},"end":{"line":478,"column":5}}]},"45":{"loc":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"type":"if","locations":[{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},{"start":{"line":481,"column":2},"end":{"line":483,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":10,"14":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":200,"43":0,"44":0,"45":0,"46":100,"47":100,"48":100,"49":10,"50":0,"51":10,"52":10,"53":0,"54":0,"55":0,"56":0,"57":0,"58":10,"59":10,"60":55,"61":10,"62":10,"63":10,"64":10,"65":0,"66":0,"67":0,"68":10,"69":11,"70":11,"71":11,"72":0,"73":11,"74":1,"75":11,"76":0,"77":11,"78":11,"79":11,"80":1,"81":10,"82":45,"83":0,"84":1,"85":0,"86":0,"87":11,"88":11,"89":11,"90":2,"91":2,"92":2,"93":0,"94":0,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":0,"104":1,"105":1,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":1,"117":1,"118":0,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":1,"145":1,"146":1,"147":1,"148":1,"149":0,"150":1,"151":0,"152":0,"153":1,"154":1,"155":0,"156":0,"157":0,"158":0,"159":0,"160":1,"161":5,"162":1,"163":1,"164":0,"165":1,"166":1,"167":1,"168":0,"169":1,"170":1,"171":0,"172":1,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":1,"191":1,"192":1},"f":{"0":10,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":200,"11":0,"12":100,"13":10,"14":10,"15":0,"16":11,"17":11,"18":1,"19":11,"20":2,"21":1,"22":1,"23":1,"24":0,"25":0,"26":1,"27":1,"28":0,"29":0,"30":0,"31":1,"32":0,"33":0,"34":0,"35":0,"36":1,"37":5,"38":1,"39":1,"40":0,"41":0,"42":0},"b":{"0":[0,0],"1":[0,0],"2":[0,10],"3":[10,0],"4":[0,10],"5":[0,0],"6":[10,45],"7":[0,10],"8":[0,11],"9":[11,11],"10":[1,10],"11":[11,11],"12":[0,11],"13":[1,10],"14":[0,45],"15":[0,0],"16":[11,0],"17":[0,0],"18":[1,0],"19":[0,1],"20":[0,0],"21":[0,0],"22":[0,1],"23":[1,0],"24":[0,1],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[1,1],"30":[1,1],"31":[1,0],"32":[1,0,0],"33":[0,1],"34":[1,1],"35":[0,0],"36":[0,0],"37":[0,0],"38":[1,1],"39":[0,1],"40":[0,1],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3a43360dca26d74ffd67cfe5ec75309575f038ac","contentHash":"10edbceee6329f5ee9c0d2f625fd311b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":1,"13":37,"14":76,"15":0,"16":0,"17":76,"18":37,"19":37,"20":13,"21":13,"22":13,"23":52,"24":37,"25":1,"26":13,"27":13,"28":13,"29":13,"30":13,"31":0,"32":11,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":1,"108":0,"109":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":37,"7":76,"8":0,"9":37,"10":13,"11":13,"12":13,"13":13,"14":13,"15":0,"16":11,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"0":[1,0],"1":[0,0],"2":[0,0],"3":[0,76],"4":[76,0],"5":[0,0],"6":[13,24],"7":[0,13],"8":[0,13],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf","contentHash":"d1d8e598552dfe064eef286d267900be_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":104,"5":104,"6":3,"7":104,"8":91,"9":13,"10":13,"11":13,"12":13,"13":0,"14":13,"15":13,"16":13,"17":1,"18":13,"19":13,"20":13,"21":13,"22":13,"23":13,"24":13,"25":13,"26":13,"27":13,"28":13,"29":13,"30":13,"31":13,"32":13,"33":13,"34":13,"35":13,"36":13,"37":13},"f":{"0":104,"1":91,"2":13,"3":13},"b":{"0":[0,13],"1":[13,0],"2":[13,0],"3":[13,0],"4":[13,0],"5":[13,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128","contentHash":"672b6336c04cfaa2a8588410ce063022_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/levels.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/levels.js","statementMap":{"0":{"start":{"line":9,"column":4},"end":{"line":9,"column":23}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":42}},"9":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":39}},"11":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"12":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":24}},"14":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"15":{"start":{"line":52,"column":4},"end":{"line":52,"column":43}},"16":{"start":{"line":53,"column":4},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"18":{"start":{"line":57,"column":4},"end":{"line":57,"column":62}},"19":{"start":{"line":60,"column":2},"end":{"line":60,"column":34}},"20":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"21":{"start":{"line":66,"column":23},"end":{"line":66,"column":45}},"22":{"start":{"line":67,"column":4},"end":{"line":67,"column":32}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"24":{"start":{"line":72,"column":0},"end":{"line":85,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":13},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":34},"end":{"line":22,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":37},"end":{"line":29,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":31,"column":24},"end":{"line":36,"column":3}}},"5":{"name":"toLevel","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":37},"end":{"line":61,"column":1}}},"6":{"name":"getLevel","decl":{"start":{"line":63,"column":9},"end":{"line":63,"column":17}},"loc":{"start":{"line":63,"column":28},"end":{"line":70,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{"line":32,"column":4},"end":{"line":34,"column":5}}]},"3":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}]},"4":{"loc":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},{"start":{"line":51,"column":2},"end":{"line":54,"column":3}}]},"5":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}]},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":61}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":45}},{"start":{"line":57,"column":49},"end":{"line":57,"column":61}}]},"7":{"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},{"start":{"line":65,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":9,"1":9,"2":20,"3":13,"4":0,"5":13,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":7,"13":0,"14":7,"15":0,"16":0,"17":7,"18":7,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1},"f":{"0":9,"1":20,"2":13,"3":0,"4":0,"5":7,"6":0},"b":{"0":[0,13],"1":[0,0],"2":[0,0],"3":[0,7],"4":[0,7],"5":[7,0],"6":[7,0],"7":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"daae16d9a9a708cc048c35299774fc26e22cf555","contentHash":"de3beea1cbd1c093130b8e3a1963e9d2_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":21},"end":{"line":6,"column":38}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":36}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":27}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":32}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":23}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":25}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":50,"column":4},"end":{"line":50,"column":45}},"11":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"12":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":67}},"14":{"start":{"line":62,"column":4},"end":{"line":62,"column":22}},"15":{"start":{"line":68,"column":17},"end":{"line":68,"column":38}},"16":{"start":{"line":69,"column":21},"end":{"line":69,"column":57}},"17":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":13}},"19":{"start":{"line":73,"column":4},"end":{"line":73,"column":39}},"20":{"start":{"line":77,"column":4},"end":{"line":77,"column":54}},"21":{"start":{"line":81,"column":25},"end":{"line":81,"column":75}},"22":{"start":{"line":82,"column":4},"end":{"line":82,"column":35}},"23":{"start":{"line":86,"column":0},"end":{"line":86,"column":43}},"24":{"start":{"line":87,"column":0},"end":{"line":87,"column":38}},"25":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"26":{"start":{"line":92,"column":16},"end":{"line":92,"column":38}},"27":{"start":{"line":94,"column":24},"end":{"line":94,"column":54}},"28":{"start":{"line":95,"column":22},"end":{"line":95,"column":81}},"29":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}},"30":{"start":{"line":96,"column":24},"end":{"line":96,"column":75}},"31":{"start":{"line":98,"column":2},"end":{"line":100,"column":4}},"32":{"start":{"line":99,"column":4},"end":{"line":99,"column":49}},"33":{"start":{"line":102,"column":2},"end":{"line":109,"column":4}},"34":{"start":{"line":105,"column":17},"end":{"line":105,"column":38}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":117,"column":2},"end":{"line":117,"column":27}},"38":{"start":{"line":125,"column":2},"end":{"line":125,"column":26}},"39":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"40":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"41":{"start":{"line":130,"column":0},"end":{"line":130,"column":57}},"42":{"start":{"line":131,"column":0},"end":{"line":131,"column":55}},"43":{"start":{"line":132,"column":0},"end":{"line":132,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":49},"end":{"line":32,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":27},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":65,"column":8},"end":{"line":74,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":29},"end":{"line":78,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":20},"end":{"line":83,"column":3}}},"7":{"name":"addLevelMethods","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":33},"end":{"line":110,"column":1}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":95,"column":57},"end":{"line":95,"column":58}},"loc":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":50},"end":{"line":98,"column":51}},"loc":{"start":{"line":98,"column":62},"end":{"line":100,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":34},"end":{"line":102,"column":35}},"loc":{"start":{"line":102,"column":46},"end":{"line":109,"column":3}}},"11":{"name":"disableAllLogWrites","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":28}},"loc":{"start":{"line":116,"column":31},"end":{"line":118,"column":1}}},"12":{"name":"enableAllLogWrites","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":27}},"loc":{"start":{"line":124,"column":30},"end":{"line":126,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"type":"binary-expr","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}}]},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":4},"end":{"line":54,"column":5}}]},"2":{"loc":{"start":{"line":58,"column":39},"end":{"line":58,"column":65}},"type":"binary-expr","locations":[{"start":{"line":58,"column":39},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":65}}]},"3":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}]},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}}]},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":106,"column":54}},"type":"binary-expr","locations":[{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},{"start":{"line":106,"column":28},"end":{"line":106,"column":54}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":13,"5":13,"6":13,"7":13,"8":13,"9":10,"10":10,"11":10,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":13,"21":13,"22":13,"23":1,"24":1,"25":1,"26":7,"27":7,"28":7,"29":0,"30":7,"31":7,"32":0,"33":7,"34":13,"35":13,"36":13,"37":0,"38":2,"39":1,"40":1,"41":1,"42":1,"43":1},"f":{"0":13,"1":10,"2":0,"3":0,"4":0,"5":13,"6":13,"7":7,"8":0,"9":0,"10":13,"11":0,"12":2},"b":{"0":[10,0],"1":[0,10],"2":[0,0],"3":[0,0],"4":[13,0],"5":[13,13]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7d8e54612a5d21505ecc3cd8c5eea114082c17db","contentHash":"00d625ca9babf994c26685dc45e2004b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":7,"column":23},"end":{"line":10,"column":18}},"2":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"4":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":34}},"6":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"7":{"start":{"line":50,"column":21},"end":{"line":50,"column":30}},"8":{"start":{"line":51,"column":14},"end":{"line":51,"column":56}},"9":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"10":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"11":{"start":{"line":55,"column":2},"end":{"line":112,"column":4}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"13":{"start":{"line":57,"column":22},"end":{"line":57,"column":36}},"14":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"15":{"start":{"line":60,"column":46},"end":{"line":60,"column":60}},"16":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"17":{"start":{"line":63,"column":20},"end":{"line":63,"column":30}},"18":{"start":{"line":64,"column":24},"end":{"line":64,"column":37}},"19":{"start":{"line":67,"column":6},"end":{"line":67,"column":26}},"20":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"21":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":37}},"23":{"start":{"line":74,"column":8},"end":{"line":74,"column":32}},"24":{"start":{"line":75,"column":8},"end":{"line":75,"column":38}},"25":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"26":{"start":{"line":79,"column":10},"end":{"line":79,"column":30}},"27":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"28":{"start":{"line":80,"column":27},"end":{"line":80,"column":47}},"29":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"30":{"start":{"line":81,"column":27},"end":{"line":81,"column":48}},"31":{"start":{"line":83,"column":10},"end":{"line":83,"column":61}},"32":{"start":{"line":88,"column":6},"end":{"line":107,"column":9}},"33":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"34":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"35":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"37":{"start":{"line":93,"column":37},"end":{"line":93,"column":57}},"38":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"39":{"start":{"line":94,"column":37},"end":{"line":94,"column":58}},"40":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"41":{"start":{"line":98,"column":33},"end":{"line":98,"column":79}},"42":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"43":{"start":{"line":101,"column":25},"end":{"line":101,"column":74}},"44":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}},"45":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"46":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"47":{"start":{"line":104,"column":12},"end":{"line":104,"column":63}},"48":{"start":{"line":111,"column":4},"end":{"line":111,"column":18}},"49":{"start":{"line":126,"column":28},"end":{"line":138,"column":3}},"50":{"start":{"line":127,"column":14},"end":{"line":127,"column":28}},"51":{"start":{"line":128,"column":4},"end":{"line":136,"column":5}},"52":{"start":{"line":129,"column":6},"end":{"line":135,"column":7}},"53":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"54":{"start":{"line":133,"column":10},"end":{"line":133,"column":27}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":13}},"56":{"start":{"line":140,"column":24},"end":{"line":140,"column":26}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":66}},"58":{"start":{"line":142,"column":2},"end":{"line":142,"column":72}},"59":{"start":{"line":143,"column":2},"end":{"line":143,"column":72}},"60":{"start":{"line":144,"column":2},"end":{"line":144,"column":68}},"61":{"start":{"line":145,"column":2},"end":{"line":145,"column":92}},"62":{"start":{"line":146,"column":2},"end":{"line":146,"column":81}},"63":{"start":{"line":147,"column":2},"end":{"line":147,"column":80}},"64":{"start":{"line":148,"column":2},"end":{"line":151,"column":5}},"65":{"start":{"line":152,"column":2},"end":{"line":155,"column":5}},"66":{"start":{"line":156,"column":2},"end":{"line":166,"column":5}},"67":{"start":{"line":167,"column":2},"end":{"line":167,"column":87}},"68":{"start":{"line":168,"column":2},"end":{"line":173,"column":5}},"69":{"start":{"line":174,"column":2},"end":{"line":179,"column":5}},"70":{"start":{"line":177,"column":6},"end":{"line":177,"column":46}},"71":{"start":{"line":180,"column":2},"end":{"line":187,"column":5}},"72":{"start":{"line":183,"column":6},"end":{"line":185,"column":50}},"73":{"start":{"line":189,"column":2},"end":{"line":189,"column":63}},"74":{"start":{"line":203,"column":2},"end":{"line":203,"column":36}},"75":{"start":{"line":215,"column":2},"end":{"line":217,"column":3}},"76":{"start":{"line":216,"column":4},"end":{"line":216,"column":62}},"77":{"start":{"line":218,"column":2},"end":{"line":218,"column":13}},"78":{"start":{"line":249,"column":15},"end":{"line":249,"column":19}},"79":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"80":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"81":{"start":{"line":253,"column":6},"end":{"line":253,"column":21}},"82":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"83":{"start":{"line":257,"column":6},"end":{"line":257,"column":33}},"84":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"85":{"start":{"line":262,"column":31},"end":{"line":262,"column":80}},"86":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"87":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"88":{"start":{"line":267,"column":2},"end":{"line":267,"column":16}},"89":{"start":{"line":270,"column":0},"end":{"line":270,"column":41}}},"fnMap":{"0":{"name":"getLogger","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":39},"end":{"line":113,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":10}},"loc":{"start":{"line":55,"column":29},"end":{"line":112,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":70,"column":22},"end":{"line":70,"column":23}},"loc":{"start":{"line":70,"column":41},"end":{"line":85,"column":7}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":23},"end":{"line":88,"column":24}},"loc":{"start":{"line":88,"column":29},"end":{"line":107,"column":7}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":39},"end":{"line":101,"column":40}},"loc":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}}},"5":{"name":"assembleTokens","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":48},"end":{"line":190,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":28},"end":{"line":126,"column":29}},"loc":{"start":{"line":126,"column":39},"end":{"line":138,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":17},"end":{"line":176,"column":18}},"loc":{"start":{"line":176,"column":37},"end":{"line":178,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":182,"column":17},"end":{"line":182,"column":18}},"loc":{"start":{"line":182,"column":37},"end":{"line":186,"column":5}}},"9":{"name":"getUrl","decl":{"start":{"line":202,"column":9},"end":{"line":202,"column":15}},"loc":{"start":{"line":202,"column":21},"end":{"line":204,"column":1}}},"10":{"name":"format","decl":{"start":{"line":214,"column":9},"end":{"line":214,"column":15}},"loc":{"start":{"line":214,"column":29},"end":{"line":219,"column":1}}},"11":{"name":"createNoLogCondition","decl":{"start":{"line":248,"column":9},"end":{"line":248,"column":29}},"loc":{"start":{"line":248,"column":37},"end":{"line":268,"column":1}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":262,"column":41},"end":{"line":262,"column":42}},"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}}}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},{"start":{"line":42,"column":2},"end":{"line":48,"column":3}}]},"1":{"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":27}},"type":"binary-expr","locations":[{"start":{"line":43,"column":14},"end":{"line":43,"column":21}},{"start":{"line":43,"column":25},"end":{"line":43,"column":27}}]},"2":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}]},"3":{"loc":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"type":"binary-expr","locations":[{"start":{"line":52,"column":14},"end":{"line":52,"column":28}},{"start":{"line":52,"column":32},"end":{"line":52,"column":46}}]},"4":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":32},"end":{"line":53,"column":67}},{"start":{"line":53,"column":70},"end":{"line":53,"column":74}}]},"5":{"loc":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},{"start":{"line":57,"column":4},"end":{"line":57,"column":36}}]},"6":{"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},{"start":{"line":60,"column":4},"end":{"line":60,"column":60}}]},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":44}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":13}},{"start":{"line":60,"column":17},"end":{"line":60,"column":44}}]},"8":{"loc":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},{"start":{"line":62,"column":4},"end":{"line":108,"column":5}}]},"9":{"loc":{"start":{"line":62,"column":8},"end":{"line":62,"column":68}},"type":"binary-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":40}},{"start":{"line":62,"column":44},"end":{"line":62,"column":68}}]},"10":{"loc":{"start":{"line":75,"column":24},"end":{"line":75,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":24},"end":{"line":75,"column":31}},{"start":{"line":75,"column":35},"end":{"line":75,"column":37}}]},"11":{"loc":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},{"start":{"line":78,"column":8},"end":{"line":84,"column":9}}]},"12":{"loc":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},{"start":{"line":80,"column":10},"end":{"line":80,"column":47}}]},"13":{"loc":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},{"start":{"line":81,"column":10},"end":{"line":81,"column":48}}]},"14":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":91,"column":8},"end":{"line":95,"column":9}}]},"15":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":54}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":26}},{"start":{"line":91,"column":30},"end":{"line":91,"column":54}}]},"16":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"type":"if","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},{"start":{"line":93,"column":10},"end":{"line":93,"column":57}}]},"17":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"type":"if","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},{"start":{"line":94,"column":10},"end":{"line":94,"column":58}}]},"18":{"loc":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},{"start":{"line":97,"column":8},"end":{"line":106,"column":9}}]},"19":{"loc":{"start":{"line":98,"column":58},"end":{"line":98,"column":78}},"type":"binary-expr","locations":[{"start":{"line":98,"column":58},"end":{"line":98,"column":72}},{"start":{"line":98,"column":76},"end":{"line":98,"column":78}}]},"20":{"loc":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},{"start":{"line":100,"column":10},"end":{"line":105,"column":11}}]},"21":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"type":"if","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},{"start":{"line":102,"column":12},"end":{"line":102,"column":50}}]},"22":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},{"start":{"line":132,"column":8},"end":{"line":134,"column":9}}]},"23":{"loc":{"start":{"line":145,"column":54},"end":{"line":145,"column":88}},"type":"binary-expr","locations":[{"start":{"line":145,"column":54},"end":{"line":145,"column":70}},{"start":{"line":145,"column":74},"end":{"line":145,"column":88}}]},"24":{"loc":{"start":{"line":150,"column":17},"end":{"line":150,"column":66}},"type":"binary-expr","locations":[{"start":{"line":150,"column":17},"end":{"line":150,"column":36}},{"start":{"line":150,"column":40},"end":{"line":150,"column":60}},{"start":{"line":150,"column":64},"end":{"line":150,"column":66}}]},"25":{"loc":{"start":{"line":158,"column":17},"end":{"line":165,"column":5}},"type":"binary-expr","locations":[{"start":{"line":158,"column":17},"end":{"line":158,"column":47}},{"start":{"line":159,"column":4},"end":{"line":159,"column":10}},{"start":{"line":160,"column":4},"end":{"line":160,"column":22}},{"start":{"line":161,"column":5},"end":{"line":161,"column":15}},{"start":{"line":162,"column":7},"end":{"line":162,"column":31}},{"start":{"line":163,"column":9},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":61}}]},"26":{"loc":{"start":{"line":170,"column":17},"end":{"line":172,"column":7}},"type":"binary-expr","locations":[{"start":{"line":170,"column":18},"end":{"line":170,"column":30}},{"start":{"line":170,"column":34},"end":{"line":170,"column":64}},{"start":{"line":171,"column":5},"end":{"line":171,"column":18}},{"start":{"line":171,"column":22},"end":{"line":171,"column":53}},{"start":{"line":172,"column":4},"end":{"line":172,"column":7}}]},"27":{"loc":{"start":{"line":183,"column":13},"end":{"line":185,"column":49}},"type":"cond-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},{"start":{"line":185,"column":11},"end":{"line":185,"column":48}}]},"28":{"loc":{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":47}},{"start":{"line":184,"column":51},"end":{"line":184,"column":71}}]},"29":{"loc":{"start":{"line":185,"column":11},"end":{"line":185,"column":48}},"type":"binary-expr","locations":[{"start":{"line":185,"column":11},"end":{"line":185,"column":24}},{"start":{"line":185,"column":28},"end":{"line":185,"column":48}}]},"30":{"loc":{"start":{"line":203,"column":9},"end":{"line":203,"column":35}},"type":"binary-expr","locations":[{"start":{"line":203,"column":9},"end":{"line":203,"column":24}},{"start":{"line":203,"column":28},"end":{"line":203,"column":35}}]},"31":{"loc":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},{"start":{"line":251,"column":2},"end":{"line":265,"column":3}}]},"32":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{"line":252,"column":4},"end":{"line":254,"column":5}}]},"33":{"loc":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},{"start":{"line":256,"column":4},"end":{"line":258,"column":5}}]},"34":{"loc":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"type":"if","locations":[{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},{"start":{"line":260,"column":4},"end":{"line":264,"column":5}}]},"35":{"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"type":"cond-expr","locations":[{"start":{"line":262,"column":62},"end":{"line":262,"column":72}},{"start":{"line":262,"column":75},"end":{"line":262,"column":78}}]}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0,0,0,0,0,0],"26":[0,0,0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8de6ff12985e168d800fe4d220a8a32e3c1dbe2a","contentHash":"06eb335e3bac458879bb256f44ac2576_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}}},"fnMap":{"0":{"name":"stdoutAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":33},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":0,"4":1,"5":0,"6":1,"7":1,"8":1},"f":{"0":1,"1":0,"2":1},"b":{"0":[1,1],"1":[0,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7fe10c84b315d3ba3e07ce62d5e48e59666eb827","contentHash":"009980a1b175f554654dded39c797b6c_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/smtp.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/smtp.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":4,"column":15},"end":{"line":4,"column":36}},"2":{"start":{"line":5,"column":11},"end":{"line":5,"column":24}},"3":{"start":{"line":7,"column":23},"end":{"line":7,"column":25}},"4":{"start":{"line":11,"column":18},"end":{"line":11,"column":19}},"5":{"start":{"line":20,"column":2},"end":{"line":59,"column":3}},"6":{"start":{"line":21,"column":26},"end":{"line":21,"column":53}},"7":{"start":{"line":22,"column":22},"end":{"line":22,"column":59}},"8":{"start":{"line":23,"column":23},"end":{"line":23,"column":40}},"9":{"start":{"line":24,"column":15},"end":{"line":24,"column":17}},"10":{"start":{"line":25,"column":18},"end":{"line":25,"column":39}},"11":{"start":{"line":26,"column":4},"end":{"line":28,"column":5}},"12":{"start":{"line":27,"column":6},"end":{"line":27,"column":75}},"13":{"start":{"line":30,"column":16},"end":{"line":34,"column":5}},"14":{"start":{"line":36,"column":4},"end":{"line":47,"column":5}},"15":{"start":{"line":37,"column":6},"end":{"line":37,"column":69}},"16":{"start":{"line":38,"column":6},"end":{"line":44,"column":8}},"17":{"start":{"line":46,"column":6},"end":{"line":46,"column":48}},"18":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"19":{"start":{"line":50,"column":6},"end":{"line":50,"column":31}},"20":{"start":{"line":52,"column":4},"end":{"line":58,"column":7}},"21":{"start":{"line":53,"column":6},"end":{"line":55,"column":7}},"22":{"start":{"line":54,"column":8},"end":{"line":54,"column":69}},"23":{"start":{"line":56,"column":6},"end":{"line":56,"column":24}},"24":{"start":{"line":57,"column":6},"end":{"line":57,"column":27}},"25":{"start":{"line":63,"column":22},"end":{"line":63,"column":26}},"26":{"start":{"line":64,"column":2},"end":{"line":73,"column":3}},"27":{"start":{"line":65,"column":4},"end":{"line":65,"column":32}},"28":{"start":{"line":66,"column":9},"end":{"line":73,"column":3}},"29":{"start":{"line":67,"column":19},"end":{"line":67,"column":52}},"30":{"start":{"line":68,"column":28},"end":{"line":68,"column":60}},"31":{"start":{"line":71,"column":24},"end":{"line":71,"column":48}},"32":{"start":{"line":72,"column":4},"end":{"line":72,"column":58}},"33":{"start":{"line":75,"column":2},"end":{"line":75,"column":23}},"34":{"start":{"line":79,"column":2},"end":{"line":84,"column":3}},"35":{"start":{"line":80,"column":4},"end":{"line":83,"column":21}},"36":{"start":{"line":81,"column":6},"end":{"line":81,"column":23}},"37":{"start":{"line":82,"column":6},"end":{"line":82,"column":19}},"38":{"start":{"line":99,"column":2},"end":{"line":99,"column":19}},"39":{"start":{"line":101,"column":2},"end":{"line":103,"column":3}},"40":{"start":{"line":102,"column":4},"end":{"line":102,"column":27}},"41":{"start":{"line":105,"column":2},"end":{"line":105,"column":56}},"42":{"start":{"line":106,"column":2},"end":{"line":106,"column":84}},"43":{"start":{"line":107,"column":2},"end":{"line":107,"column":75}},"44":{"start":{"line":108,"column":2},"end":{"line":108,"column":42}},"45":{"start":{"line":109,"column":2},"end":{"line":109,"column":51}},"46":{"start":{"line":110,"column":2},"end":{"line":110,"column":49}},"47":{"start":{"line":112,"column":2},"end":{"line":112,"column":86}},"48":{"start":{"line":114,"column":2},"end":{"line":122,"column":4}},"49":{"start":{"line":115,"column":4},"end":{"line":115,"column":18}},"50":{"start":{"line":116,"column":4},"end":{"line":116,"column":38}},"51":{"start":{"line":117,"column":4},"end":{"line":121,"column":5}},"52":{"start":{"line":118,"column":6},"end":{"line":118,"column":21}},"53":{"start":{"line":120,"column":6},"end":{"line":120,"column":19}},"54":{"start":{"line":126,"column":2},"end":{"line":126,"column":19}},"55":{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},"56":{"start":{"line":128,"column":4},"end":{"line":128,"column":65}},"57":{"start":{"line":130,"column":2},"end":{"line":130,"column":39}},"58":{"start":{"line":134,"column":2},"end":{"line":142,"column":3}},"59":{"start":{"line":135,"column":4},"end":{"line":141,"column":24}},"60":{"start":{"line":136,"column":6},"end":{"line":138,"column":7}},"61":{"start":{"line":137,"column":8},"end":{"line":137,"column":32}},"62":{"start":{"line":140,"column":6},"end":{"line":140,"column":19}},"63":{"start":{"line":144,"column":2},"end":{"line":150,"column":7}},"64":{"start":{"line":145,"column":4},"end":{"line":149,"column":5}},"65":{"start":{"line":146,"column":6},"end":{"line":146,"column":33}},"66":{"start":{"line":148,"column":6},"end":{"line":148,"column":11}},"67":{"start":{"line":153,"column":0},"end":{"line":153,"column":29}},"68":{"start":{"line":154,"column":0},"end":{"line":154,"column":39}},"69":{"start":{"line":155,"column":0},"end":{"line":155,"column":37}},"70":{"start":{"line":156,"column":0},"end":{"line":156,"column":35}}},"fnMap":{"0":{"name":"sendBuffer","decl":{"start":{"line":19,"column":9},"end":{"line":19,"column":19}},"loc":{"start":{"line":19,"column":22},"end":{"line":60,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":52,"column":28},"end":{"line":52,"column":29}},"loc":{"start":{"line":52,"column":39},"end":{"line":58,"column":5}}},"2":{"name":"getTransportOptions","decl":{"start":{"line":62,"column":9},"end":{"line":62,"column":28}},"loc":{"start":{"line":62,"column":31},"end":{"line":76,"column":1}}},"3":{"name":"scheduleSend","decl":{"start":{"line":78,"column":9},"end":{"line":78,"column":21}},"loc":{"start":{"line":78,"column":24},"end":{"line":85,"column":1}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":80,"column":27},"end":{"line":80,"column":28}},"loc":{"start":{"line":80,"column":33},"end":{"line":83,"column":5}}},"5":{"name":"smtpAppender","decl":{"start":{"line":98,"column":9},"end":{"line":98,"column":21}},"loc":{"start":{"line":98,"column":40},"end":{"line":123,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":114,"column":9},"end":{"line":114,"column":10}},"loc":{"start":{"line":114,"column":27},"end":{"line":122,"column":3}}},"7":{"name":"configure","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":18}},"loc":{"start":{"line":125,"column":28},"end":{"line":131,"column":1}}},"8":{"name":"shutdown","decl":{"start":{"line":133,"column":9},"end":{"line":133,"column":17}},"loc":{"start":{"line":133,"column":22},"end":{"line":151,"column":1}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":135,"column":15},"end":{"line":135,"column":16}},"loc":{"start":{"line":135,"column":21},"end":{"line":141,"column":5}}},"10":{"name":"checkDone","decl":{"start":{"line":144,"column":12},"end":{"line":144,"column":21}},"loc":{"start":{"line":144,"column":24},"end":{"line":150,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":2},"end":{"line":59,"column":3}},"type":"if","locations":[{"start":{"line":20,"column":2},"end":{"line":59,"column":3}},{"start":{"line":20,"column":2},"end":{"line":59,"column":3}}]},"1":{"loc":{"start":{"line":32,"column":15},"end":{"line":32,"column":58}},"type":"binary-expr","locations":[{"start":{"line":32,"column":15},"end":{"line":32,"column":29}},{"start":{"line":32,"column":33},"end":{"line":32,"column":58}}]},"2":{"loc":{"start":{"line":36,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":47,"column":5}},{"start":{"line":36,"column":4},"end":{"line":47,"column":5}}]},"3":{"loc":{"start":{"line":37,"column":10},"end":{"line":37,"column":39}},"type":"cond-expr","locations":[{"start":{"line":37,"column":24},"end":{"line":37,"column":30}},{"start":{"line":37,"column":33},"end":{"line":37,"column":39}}]},"4":{"loc":{"start":{"line":46,"column":10},"end":{"line":46,"column":39}},"type":"cond-expr","locations":[{"start":{"line":46,"column":24},"end":{"line":46,"column":30}},{"start":{"line":46,"column":33},"end":{"line":46,"column":39}}]},"5":{"loc":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"type":"if","locations":[{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},{"start":{"line":49,"column":4},"end":{"line":51,"column":5}}]},"6":{"loc":{"start":{"line":53,"column":6},"end":{"line":55,"column":7}},"type":"if","locations":[{"start":{"line":53,"column":6},"end":{"line":55,"column":7}},{"start":{"line":53,"column":6},"end":{"line":55,"column":7}}]},"7":{"loc":{"start":{"line":64,"column":2},"end":{"line":73,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":73,"column":3}},{"start":{"line":64,"column":2},"end":{"line":73,"column":3}}]},"8":{"loc":{"start":{"line":66,"column":9},"end":{"line":73,"column":3}},"type":"if","locations":[{"start":{"line":66,"column":9},"end":{"line":73,"column":3}},{"start":{"line":66,"column":9},"end":{"line":73,"column":3}}]},"9":{"loc":{"start":{"line":67,"column":19},"end":{"line":67,"column":52}},"type":"binary-expr","locations":[{"start":{"line":67,"column":19},"end":{"line":67,"column":42}},{"start":{"line":67,"column":46},"end":{"line":67,"column":52}}]},"10":{"loc":{"start":{"line":79,"column":2},"end":{"line":84,"column":3}},"type":"if","locations":[{"start":{"line":79,"column":2},"end":{"line":84,"column":3}},{"start":{"line":79,"column":2},"end":{"line":84,"column":3}}]},"11":{"loc":{"start":{"line":101,"column":2},"end":{"line":103,"column":3}},"type":"if","locations":[{"start":{"line":101,"column":2},"end":{"line":103,"column":3}},{"start":{"line":101,"column":2},"end":{"line":103,"column":3}}]},"12":{"loc":{"start":{"line":106,"column":30},"end":{"line":106,"column":83}},"type":"binary-expr","locations":[{"start":{"line":106,"column":30},"end":{"line":106,"column":55}},{"start":{"line":106,"column":59},"end":{"line":106,"column":83}}]},"13":{"loc":{"start":{"line":107,"column":31},"end":{"line":107,"column":74}},"type":"binary-expr","locations":[{"start":{"line":107,"column":31},"end":{"line":107,"column":57}},{"start":{"line":107,"column":61},"end":{"line":107,"column":74}}]},"14":{"loc":{"start":{"line":108,"column":11},"end":{"line":108,"column":41}},"type":"binary-expr","locations":[{"start":{"line":108,"column":11},"end":{"line":108,"column":18}},{"start":{"line":108,"column":22},"end":{"line":108,"column":41}}]},"15":{"loc":{"start":{"line":110,"column":17},"end":{"line":110,"column":48}},"type":"binary-expr","locations":[{"start":{"line":110,"column":17},"end":{"line":110,"column":43}},{"start":{"line":110,"column":47},"end":{"line":110,"column":48}}]},"16":{"loc":{"start":{"line":112,"column":21},"end":{"line":112,"column":77}},"type":"cond-expr","locations":[{"start":{"line":112,"column":51},"end":{"line":112,"column":73}},{"start":{"line":112,"column":76},"end":{"line":112,"column":77}}]},"17":{"loc":{"start":{"line":117,"column":4},"end":{"line":121,"column":5}},"type":"if","locations":[{"start":{"line":117,"column":4},"end":{"line":121,"column":5}},{"start":{"line":117,"column":4},"end":{"line":121,"column":5}}]},"18":{"loc":{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},"type":"if","locations":[{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},{"start":{"line":127,"column":2},"end":{"line":129,"column":3}}]},"19":{"loc":{"start":{"line":134,"column":2},"end":{"line":142,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":142,"column":3}},{"start":{"line":134,"column":2},"end":{"line":142,"column":3}}]},"20":{"loc":{"start":{"line":136,"column":6},"end":{"line":138,"column":7}},"type":"if","locations":[{"start":{"line":136,"column":6},"end":{"line":138,"column":7}},{"start":{"line":136,"column":6},"end":{"line":138,"column":7}}]},"21":{"loc":{"start":{"line":145,"column":4},"end":{"line":149,"column":5}},"type":"if","locations":[{"start":{"line":145,"column":4},"end":{"line":149,"column":5}},{"start":{"line":145,"column":4},"end":{"line":149,"column":5}}]}},"s":{"0":10,"1":10,"2":10,"3":10,"4":10,"5":12,"6":12,"7":12,"8":12,"9":12,"10":12,"11":12,"12":13,"13":12,"14":12,"15":1,"16":1,"17":11,"18":12,"19":1,"20":12,"21":12,"22":1,"23":12,"24":12,"25":12,"26":12,"27":9,"28":3,"29":3,"30":3,"31":3,"32":3,"33":12,"34":3,"35":2,"36":2,"37":2,"38":10,"39":10,"40":9,"41":10,"42":10,"43":10,"44":10,"45":10,"46":10,"47":10,"48":10,"49":13,"50":13,"51":13,"52":3,"53":10,"54":10,"55":10,"56":1,"57":10,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":10,"68":10,"69":10,"70":10},"f":{"0":12,"1":12,"2":12,"3":3,"4":2,"5":10,"6":13,"7":10,"8":0,"9":0,"10":0},"b":{"0":[12,0],"1":[12,11],"2":[1,11],"3":[0,1],"4":[0,11],"5":[1,11],"6":[1,11],"7":[9,3],"8":[3,0],"9":[3,1],"10":[2,1],"11":[9,1],"12":[10,10],"13":[10,10],"14":[10,9],"15":[10,9],"16":[0,10],"17":[3,10],"18":[1,9],"19":[0,0],"20":[0,0],"21":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8fde3c9059eb93fbf89f7de6a224acc938b0dd24"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/5fb9afbcdc27f7c3c6988bb80ceea0c9.json b/node_modules/log4js/.nyc_output/5fb9afbcdc27f7c3c6988bb80ceea0c9.json deleted file mode 100644 index a28584d..0000000 --- a/node_modules/log4js/.nyc_output/5fb9afbcdc27f7c3c6988bb80ceea0c9.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/log4js.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/log4js.js","statementMap":{"0":{"start":{"line":35,"column":11},"end":{"line":35,"column":24}},"1":{"start":{"line":36,"column":13},"end":{"line":36,"column":28}},"2":{"start":{"line":37,"column":16},"end":{"line":37,"column":36}},"3":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"4":{"start":{"line":39,"column":21},"end":{"line":39,"column":40}},"5":{"start":{"line":40,"column":22},"end":{"line":40,"column":63}},"6":{"start":{"line":42,"column":15},"end":{"line":42,"column":34}},"7":{"start":{"line":44,"column":23},"end":{"line":44,"column":30}},"8":{"start":{"line":45,"column":16},"end":{"line":45,"column":18}},"9":{"start":{"line":46,"column":23},"end":{"line":46,"column":25}},"10":{"start":{"line":47,"column":26},"end":{"line":47,"column":28}},"11":{"start":{"line":48,"column":22},"end":{"line":53,"column":1}},"12":{"start":{"line":55,"column":16},"end":{"line":55,"column":18}},"13":{"start":{"line":58,"column":2},"end":{"line":58,"column":40}},"14":{"start":{"line":62,"column":0},"end":{"line":70,"column":2}},"15":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"16":{"start":{"line":65,"column":23},"end":{"line":65,"column":45}},"17":{"start":{"line":66,"column":4},"end":{"line":66,"column":51}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":40}},"19":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"20":{"start":{"line":73,"column":21},"end":{"line":73,"column":44}},"21":{"start":{"line":74,"column":17},"end":{"line":74,"column":19}},"22":{"start":{"line":75,"column":2},"end":{"line":75,"column":19}},"23":{"start":{"line":76,"column":2},"end":{"line":76,"column":29}},"24":{"start":{"line":77,"column":2},"end":{"line":83,"column":4}},"25":{"start":{"line":78,"column":4},"end":{"line":82,"column":5}},"26":{"start":{"line":79,"column":18},"end":{"line":79,"column":32}},"27":{"start":{"line":80,"column":6},"end":{"line":80,"column":44}},"28":{"start":{"line":81,"column":6},"end":{"line":81,"column":28}},"29":{"start":{"line":84,"column":2},"end":{"line":86,"column":4}},"30":{"start":{"line":85,"column":4},"end":{"line":85,"column":59}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":4}},"32":{"start":{"line":88,"column":4},"end":{"line":88,"column":59}},"33":{"start":{"line":90,"column":2},"end":{"line":92,"column":4}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":58}},"35":{"start":{"line":93,"column":2},"end":{"line":95,"column":4}},"36":{"start":{"line":94,"column":4},"end":{"line":94,"column":58}},"37":{"start":{"line":96,"column":2},"end":{"line":98,"column":4}},"38":{"start":{"line":97,"column":4},"end":{"line":97,"column":59}},"39":{"start":{"line":99,"column":2},"end":{"line":101,"column":4}},"40":{"start":{"line":100,"column":4},"end":{"line":100,"column":59}},"41":{"start":{"line":103,"column":2},"end":{"line":103,"column":16}},"42":{"start":{"line":107,"column":2},"end":{"line":107,"column":24}},"43":{"start":{"line":111,"column":34},"end":{"line":111,"column":66}},"44":{"start":{"line":112,"column":35},"end":{"line":112,"column":68}},"45":{"start":{"line":113,"column":2},"end":{"line":113,"column":107}},"46":{"start":{"line":117,"column":37},"end":{"line":117,"column":72}},"47":{"start":{"line":118,"column":35},"end":{"line":118,"column":68}},"48":{"start":{"line":119,"column":2},"end":{"line":119,"column":113}},"49":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"50":{"start":{"line":131,"column":4},"end":{"line":131,"column":49}},"51":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"52":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"53":{"start":{"line":142,"column":19},"end":{"line":142,"column":52}},"54":{"start":{"line":143,"column":6},"end":{"line":149,"column":7}},"55":{"start":{"line":144,"column":30},"end":{"line":144,"column":39}},"56":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"57":{"start":{"line":147,"column":10},"end":{"line":147,"column":47}},"58":{"start":{"line":154,"column":4},"end":{"line":154,"column":72}},"59":{"start":{"line":158,"column":4},"end":{"line":165,"column":5}},"60":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"61":{"start":{"line":160,"column":8},"end":{"line":160,"column":51}},"62":{"start":{"line":161,"column":8},"end":{"line":163,"column":11}},"63":{"start":{"line":162,"column":10},"end":{"line":162,"column":67}},"64":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":47}},"66":{"start":{"line":170,"column":6},"end":{"line":172,"column":9}},"67":{"start":{"line":171,"column":8},"end":{"line":171,"column":65}},"68":{"start":{"line":176,"column":2},"end":{"line":176,"column":37}},"69":{"start":{"line":185,"column":13},"end":{"line":185,"column":34}},"70":{"start":{"line":186,"column":19},"end":{"line":186,"column":31}},"71":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"72":{"start":{"line":189,"column":4},"end":{"line":189,"column":47}},"73":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"74":{"start":{"line":193,"column":4},"end":{"line":193,"column":28}},"75":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"76":{"start":{"line":197,"column":4},"end":{"line":197,"column":19}},"77":{"start":{"line":200,"column":2},"end":{"line":212,"column":5}},"78":{"start":{"line":201,"column":4},"end":{"line":201,"column":54}},"79":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"80":{"start":{"line":204,"column":6},"end":{"line":204,"column":40}},"81":{"start":{"line":206,"column":6},"end":{"line":210,"column":7}},"82":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"83":{"start":{"line":208,"column":10},"end":{"line":208,"column":63}},"84":{"start":{"line":216,"column":2},"end":{"line":220,"column":3}},"85":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":218,"column":6},"end":{"line":218,"column":51}},"87":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"88":{"start":{"line":225,"column":4},"end":{"line":225,"column":29}},"89":{"start":{"line":227,"column":2},"end":{"line":227,"column":37}},"90":{"start":{"line":233,"column":2},"end":{"line":233,"column":36}},"91":{"start":{"line":234,"column":2},"end":{"line":234,"column":17}},"92":{"start":{"line":235,"column":2},"end":{"line":239,"column":3}},"93":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"94":{"start":{"line":237,"column":6},"end":{"line":237,"column":48}},"95":{"start":{"line":243,"column":2},"end":{"line":243,"column":19}},"96":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"97":{"start":{"line":245,"column":4},"end":{"line":255,"column":7}},"98":{"start":{"line":246,"column":6},"end":{"line":246,"column":40}},"99":{"start":{"line":248,"column":6},"end":{"line":248,"column":45}},"100":{"start":{"line":249,"column":6},"end":{"line":254,"column":7}},"101":{"start":{"line":250,"column":8},"end":{"line":250,"column":80}},"102":{"start":{"line":251,"column":8},"end":{"line":251,"column":55}},"103":{"start":{"line":253,"column":8},"end":{"line":253,"column":95}},"104":{"start":{"line":260,"column":2},"end":{"line":260,"column":26}},"105":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"106":{"start":{"line":262,"column":17},"end":{"line":262,"column":50}},"107":{"start":{"line":265,"column":4},"end":{"line":276,"column":5}},"108":{"start":{"line":266,"column":23},"end":{"line":266,"column":32}},"109":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":45}},"111":{"start":{"line":271,"column":6},"end":{"line":275,"column":7}},"112":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"113":{"start":{"line":273,"column":10},"end":{"line":273,"column":62}},"114":{"start":{"line":281,"column":2},"end":{"line":281,"column":63}},"115":{"start":{"line":290,"column":2},"end":{"line":290,"column":44}},"116":{"start":{"line":293,"column":20},"end":{"line":293,"column":22}},"117":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"118":{"start":{"line":297,"column":4},"end":{"line":297,"column":57}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":19}},"120":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"121":{"start":{"line":304,"column":4},"end":{"line":316,"column":5}},"122":{"start":{"line":305,"column":6},"end":{"line":305,"column":23}},"123":{"start":{"line":306,"column":6},"end":{"line":306,"column":37}},"124":{"start":{"line":307,"column":6},"end":{"line":307,"column":52}},"125":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"126":{"start":{"line":310,"column":8},"end":{"line":310,"column":25}},"127":{"start":{"line":313,"column":6},"end":{"line":315,"column":8}},"128":{"start":{"line":321,"column":16},"end":{"line":321,"column":46}},"129":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"130":{"start":{"line":322,"column":14},"end":{"line":322,"column":21}},"131":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"132":{"start":{"line":325,"column":4},"end":{"line":325,"column":75}},"133":{"start":{"line":327,"column":2},"end":{"line":327,"column":32}},"134":{"start":{"line":332,"column":2},"end":{"line":336,"column":3}},"135":{"start":{"line":333,"column":4},"end":{"line":333,"column":52}},"136":{"start":{"line":335,"column":4},"end":{"line":335,"column":78}},"137":{"start":{"line":337,"column":2},"end":{"line":337,"column":15}},"138":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"139":{"start":{"line":342,"column":4},"end":{"line":342,"column":39}},"140":{"start":{"line":343,"column":4},"end":{"line":343,"column":31}},"141":{"start":{"line":345,"column":2},"end":{"line":345,"column":34}},"142":{"start":{"line":346,"column":2},"end":{"line":346,"column":45}},"143":{"start":{"line":347,"column":2},"end":{"line":347,"column":93}},"144":{"start":{"line":351,"column":15},"end":{"line":351,"column":40}},"145":{"start":{"line":352,"column":2},"end":{"line":352,"column":47}},"146":{"start":{"line":353,"column":2},"end":{"line":353,"column":26}},"147":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"148":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"149":{"start":{"line":357,"column":6},"end":{"line":357,"column":47}},"150":{"start":{"line":359,"column":4},"end":{"line":359,"column":60}},"151":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"152":{"start":{"line":362,"column":6},"end":{"line":364,"column":8}},"153":{"start":{"line":367,"column":2},"end":{"line":367,"column":36}},"154":{"start":{"line":370,"column":33},"end":{"line":376,"column":1}},"155":{"start":{"line":380,"column":4},"end":{"line":384,"column":6}},"156":{"start":{"line":383,"column":6},"end":{"line":383,"column":46}},"157":{"start":{"line":387,"column":2},"end":{"line":387,"column":42}},"158":{"start":{"line":389,"column":2},"end":{"line":391,"column":5}},"159":{"start":{"line":390,"column":4},"end":{"line":390,"column":77}},"160":{"start":{"line":395,"column":2},"end":{"line":397,"column":5}},"161":{"start":{"line":396,"column":4},"end":{"line":396,"column":51}},"162":{"start":{"line":412,"column":2},"end":{"line":416,"column":3}},"163":{"start":{"line":413,"column":4},"end":{"line":413,"column":56}},"164":{"start":{"line":415,"column":4},"end":{"line":415,"column":39}},"165":{"start":{"line":417,"column":2},"end":{"line":417,"column":24}},"166":{"start":{"line":431,"column":2},"end":{"line":431,"column":63}},"167":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"168":{"start":{"line":434,"column":4},"end":{"line":434,"column":74}},"169":{"start":{"line":437,"column":2},"end":{"line":437,"column":76}},"170":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"171":{"start":{"line":439,"column":4},"end":{"line":439,"column":79}},"172":{"start":{"line":441,"column":2},"end":{"line":441,"column":75}},"173":{"start":{"line":455,"column":2},"end":{"line":455,"column":37}},"174":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"175":{"start":{"line":459,"column":4},"end":{"line":459,"column":39}},"176":{"start":{"line":463,"column":18},"end":{"line":463,"column":19}},"177":{"start":{"line":465,"column":28},"end":{"line":465,"column":30}},"178":{"start":{"line":468,"column":4},"end":{"line":468,"column":25}},"179":{"start":{"line":469,"column":4},"end":{"line":469,"column":16}},"180":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"181":{"start":{"line":471,"column":6},"end":{"line":471,"column":16}},"182":{"start":{"line":475,"column":2},"end":{"line":479,"column":3}},"183":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":477,"column":6},"end":{"line":477,"column":58}},"185":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"186":{"start":{"line":482,"column":4},"end":{"line":482,"column":16}},"187":{"start":{"line":485,"column":2},"end":{"line":487,"column":5}},"188":{"start":{"line":486,"column":4},"end":{"line":486,"column":26}},"189":{"start":{"line":489,"column":2},"end":{"line":489,"column":14}},"190":{"start":{"line":513,"column":15},"end":{"line":535,"column":1}},"191":{"start":{"line":537,"column":0},"end":{"line":537,"column":24}},"192":{"start":{"line":540,"column":0},"end":{"line":540,"column":12}}},"fnMap":{"0":{"name":"hasLogger","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":18}},"loc":{"start":{"line":57,"column":27},"end":{"line":59,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":47},"end":{"line":70,"column":1}}},"2":{"name":"getBufferedLogger","decl":{"start":{"line":72,"column":9},"end":{"line":72,"column":26}},"loc":{"start":{"line":72,"column":41},"end":{"line":104,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":17},"end":{"line":77,"column":18}},"loc":{"start":{"line":77,"column":29},"end":{"line":83,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":17},"end":{"line":84,"column":18}},"loc":{"start":{"line":84,"column":36},"end":{"line":86,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":87,"column":17},"end":{"line":87,"column":18}},"loc":{"start":{"line":87,"column":36},"end":{"line":89,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":17}},"loc":{"start":{"line":90,"column":35},"end":{"line":92,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":17}},"loc":{"start":{"line":93,"column":35},"end":{"line":95,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":17},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":36},"end":{"line":98,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":18}},"loc":{"start":{"line":99,"column":36},"end":{"line":101,"column":3}}},"10":{"name":"normalizeCategory","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":37},"end":{"line":108,"column":1}}},"11":{"name":"doesLevelEntryContainsLogger","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":37}},"loc":{"start":{"line":110,"column":69},"end":{"line":114,"column":1}}},"12":{"name":"doesAppenderContainsLogger","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":35}},"loc":{"start":{"line":116,"column":70},"end":{"line":120,"column":1}}},"13":{"name":"getLogger","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":18}},"loc":{"start":{"line":128,"column":39},"end":{"line":177,"column":1}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":161,"column":29},"end":{"line":161,"column":30}},"loc":{"start":{"line":161,"column":43},"end":{"line":163,"column":9}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":170,"column":27},"end":{"line":170,"column":28}},"loc":{"start":{"line":170,"column":41},"end":{"line":172,"column":7}}},"16":{"name":"addAppender","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":20}},"loc":{"start":{"line":182,"column":23},"end":{"line":213,"column":1}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":200,"column":15},"end":{"line":200,"column":16}},"loc":{"start":{"line":200,"column":37},"end":{"line":212,"column":3}}},"18":{"name":"addAppenderToAllLoggers","decl":{"start":{"line":215,"column":9},"end":{"line":215,"column":32}},"loc":{"start":{"line":215,"column":43},"end":{"line":221,"column":1}}},"19":{"name":"addAppenderToCategory","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":30}},"loc":{"start":{"line":223,"column":51},"end":{"line":228,"column":1}}},"20":{"name":"clearAppenders","decl":{"start":{"line":230,"column":9},"end":{"line":230,"column":23}},"loc":{"start":{"line":230,"column":26},"end":{"line":240,"column":1}}},"21":{"name":"configureAppenders","decl":{"start":{"line":242,"column":9},"end":{"line":242,"column":27}},"loc":{"start":{"line":242,"column":51},"end":{"line":257,"column":1}}},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":25},"end":{"line":245,"column":26}},"loc":{"start":{"line":245,"column":45},"end":{"line":255,"column":5}}},"23":{"name":"configureLevels","decl":{"start":{"line":259,"column":9},"end":{"line":259,"column":24}},"loc":{"start":{"line":259,"column":34},"end":{"line":278,"column":1}}},"24":{"name":"setGlobalLogLevel","decl":{"start":{"line":280,"column":9},"end":{"line":280,"column":26}},"loc":{"start":{"line":280,"column":34},"end":{"line":282,"column":1}}},"25":{"name":"getDefaultLogger","decl":{"start":{"line":289,"column":9},"end":{"line":289,"column":25}},"loc":{"start":{"line":289,"column":28},"end":{"line":291,"column":1}}},"26":{"name":"loadConfigurationFile","decl":{"start":{"line":295,"column":9},"end":{"line":295,"column":30}},"loc":{"start":{"line":295,"column":41},"end":{"line":300,"column":1}}},"27":{"name":"configureOnceOff","decl":{"start":{"line":302,"column":9},"end":{"line":302,"column":25}},"loc":{"start":{"line":302,"column":43},"end":{"line":318,"column":1}}},"28":{"name":"reloadConfiguration","decl":{"start":{"line":320,"column":9},"end":{"line":320,"column":28}},"loc":{"start":{"line":320,"column":38},"end":{"line":328,"column":1}}},"29":{"name":"getMTime","decl":{"start":{"line":330,"column":9},"end":{"line":330,"column":17}},"loc":{"start":{"line":330,"column":28},"end":{"line":338,"column":1}}},"30":{"name":"initReloadConfiguration","decl":{"start":{"line":340,"column":9},"end":{"line":340,"column":32}},"loc":{"start":{"line":340,"column":52},"end":{"line":348,"column":1}}},"31":{"name":"configure","decl":{"start":{"line":350,"column":9},"end":{"line":350,"column":18}},"loc":{"start":{"line":350,"column":55},"end":{"line":368,"column":1}}},"32":{"name":"replaceConsole","decl":{"start":{"line":378,"column":9},"end":{"line":378,"column":23}},"loc":{"start":{"line":378,"column":32},"end":{"line":392,"column":1}}},"33":{"name":"replaceWith","decl":{"start":{"line":379,"column":11},"end":{"line":379,"column":22}},"loc":{"start":{"line":379,"column":27},"end":{"line":385,"column":3}}},"34":{"name":"(anonymous_34)","decl":{"start":{"line":380,"column":11},"end":{"line":380,"column":12}},"loc":{"start":{"line":380,"column":23},"end":{"line":384,"column":5}}},"35":{"name":"(anonymous_35)","decl":{"start":{"line":389,"column":52},"end":{"line":389,"column":53}},"loc":{"start":{"line":389,"column":62},"end":{"line":391,"column":3}}},"36":{"name":"restoreConsole","decl":{"start":{"line":394,"column":9},"end":{"line":394,"column":23}},"loc":{"start":{"line":394,"column":26},"end":{"line":398,"column":1}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":395,"column":52},"end":{"line":395,"column":53}},"loc":{"start":{"line":395,"column":62},"end":{"line":397,"column":3}}},"38":{"name":"requireAppender","decl":{"start":{"line":410,"column":9},"end":{"line":410,"column":24}},"loc":{"start":{"line":410,"column":35},"end":{"line":418,"column":1}}},"39":{"name":"loadAppender","decl":{"start":{"line":430,"column":9},"end":{"line":430,"column":21}},"loc":{"start":{"line":430,"column":48},"end":{"line":442,"column":1}}},"40":{"name":"shutdown","decl":{"start":{"line":452,"column":9},"end":{"line":452,"column":17}},"loc":{"start":{"line":452,"column":22},"end":{"line":490,"column":1}}},"41":{"name":"complete","decl":{"start":{"line":467,"column":11},"end":{"line":467,"column":19}},"loc":{"start":{"line":467,"column":25},"end":{"line":473,"column":3}}},"42":{"name":"(anonymous_42)","decl":{"start":{"line":485,"column":28},"end":{"line":485,"column":29}},"loc":{"start":{"line":485,"column":45},"end":{"line":487,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},{"start":{"line":64,"column":2},"end":{"line":68,"column":3}}]},"1":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":66}},"type":"binary-expr","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":34}},{"start":{"line":64,"column":38},"end":{"line":64,"column":66}}]},"2":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{"line":130,"column":2},"end":{"line":132,"column":3}}]},"3":{"loc":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},{"start":{"line":134,"column":2},"end":{"line":174,"column":3}}]},"4":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{"line":139,"column":4},"end":{"line":150,"column":5}}]},"5":{"loc":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},{"start":{"line":145,"column":8},"end":{"line":148,"column":9}}]},"6":{"loc":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},{"start":{"line":159,"column":6},"end":{"line":164,"column":7}}]},"7":{"loc":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},{"start":{"line":168,"column":4},"end":{"line":173,"column":5}}]},"8":{"loc":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"type":"if","locations":[{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},{"start":{"line":188,"column":2},"end":{"line":190,"column":3}}]},"9":{"loc":{"start":{"line":188,"column":6},"end":{"line":188,"column":54}},"type":"binary-expr","locations":[{"start":{"line":188,"column":6},"end":{"line":188,"column":21}},{"start":{"line":188,"column":25},"end":{"line":188,"column":54}}]},"10":{"loc":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},{"start":{"line":192,"column":2},"end":{"line":194,"column":3}}]},"11":{"loc":{"start":{"line":192,"column":6},"end":{"line":192,"column":48}},"type":"binary-expr","locations":[{"start":{"line":192,"column":6},"end":{"line":192,"column":23}},{"start":{"line":192,"column":27},"end":{"line":192,"column":48}}]},"12":{"loc":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"type":"if","locations":[{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},{"start":{"line":196,"column":2},"end":{"line":198,"column":3}}]},"13":{"loc":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"type":"if","locations":[{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},{"start":{"line":203,"column":4},"end":{"line":211,"column":5}}]},"14":{"loc":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},{"start":{"line":207,"column":8},"end":{"line":209,"column":9}}]},"15":{"loc":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},{"start":{"line":217,"column":4},"end":{"line":219,"column":5}}]},"16":{"loc":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"type":"if","locations":[{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},{"start":{"line":224,"column":2},"end":{"line":226,"column":3}}]},"17":{"loc":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"type":"if","locations":[{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},{"start":{"line":236,"column":4},"end":{"line":238,"column":5}}]},"18":{"loc":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},{"start":{"line":244,"column":2},"end":{"line":256,"column":3}}]},"19":{"loc":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"type":"if","locations":[{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},{"start":{"line":261,"column":2},"end":{"line":277,"column":3}}]},"20":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{"line":267,"column":6},"end":{"line":269,"column":7}}]},"21":{"loc":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},{"start":{"line":272,"column":8},"end":{"line":274,"column":9}}]},"22":{"loc":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"type":"if","locations":[{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},{"start":{"line":296,"column":2},"end":{"line":298,"column":3}}]},"23":{"loc":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"type":"if","locations":[{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},{"start":{"line":303,"column":2},"end":{"line":317,"column":3}}]},"24":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{"line":309,"column":6},"end":{"line":311,"column":7}}]},"25":{"loc":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"type":"if","locations":[{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},{"start":{"line":322,"column":2},"end":{"line":322,"column":21}}]},"26":{"loc":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"type":"if","locations":[{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},{"start":{"line":324,"column":2},"end":{"line":326,"column":3}}]},"27":{"loc":{"start":{"line":324,"column":6},"end":{"line":324,"column":82}},"type":"binary-expr","locations":[{"start":{"line":324,"column":6},"end":{"line":324,"column":27}},{"start":{"line":324,"column":32},"end":{"line":324,"column":81}}]},"28":{"loc":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"type":"if","locations":[{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},{"start":{"line":341,"column":2},"end":{"line":344,"column":3}}]},"29":{"loc":{"start":{"line":352,"column":11},"end":{"line":352,"column":46}},"type":"binary-expr","locations":[{"start":{"line":352,"column":11},"end":{"line":352,"column":17}},{"start":{"line":352,"column":21},"end":{"line":352,"column":46}}]},"30":{"loc":{"start":{"line":353,"column":12},"end":{"line":353,"column":25}},"type":"binary-expr","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":19}},{"start":{"line":353,"column":23},"end":{"line":353,"column":25}}]},"31":{"loc":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"type":"if","locations":[{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},{"start":{"line":355,"column":2},"end":{"line":366,"column":3}}]},"32":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":75}},"type":"binary-expr","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":26}},{"start":{"line":355,"column":30},"end":{"line":355,"column":45}},{"start":{"line":355,"column":49},"end":{"line":355,"column":75}}]},"33":{"loc":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"type":"if","locations":[{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},{"start":{"line":356,"column":4},"end":{"line":358,"column":5}}]},"34":{"loc":{"start":{"line":359,"column":13},"end":{"line":359,"column":59}},"type":"binary-expr","locations":[{"start":{"line":359,"column":13},"end":{"line":359,"column":42}},{"start":{"line":359,"column":46},"end":{"line":359,"column":59}}]},"35":{"loc":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"type":"if","locations":[{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},{"start":{"line":361,"column":4},"end":{"line":365,"column":5}}]},"36":{"loc":{"start":{"line":387,"column":11},"end":{"line":387,"column":41}},"type":"binary-expr","locations":[{"start":{"line":387,"column":11},"end":{"line":387,"column":17}},{"start":{"line":387,"column":21},"end":{"line":387,"column":41}}]},"37":{"loc":{"start":{"line":390,"column":32},"end":{"line":390,"column":75}},"type":"cond-expr","locations":[{"start":{"line":390,"column":49},"end":{"line":390,"column":60}},{"start":{"line":390,"column":63},"end":{"line":390,"column":75}}]},"38":{"loc":{"start":{"line":431,"column":19},"end":{"line":431,"column":62}},"type":"binary-expr","locations":[{"start":{"line":431,"column":19},"end":{"line":431,"column":33}},{"start":{"line":431,"column":37},"end":{"line":431,"column":62}}]},"39":{"loc":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"type":"if","locations":[{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},{"start":{"line":433,"column":2},"end":{"line":435,"column":3}}]},"40":{"loc":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"type":"if","locations":[{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},{"start":{"line":438,"column":2},"end":{"line":440,"column":3}}]},"41":{"loc":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"type":"if","locations":[{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},{"start":{"line":458,"column":2},"end":{"line":460,"column":3}}]},"42":{"loc":{"start":{"line":468,"column":12},"end":{"line":468,"column":24}},"type":"binary-expr","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":17}},{"start":{"line":468,"column":21},"end":{"line":468,"column":24}}]},"43":{"loc":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"type":"if","locations":[{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},{"start":{"line":470,"column":4},"end":{"line":472,"column":5}}]},"44":{"loc":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"type":"if","locations":[{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},{"start":{"line":476,"column":4},"end":{"line":478,"column":5}}]},"45":{"loc":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"type":"if","locations":[{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},{"start":{"line":481,"column":2},"end":{"line":483,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":7,"14":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":36,"43":0,"44":0,"45":0,"46":18,"47":18,"48":18,"49":5,"50":0,"51":5,"52":5,"53":0,"54":0,"55":0,"56":0,"57":0,"58":5,"59":5,"60":13,"61":6,"62":6,"63":11,"64":5,"65":0,"66":0,"67":0,"68":5,"69":10,"70":10,"71":10,"72":0,"73":10,"74":1,"75":10,"76":3,"77":10,"78":11,"79":11,"80":1,"81":10,"82":5,"83":1,"84":1,"85":0,"86":0,"87":11,"88":6,"89":11,"90":4,"91":4,"92":4,"93":2,"94":2,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":0,"104":1,"105":1,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":1,"117":1,"118":0,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":1,"145":1,"146":1,"147":1,"148":1,"149":0,"150":1,"151":0,"152":0,"153":1,"154":1,"155":0,"156":0,"157":0,"158":0,"159":0,"160":1,"161":5,"162":1,"163":1,"164":0,"165":1,"166":1,"167":1,"168":0,"169":1,"170":1,"171":0,"172":1,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":1,"191":1,"192":1},"f":{"0":7,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":36,"11":0,"12":18,"13":5,"14":11,"15":0,"16":10,"17":11,"18":1,"19":11,"20":4,"21":1,"22":1,"23":1,"24":0,"25":0,"26":1,"27":1,"28":0,"29":0,"30":0,"31":1,"32":0,"33":0,"34":0,"35":0,"36":1,"37":5,"38":1,"39":1,"40":0,"41":0,"42":0},"b":{"0":[0,0],"1":[0,0],"2":[0,5],"3":[5,0],"4":[0,5],"5":[0,0],"6":[6,7],"7":[0,5],"8":[0,10],"9":[10,10],"10":[1,9],"11":[10,10],"12":[3,7],"13":[1,10],"14":[1,4],"15":[0,0],"16":[6,5],"17":[2,0],"18":[1,0],"19":[0,1],"20":[0,0],"21":[0,0],"22":[0,1],"23":[1,0],"24":[0,1],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[1,1],"30":[1,1],"31":[1,0],"32":[1,0,0],"33":[0,1],"34":[1,1],"35":[0,0],"36":[0,0],"37":[0,0],"38":[1,1],"39":[0,1],"40":[0,1],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3a43360dca26d74ffd67cfe5ec75309575f038ac","contentHash":"10edbceee6329f5ee9c0d2f625fd311b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":2,"12":2,"13":14,"14":35,"15":0,"16":0,"17":35,"18":14,"19":14,"20":7,"21":7,"22":7,"23":28,"24":14,"25":2,"26":7,"27":7,"28":7,"29":7,"30":7,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":2,"108":0,"109":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":14,"7":35,"8":0,"9":14,"10":7,"11":7,"12":7,"13":7,"14":7,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"0":[2,0],"1":[0,0],"2":[0,0],"3":[0,35],"4":[35,0],"5":[0,0],"6":[7,7],"7":[0,7],"8":[0,7],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf","contentHash":"d1d8e598552dfe064eef286d267900be_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":2,"1":2,"2":2,"3":2,"4":56,"5":56,"6":1,"7":56,"8":49,"9":7,"10":7,"11":7,"12":7,"13":0,"14":7,"15":7,"16":7,"17":2,"18":7,"19":7,"20":7,"21":7,"22":7,"23":7,"24":7,"25":7,"26":7,"27":7,"28":7,"29":7,"30":7,"31":7,"32":7,"33":7,"34":7,"35":7,"36":7,"37":7},"f":{"0":56,"1":49,"2":7,"3":7},"b":{"0":[0,7],"1":[7,0],"2":[7,0],"3":[7,0],"4":[7,0],"5":[7,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128","contentHash":"672b6336c04cfaa2a8588410ce063022_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/levels.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/levels.js","statementMap":{"0":{"start":{"line":9,"column":4},"end":{"line":9,"column":23}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":42}},"9":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":39}},"11":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"12":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":24}},"14":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"15":{"start":{"line":52,"column":4},"end":{"line":52,"column":43}},"16":{"start":{"line":53,"column":4},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"18":{"start":{"line":57,"column":4},"end":{"line":57,"column":62}},"19":{"start":{"line":60,"column":2},"end":{"line":60,"column":34}},"20":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"21":{"start":{"line":66,"column":23},"end":{"line":66,"column":45}},"22":{"start":{"line":67,"column":4},"end":{"line":67,"column":32}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"24":{"start":{"line":72,"column":0},"end":{"line":85,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":13},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":34},"end":{"line":22,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":37},"end":{"line":29,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":31,"column":24},"end":{"line":36,"column":3}}},"5":{"name":"toLevel","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":37},"end":{"line":61,"column":1}}},"6":{"name":"getLevel","decl":{"start":{"line":63,"column":9},"end":{"line":63,"column":17}},"loc":{"start":{"line":63,"column":28},"end":{"line":70,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{"line":32,"column":4},"end":{"line":34,"column":5}}]},"3":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}]},"4":{"loc":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},{"start":{"line":51,"column":2},"end":{"line":54,"column":3}}]},"5":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}]},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":61}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":45}},{"start":{"line":57,"column":49},"end":{"line":57,"column":61}}]},"7":{"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},{"start":{"line":65,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":9,"1":9,"2":14,"3":5,"4":0,"5":5,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":7,"13":0,"14":7,"15":0,"16":0,"17":7,"18":7,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1},"f":{"0":9,"1":14,"2":5,"3":0,"4":0,"5":7,"6":0},"b":{"0":[0,5],"1":[0,0],"2":[0,0],"3":[0,7],"4":[0,7],"5":[7,0],"6":[7,0],"7":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"daae16d9a9a708cc048c35299774fc26e22cf555","contentHash":"de3beea1cbd1c093130b8e3a1963e9d2_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":21},"end":{"line":6,"column":38}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":36}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":27}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":32}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":23}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":25}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":50,"column":4},"end":{"line":50,"column":45}},"11":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"12":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":67}},"14":{"start":{"line":62,"column":4},"end":{"line":62,"column":22}},"15":{"start":{"line":68,"column":17},"end":{"line":68,"column":38}},"16":{"start":{"line":69,"column":21},"end":{"line":69,"column":57}},"17":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":13}},"19":{"start":{"line":73,"column":4},"end":{"line":73,"column":39}},"20":{"start":{"line":77,"column":4},"end":{"line":77,"column":54}},"21":{"start":{"line":81,"column":25},"end":{"line":81,"column":75}},"22":{"start":{"line":82,"column":4},"end":{"line":82,"column":35}},"23":{"start":{"line":86,"column":0},"end":{"line":86,"column":43}},"24":{"start":{"line":87,"column":0},"end":{"line":87,"column":38}},"25":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"26":{"start":{"line":92,"column":16},"end":{"line":92,"column":38}},"27":{"start":{"line":94,"column":24},"end":{"line":94,"column":54}},"28":{"start":{"line":95,"column":22},"end":{"line":95,"column":81}},"29":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}},"30":{"start":{"line":96,"column":24},"end":{"line":96,"column":75}},"31":{"start":{"line":98,"column":2},"end":{"line":100,"column":4}},"32":{"start":{"line":99,"column":4},"end":{"line":99,"column":49}},"33":{"start":{"line":102,"column":2},"end":{"line":109,"column":4}},"34":{"start":{"line":105,"column":17},"end":{"line":105,"column":38}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":117,"column":2},"end":{"line":117,"column":27}},"38":{"start":{"line":125,"column":2},"end":{"line":125,"column":26}},"39":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"40":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"41":{"start":{"line":130,"column":0},"end":{"line":130,"column":57}},"42":{"start":{"line":131,"column":0},"end":{"line":131,"column":55}},"43":{"start":{"line":132,"column":0},"end":{"line":132,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":49},"end":{"line":32,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":27},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":65,"column":8},"end":{"line":74,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":29},"end":{"line":78,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":20},"end":{"line":83,"column":3}}},"7":{"name":"addLevelMethods","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":33},"end":{"line":110,"column":1}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":95,"column":57},"end":{"line":95,"column":58}},"loc":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":50},"end":{"line":98,"column":51}},"loc":{"start":{"line":98,"column":62},"end":{"line":100,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":34},"end":{"line":102,"column":35}},"loc":{"start":{"line":102,"column":46},"end":{"line":109,"column":3}}},"11":{"name":"disableAllLogWrites","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":28}},"loc":{"start":{"line":116,"column":31},"end":{"line":118,"column":1}}},"12":{"name":"enableAllLogWrites","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":27}},"loc":{"start":{"line":124,"column":30},"end":{"line":126,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"type":"binary-expr","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}}]},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":4},"end":{"line":54,"column":5}}]},"2":{"loc":{"start":{"line":58,"column":39},"end":{"line":58,"column":65}},"type":"binary-expr","locations":[{"start":{"line":58,"column":39},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":65}}]},"3":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}]},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}}]},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":106,"column":54}},"type":"binary-expr","locations":[{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},{"start":{"line":106,"column":28},"end":{"line":106,"column":54}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":5,"5":5,"6":5,"7":5,"8":5,"9":5,"10":5,"11":5,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":5,"21":5,"22":5,"23":1,"24":1,"25":1,"26":7,"27":7,"28":7,"29":0,"30":7,"31":7,"32":0,"33":7,"34":5,"35":5,"36":5,"37":0,"38":4,"39":1,"40":1,"41":1,"42":1,"43":1},"f":{"0":5,"1":5,"2":0,"3":0,"4":0,"5":5,"6":5,"7":7,"8":0,"9":0,"10":5,"11":0,"12":4},"b":{"0":[5,0],"1":[0,5],"2":[0,0],"3":[0,0],"4":[5,0],"5":[5,5]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7d8e54612a5d21505ecc3cd8c5eea114082c17db","contentHash":"00d625ca9babf994c26685dc45e2004b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":7,"column":23},"end":{"line":10,"column":18}},"2":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"4":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":34}},"6":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"7":{"start":{"line":50,"column":21},"end":{"line":50,"column":30}},"8":{"start":{"line":51,"column":14},"end":{"line":51,"column":56}},"9":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"10":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"11":{"start":{"line":55,"column":2},"end":{"line":112,"column":4}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"13":{"start":{"line":57,"column":22},"end":{"line":57,"column":36}},"14":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"15":{"start":{"line":60,"column":46},"end":{"line":60,"column":60}},"16":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"17":{"start":{"line":63,"column":20},"end":{"line":63,"column":30}},"18":{"start":{"line":64,"column":24},"end":{"line":64,"column":37}},"19":{"start":{"line":67,"column":6},"end":{"line":67,"column":26}},"20":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"21":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":37}},"23":{"start":{"line":74,"column":8},"end":{"line":74,"column":32}},"24":{"start":{"line":75,"column":8},"end":{"line":75,"column":38}},"25":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"26":{"start":{"line":79,"column":10},"end":{"line":79,"column":30}},"27":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"28":{"start":{"line":80,"column":27},"end":{"line":80,"column":47}},"29":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"30":{"start":{"line":81,"column":27},"end":{"line":81,"column":48}},"31":{"start":{"line":83,"column":10},"end":{"line":83,"column":61}},"32":{"start":{"line":88,"column":6},"end":{"line":107,"column":9}},"33":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"34":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"35":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"37":{"start":{"line":93,"column":37},"end":{"line":93,"column":57}},"38":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"39":{"start":{"line":94,"column":37},"end":{"line":94,"column":58}},"40":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"41":{"start":{"line":98,"column":33},"end":{"line":98,"column":79}},"42":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"43":{"start":{"line":101,"column":25},"end":{"line":101,"column":74}},"44":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}},"45":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"46":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"47":{"start":{"line":104,"column":12},"end":{"line":104,"column":63}},"48":{"start":{"line":111,"column":4},"end":{"line":111,"column":18}},"49":{"start":{"line":126,"column":28},"end":{"line":138,"column":3}},"50":{"start":{"line":127,"column":14},"end":{"line":127,"column":28}},"51":{"start":{"line":128,"column":4},"end":{"line":136,"column":5}},"52":{"start":{"line":129,"column":6},"end":{"line":135,"column":7}},"53":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"54":{"start":{"line":133,"column":10},"end":{"line":133,"column":27}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":13}},"56":{"start":{"line":140,"column":24},"end":{"line":140,"column":26}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":66}},"58":{"start":{"line":142,"column":2},"end":{"line":142,"column":72}},"59":{"start":{"line":143,"column":2},"end":{"line":143,"column":72}},"60":{"start":{"line":144,"column":2},"end":{"line":144,"column":68}},"61":{"start":{"line":145,"column":2},"end":{"line":145,"column":92}},"62":{"start":{"line":146,"column":2},"end":{"line":146,"column":81}},"63":{"start":{"line":147,"column":2},"end":{"line":147,"column":80}},"64":{"start":{"line":148,"column":2},"end":{"line":151,"column":5}},"65":{"start":{"line":152,"column":2},"end":{"line":155,"column":5}},"66":{"start":{"line":156,"column":2},"end":{"line":166,"column":5}},"67":{"start":{"line":167,"column":2},"end":{"line":167,"column":87}},"68":{"start":{"line":168,"column":2},"end":{"line":173,"column":5}},"69":{"start":{"line":174,"column":2},"end":{"line":179,"column":5}},"70":{"start":{"line":177,"column":6},"end":{"line":177,"column":46}},"71":{"start":{"line":180,"column":2},"end":{"line":187,"column":5}},"72":{"start":{"line":183,"column":6},"end":{"line":185,"column":50}},"73":{"start":{"line":189,"column":2},"end":{"line":189,"column":63}},"74":{"start":{"line":203,"column":2},"end":{"line":203,"column":36}},"75":{"start":{"line":215,"column":2},"end":{"line":217,"column":3}},"76":{"start":{"line":216,"column":4},"end":{"line":216,"column":62}},"77":{"start":{"line":218,"column":2},"end":{"line":218,"column":13}},"78":{"start":{"line":249,"column":15},"end":{"line":249,"column":19}},"79":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"80":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"81":{"start":{"line":253,"column":6},"end":{"line":253,"column":21}},"82":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"83":{"start":{"line":257,"column":6},"end":{"line":257,"column":33}},"84":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"85":{"start":{"line":262,"column":31},"end":{"line":262,"column":80}},"86":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"87":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"88":{"start":{"line":267,"column":2},"end":{"line":267,"column":16}},"89":{"start":{"line":270,"column":0},"end":{"line":270,"column":41}}},"fnMap":{"0":{"name":"getLogger","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":39},"end":{"line":113,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":10}},"loc":{"start":{"line":55,"column":29},"end":{"line":112,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":70,"column":22},"end":{"line":70,"column":23}},"loc":{"start":{"line":70,"column":41},"end":{"line":85,"column":7}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":23},"end":{"line":88,"column":24}},"loc":{"start":{"line":88,"column":29},"end":{"line":107,"column":7}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":39},"end":{"line":101,"column":40}},"loc":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}}},"5":{"name":"assembleTokens","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":48},"end":{"line":190,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":28},"end":{"line":126,"column":29}},"loc":{"start":{"line":126,"column":39},"end":{"line":138,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":17},"end":{"line":176,"column":18}},"loc":{"start":{"line":176,"column":37},"end":{"line":178,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":182,"column":17},"end":{"line":182,"column":18}},"loc":{"start":{"line":182,"column":37},"end":{"line":186,"column":5}}},"9":{"name":"getUrl","decl":{"start":{"line":202,"column":9},"end":{"line":202,"column":15}},"loc":{"start":{"line":202,"column":21},"end":{"line":204,"column":1}}},"10":{"name":"format","decl":{"start":{"line":214,"column":9},"end":{"line":214,"column":15}},"loc":{"start":{"line":214,"column":29},"end":{"line":219,"column":1}}},"11":{"name":"createNoLogCondition","decl":{"start":{"line":248,"column":9},"end":{"line":248,"column":29}},"loc":{"start":{"line":248,"column":37},"end":{"line":268,"column":1}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":262,"column":41},"end":{"line":262,"column":42}},"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}}}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},{"start":{"line":42,"column":2},"end":{"line":48,"column":3}}]},"1":{"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":27}},"type":"binary-expr","locations":[{"start":{"line":43,"column":14},"end":{"line":43,"column":21}},{"start":{"line":43,"column":25},"end":{"line":43,"column":27}}]},"2":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}]},"3":{"loc":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"type":"binary-expr","locations":[{"start":{"line":52,"column":14},"end":{"line":52,"column":28}},{"start":{"line":52,"column":32},"end":{"line":52,"column":46}}]},"4":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":32},"end":{"line":53,"column":67}},{"start":{"line":53,"column":70},"end":{"line":53,"column":74}}]},"5":{"loc":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},{"start":{"line":57,"column":4},"end":{"line":57,"column":36}}]},"6":{"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},{"start":{"line":60,"column":4},"end":{"line":60,"column":60}}]},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":44}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":13}},{"start":{"line":60,"column":17},"end":{"line":60,"column":44}}]},"8":{"loc":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},{"start":{"line":62,"column":4},"end":{"line":108,"column":5}}]},"9":{"loc":{"start":{"line":62,"column":8},"end":{"line":62,"column":68}},"type":"binary-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":40}},{"start":{"line":62,"column":44},"end":{"line":62,"column":68}}]},"10":{"loc":{"start":{"line":75,"column":24},"end":{"line":75,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":24},"end":{"line":75,"column":31}},{"start":{"line":75,"column":35},"end":{"line":75,"column":37}}]},"11":{"loc":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},{"start":{"line":78,"column":8},"end":{"line":84,"column":9}}]},"12":{"loc":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},{"start":{"line":80,"column":10},"end":{"line":80,"column":47}}]},"13":{"loc":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},{"start":{"line":81,"column":10},"end":{"line":81,"column":48}}]},"14":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":91,"column":8},"end":{"line":95,"column":9}}]},"15":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":54}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":26}},{"start":{"line":91,"column":30},"end":{"line":91,"column":54}}]},"16":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"type":"if","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},{"start":{"line":93,"column":10},"end":{"line":93,"column":57}}]},"17":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"type":"if","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},{"start":{"line":94,"column":10},"end":{"line":94,"column":58}}]},"18":{"loc":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},{"start":{"line":97,"column":8},"end":{"line":106,"column":9}}]},"19":{"loc":{"start":{"line":98,"column":58},"end":{"line":98,"column":78}},"type":"binary-expr","locations":[{"start":{"line":98,"column":58},"end":{"line":98,"column":72}},{"start":{"line":98,"column":76},"end":{"line":98,"column":78}}]},"20":{"loc":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},{"start":{"line":100,"column":10},"end":{"line":105,"column":11}}]},"21":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"type":"if","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},{"start":{"line":102,"column":12},"end":{"line":102,"column":50}}]},"22":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},{"start":{"line":132,"column":8},"end":{"line":134,"column":9}}]},"23":{"loc":{"start":{"line":145,"column":54},"end":{"line":145,"column":88}},"type":"binary-expr","locations":[{"start":{"line":145,"column":54},"end":{"line":145,"column":70}},{"start":{"line":145,"column":74},"end":{"line":145,"column":88}}]},"24":{"loc":{"start":{"line":150,"column":17},"end":{"line":150,"column":66}},"type":"binary-expr","locations":[{"start":{"line":150,"column":17},"end":{"line":150,"column":36}},{"start":{"line":150,"column":40},"end":{"line":150,"column":60}},{"start":{"line":150,"column":64},"end":{"line":150,"column":66}}]},"25":{"loc":{"start":{"line":158,"column":17},"end":{"line":165,"column":5}},"type":"binary-expr","locations":[{"start":{"line":158,"column":17},"end":{"line":158,"column":47}},{"start":{"line":159,"column":4},"end":{"line":159,"column":10}},{"start":{"line":160,"column":4},"end":{"line":160,"column":22}},{"start":{"line":161,"column":5},"end":{"line":161,"column":15}},{"start":{"line":162,"column":7},"end":{"line":162,"column":31}},{"start":{"line":163,"column":9},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":61}}]},"26":{"loc":{"start":{"line":170,"column":17},"end":{"line":172,"column":7}},"type":"binary-expr","locations":[{"start":{"line":170,"column":18},"end":{"line":170,"column":30}},{"start":{"line":170,"column":34},"end":{"line":170,"column":64}},{"start":{"line":171,"column":5},"end":{"line":171,"column":18}},{"start":{"line":171,"column":22},"end":{"line":171,"column":53}},{"start":{"line":172,"column":4},"end":{"line":172,"column":7}}]},"27":{"loc":{"start":{"line":183,"column":13},"end":{"line":185,"column":49}},"type":"cond-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},{"start":{"line":185,"column":11},"end":{"line":185,"column":48}}]},"28":{"loc":{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":47}},{"start":{"line":184,"column":51},"end":{"line":184,"column":71}}]},"29":{"loc":{"start":{"line":185,"column":11},"end":{"line":185,"column":48}},"type":"binary-expr","locations":[{"start":{"line":185,"column":11},"end":{"line":185,"column":24}},{"start":{"line":185,"column":28},"end":{"line":185,"column":48}}]},"30":{"loc":{"start":{"line":203,"column":9},"end":{"line":203,"column":35}},"type":"binary-expr","locations":[{"start":{"line":203,"column":9},"end":{"line":203,"column":24}},{"start":{"line":203,"column":28},"end":{"line":203,"column":35}}]},"31":{"loc":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},{"start":{"line":251,"column":2},"end":{"line":265,"column":3}}]},"32":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{"line":252,"column":4},"end":{"line":254,"column":5}}]},"33":{"loc":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},{"start":{"line":256,"column":4},"end":{"line":258,"column":5}}]},"34":{"loc":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"type":"if","locations":[{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},{"start":{"line":260,"column":4},"end":{"line":264,"column":5}}]},"35":{"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"type":"cond-expr","locations":[{"start":{"line":262,"column":62},"end":{"line":262,"column":72}},{"start":{"line":262,"column":75},"end":{"line":262,"column":78}}]}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0,0,0,0,0,0],"26":[0,0,0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8de6ff12985e168d800fe4d220a8a32e3c1dbe2a","contentHash":"06eb335e3bac458879bb256f44ac2576_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}}},"fnMap":{"0":{"name":"stdoutAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":33},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":0,"4":1,"5":0,"6":1,"7":1,"8":1},"f":{"0":1,"1":0,"2":1},"b":{"0":[1,1],"1":[0,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7fe10c84b315d3ba3e07ce62d5e48e59666eb827","contentHash":"009980a1b175f554654dded39c797b6c_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/file.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/file.js","statementMap":{"0":{"start":{"line":3,"column":14},"end":{"line":3,"column":45}},"1":{"start":{"line":4,"column":16},"end":{"line":4,"column":37}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":6,"column":16},"end":{"line":6,"column":39}},"4":{"start":{"line":7,"column":11},"end":{"line":7,"column":24}},"5":{"start":{"line":9,"column":12},"end":{"line":9,"column":26}},"6":{"start":{"line":10,"column":18},"end":{"line":10,"column":20}},"7":{"start":{"line":13,"column":0},"end":{"line":18,"column":3}},"8":{"start":{"line":14,"column":2},"end":{"line":14,"column":32}},"9":{"start":{"line":15,"column":2},"end":{"line":17,"column":5}},"10":{"start":{"line":16,"column":4},"end":{"line":16,"column":15}},"11":{"start":{"line":23,"column":0},"end":{"line":28,"column":3}},"12":{"start":{"line":24,"column":2},"end":{"line":24,"column":34}},"13":{"start":{"line":25,"column":2},"end":{"line":27,"column":5}},"14":{"start":{"line":26,"column":4},"end":{"line":26,"column":61}},"15":{"start":{"line":44,"column":2},"end":{"line":44,"column":30}},"16":{"start":{"line":45,"column":2},"end":{"line":45,"column":41}},"17":{"start":{"line":46,"column":2},"end":{"line":46,"column":57}},"18":{"start":{"line":48,"column":2},"end":{"line":48,"column":49}},"19":{"start":{"line":50,"column":2},"end":{"line":56,"column":4}},"20":{"start":{"line":57,"column":17},"end":{"line":57,"column":66}},"21":{"start":{"line":60,"column":2},"end":{"line":60,"column":25}},"22":{"start":{"line":62,"column":2},"end":{"line":64,"column":4}},"23":{"start":{"line":63,"column":4},"end":{"line":63,"column":69}},"24":{"start":{"line":68,"column":17},"end":{"line":73,"column":3}},"25":{"start":{"line":74,"column":2},"end":{"line":76,"column":5}},"26":{"start":{"line":75,"column":4},"end":{"line":75,"column":90}},"27":{"start":{"line":77,"column":2},"end":{"line":77,"column":16}},"28":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"29":{"start":{"line":84,"column":4},"end":{"line":84,"column":63}},"30":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},"31":{"start":{"line":88,"column":4},"end":{"line":88,"column":62}},"32":{"start":{"line":91,"column":2},"end":{"line":98,"column":4}},"33":{"start":{"line":102,"column":18},"end":{"line":102,"column":19}},"34":{"start":{"line":104,"column":19},"end":{"line":110,"column":3}},"35":{"start":{"line":105,"column":4},"end":{"line":105,"column":25}},"36":{"start":{"line":106,"column":4},"end":{"line":106,"column":16}},"37":{"start":{"line":107,"column":4},"end":{"line":109,"column":5}},"38":{"start":{"line":108,"column":6},"end":{"line":108,"column":16}},"39":{"start":{"line":111,"column":2},"end":{"line":113,"column":3}},"40":{"start":{"line":112,"column":4},"end":{"line":112,"column":16}},"41":{"start":{"line":115,"column":2},"end":{"line":123,"column":5}},"42":{"start":{"line":116,"column":4},"end":{"line":122,"column":5}},"43":{"start":{"line":117,"column":6},"end":{"line":119,"column":9}},"44":{"start":{"line":118,"column":8},"end":{"line":118,"column":27}},"45":{"start":{"line":121,"column":6},"end":{"line":121,"column":25}},"46":{"start":{"line":126,"column":0},"end":{"line":126,"column":39}},"47":{"start":{"line":127,"column":0},"end":{"line":127,"column":37}},"48":{"start":{"line":128,"column":0},"end":{"line":128,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":19},"end":{"line":13,"column":20}},"loc":{"start":{"line":13,"column":25},"end":{"line":18,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":20},"end":{"line":15,"column":21}},"loc":{"start":{"line":15,"column":30},"end":{"line":17,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":21},"end":{"line":23,"column":22}},"loc":{"start":{"line":23,"column":27},"end":{"line":28,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":25,"column":20},"end":{"line":25,"column":21}},"loc":{"start":{"line":25,"column":32},"end":{"line":27,"column":3}}},"4":{"name":"fileAppender","decl":{"start":{"line":43,"column":9},"end":{"line":43,"column":21}},"loc":{"start":{"line":43,"column":82},"end":{"line":65,"column":1}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":62,"column":9},"end":{"line":62,"column":10}},"loc":{"start":{"line":62,"column":33},"end":{"line":64,"column":3}}},"6":{"name":"openTheStream","decl":{"start":{"line":67,"column":9},"end":{"line":67,"column":22}},"loc":{"start":{"line":67,"column":58},"end":{"line":78,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":74,"column":21},"end":{"line":74,"column":22}},"loc":{"start":{"line":74,"column":30},"end":{"line":76,"column":3}}},"8":{"name":"configure","decl":{"start":{"line":81,"column":9},"end":{"line":81,"column":18}},"loc":{"start":{"line":81,"column":36},"end":{"line":99,"column":1}}},"9":{"name":"shutdown","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":17}},"loc":{"start":{"line":101,"column":22},"end":{"line":124,"column":1}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":104,"column":19},"end":{"line":104,"column":20}},"loc":{"start":{"line":104,"column":28},"end":{"line":110,"column":3}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":115,"column":27},"end":{"line":115,"column":28}},"loc":{"start":{"line":115,"column":37},"end":{"line":123,"column":3}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":117,"column":25},"end":{"line":117,"column":26}},"loc":{"start":{"line":117,"column":31},"end":{"line":119,"column":7}}}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":12},"end":{"line":9,"column":26}},"type":"binary-expr","locations":[{"start":{"line":9,"column":12},"end":{"line":9,"column":18}},{"start":{"line":9,"column":22},"end":{"line":9,"column":26}}]},"1":{"loc":{"start":{"line":45,"column":11},"end":{"line":45,"column":40}},"type":"binary-expr","locations":[{"start":{"line":45,"column":11},"end":{"line":45,"column":17}},{"start":{"line":45,"column":21},"end":{"line":45,"column":40}}]},"2":{"loc":{"start":{"line":46,"column":15},"end":{"line":46,"column":56}},"type":"cond-expr","locations":[{"start":{"line":46,"column":42},"end":{"line":46,"column":43}},{"start":{"line":46,"column":46},"end":{"line":46,"column":56}}]},"3":{"loc":{"start":{"line":48,"column":15},"end":{"line":48,"column":48}},"type":"cond-expr","locations":[{"start":{"line":48,"column":34},"end":{"line":48,"column":35}},{"start":{"line":48,"column":38},"end":{"line":48,"column":48}}]},"4":{"loc":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"type":"if","locations":[{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},{"start":{"line":83,"column":2},"end":{"line":85,"column":3}}]},"5":{"loc":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},"type":"if","locations":[{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},{"start":{"line":87,"column":2},"end":{"line":89,"column":3}}]},"6":{"loc":{"start":{"line":87,"column":6},"end":{"line":87,"column":48}},"type":"binary-expr","locations":[{"start":{"line":87,"column":6},"end":{"line":87,"column":13}},{"start":{"line":87,"column":17},"end":{"line":87,"column":28}},{"start":{"line":87,"column":32},"end":{"line":87,"column":48}}]},"7":{"loc":{"start":{"line":105,"column":12},"end":{"line":105,"column":24}},"type":"binary-expr","locations":[{"start":{"line":105,"column":12},"end":{"line":105,"column":17}},{"start":{"line":105,"column":21},"end":{"line":105,"column":24}}]},"8":{"loc":{"start":{"line":107,"column":4},"end":{"line":109,"column":5}},"type":"if","locations":[{"start":{"line":107,"column":4},"end":{"line":109,"column":5}},{"start":{"line":107,"column":4},"end":{"line":109,"column":5}}]},"9":{"loc":{"start":{"line":111,"column":2},"end":{"line":113,"column":3}},"type":"if","locations":[{"start":{"line":111,"column":2},"end":{"line":113,"column":3}},{"start":{"line":111,"column":2},"end":{"line":113,"column":3}}]},"10":{"loc":{"start":{"line":116,"column":4},"end":{"line":122,"column":5}},"type":"if","locations":[{"start":{"line":116,"column":4},"end":{"line":122,"column":5}},{"start":{"line":116,"column":4},"end":{"line":122,"column":5}}]}},"s":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":2,"6":2,"7":2,"8":1,"9":1,"10":5,"11":2,"12":0,"13":0,"14":0,"15":14,"16":14,"17":14,"18":14,"19":14,"20":14,"21":14,"22":14,"23":7,"24":14,"25":14,"26":0,"27":14,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":2,"47":2,"48":2},"f":{"0":1,"1":5,"2":0,"3":0,"4":14,"5":7,"6":14,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[2,0],"1":[14,14],"2":[14,0],"3":[0,14],"4":[0,0],"5":[0,0],"6":[0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"81b13e39d9297c6759591861511487c0d1e2d033","contentHash":"b000837cd6f9cd73e13f77bc3826e71d_9.0.1"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/78e9865c5443a3f710c9c62e304739e1.json b/node_modules/log4js/.nyc_output/78e9865c5443a3f710c9c62e304739e1.json deleted file mode 100644 index 9de2d9a..0000000 --- a/node_modules/log4js/.nyc_output/78e9865c5443a3f710c9c62e304739e1.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/appenders/categoryFilter.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/categoryFilter.js","statementMap":{"0":{"start":{"line":3,"column":15},"end":{"line":3,"column":35}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":58}},"2":{"start":{"line":6,"column":36},"end":{"line":6,"column":58}},"3":{"start":{"line":7,"column":2},"end":{"line":11,"column":4}},"4":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"5":{"start":{"line":9,"column":6},"end":{"line":9,"column":25}},"6":{"start":{"line":15,"column":2},"end":{"line":15,"column":44}},"7":{"start":{"line":16,"column":19},"end":{"line":16,"column":88}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":50}},"9":{"start":{"line":20,"column":0},"end":{"line":20,"column":41}},"10":{"start":{"line":21,"column":0},"end":{"line":21,"column":37}}},"fnMap":{"0":{"name":"categoryFilter","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":44},"end":{"line":12,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":23},"end":{"line":11,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":18}},"loc":{"start":{"line":14,"column":36},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":6,"column":58}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":6,"column":58}},{"start":{"line":6,"column":2},"end":{"line":6,"column":58}}]},"1":{"loc":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"type":"if","locations":[{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},{"start":{"line":8,"column":4},"end":{"line":10,"column":5}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/appenders/clustered.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/clustered.js","statementMap":{"0":{"start":{"line":5,"column":16},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":15},"end":{"line":6,"column":35}},"2":{"start":{"line":14,"column":2},"end":{"line":20,"column":3}},"3":{"start":{"line":15,"column":17},"end":{"line":15,"column":37}},"4":{"start":{"line":17,"column":4},"end":{"line":19,"column":5}},"5":{"start":{"line":18,"column":6},"end":{"line":18,"column":51}},"6":{"start":{"line":21,"column":2},"end":{"line":21,"column":38}},"7":{"start":{"line":39,"column":2},"end":{"line":58,"column":3}},"8":{"start":{"line":40,"column":4},"end":{"line":40,"column":50}},"9":{"start":{"line":41,"column":4},"end":{"line":41,"column":62}},"10":{"start":{"line":42,"column":4},"end":{"line":42,"column":76}},"11":{"start":{"line":44,"column":4},"end":{"line":49,"column":5}},"12":{"start":{"line":45,"column":19},"end":{"line":45,"column":39}},"13":{"start":{"line":46,"column":6},"end":{"line":48,"column":7}},"14":{"start":{"line":47,"column":8},"end":{"line":47,"column":42}},"15":{"start":{"line":52,"column":4},"end":{"line":57,"column":6}},"16":{"start":{"line":59,"column":2},"end":{"line":59,"column":22}},"17":{"start":{"line":74,"column":2},"end":{"line":111,"column":3}},"18":{"start":{"line":75,"column":27},"end":{"line":89,"column":5}},"19":{"start":{"line":76,"column":6},"end":{"line":88,"column":7}},"20":{"start":{"line":77,"column":21},"end":{"line":77,"column":50}},"21":{"start":{"line":78,"column":8},"end":{"line":87,"column":9}},"22":{"start":{"line":79,"column":10},"end":{"line":86,"column":11}},"23":{"start":{"line":85,"column":12},"end":{"line":85,"column":52}},"24":{"start":{"line":92,"column":4},"end":{"line":108,"column":7}},"25":{"start":{"line":93,"column":6},"end":{"line":107,"column":9}},"26":{"start":{"line":94,"column":8},"end":{"line":106,"column":9}},"27":{"start":{"line":95,"column":31},"end":{"line":95,"column":69}},"28":{"start":{"line":98,"column":10},"end":{"line":98,"column":48}},"29":{"start":{"line":99,"column":10},"end":{"line":103,"column":12}},"30":{"start":{"line":105,"column":10},"end":{"line":105,"column":39}},"31":{"start":{"line":110,"column":4},"end":{"line":110,"column":26}},"32":{"start":{"line":113,"column":2},"end":{"line":119,"column":4}},"33":{"start":{"line":115,"column":4},"end":{"line":118,"column":5}},"34":{"start":{"line":117,"column":6},"end":{"line":117,"column":90}},"35":{"start":{"line":123,"column":2},"end":{"line":134,"column":3}},"36":{"start":{"line":124,"column":17},"end":{"line":124,"column":40}},"37":{"start":{"line":125,"column":4},"end":{"line":125,"column":45}},"38":{"start":{"line":127,"column":4},"end":{"line":133,"column":5}},"39":{"start":{"line":128,"column":6},"end":{"line":128,"column":52}},"40":{"start":{"line":129,"column":6},"end":{"line":132,"column":8}},"41":{"start":{"line":136,"column":2},"end":{"line":136,"column":32}},"42":{"start":{"line":139,"column":0},"end":{"line":139,"column":41}},"43":{"start":{"line":140,"column":0},"end":{"line":140,"column":37}}},"fnMap":{"0":{"name":"serializeLoggingEvent","decl":{"start":{"line":11,"column":9},"end":{"line":11,"column":30}},"loc":{"start":{"line":11,"column":45},"end":{"line":22,"column":1}}},"1":{"name":"deserializeLoggingEvent","decl":{"start":{"line":36,"column":9},"end":{"line":36,"column":32}},"loc":{"start":{"line":36,"column":53},"end":{"line":60,"column":1}}},"2":{"name":"createAppender","decl":{"start":{"line":73,"column":9},"end":{"line":73,"column":23}},"loc":{"start":{"line":73,"column":32},"end":{"line":120,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":75,"column":27},"end":{"line":75,"column":28}},"loc":{"start":{"line":75,"column":45},"end":{"line":89,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":92,"column":23},"end":{"line":92,"column":24}},"loc":{"start":{"line":92,"column":35},"end":{"line":108,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":93,"column":27},"end":{"line":93,"column":28}},"loc":{"start":{"line":93,"column":40},"end":{"line":107,"column":7}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":113,"column":9},"end":{"line":113,"column":10}},"loc":{"start":{"line":113,"column":27},"end":{"line":119,"column":3}}},"7":{"name":"configure","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":18}},"loc":{"start":{"line":122,"column":36},"end":{"line":137,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":19,"column":5}},{"start":{"line":17,"column":4},"end":{"line":19,"column":5}}]},"1":{"loc":{"start":{"line":17,"column":8},"end":{"line":17,"column":59}},"type":"binary-expr","locations":[{"start":{"line":17,"column":8},"end":{"line":17,"column":12}},{"start":{"line":17,"column":16},"end":{"line":17,"column":26}},{"start":{"line":17,"column":30},"end":{"line":17,"column":59}}]},"2":{"loc":{"start":{"line":46,"column":6},"end":{"line":48,"column":7}},"type":"if","locations":[{"start":{"line":46,"column":6},"end":{"line":48,"column":7}},{"start":{"line":46,"column":6},"end":{"line":48,"column":7}}]},"3":{"loc":{"start":{"line":46,"column":10},"end":{"line":46,"column":28}},"type":"binary-expr","locations":[{"start":{"line":46,"column":10},"end":{"line":46,"column":14}},{"start":{"line":46,"column":18},"end":{"line":46,"column":28}}]},"4":{"loc":{"start":{"line":74,"column":2},"end":{"line":111,"column":3}},"type":"if","locations":[{"start":{"line":74,"column":2},"end":{"line":111,"column":3}},{"start":{"line":74,"column":2},"end":{"line":111,"column":3}}]},"5":{"loc":{"start":{"line":76,"column":6},"end":{"line":88,"column":7}},"type":"if","locations":[{"start":{"line":76,"column":6},"end":{"line":88,"column":7}},{"start":{"line":76,"column":6},"end":{"line":88,"column":7}}]},"6":{"loc":{"start":{"line":79,"column":10},"end":{"line":86,"column":11}},"type":"if","locations":[{"start":{"line":79,"column":10},"end":{"line":86,"column":11}},{"start":{"line":79,"column":10},"end":{"line":86,"column":11}}]},"7":{"loc":{"start":{"line":80,"column":12},"end":{"line":81,"column":70}},"type":"binary-expr","locations":[{"start":{"line":80,"column":12},"end":{"line":80,"column":41}},{"start":{"line":81,"column":12},"end":{"line":81,"column":70}}]},"8":{"loc":{"start":{"line":94,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":94,"column":8},"end":{"line":106,"column":9}},{"start":{"line":94,"column":8},"end":{"line":106,"column":9}}]},"9":{"loc":{"start":{"line":94,"column":12},"end":{"line":94,"column":60}},"type":"binary-expr","locations":[{"start":{"line":94,"column":12},"end":{"line":94,"column":24}},{"start":{"line":94,"column":28},"end":{"line":94,"column":60}}]},"10":{"loc":{"start":{"line":115,"column":4},"end":{"line":118,"column":5}},"type":"if","locations":[{"start":{"line":115,"column":4},"end":{"line":118,"column":5}},{"start":{"line":115,"column":4},"end":{"line":118,"column":5}}]},"11":{"loc":{"start":{"line":123,"column":2},"end":{"line":134,"column":3}},"type":"if","locations":[{"start":{"line":123,"column":2},"end":{"line":134,"column":3}},{"start":{"line":123,"column":2},"end":{"line":134,"column":3}}]},"12":{"loc":{"start":{"line":123,"column":6},"end":{"line":123,"column":42}},"type":"binary-expr","locations":[{"start":{"line":123,"column":6},"end":{"line":123,"column":22}},{"start":{"line":123,"column":26},"end":{"line":123,"column":42}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/appenders/console.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/console.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":5,"column":19},"end":{"line":5,"column":44}},"2":{"start":{"line":8,"column":2},"end":{"line":8,"column":44}},"3":{"start":{"line":9,"column":2},"end":{"line":11,"column":4}},"4":{"start":{"line":10,"column":4},"end":{"line":10,"column":53}},"5":{"start":{"line":16,"column":2},"end":{"line":18,"column":3}},"6":{"start":{"line":17,"column":4},"end":{"line":17,"column":63}},"7":{"start":{"line":19,"column":2},"end":{"line":19,"column":56}},"8":{"start":{"line":22,"column":0},"end":{"line":22,"column":42}},"9":{"start":{"line":23,"column":0},"end":{"line":23,"column":37}}},"fnMap":{"0":{"name":"consoleAppender","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":24}},"loc":{"start":{"line":7,"column":49},"end":{"line":12,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":10}},"loc":{"start":{"line":9,"column":27},"end":{"line":11,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":18}},"loc":{"start":{"line":14,"column":27},"end":{"line":20,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":11},"end":{"line":8,"column":43}},"type":"binary-expr","locations":[{"start":{"line":8,"column":11},"end":{"line":8,"column":17}},{"start":{"line":8,"column":21},"end":{"line":8,"column":43}}]},"1":{"loc":{"start":{"line":16,"column":2},"end":{"line":18,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":18,"column":3}},{"start":{"line":16,"column":2},"end":{"line":18,"column":3}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/appenders/dateFile.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/dateFile.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":39}},"1":{"start":{"line":4,"column":16},"end":{"line":4,"column":37}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":6,"column":11},"end":{"line":6,"column":24}},"4":{"start":{"line":8,"column":12},"end":{"line":8,"column":26}},"5":{"start":{"line":9,"column":18},"end":{"line":9,"column":20}},"6":{"start":{"line":12,"column":0},"end":{"line":16,"column":3}},"7":{"start":{"line":13,"column":2},"end":{"line":15,"column":5}},"8":{"start":{"line":14,"column":4},"end":{"line":14,"column":15}},"9":{"start":{"line":33,"column":2},"end":{"line":33,"column":41}},"10":{"start":{"line":34,"column":18},"end":{"line":38,"column":3}},"11":{"start":{"line":39,"column":2},"end":{"line":39,"column":26}},"12":{"start":{"line":41,"column":2},"end":{"line":43,"column":4}},"13":{"start":{"line":42,"column":4},"end":{"line":42,"column":66}},"14":{"start":{"line":49,"column":2},"end":{"line":51,"column":3}},"15":{"start":{"line":50,"column":4},"end":{"line":50,"column":63}},"16":{"start":{"line":53,"column":2},"end":{"line":55,"column":3}},"17":{"start":{"line":54,"column":4},"end":{"line":54,"column":40}},"18":{"start":{"line":57,"column":2},"end":{"line":59,"column":3}},"19":{"start":{"line":58,"column":4},"end":{"line":58,"column":62}},"20":{"start":{"line":61,"column":2},"end":{"line":67,"column":4}},"21":{"start":{"line":71,"column":18},"end":{"line":71,"column":19}},"22":{"start":{"line":73,"column":19},"end":{"line":79,"column":3}},"23":{"start":{"line":74,"column":4},"end":{"line":74,"column":25}},"24":{"start":{"line":75,"column":4},"end":{"line":75,"column":16}},"25":{"start":{"line":76,"column":4},"end":{"line":78,"column":5}},"26":{"start":{"line":77,"column":6},"end":{"line":77,"column":16}},"27":{"start":{"line":80,"column":2},"end":{"line":82,"column":3}},"28":{"start":{"line":81,"column":4},"end":{"line":81,"column":16}},"29":{"start":{"line":84,"column":2},"end":{"line":92,"column":5}},"30":{"start":{"line":85,"column":4},"end":{"line":91,"column":5}},"31":{"start":{"line":86,"column":6},"end":{"line":88,"column":9}},"32":{"start":{"line":87,"column":8},"end":{"line":87,"column":27}},"33":{"start":{"line":90,"column":6},"end":{"line":90,"column":25}},"34":{"start":{"line":95,"column":0},"end":{"line":95,"column":35}},"35":{"start":{"line":96,"column":0},"end":{"line":96,"column":37}},"36":{"start":{"line":97,"column":0},"end":{"line":97,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":19},"end":{"line":12,"column":20}},"loc":{"start":{"line":12,"column":25},"end":{"line":16,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":20},"end":{"line":13,"column":21}},"loc":{"start":{"line":13,"column":30},"end":{"line":15,"column":3}}},"2":{"name":"appender","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":17}},"loc":{"start":{"line":32,"column":2},"end":{"line":44,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":9},"end":{"line":41,"column":10}},"loc":{"start":{"line":41,"column":23},"end":{"line":43,"column":3}}},"4":{"name":"configure","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":18}},"loc":{"start":{"line":46,"column":36},"end":{"line":68,"column":1}}},"5":{"name":"shutdown","decl":{"start":{"line":70,"column":9},"end":{"line":70,"column":17}},"loc":{"start":{"line":70,"column":22},"end":{"line":93,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":73,"column":19},"end":{"line":73,"column":20}},"loc":{"start":{"line":73,"column":28},"end":{"line":79,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":84,"column":27},"end":{"line":84,"column":28}},"loc":{"start":{"line":84,"column":37},"end":{"line":92,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":86,"column":25},"end":{"line":86,"column":26}},"loc":{"start":{"line":86,"column":31},"end":{"line":88,"column":7}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":12},"end":{"line":8,"column":26}},"type":"binary-expr","locations":[{"start":{"line":8,"column":12},"end":{"line":8,"column":18}},{"start":{"line":8,"column":22},"end":{"line":8,"column":26}}]},"1":{"loc":{"start":{"line":33,"column":11},"end":{"line":33,"column":40}},"type":"binary-expr","locations":[{"start":{"line":33,"column":11},"end":{"line":33,"column":17}},{"start":{"line":33,"column":21},"end":{"line":33,"column":40}}]},"2":{"loc":{"start":{"line":49,"column":2},"end":{"line":51,"column":3}},"type":"if","locations":[{"start":{"line":49,"column":2},"end":{"line":51,"column":3}},{"start":{"line":49,"column":2},"end":{"line":51,"column":3}}]},"3":{"loc":{"start":{"line":53,"column":2},"end":{"line":55,"column":3}},"type":"if","locations":[{"start":{"line":53,"column":2},"end":{"line":55,"column":3}},{"start":{"line":53,"column":2},"end":{"line":55,"column":3}}]},"4":{"loc":{"start":{"line":57,"column":2},"end":{"line":59,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":59,"column":3}},{"start":{"line":57,"column":2},"end":{"line":59,"column":3}}]},"5":{"loc":{"start":{"line":57,"column":6},"end":{"line":57,"column":48}},"type":"binary-expr","locations":[{"start":{"line":57,"column":6},"end":{"line":57,"column":13}},{"start":{"line":57,"column":17},"end":{"line":57,"column":28}},{"start":{"line":57,"column":32},"end":{"line":57,"column":48}}]},"6":{"loc":{"start":{"line":74,"column":12},"end":{"line":74,"column":24}},"type":"binary-expr","locations":[{"start":{"line":74,"column":12},"end":{"line":74,"column":17}},{"start":{"line":74,"column":21},"end":{"line":74,"column":24}}]},"7":{"loc":{"start":{"line":76,"column":4},"end":{"line":78,"column":5}},"type":"if","locations":[{"start":{"line":76,"column":4},"end":{"line":78,"column":5}},{"start":{"line":76,"column":4},"end":{"line":78,"column":5}}]},"8":{"loc":{"start":{"line":80,"column":2},"end":{"line":82,"column":3}},"type":"if","locations":[{"start":{"line":80,"column":2},"end":{"line":82,"column":3}},{"start":{"line":80,"column":2},"end":{"line":82,"column":3}}]},"9":{"loc":{"start":{"line":85,"column":4},"end":{"line":91,"column":5}},"type":"if","locations":[{"start":{"line":85,"column":4},"end":{"line":91,"column":5}},{"start":{"line":85,"column":4},"end":{"line":91,"column":5}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/appenders/file.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/file.js","statementMap":{"0":{"start":{"line":3,"column":14},"end":{"line":3,"column":45}},"1":{"start":{"line":4,"column":16},"end":{"line":4,"column":37}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":6,"column":16},"end":{"line":6,"column":39}},"4":{"start":{"line":7,"column":11},"end":{"line":7,"column":24}},"5":{"start":{"line":9,"column":12},"end":{"line":9,"column":26}},"6":{"start":{"line":10,"column":18},"end":{"line":10,"column":20}},"7":{"start":{"line":13,"column":0},"end":{"line":18,"column":3}},"8":{"start":{"line":14,"column":2},"end":{"line":14,"column":32}},"9":{"start":{"line":15,"column":2},"end":{"line":17,"column":5}},"10":{"start":{"line":16,"column":4},"end":{"line":16,"column":15}},"11":{"start":{"line":23,"column":0},"end":{"line":28,"column":3}},"12":{"start":{"line":24,"column":2},"end":{"line":24,"column":34}},"13":{"start":{"line":25,"column":2},"end":{"line":27,"column":5}},"14":{"start":{"line":26,"column":4},"end":{"line":26,"column":61}},"15":{"start":{"line":44,"column":2},"end":{"line":44,"column":30}},"16":{"start":{"line":45,"column":2},"end":{"line":45,"column":41}},"17":{"start":{"line":46,"column":2},"end":{"line":46,"column":57}},"18":{"start":{"line":48,"column":2},"end":{"line":48,"column":49}},"19":{"start":{"line":50,"column":2},"end":{"line":56,"column":4}},"20":{"start":{"line":57,"column":17},"end":{"line":57,"column":66}},"21":{"start":{"line":60,"column":2},"end":{"line":60,"column":25}},"22":{"start":{"line":62,"column":2},"end":{"line":64,"column":4}},"23":{"start":{"line":63,"column":4},"end":{"line":63,"column":69}},"24":{"start":{"line":68,"column":17},"end":{"line":73,"column":3}},"25":{"start":{"line":74,"column":2},"end":{"line":76,"column":5}},"26":{"start":{"line":75,"column":4},"end":{"line":75,"column":90}},"27":{"start":{"line":77,"column":2},"end":{"line":77,"column":16}},"28":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"29":{"start":{"line":84,"column":4},"end":{"line":84,"column":63}},"30":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},"31":{"start":{"line":88,"column":4},"end":{"line":88,"column":62}},"32":{"start":{"line":91,"column":2},"end":{"line":98,"column":4}},"33":{"start":{"line":102,"column":18},"end":{"line":102,"column":19}},"34":{"start":{"line":104,"column":19},"end":{"line":110,"column":3}},"35":{"start":{"line":105,"column":4},"end":{"line":105,"column":25}},"36":{"start":{"line":106,"column":4},"end":{"line":106,"column":16}},"37":{"start":{"line":107,"column":4},"end":{"line":109,"column":5}},"38":{"start":{"line":108,"column":6},"end":{"line":108,"column":16}},"39":{"start":{"line":111,"column":2},"end":{"line":113,"column":3}},"40":{"start":{"line":112,"column":4},"end":{"line":112,"column":16}},"41":{"start":{"line":115,"column":2},"end":{"line":123,"column":5}},"42":{"start":{"line":116,"column":4},"end":{"line":122,"column":5}},"43":{"start":{"line":117,"column":6},"end":{"line":119,"column":9}},"44":{"start":{"line":118,"column":8},"end":{"line":118,"column":27}},"45":{"start":{"line":121,"column":6},"end":{"line":121,"column":25}},"46":{"start":{"line":126,"column":0},"end":{"line":126,"column":39}},"47":{"start":{"line":127,"column":0},"end":{"line":127,"column":37}},"48":{"start":{"line":128,"column":0},"end":{"line":128,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":19},"end":{"line":13,"column":20}},"loc":{"start":{"line":13,"column":25},"end":{"line":18,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":20},"end":{"line":15,"column":21}},"loc":{"start":{"line":15,"column":30},"end":{"line":17,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":21},"end":{"line":23,"column":22}},"loc":{"start":{"line":23,"column":27},"end":{"line":28,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":25,"column":20},"end":{"line":25,"column":21}},"loc":{"start":{"line":25,"column":32},"end":{"line":27,"column":3}}},"4":{"name":"fileAppender","decl":{"start":{"line":43,"column":9},"end":{"line":43,"column":21}},"loc":{"start":{"line":43,"column":82},"end":{"line":65,"column":1}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":62,"column":9},"end":{"line":62,"column":10}},"loc":{"start":{"line":62,"column":33},"end":{"line":64,"column":3}}},"6":{"name":"openTheStream","decl":{"start":{"line":67,"column":9},"end":{"line":67,"column":22}},"loc":{"start":{"line":67,"column":58},"end":{"line":78,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":74,"column":21},"end":{"line":74,"column":22}},"loc":{"start":{"line":74,"column":30},"end":{"line":76,"column":3}}},"8":{"name":"configure","decl":{"start":{"line":81,"column":9},"end":{"line":81,"column":18}},"loc":{"start":{"line":81,"column":36},"end":{"line":99,"column":1}}},"9":{"name":"shutdown","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":17}},"loc":{"start":{"line":101,"column":22},"end":{"line":124,"column":1}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":104,"column":19},"end":{"line":104,"column":20}},"loc":{"start":{"line":104,"column":28},"end":{"line":110,"column":3}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":115,"column":27},"end":{"line":115,"column":28}},"loc":{"start":{"line":115,"column":37},"end":{"line":123,"column":3}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":117,"column":25},"end":{"line":117,"column":26}},"loc":{"start":{"line":117,"column":31},"end":{"line":119,"column":7}}}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":12},"end":{"line":9,"column":26}},"type":"binary-expr","locations":[{"start":{"line":9,"column":12},"end":{"line":9,"column":18}},{"start":{"line":9,"column":22},"end":{"line":9,"column":26}}]},"1":{"loc":{"start":{"line":45,"column":11},"end":{"line":45,"column":40}},"type":"binary-expr","locations":[{"start":{"line":45,"column":11},"end":{"line":45,"column":17}},{"start":{"line":45,"column":21},"end":{"line":45,"column":40}}]},"2":{"loc":{"start":{"line":46,"column":15},"end":{"line":46,"column":56}},"type":"cond-expr","locations":[{"start":{"line":46,"column":42},"end":{"line":46,"column":43}},{"start":{"line":46,"column":46},"end":{"line":46,"column":56}}]},"3":{"loc":{"start":{"line":48,"column":15},"end":{"line":48,"column":48}},"type":"cond-expr","locations":[{"start":{"line":48,"column":34},"end":{"line":48,"column":35}},{"start":{"line":48,"column":38},"end":{"line":48,"column":48}}]},"4":{"loc":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"type":"if","locations":[{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},{"start":{"line":83,"column":2},"end":{"line":85,"column":3}}]},"5":{"loc":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},"type":"if","locations":[{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},{"start":{"line":87,"column":2},"end":{"line":89,"column":3}}]},"6":{"loc":{"start":{"line":87,"column":6},"end":{"line":87,"column":48}},"type":"binary-expr","locations":[{"start":{"line":87,"column":6},"end":{"line":87,"column":13}},{"start":{"line":87,"column":17},"end":{"line":87,"column":28}},{"start":{"line":87,"column":32},"end":{"line":87,"column":48}}]},"7":{"loc":{"start":{"line":105,"column":12},"end":{"line":105,"column":24}},"type":"binary-expr","locations":[{"start":{"line":105,"column":12},"end":{"line":105,"column":17}},{"start":{"line":105,"column":21},"end":{"line":105,"column":24}}]},"8":{"loc":{"start":{"line":107,"column":4},"end":{"line":109,"column":5}},"type":"if","locations":[{"start":{"line":107,"column":4},"end":{"line":109,"column":5}},{"start":{"line":107,"column":4},"end":{"line":109,"column":5}}]},"9":{"loc":{"start":{"line":111,"column":2},"end":{"line":113,"column":3}},"type":"if","locations":[{"start":{"line":111,"column":2},"end":{"line":113,"column":3}},{"start":{"line":111,"column":2},"end":{"line":113,"column":3}}]},"10":{"loc":{"start":{"line":116,"column":4},"end":{"line":122,"column":5}},"type":"if","locations":[{"start":{"line":116,"column":4},"end":{"line":122,"column":5}},{"start":{"line":116,"column":4},"end":{"line":122,"column":5}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/appenders/fileSync.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/fileSync.js","statementMap":{"0":{"start":{"line":3,"column":14},"end":{"line":3,"column":49}},"1":{"start":{"line":4,"column":16},"end":{"line":4,"column":37}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":6,"column":11},"end":{"line":6,"column":24}},"4":{"start":{"line":7,"column":11},"end":{"line":7,"column":24}},"5":{"start":{"line":9,"column":12},"end":{"line":9,"column":26}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":34}},"7":{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},"8":{"start":{"line":17,"column":8},"end":{"line":17,"column":69}},"9":{"start":{"line":21,"column":4},"end":{"line":21,"column":39}},"10":{"start":{"line":23,"column":4},"end":{"line":23,"column":29}},"11":{"start":{"line":24,"column":4},"end":{"line":24,"column":21}},"12":{"start":{"line":25,"column":4},"end":{"line":25,"column":32}},"13":{"start":{"line":26,"column":4},"end":{"line":26,"column":90}},"14":{"start":{"line":27,"column":4},"end":{"line":27,"column":25}},"15":{"start":{"line":30,"column":21},"end":{"line":30,"column":22}},"16":{"start":{"line":31,"column":6},"end":{"line":36,"column":7}},"17":{"start":{"line":32,"column":8},"end":{"line":32,"column":42}},"18":{"start":{"line":35,"column":8},"end":{"line":35,"column":40}},"19":{"start":{"line":37,"column":6},"end":{"line":37,"column":22}},"20":{"start":{"line":40,"column":4},"end":{"line":40,"column":54}},"21":{"start":{"line":44,"column":4},"end":{"line":44,"column":92}},"22":{"start":{"line":45,"column":4},"end":{"line":45,"column":41}},"23":{"start":{"line":49,"column":17},"end":{"line":49,"column":21}},"24":{"start":{"line":50,"column":24},"end":{"line":50,"column":65}},"25":{"start":{"line":53,"column":6},"end":{"line":53,"column":36}},"26":{"start":{"line":57,"column":6},"end":{"line":57,"column":92}},"27":{"start":{"line":61,"column":6},"end":{"line":65,"column":7}},"28":{"start":{"line":62,"column":8},"end":{"line":62,"column":17}},"29":{"start":{"line":63,"column":13},"end":{"line":65,"column":7}},"30":{"start":{"line":64,"column":8},"end":{"line":64,"column":18}},"31":{"start":{"line":67,"column":6},"end":{"line":67,"column":15}},"32":{"start":{"line":71,"column":18},"end":{"line":71,"column":37}},"33":{"start":{"line":72,"column":6},"end":{"line":72,"column":50}},"34":{"start":{"line":73,"column":6},"end":{"line":84,"column":7}},"35":{"start":{"line":76,"column":8},"end":{"line":80,"column":9}},"36":{"start":{"line":77,"column":10},"end":{"line":77,"column":50}},"37":{"start":{"line":82,"column":8},"end":{"line":82,"column":68}},"38":{"start":{"line":83,"column":8},"end":{"line":83,"column":97}},"39":{"start":{"line":89,"column":6},"end":{"line":89,"column":38}},"40":{"start":{"line":91,"column":20},"end":{"line":91,"column":58}},"41":{"start":{"line":92,"column":6},"end":{"line":92,"column":86}},"42":{"start":{"line":95,"column":4},"end":{"line":95,"column":39}},"43":{"start":{"line":96,"column":4},"end":{"line":96,"column":21}},"44":{"start":{"line":101,"column":17},"end":{"line":101,"column":21}},"45":{"start":{"line":105,"column":6},"end":{"line":105,"column":45}},"46":{"start":{"line":106,"column":6},"end":{"line":106,"column":39}},"47":{"start":{"line":107,"column":6},"end":{"line":107,"column":46}},"48":{"start":{"line":110,"column":4},"end":{"line":110,"column":22}},"49":{"start":{"line":113,"column":4},"end":{"line":116,"column":5}},"50":{"start":{"line":114,"column":6},"end":{"line":114,"column":27}},"51":{"start":{"line":115,"column":6},"end":{"line":115,"column":31}},"52":{"start":{"line":118,"column":4},"end":{"line":118,"column":20}},"53":{"start":{"line":136,"column":2},"end":{"line":136,"column":37}},"54":{"start":{"line":137,"column":2},"end":{"line":137,"column":30}},"55":{"start":{"line":138,"column":2},"end":{"line":138,"column":41}},"56":{"start":{"line":139,"column":2},"end":{"line":139,"column":57}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":49}},"58":{"start":{"line":146,"column":4},"end":{"line":165,"column":5}},"59":{"start":{"line":147,"column":6},"end":{"line":151,"column":8}},"60":{"start":{"line":153,"column":6},"end":{"line":164,"column":20}},"61":{"start":{"line":155,"column":8},"end":{"line":157,"column":9}},"62":{"start":{"line":156,"column":10},"end":{"line":156,"column":35}},"63":{"start":{"line":159,"column":8},"end":{"line":163,"column":10}},"64":{"start":{"line":161,"column":12},"end":{"line":161,"column":39}},"65":{"start":{"line":167,"column":4},"end":{"line":167,"column":18}},"66":{"start":{"line":170,"column":18},"end":{"line":170,"column":58}},"67":{"start":{"line":172,"column":2},"end":{"line":174,"column":4}},"68":{"start":{"line":173,"column":4},"end":{"line":173,"column":62}},"69":{"start":{"line":179,"column":2},"end":{"line":181,"column":3}},"70":{"start":{"line":180,"column":4},"end":{"line":180,"column":63}},"71":{"start":{"line":183,"column":2},"end":{"line":185,"column":3}},"72":{"start":{"line":184,"column":4},"end":{"line":184,"column":62}},"73":{"start":{"line":187,"column":2},"end":{"line":193,"column":4}},"74":{"start":{"line":196,"column":0},"end":{"line":196,"column":39}},"75":{"start":{"line":197,"column":0},"end":{"line":197,"column":37}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":2},"end":{"line":12,"column":3}},"loc":{"start":{"line":12,"column":48},"end":{"line":41,"column":3}}},"1":{"name":"throwErrorIfArgumentsAreNotValid","decl":{"start":{"line":15,"column":13},"end":{"line":15,"column":45}},"loc":{"start":{"line":15,"column":48},"end":{"line":19,"column":5}}},"2":{"name":"currentFileSize","decl":{"start":{"line":29,"column":13},"end":{"line":29,"column":28}},"loc":{"start":{"line":29,"column":35},"end":{"line":38,"column":5}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":2},"end":{"line":43,"column":3}},"loc":{"start":{"line":43,"column":15},"end":{"line":46,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":48,"column":2},"end":{"line":48,"column":3}},"loc":{"start":{"line":48,"column":17},"end":{"line":97,"column":3}}},"5":{"name":"justTheseFiles","decl":{"start":{"line":52,"column":13},"end":{"line":52,"column":27}},"loc":{"start":{"line":52,"column":34},"end":{"line":54,"column":5}}},"6":{"name":"index","decl":{"start":{"line":56,"column":13},"end":{"line":56,"column":18}},"loc":{"start":{"line":56,"column":30},"end":{"line":58,"column":5}}},"7":{"name":"byIndex","decl":{"start":{"line":60,"column":13},"end":{"line":60,"column":20}},"loc":{"start":{"line":60,"column":27},"end":{"line":68,"column":5}}},"8":{"name":"increaseFileIndex","decl":{"start":{"line":70,"column":13},"end":{"line":70,"column":30}},"loc":{"start":{"line":70,"column":45},"end":{"line":85,"column":5}}},"9":{"name":"renameTheFiles","decl":{"start":{"line":87,"column":13},"end":{"line":87,"column":27}},"loc":{"start":{"line":87,"column":30},"end":{"line":93,"column":5}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":100,"column":2},"end":{"line":100,"column":3}},"loc":{"start":{"line":100,"column":25},"end":{"line":119,"column":3}}},"11":{"name":"writeTheChunk","decl":{"start":{"line":104,"column":13},"end":{"line":104,"column":26}},"loc":{"start":{"line":104,"column":29},"end":{"line":108,"column":5}}},"12":{"name":"fileAppender","decl":{"start":{"line":135,"column":9},"end":{"line":135,"column":21}},"loc":{"start":{"line":135,"column":73},"end":{"line":175,"column":1}}},"13":{"name":"openTheStream","decl":{"start":{"line":143,"column":11},"end":{"line":143,"column":24}},"loc":{"start":{"line":143,"column":55},"end":{"line":168,"column":3}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":153,"column":17},"end":{"line":153,"column":18}},"loc":{"start":{"line":153,"column":24},"end":{"line":164,"column":7}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":172,"column":9},"end":{"line":172,"column":10}},"loc":{"start":{"line":172,"column":27},"end":{"line":174,"column":3}}},"16":{"name":"configure","decl":{"start":{"line":177,"column":9},"end":{"line":177,"column":18}},"loc":{"start":{"line":177,"column":36},"end":{"line":194,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":12},"end":{"line":9,"column":26}},"type":"binary-expr","locations":[{"start":{"line":9,"column":12},"end":{"line":9,"column":18}},{"start":{"line":9,"column":22},"end":{"line":9,"column":26}}]},"1":{"loc":{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},"type":"if","locations":[{"start":{"line":16,"column":6},"end":{"line":18,"column":7}},{"start":{"line":16,"column":6},"end":{"line":18,"column":7}}]},"2":{"loc":{"start":{"line":16,"column":10},"end":{"line":16,"column":41}},"type":"binary-expr","locations":[{"start":{"line":16,"column":10},"end":{"line":16,"column":19}},{"start":{"line":16,"column":23},"end":{"line":16,"column":28}},{"start":{"line":16,"column":32},"end":{"line":16,"column":41}}]},"3":{"loc":{"start":{"line":25,"column":19},"end":{"line":25,"column":31}},"type":"binary-expr","locations":[{"start":{"line":25,"column":19},"end":{"line":25,"column":26}},{"start":{"line":25,"column":30},"end":{"line":25,"column":31}}]},"4":{"loc":{"start":{"line":26,"column":19},"end":{"line":26,"column":89}},"type":"binary-expr","locations":[{"start":{"line":26,"column":19},"end":{"line":26,"column":26}},{"start":{"line":26,"column":30},"end":{"line":26,"column":89}}]},"5":{"loc":{"start":{"line":57,"column":13},"end":{"line":57,"column":91}},"type":"binary-expr","locations":[{"start":{"line":57,"column":13},"end":{"line":57,"column":86}},{"start":{"line":57,"column":90},"end":{"line":57,"column":91}}]},"6":{"loc":{"start":{"line":61,"column":6},"end":{"line":65,"column":7}},"type":"if","locations":[{"start":{"line":61,"column":6},"end":{"line":65,"column":7}},{"start":{"line":61,"column":6},"end":{"line":65,"column":7}}]},"7":{"loc":{"start":{"line":63,"column":13},"end":{"line":65,"column":7}},"type":"if","locations":[{"start":{"line":63,"column":13},"end":{"line":65,"column":7}},{"start":{"line":63,"column":13},"end":{"line":65,"column":7}}]},"8":{"loc":{"start":{"line":73,"column":6},"end":{"line":84,"column":7}},"type":"if","locations":[{"start":{"line":73,"column":6},"end":{"line":84,"column":7}},{"start":{"line":73,"column":6},"end":{"line":84,"column":7}}]},"9":{"loc":{"start":{"line":113,"column":4},"end":{"line":116,"column":5}},"type":"if","locations":[{"start":{"line":113,"column":4},"end":{"line":116,"column":5}},{"start":{"line":113,"column":4},"end":{"line":116,"column":5}}]},"10":{"loc":{"start":{"line":138,"column":11},"end":{"line":138,"column":40}},"type":"binary-expr","locations":[{"start":{"line":138,"column":11},"end":{"line":138,"column":17}},{"start":{"line":138,"column":21},"end":{"line":138,"column":40}}]},"11":{"loc":{"start":{"line":139,"column":15},"end":{"line":139,"column":56}},"type":"cond-expr","locations":[{"start":{"line":139,"column":42},"end":{"line":139,"column":43}},{"start":{"line":139,"column":46},"end":{"line":139,"column":56}}]},"12":{"loc":{"start":{"line":141,"column":15},"end":{"line":141,"column":48}},"type":"cond-expr","locations":[{"start":{"line":141,"column":34},"end":{"line":141,"column":35}},{"start":{"line":141,"column":38},"end":{"line":141,"column":48}}]},"13":{"loc":{"start":{"line":146,"column":4},"end":{"line":165,"column":5}},"type":"if","locations":[{"start":{"line":146,"column":4},"end":{"line":165,"column":5}},{"start":{"line":146,"column":4},"end":{"line":165,"column":5}}]},"14":{"loc":{"start":{"line":155,"column":8},"end":{"line":157,"column":9}},"type":"if","locations":[{"start":{"line":155,"column":8},"end":{"line":157,"column":9}},{"start":{"line":155,"column":8},"end":{"line":157,"column":9}}]},"15":{"loc":{"start":{"line":179,"column":2},"end":{"line":181,"column":3}},"type":"if","locations":[{"start":{"line":179,"column":2},"end":{"line":181,"column":3}},{"start":{"line":179,"column":2},"end":{"line":181,"column":3}}]},"16":{"loc":{"start":{"line":183,"column":2},"end":{"line":185,"column":3}},"type":"if","locations":[{"start":{"line":183,"column":2},"end":{"line":185,"column":3}},{"start":{"line":183,"column":2},"end":{"line":185,"column":3}}]},"17":{"loc":{"start":{"line":183,"column":6},"end":{"line":183,"column":48}},"type":"binary-expr","locations":[{"start":{"line":183,"column":6},"end":{"line":183,"column":13}},{"start":{"line":183,"column":17},"end":{"line":183,"column":28}},{"start":{"line":183,"column":32},"end":{"line":183,"column":48}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0,0]}},"/Users/garethjones/stuff/log4js-node/lib/appenders/gelf.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/gelf.js","statementMap":{"0":{"start":{"line":3,"column":13},"end":{"line":3,"column":28}},"1":{"start":{"line":4,"column":16},"end":{"line":4,"column":37}},"2":{"start":{"line":5,"column":15},"end":{"line":5,"column":35}},"3":{"start":{"line":6,"column":14},"end":{"line":6,"column":30}},"4":{"start":{"line":7,"column":13},"end":{"line":7,"column":28}},"5":{"start":{"line":8,"column":11},"end":{"line":8,"column":24}},"6":{"start":{"line":9,"column":14},"end":{"line":9,"column":45}},"7":{"start":{"line":12,"column":18},"end":{"line":12,"column":19}},"8":{"start":{"line":13,"column":18},"end":{"line":13,"column":19}},"9":{"start":{"line":14,"column":17},"end":{"line":14,"column":18}},"10":{"start":{"line":15,"column":18},"end":{"line":15,"column":19}},"11":{"start":{"line":16,"column":20},"end":{"line":16,"column":21}},"12":{"start":{"line":17,"column":19},"end":{"line":17,"column":20}},"13":{"start":{"line":18,"column":17},"end":{"line":18,"column":18}},"14":{"start":{"line":19,"column":18},"end":{"line":19,"column":19}},"15":{"start":{"line":21,"column":21},"end":{"line":21,"column":23}},"16":{"start":{"line":22,"column":0},"end":{"line":22,"column":37}},"17":{"start":{"line":23,"column":0},"end":{"line":23,"column":39}},"18":{"start":{"line":24,"column":0},"end":{"line":24,"column":39}},"19":{"start":{"line":25,"column":0},"end":{"line":25,"column":37}},"20":{"start":{"line":26,"column":0},"end":{"line":26,"column":40}},"21":{"start":{"line":27,"column":0},"end":{"line":27,"column":39}},"22":{"start":{"line":28,"column":0},"end":{"line":28,"column":38}},"23":{"start":{"line":45,"column":2},"end":{"line":52,"column":3}},"24":{"start":{"line":46,"column":4},"end":{"line":46,"column":18}},"25":{"start":{"line":47,"column":4},"end":{"line":47,"column":23}},"26":{"start":{"line":48,"column":4},"end":{"line":48,"column":23}},"27":{"start":{"line":49,"column":4},"end":{"line":49,"column":31}},"28":{"start":{"line":50,"column":4},"end":{"line":50,"column":31}},"29":{"start":{"line":51,"column":4},"end":{"line":51,"column":39}},"30":{"start":{"line":54,"column":2},"end":{"line":54,"column":29}},"31":{"start":{"line":55,"column":2},"end":{"line":55,"column":23}},"32":{"start":{"line":56,"column":2},"end":{"line":56,"column":39}},"33":{"start":{"line":57,"column":2},"end":{"line":57,"column":54}},"34":{"start":{"line":59,"column":30},"end":{"line":59,"column":48}},"35":{"start":{"line":61,"column":2},"end":{"line":63,"column":3}},"36":{"start":{"line":62,"column":4},"end":{"line":62,"column":45}},"37":{"start":{"line":65,"column":2},"end":{"line":65,"column":38}},"38":{"start":{"line":67,"column":2},"end":{"line":69,"column":5}},"39":{"start":{"line":68,"column":4},"end":{"line":68,"column":31}},"40":{"start":{"line":68,"column":16},"end":{"line":68,"column":31}},"41":{"start":{"line":80,"column":4},"end":{"line":85,"column":7}},"42":{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},"43":{"start":{"line":83,"column":8},"end":{"line":83,"column":44}},"44":{"start":{"line":88,"column":17},"end":{"line":88,"column":34}},"45":{"start":{"line":89,"column":4},"end":{"line":89,"column":58}},"46":{"start":{"line":89,"column":51},"end":{"line":89,"column":58}},"47":{"start":{"line":90,"column":22},"end":{"line":90,"column":29}},"48":{"start":{"line":92,"column":4},"end":{"line":92,"column":32}},"49":{"start":{"line":92,"column":25},"end":{"line":92,"column":32}},"50":{"start":{"line":94,"column":4},"end":{"line":94,"column":26}},"51":{"start":{"line":95,"column":4},"end":{"line":100,"column":7}},"52":{"start":{"line":97,"column":6},"end":{"line":99,"column":7}},"53":{"start":{"line":98,"column":8},"end":{"line":98,"column":34}},"54":{"start":{"line":103,"column":4},"end":{"line":103,"column":30}},"55":{"start":{"line":107,"column":16},"end":{"line":107,"column":18}},"56":{"start":{"line":108,"column":4},"end":{"line":108,"column":39}},"57":{"start":{"line":109,"column":4},"end":{"line":109,"column":45}},"58":{"start":{"line":111,"column":4},"end":{"line":111,"column":24}},"59":{"start":{"line":112,"column":4},"end":{"line":112,"column":65}},"60":{"start":{"line":113,"column":4},"end":{"line":113,"column":24}},"61":{"start":{"line":114,"column":4},"end":{"line":114,"column":65}},"62":{"start":{"line":115,"column":4},"end":{"line":115,"column":15}},"63":{"start":{"line":119,"column":4},"end":{"line":123,"column":7}},"64":{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},"65":{"start":{"line":121,"column":8},"end":{"line":121,"column":27}},"66":{"start":{"line":126,"column":2},"end":{"line":139,"column":4}},"67":{"start":{"line":127,"column":20},"end":{"line":127,"column":47}},"68":{"start":{"line":128,"column":4},"end":{"line":138,"column":7}},"69":{"start":{"line":129,"column":6},"end":{"line":137,"column":7}},"70":{"start":{"line":130,"column":8},"end":{"line":130,"column":33}},"71":{"start":{"line":132,"column":8},"end":{"line":136,"column":9}},"72":{"start":{"line":133,"column":10},"end":{"line":133,"column":91}},"73":{"start":{"line":135,"column":10},"end":{"line":135,"column":29}},"74":{"start":{"line":144,"column":2},"end":{"line":146,"column":3}},"75":{"start":{"line":145,"column":4},"end":{"line":145,"column":63}},"76":{"start":{"line":147,"column":2},"end":{"line":147,"column":38}},"77":{"start":{"line":151,"column":2},"end":{"line":154,"column":3}},"78":{"start":{"line":152,"column":4},"end":{"line":152,"column":21}},"79":{"start":{"line":153,"column":4},"end":{"line":153,"column":18}},"80":{"start":{"line":157,"column":0},"end":{"line":157,"column":39}},"81":{"start":{"line":158,"column":0},"end":{"line":158,"column":37}},"82":{"start":{"line":159,"column":0},"end":{"line":159,"column":35}}},"fnMap":{"0":{"name":"gelfAppender","decl":{"start":{"line":42,"column":9},"end":{"line":42,"column":21}},"loc":{"start":{"line":42,"column":62},"end":{"line":140,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":67,"column":21},"end":{"line":67,"column":22}},"loc":{"start":{"line":67,"column":27},"end":{"line":69,"column":3}}},"2":{"name":"addCustomFields","decl":{"start":{"line":78,"column":11},"end":{"line":78,"column":26}},"loc":{"start":{"line":78,"column":46},"end":{"line":104,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":80,"column":45},"end":{"line":80,"column":46}},"loc":{"start":{"line":80,"column":54},"end":{"line":85,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":95,"column":35},"end":{"line":95,"column":36}},"loc":{"start":{"line":95,"column":44},"end":{"line":100,"column":5}}},"5":{"name":"preparePacket","decl":{"start":{"line":106,"column":11},"end":{"line":106,"column":24}},"loc":{"start":{"line":106,"column":39},"end":{"line":116,"column":3}}},"6":{"name":"sendPacket","decl":{"start":{"line":118,"column":11},"end":{"line":118,"column":21}},"loc":{"start":{"line":118,"column":30},"end":{"line":124,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":119,"column":54},"end":{"line":119,"column":55}},"loc":{"start":{"line":119,"column":63},"end":{"line":123,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":126,"column":9},"end":{"line":126,"column":10}},"loc":{"start":{"line":126,"column":27},"end":{"line":139,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":128,"column":51},"end":{"line":128,"column":52}},"loc":{"start":{"line":128,"column":68},"end":{"line":138,"column":5}}},"10":{"name":"configure","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":18}},"loc":{"start":{"line":142,"column":27},"end":{"line":148,"column":1}}},"11":{"name":"shutdown","decl":{"start":{"line":150,"column":9},"end":{"line":150,"column":17}},"loc":{"start":{"line":150,"column":22},"end":{"line":155,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":45,"column":2},"end":{"line":52,"column":3}},"type":"if","locations":[{"start":{"line":45,"column":2},"end":{"line":52,"column":3}},{"start":{"line":45,"column":2},"end":{"line":52,"column":3}}]},"1":{"loc":{"start":{"line":54,"column":9},"end":{"line":54,"column":28}},"type":"binary-expr","locations":[{"start":{"line":54,"column":9},"end":{"line":54,"column":13}},{"start":{"line":54,"column":17},"end":{"line":54,"column":28}}]},"2":{"loc":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"type":"binary-expr","locations":[{"start":{"line":55,"column":9},"end":{"line":55,"column":13}},{"start":{"line":55,"column":17},"end":{"line":55,"column":22}}]},"3":{"loc":{"start":{"line":56,"column":13},"end":{"line":56,"column":38}},"type":"binary-expr","locations":[{"start":{"line":56,"column":13},"end":{"line":56,"column":21}},{"start":{"line":56,"column":25},"end":{"line":56,"column":38}}]},"4":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":53}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":17}},{"start":{"line":57,"column":21},"end":{"line":57,"column":53}}]},"5":{"loc":{"start":{"line":59,"column":30},"end":{"line":59,"column":48}},"type":"binary-expr","locations":[{"start":{"line":59,"column":30},"end":{"line":59,"column":42}},{"start":{"line":59,"column":46},"end":{"line":59,"column":48}}]},"6":{"loc":{"start":{"line":61,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":61,"column":2},"end":{"line":63,"column":3}},{"start":{"line":61,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":68,"column":4},"end":{"line":68,"column":31}},"type":"if","locations":[{"start":{"line":68,"column":4},"end":{"line":68,"column":31}},{"start":{"line":68,"column":4},"end":{"line":68,"column":31}}]},"8":{"loc":{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},"type":"if","locations":[{"start":{"line":82,"column":6},"end":{"line":84,"column":7}},{"start":{"line":82,"column":6},"end":{"line":84,"column":7}}]},"9":{"loc":{"start":{"line":82,"column":10},"end":{"line":82,"column":42}},"type":"binary-expr","locations":[{"start":{"line":82,"column":10},"end":{"line":82,"column":25}},{"start":{"line":82,"column":29},"end":{"line":82,"column":42}}]},"10":{"loc":{"start":{"line":89,"column":4},"end":{"line":89,"column":58}},"type":"if","locations":[{"start":{"line":89,"column":4},"end":{"line":89,"column":58}},{"start":{"line":89,"column":4},"end":{"line":89,"column":58}}]},"11":{"loc":{"start":{"line":89,"column":8},"end":{"line":89,"column":49}},"type":"binary-expr","locations":[{"start":{"line":89,"column":8},"end":{"line":89,"column":28}},{"start":{"line":89,"column":32},"end":{"line":89,"column":49}}]},"12":{"loc":{"start":{"line":92,"column":4},"end":{"line":92,"column":32}},"type":"if","locations":[{"start":{"line":92,"column":4},"end":{"line":92,"column":32}},{"start":{"line":92,"column":4},"end":{"line":92,"column":32}}]},"13":{"loc":{"start":{"line":97,"column":6},"end":{"line":99,"column":7}},"type":"if","locations":[{"start":{"line":97,"column":6},"end":{"line":99,"column":7}},{"start":{"line":97,"column":6},"end":{"line":99,"column":7}}]},"14":{"loc":{"start":{"line":97,"column":10},"end":{"line":97,"column":42}},"type":"binary-expr","locations":[{"start":{"line":97,"column":10},"end":{"line":97,"column":25}},{"start":{"line":97,"column":29},"end":{"line":97,"column":42}}]},"15":{"loc":{"start":{"line":112,"column":20},"end":{"line":112,"column":64}},"type":"binary-expr","locations":[{"start":{"line":112,"column":20},"end":{"line":112,"column":33}},{"start":{"line":112,"column":37},"end":{"line":112,"column":64}}]},"16":{"loc":{"start":{"line":114,"column":29},"end":{"line":114,"column":63}},"type":"binary-expr","locations":[{"start":{"line":114,"column":29},"end":{"line":114,"column":47}},{"start":{"line":114,"column":51},"end":{"line":114,"column":63}}]},"17":{"loc":{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},"type":"if","locations":[{"start":{"line":120,"column":6},"end":{"line":122,"column":7}},{"start":{"line":120,"column":6},"end":{"line":122,"column":7}}]},"18":{"loc":{"start":{"line":129,"column":6},"end":{"line":137,"column":7}},"type":"if","locations":[{"start":{"line":129,"column":6},"end":{"line":137,"column":7}},{"start":{"line":129,"column":6},"end":{"line":137,"column":7}}]},"19":{"loc":{"start":{"line":132,"column":8},"end":{"line":136,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":136,"column":9}},{"start":{"line":132,"column":8},"end":{"line":136,"column":9}}]},"20":{"loc":{"start":{"line":144,"column":2},"end":{"line":146,"column":3}},"type":"if","locations":[{"start":{"line":144,"column":2},"end":{"line":146,"column":3}},{"start":{"line":144,"column":2},"end":{"line":146,"column":3}}]},"21":{"loc":{"start":{"line":151,"column":2},"end":{"line":154,"column":3}},"type":"if","locations":[{"start":{"line":151,"column":2},"end":{"line":154,"column":3}},{"start":{"line":151,"column":2},"end":{"line":154,"column":3}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/appenders/hipchat.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/hipchat.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":16},"end":{"line":4,"column":37}},"2":{"start":{"line":6,"column":0},"end":{"line":6,"column":32}},"3":{"start":{"line":7,"column":0},"end":{"line":7,"column":42}},"4":{"start":{"line":8,"column":0},"end":{"line":8,"column":44}},"5":{"start":{"line":34,"column":2},"end":{"line":36,"column":3}},"6":{"start":{"line":35,"column":4},"end":{"line":35,"column":14}},"7":{"start":{"line":40,"column":19},"end":{"line":40,"column":74}},"8":{"start":{"line":43,"column":2},"end":{"line":77,"column":4}},"9":{"start":{"line":46,"column":4},"end":{"line":46,"column":42}},"10":{"start":{"line":47,"column":4},"end":{"line":47,"column":48}},"11":{"start":{"line":48,"column":4},"end":{"line":48,"column":55}},"12":{"start":{"line":50,"column":4},"end":{"line":52,"column":5}},"13":{"start":{"line":51,"column":6},"end":{"line":51,"column":44}},"14":{"start":{"line":54,"column":4},"end":{"line":68,"column":5}},"15":{"start":{"line":57,"column":8},"end":{"line":57,"column":28}},"16":{"start":{"line":58,"column":8},"end":{"line":58,"column":14}},"17":{"start":{"line":60,"column":8},"end":{"line":60,"column":31}},"18":{"start":{"line":61,"column":8},"end":{"line":61,"column":14}},"19":{"start":{"line":64,"column":8},"end":{"line":64,"column":31}},"20":{"start":{"line":65,"column":8},"end":{"line":65,"column":14}},"21":{"start":{"line":67,"column":8},"end":{"line":67,"column":31}},"22":{"start":{"line":71,"column":26},"end":{"line":71,"column":53}},"23":{"start":{"line":75,"column":4},"end":{"line":76,"column":39}},"24":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"25":{"start":{"line":84,"column":4},"end":{"line":84,"column":53}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":41}}},"fnMap":{"0":{"name":"hipchatNotifierResponseCallback","decl":{"start":{"line":33,"column":9},"end":{"line":33,"column":40}},"loc":{"start":{"line":33,"column":62},"end":{"line":37,"column":1}}},"1":{"name":"hipchatAppender","decl":{"start":{"line":39,"column":9},"end":{"line":39,"column":24}},"loc":{"start":{"line":39,"column":33},"end":{"line":78,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":43,"column":9},"end":{"line":43,"column":10}},"loc":{"start":{"line":43,"column":27},"end":{"line":77,"column":3}}},"3":{"name":"hipchatConfigure","decl":{"start":{"line":80,"column":9},"end":{"line":80,"column":25}},"loc":{"start":{"line":80,"column":34},"end":{"line":88,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":2},"end":{"line":36,"column":3}},"type":"if","locations":[{"start":{"line":34,"column":2},"end":{"line":36,"column":3}},{"start":{"line":34,"column":2},"end":{"line":36,"column":3}}]},"1":{"loc":{"start":{"line":47,"column":21},"end":{"line":47,"column":46}},"type":"binary-expr","locations":[{"start":{"line":47,"column":21},"end":{"line":47,"column":40}},{"start":{"line":47,"column":44},"end":{"line":47,"column":46}}]},"2":{"loc":{"start":{"line":48,"column":23},"end":{"line":48,"column":53}},"type":"binary-expr","locations":[{"start":{"line":48,"column":23},"end":{"line":48,"column":44}},{"start":{"line":48,"column":48},"end":{"line":48,"column":53}}]},"3":{"loc":{"start":{"line":50,"column":4},"end":{"line":52,"column":5}},"type":"if","locations":[{"start":{"line":50,"column":4},"end":{"line":52,"column":5}},{"start":{"line":50,"column":4},"end":{"line":52,"column":5}}]},"4":{"loc":{"start":{"line":54,"column":4},"end":{"line":68,"column":5}},"type":"switch","locations":[{"start":{"line":55,"column":6},"end":{"line":55,"column":19}},{"start":{"line":56,"column":6},"end":{"line":58,"column":14}},{"start":{"line":59,"column":6},"end":{"line":61,"column":14}},{"start":{"line":62,"column":6},"end":{"line":62,"column":19}},{"start":{"line":63,"column":6},"end":{"line":65,"column":14}},{"start":{"line":66,"column":6},"end":{"line":67,"column":31}}]},"5":{"loc":{"start":{"line":75,"column":40},"end":{"line":76,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":40},"end":{"line":75,"column":72}},{"start":{"line":76,"column":6},"end":{"line":76,"column":37}}]},"6":{"loc":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"type":"if","locations":[{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},{"start":{"line":83,"column":2},"end":{"line":85,"column":3}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0,0,0,0],"5":[0,0],"6":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/appenders/logFacesAppender.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/logFacesAppender.js","statementMap":{"0":{"start":{"line":16,"column":13},"end":{"line":16,"column":28}},"1":{"start":{"line":18,"column":16},"end":{"line":18,"column":18}},"2":{"start":{"line":21,"column":15},"end":{"line":21,"column":52}},"3":{"start":{"line":22,"column":15},"end":{"line":22,"column":47}},"4":{"start":{"line":23,"column":15},"end":{"line":23,"column":35}},"5":{"start":{"line":25,"column":2},"end":{"line":33,"column":4}},"6":{"start":{"line":26,"column":17},"end":{"line":26,"column":50}},"7":{"start":{"line":27,"column":4},"end":{"line":32,"column":7}},"8":{"start":{"line":28,"column":6},"end":{"line":31,"column":7}},"9":{"start":{"line":29,"column":8},"end":{"line":30,"column":27}},"10":{"start":{"line":37,"column":16},"end":{"line":37,"column":41}},"11":{"start":{"line":38,"column":2},"end":{"line":38,"column":38}},"12":{"start":{"line":39,"column":2},"end":{"line":39,"column":50}},"13":{"start":{"line":40,"column":2},"end":{"line":40,"column":66}},"14":{"start":{"line":41,"column":2},"end":{"line":41,"column":40}},"15":{"start":{"line":43,"column":2},"end":{"line":55,"column":4}},"16":{"start":{"line":44,"column":4},"end":{"line":54,"column":9}},"17":{"start":{"line":46,"column":8},"end":{"line":49,"column":9}},"18":{"start":{"line":47,"column":10},"end":{"line":48,"column":41}},"19":{"start":{"line":52,"column":8},"end":{"line":53,"column":39}},"20":{"start":{"line":75,"column":13},"end":{"line":75,"column":24}},"21":{"start":{"line":76,"column":2},"end":{"line":78,"column":3}},"22":{"start":{"line":77,"column":4},"end":{"line":77,"column":75}},"23":{"start":{"line":80,"column":2},"end":{"line":97,"column":4}},"24":{"start":{"line":82,"column":21},"end":{"line":88,"column":5}},"25":{"start":{"line":91,"column":4},"end":{"line":93,"column":7}},"26":{"start":{"line":92,"column":6},"end":{"line":92,"column":42}},"27":{"start":{"line":96,"column":4},"end":{"line":96,"column":19}},"28":{"start":{"line":101,"column":2},"end":{"line":101,"column":34}},"29":{"start":{"line":105,"column":2},"end":{"line":105,"column":23}},"30":{"start":{"line":109,"column":15},"end":{"line":110,"column":62}},"31":{"start":{"line":111,"column":2},"end":{"line":111,"column":62}},"32":{"start":{"line":115,"column":2},"end":{"line":125,"column":5}},"33":{"start":{"line":116,"column":4},"end":{"line":122,"column":5}},"34":{"start":{"line":117,"column":6},"end":{"line":121,"column":8}},"35":{"start":{"line":119,"column":10},"end":{"line":119,"column":55}},"36":{"start":{"line":124,"column":4},"end":{"line":124,"column":16}},"37":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"38":{"start":{"line":129,"column":0},"end":{"line":129,"column":37}},"39":{"start":{"line":130,"column":0},"end":{"line":130,"column":39}}},"fnMap":{"0":{"name":"datagram","decl":{"start":{"line":20,"column":9},"end":{"line":20,"column":17}},"loc":{"start":{"line":20,"column":26},"end":{"line":34,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":10}},"loc":{"start":{"line":25,"column":26},"end":{"line":33,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":27,"column":48},"end":{"line":27,"column":49}},"loc":{"start":{"line":27,"column":57},"end":{"line":32,"column":5}}},"3":{"name":"servlet","decl":{"start":{"line":36,"column":9},"end":{"line":36,"column":16}},"loc":{"start":{"line":36,"column":25},"end":{"line":56,"column":1}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":43,"column":9},"end":{"line":43,"column":10}},"loc":{"start":{"line":43,"column":29},"end":{"line":55,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":45,"column":12},"end":{"line":45,"column":13}},"loc":{"start":{"line":45,"column":26},"end":{"line":50,"column":7}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":51,"column":13},"end":{"line":51,"column":14}},"loc":{"start":{"line":51,"column":27},"end":{"line":54,"column":7}}},"7":{"name":"logFacesAppender","decl":{"start":{"line":74,"column":9},"end":{"line":74,"column":25}},"loc":{"start":{"line":74,"column":34},"end":{"line":98,"column":1}}},"8":{"name":"log","decl":{"start":{"line":80,"column":18},"end":{"line":80,"column":21}},"loc":{"start":{"line":80,"column":29},"end":{"line":97,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":91,"column":33},"end":{"line":91,"column":34}},"loc":{"start":{"line":91,"column":42},"end":{"line":93,"column":5}}},"10":{"name":"configure","decl":{"start":{"line":100,"column":9},"end":{"line":100,"column":18}},"loc":{"start":{"line":100,"column":27},"end":{"line":102,"column":1}}},"11":{"name":"setContext","decl":{"start":{"line":104,"column":9},"end":{"line":104,"column":19}},"loc":{"start":{"line":104,"column":32},"end":{"line":106,"column":1}}},"12":{"name":"format","decl":{"start":{"line":108,"column":9},"end":{"line":108,"column":15}},"loc":{"start":{"line":108,"column":25},"end":{"line":112,"column":1}}},"13":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":114,"column":9},"end":{"line":114,"column":30}},"loc":{"start":{"line":114,"column":38},"end":{"line":126,"column":1}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":115,"column":19},"end":{"line":115,"column":20}},"loc":{"start":{"line":115,"column":29},"end":{"line":125,"column":3}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":118,"column":17},"end":{"line":118,"column":18}},"loc":{"start":{"line":118,"column":29},"end":{"line":120,"column":9}}}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":15},"end":{"line":22,"column":47}},"type":"binary-expr","locations":[{"start":{"line":22,"column":15},"end":{"line":22,"column":32}},{"start":{"line":22,"column":36},"end":{"line":22,"column":47}}]},"1":{"loc":{"start":{"line":23,"column":15},"end":{"line":23,"column":35}},"type":"binary-expr","locations":[{"start":{"line":23,"column":15},"end":{"line":23,"column":26}},{"start":{"line":23,"column":30},"end":{"line":23,"column":35}}]},"2":{"loc":{"start":{"line":28,"column":6},"end":{"line":31,"column":7}},"type":"if","locations":[{"start":{"line":28,"column":6},"end":{"line":31,"column":7}},{"start":{"line":28,"column":6},"end":{"line":31,"column":7}}]},"3":{"loc":{"start":{"line":39,"column":27},"end":{"line":39,"column":49}},"type":"binary-expr","locations":[{"start":{"line":39,"column":27},"end":{"line":39,"column":41}},{"start":{"line":39,"column":45},"end":{"line":39,"column":49}}]},"4":{"loc":{"start":{"line":46,"column":8},"end":{"line":49,"column":9}},"type":"if","locations":[{"start":{"line":46,"column":8},"end":{"line":49,"column":9}},{"start":{"line":46,"column":8},"end":{"line":49,"column":9}}]},"5":{"loc":{"start":{"line":76,"column":2},"end":{"line":78,"column":3}},"type":"if","locations":[{"start":{"line":76,"column":2},"end":{"line":78,"column":3}},{"start":{"line":76,"column":2},"end":{"line":78,"column":3}}]},"6":{"loc":{"start":{"line":77,"column":11},"end":{"line":77,"column":74}},"type":"cond-expr","locations":[{"start":{"line":77,"column":40},"end":{"line":77,"column":56}},{"start":{"line":77,"column":59},"end":{"line":77,"column":74}}]},"7":{"loc":{"start":{"line":83,"column":9},"end":{"line":83,"column":33}},"type":"binary-expr","locations":[{"start":{"line":83,"column":9},"end":{"line":83,"column":27}},{"start":{"line":83,"column":31},"end":{"line":83,"column":33}}]},"8":{"loc":{"start":{"line":109,"column":15},"end":{"line":110,"column":62}},"type":"cond-expr","locations":[{"start":{"line":110,"column":15},"end":{"line":110,"column":22}},{"start":{"line":110,"column":25},"end":{"line":110,"column":62}}]},"9":{"loc":{"start":{"line":116,"column":4},"end":{"line":122,"column":5}},"type":"if","locations":[{"start":{"line":116,"column":4},"end":{"line":122,"column":5}},{"start":{"line":116,"column":4},"end":{"line":122,"column":5}}]},"10":{"loc":{"start":{"line":116,"column":8},"end":{"line":116,"column":45}},"type":"binary-expr","locations":[{"start":{"line":116,"column":9},"end":{"line":116,"column":30}},{"start":{"line":116,"column":35},"end":{"line":116,"column":45}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/appenders/loggly.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/loggly.js","statementMap":{"0":{"start":{"line":5,"column":16},"end":{"line":5,"column":37}},"1":{"start":{"line":6,"column":15},"end":{"line":6,"column":32}},"2":{"start":{"line":7,"column":11},"end":{"line":7,"column":24}},"3":{"start":{"line":9,"column":20},"end":{"line":9,"column":52}},"4":{"start":{"line":11,"column":19},"end":{"line":11,"column":20}},"5":{"start":{"line":15,"column":2},"end":{"line":15,"column":86}},"6":{"start":{"line":19,"column":12},"end":{"line":19,"column":13}},"7":{"start":{"line":20,"column":2},"end":{"line":24,"column":3}},"8":{"start":{"line":21,"column":4},"end":{"line":23,"column":5}},"9":{"start":{"line":22,"column":6},"end":{"line":22,"column":12}},"10":{"start":{"line":25,"column":2},"end":{"line":25,"column":13}},"11":{"start":{"line":33,"column":19},"end":{"line":33,"column":76}},"12":{"start":{"line":35,"column":2},"end":{"line":42,"column":47}},"13":{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},"14":{"start":{"line":37,"column":6},"end":{"line":37,"column":81}},"15":{"start":{"line":39,"column":6},"end":{"line":39,"column":44}},"16":{"start":{"line":41,"column":4},"end":{"line":41,"column":22}},"17":{"start":{"line":66,"column":17},"end":{"line":66,"column":44}},"18":{"start":{"line":67,"column":2},"end":{"line":67,"column":36}},"19":{"start":{"line":67,"column":15},"end":{"line":67,"column":36}},"20":{"start":{"line":69,"column":2},"end":{"line":99,"column":4}},"21":{"start":{"line":70,"column":19},"end":{"line":70,"column":49}},"22":{"start":{"line":71,"column":25},"end":{"line":71,"column":44}},"23":{"start":{"line":72,"column":27},"end":{"line":72,"column":48}},"24":{"start":{"line":75,"column":4},"end":{"line":75,"column":37}},"25":{"start":{"line":77,"column":16},"end":{"line":77,"column":36}},"26":{"start":{"line":79,"column":4},"end":{"line":79,"column":22}},"27":{"start":{"line":81,"column":4},"end":{"line":98,"column":7}},"28":{"start":{"line":87,"column":6},"end":{"line":89,"column":7}},"29":{"start":{"line":88,"column":8},"end":{"line":88,"column":73}},"30":{"start":{"line":91,"column":6},"end":{"line":91,"column":24}},"31":{"start":{"line":93,"column":6},"end":{"line":97,"column":7}},"32":{"start":{"line":94,"column":8},"end":{"line":94,"column":21}},"33":{"start":{"line":96,"column":8},"end":{"line":96,"column":31}},"34":{"start":{"line":104,"column":2},"end":{"line":106,"column":3}},"35":{"start":{"line":105,"column":4},"end":{"line":105,"column":63}},"36":{"start":{"line":107,"column":2},"end":{"line":107,"column":40}},"37":{"start":{"line":111,"column":2},"end":{"line":115,"column":3}},"38":{"start":{"line":112,"column":4},"end":{"line":112,"column":9}},"39":{"start":{"line":114,"column":4},"end":{"line":114,"column":20}},"40":{"start":{"line":118,"column":0},"end":{"line":118,"column":31}},"41":{"start":{"line":119,"column":0},"end":{"line":119,"column":41}},"42":{"start":{"line":120,"column":0},"end":{"line":120,"column":37}},"43":{"start":{"line":121,"column":0},"end":{"line":121,"column":35}}},"fnMap":{"0":{"name":"isAnyObject","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":20}},"loc":{"start":{"line":14,"column":28},"end":{"line":16,"column":1}}},"1":{"name":"numKeys","decl":{"start":{"line":18,"column":9},"end":{"line":18,"column":16}},"loc":{"start":{"line":18,"column":22},"end":{"line":26,"column":1}}},"2":{"name":"processTags","decl":{"start":{"line":32,"column":9},"end":{"line":32,"column":20}},"loc":{"start":{"line":32,"column":34},"end":{"line":43,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":35,"column":24},"end":{"line":35,"column":25}},"loc":{"start":{"line":35,"column":49},"end":{"line":42,"column":3}}},"4":{"name":"logglyAppender","decl":{"start":{"line":65,"column":9},"end":{"line":65,"column":23}},"loc":{"start":{"line":65,"column":40},"end":{"line":100,"column":1}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":69,"column":9},"end":{"line":69,"column":10}},"loc":{"start":{"line":69,"column":27},"end":{"line":99,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":86,"column":23},"end":{"line":86,"column":24}},"loc":{"start":{"line":86,"column":34},"end":{"line":98,"column":5}}},"7":{"name":"configure","decl":{"start":{"line":102,"column":9},"end":{"line":102,"column":18}},"loc":{"start":{"line":102,"column":27},"end":{"line":108,"column":1}}},"8":{"name":"shutdown","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":17}},"loc":{"start":{"line":110,"column":22},"end":{"line":116,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":9},"end":{"line":15,"column":85}},"type":"binary-expr","locations":[{"start":{"line":15,"column":9},"end":{"line":15,"column":23}},{"start":{"line":15,"column":28},"end":{"line":15,"column":53}},{"start":{"line":15,"column":57},"end":{"line":15,"column":84}}]},"1":{"loc":{"start":{"line":21,"column":4},"end":{"line":23,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":23,"column":5}},{"start":{"line":21,"column":4},"end":{"line":23,"column":5}}]},"2":{"loc":{"start":{"line":33,"column":19},"end":{"line":33,"column":76}},"type":"cond-expr","locations":[{"start":{"line":33,"column":46},"end":{"line":33,"column":62}},{"start":{"line":33,"column":65},"end":{"line":33,"column":76}}]},"3":{"loc":{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},{"start":{"line":36,"column":4},"end":{"line":40,"column":5}}]},"4":{"loc":{"start":{"line":36,"column":8},"end":{"line":36,"column":85}},"type":"binary-expr","locations":[{"start":{"line":36,"column":8},"end":{"line":36,"column":28}},{"start":{"line":36,"column":32},"end":{"line":36,"column":59}},{"start":{"line":36,"column":63},"end":{"line":36,"column":85}}]},"5":{"loc":{"start":{"line":67,"column":2},"end":{"line":67,"column":36}},"type":"if","locations":[{"start":{"line":67,"column":2},"end":{"line":67,"column":36}},{"start":{"line":67,"column":2},"end":{"line":67,"column":36}}]},"6":{"loc":{"start":{"line":87,"column":6},"end":{"line":89,"column":7}},"type":"if","locations":[{"start":{"line":87,"column":6},"end":{"line":89,"column":7}},{"start":{"line":87,"column":6},"end":{"line":89,"column":7}}]},"7":{"loc":{"start":{"line":93,"column":6},"end":{"line":97,"column":7}},"type":"if","locations":[{"start":{"line":93,"column":6},"end":{"line":97,"column":7}},{"start":{"line":93,"column":6},"end":{"line":97,"column":7}}]},"8":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":42}},"type":"binary-expr","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":20}},{"start":{"line":93,"column":24},"end":{"line":93,"column":42}}]},"9":{"loc":{"start":{"line":104,"column":2},"end":{"line":106,"column":3}},"type":"if","locations":[{"start":{"line":104,"column":2},"end":{"line":106,"column":3}},{"start":{"line":104,"column":2},"end":{"line":106,"column":3}}]},"10":{"loc":{"start":{"line":111,"column":2},"end":{"line":115,"column":3}},"type":"if","locations":[{"start":{"line":111,"column":2},"end":{"line":115,"column":3}},{"start":{"line":111,"column":2},"end":{"line":115,"column":3}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/appenders/logLevelFilter.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/logLevelFilter.js","statementMap":{"0":{"start":{"line":3,"column":15},"end":{"line":3,"column":35}},"1":{"start":{"line":4,"column":15},"end":{"line":4,"column":35}},"2":{"start":{"line":7,"column":19},"end":{"line":7,"column":49}},"3":{"start":{"line":8,"column":19},"end":{"line":8,"column":63}},"4":{"start":{"line":9,"column":2},"end":{"line":14,"column":4}},"5":{"start":{"line":10,"column":23},"end":{"line":10,"column":37}},"6":{"start":{"line":11,"column":4},"end":{"line":13,"column":5}},"7":{"start":{"line":12,"column":6},"end":{"line":12,"column":25}},"8":{"start":{"line":18,"column":2},"end":{"line":18,"column":44}},"9":{"start":{"line":19,"column":19},"end":{"line":19,"column":88}},"10":{"start":{"line":20,"column":2},"end":{"line":20,"column":65}},"11":{"start":{"line":23,"column":0},"end":{"line":23,"column":41}},"12":{"start":{"line":24,"column":0},"end":{"line":24,"column":37}}},"fnMap":{"0":{"name":"logLevelFilter","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":23}},"loc":{"start":{"line":6,"column":66},"end":{"line":15,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":10}},"loc":{"start":{"line":9,"column":23},"end":{"line":14,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":17,"column":9},"end":{"line":17,"column":18}},"loc":{"start":{"line":17,"column":36},"end":{"line":21,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":4},"end":{"line":13,"column":5}},"type":"if","locations":[{"start":{"line":11,"column":4},"end":{"line":13,"column":5}},{"start":{"line":11,"column":4},"end":{"line":13,"column":5}}]},"1":{"loc":{"start":{"line":11,"column":8},"end":{"line":11,"column":95}},"type":"binary-expr","locations":[{"start":{"line":11,"column":8},"end":{"line":11,"column":51}},{"start":{"line":11,"column":55},"end":{"line":11,"column":95}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/appenders/logstashUDP.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/logstashUDP.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":4,"column":14},"end":{"line":4,"column":30}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":8,"column":14},"end":{"line":8,"column":40}},"4":{"start":{"line":9,"column":15},"end":{"line":9,"column":64}},"5":{"start":{"line":10,"column":2},"end":{"line":10,"column":41}},"6":{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},"7":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"8":{"start":{"line":16,"column":2},"end":{"line":50,"column":4}},"9":{"start":{"line":31,"column":4},"end":{"line":38,"column":5}},"10":{"start":{"line":32,"column":27},"end":{"line":32,"column":47}},"11":{"start":{"line":33,"column":6},"end":{"line":37,"column":7}},"12":{"start":{"line":34,"column":8},"end":{"line":36,"column":9}},"13":{"start":{"line":35,"column":10},"end":{"line":35,"column":49}},"14":{"start":{"line":39,"column":4},"end":{"line":39,"column":54}},"15":{"start":{"line":40,"column":4},"end":{"line":40,"column":55}},"16":{"start":{"line":42,"column":22},"end":{"line":48,"column":5}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":54}},"18":{"start":{"line":54,"column":17},"end":{"line":54,"column":54}},"19":{"start":{"line":57,"column":2},"end":{"line":61,"column":5}},"20":{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},"21":{"start":{"line":59,"column":6},"end":{"line":59,"column":91}},"22":{"start":{"line":66,"column":2},"end":{"line":68,"column":3}},"23":{"start":{"line":67,"column":4},"end":{"line":67,"column":63}},"24":{"start":{"line":70,"column":2},"end":{"line":70,"column":37}},"25":{"start":{"line":73,"column":0},"end":{"line":73,"column":38}},"26":{"start":{"line":74,"column":0},"end":{"line":74,"column":37}}},"fnMap":{"0":{"name":"logstashUDP","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":20}},"loc":{"start":{"line":7,"column":37},"end":{"line":51,"column":1}}},"1":{"name":"log","decl":{"start":{"line":16,"column":18},"end":{"line":16,"column":21}},"loc":{"start":{"line":16,"column":36},"end":{"line":50,"column":3}}},"2":{"name":"sendLog","decl":{"start":{"line":53,"column":9},"end":{"line":53,"column":16}},"loc":{"start":{"line":53,"column":45},"end":{"line":62,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":57,"column":49},"end":{"line":57,"column":50}},"loc":{"start":{"line":57,"column":65},"end":{"line":61,"column":3}}},"4":{"name":"configure","decl":{"start":{"line":64,"column":9},"end":{"line":64,"column":18}},"loc":{"start":{"line":64,"column":27},"end":{"line":71,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":15},"end":{"line":9,"column":64}},"type":"cond-expr","locations":[{"start":{"line":9,"column":32},"end":{"line":9,"column":46}},{"start":{"line":9,"column":49},"end":{"line":9,"column":64}}]},"1":{"loc":{"start":{"line":10,"column":11},"end":{"line":10,"column":40}},"type":"binary-expr","locations":[{"start":{"line":10,"column":11},"end":{"line":10,"column":17}},{"start":{"line":10,"column":21},"end":{"line":10,"column":40}}]},"2":{"loc":{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":14,"column":3}},{"start":{"line":12,"column":2},"end":{"line":14,"column":3}}]},"3":{"loc":{"start":{"line":31,"column":4},"end":{"line":38,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":38,"column":5}},{"start":{"line":31,"column":4},"end":{"line":38,"column":5}}]},"4":{"loc":{"start":{"line":34,"column":8},"end":{"line":36,"column":9}},"type":"if","locations":[{"start":{"line":34,"column":8},"end":{"line":36,"column":9}},{"start":{"line":34,"column":8},"end":{"line":36,"column":9}}]},"5":{"loc":{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":60,"column":5}},{"start":{"line":58,"column":4},"end":{"line":60,"column":5}}]},"6":{"loc":{"start":{"line":66,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":66,"column":2},"end":{"line":68,"column":3}},{"start":{"line":66,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/appenders/mailgun.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/mailgun.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":4,"column":23},"end":{"line":4,"column":44}},"2":{"start":{"line":11,"column":2},"end":{"line":11,"column":19}},"3":{"start":{"line":12,"column":2},"end":{"line":12,"column":42}},"4":{"start":{"line":14,"column":2},"end":{"line":26,"column":4}},"5":{"start":{"line":15,"column":17},"end":{"line":20,"column":5}},"6":{"start":{"line":23,"column":4},"end":{"line":25,"column":7}},"7":{"start":{"line":24,"column":6},"end":{"line":24,"column":90}},"8":{"start":{"line":24,"column":26},"end":{"line":24,"column":90}},"9":{"start":{"line":30,"column":2},"end":{"line":30,"column":19}},"10":{"start":{"line":32,"column":2},"end":{"line":34,"column":3}},"11":{"start":{"line":33,"column":4},"end":{"line":33,"column":65}},"12":{"start":{"line":36,"column":2},"end":{"line":39,"column":5}},"13":{"start":{"line":41,"column":2},"end":{"line":41,"column":42}},"14":{"start":{"line":44,"column":0},"end":{"line":44,"column":42}},"15":{"start":{"line":45,"column":0},"end":{"line":45,"column":37}}},"fnMap":{"0":{"name":"mailgunAppender","decl":{"start":{"line":10,"column":9},"end":{"line":10,"column":24}},"loc":{"start":{"line":10,"column":43},"end":{"line":27,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":10}},"loc":{"start":{"line":14,"column":27},"end":{"line":26,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":34},"end":{"line":23,"column":35}},"loc":{"start":{"line":23,"column":51},"end":{"line":25,"column":5}}},"3":{"name":"configure","decl":{"start":{"line":29,"column":9},"end":{"line":29,"column":18}},"loc":{"start":{"line":29,"column":28},"end":{"line":42,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":11},"end":{"line":12,"column":41}},"type":"binary-expr","locations":[{"start":{"line":12,"column":11},"end":{"line":12,"column":18}},{"start":{"line":12,"column":22},"end":{"line":12,"column":41}}]},"1":{"loc":{"start":{"line":24,"column":6},"end":{"line":24,"column":90}},"type":"if","locations":[{"start":{"line":24,"column":6},"end":{"line":24,"column":90}},{"start":{"line":24,"column":6},"end":{"line":24,"column":90}}]},"2":{"loc":{"start":{"line":32,"column":2},"end":{"line":34,"column":3}},"type":"if","locations":[{"start":{"line":32,"column":2},"end":{"line":34,"column":3}},{"start":{"line":32,"column":2},"end":{"line":34,"column":3}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/appenders/multiprocess.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/multiprocess.js","statementMap":{"0":{"start":{"line":3,"column":15},"end":{"line":3,"column":35}},"1":{"start":{"line":4,"column":12},"end":{"line":4,"column":26}},"2":{"start":{"line":6,"column":16},"end":{"line":6,"column":28}},"3":{"start":{"line":7,"column":16},"end":{"line":7,"column":18}},"4":{"start":{"line":21,"column":4},"end":{"line":33,"column":5}},"5":{"start":{"line":22,"column":6},"end":{"line":22,"column":37}},"6":{"start":{"line":23,"column":6},"end":{"line":23,"column":64}},"7":{"start":{"line":24,"column":6},"end":{"line":24,"column":78}},"8":{"start":{"line":27,"column":6},"end":{"line":32,"column":8}},"9":{"start":{"line":35,"column":4},"end":{"line":35,"column":60}},"10":{"start":{"line":36,"column":4},"end":{"line":36,"column":54}},"11":{"start":{"line":38,"column":4},"end":{"line":38,"column":24}},"12":{"start":{"line":41,"column":25},"end":{"line":41,"column":46}},"13":{"start":{"line":44,"column":17},"end":{"line":68,"column":4}},"14":{"start":{"line":45,"column":4},"end":{"line":45,"column":37}},"15":{"start":{"line":46,"column":21},"end":{"line":46,"column":23}},"16":{"start":{"line":49,"column":6},"end":{"line":51,"column":7}},"17":{"start":{"line":50,"column":8},"end":{"line":50,"column":67}},"18":{"start":{"line":56,"column":6},"end":{"line":56,"column":32}},"19":{"start":{"line":57,"column":6},"end":{"line":63,"column":7}},"20":{"start":{"line":58,"column":8},"end":{"line":58,"column":69}},"21":{"start":{"line":59,"column":8},"end":{"line":59,"column":29}},"22":{"start":{"line":60,"column":8},"end":{"line":60,"column":79}},"23":{"start":{"line":62,"column":8},"end":{"line":62,"column":24}},"24":{"start":{"line":66,"column":4},"end":{"line":66,"column":43}},"25":{"start":{"line":67,"column":4},"end":{"line":67,"column":42}},"26":{"start":{"line":70,"column":2},"end":{"line":74,"column":5}},"27":{"start":{"line":71,"column":4},"end":{"line":71,"column":25}},"28":{"start":{"line":73,"column":4},"end":{"line":73,"column":19}},"29":{"start":{"line":76,"column":2},"end":{"line":76,"column":24}},"30":{"start":{"line":80,"column":17},"end":{"line":80,"column":22}},"31":{"start":{"line":81,"column":17},"end":{"line":81,"column":19}},"32":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"33":{"start":{"line":89,"column":6},"end":{"line":89,"column":51}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":55}},"35":{"start":{"line":92,"column":4},"end":{"line":92,"column":34}},"36":{"start":{"line":99,"column":4},"end":{"line":101,"column":5}},"37":{"start":{"line":100,"column":6},"end":{"line":100,"column":17}},"38":{"start":{"line":105,"column":4},"end":{"line":105,"column":95}},"39":{"start":{"line":106,"column":4},"end":{"line":109,"column":7}},"40":{"start":{"line":107,"column":6},"end":{"line":107,"column":20}},"41":{"start":{"line":108,"column":6},"end":{"line":108,"column":22}},"42":{"start":{"line":110,"column":4},"end":{"line":110,"column":50}},"43":{"start":{"line":112,"column":4},"end":{"line":112,"column":37}},"44":{"start":{"line":115,"column":2},"end":{"line":115,"column":17}},"45":{"start":{"line":117,"column":2},"end":{"line":123,"column":4}},"46":{"start":{"line":118,"column":4},"end":{"line":122,"column":5}},"47":{"start":{"line":119,"column":6},"end":{"line":119,"column":26}},"48":{"start":{"line":121,"column":6},"end":{"line":121,"column":32}},"49":{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},"50":{"start":{"line":128,"column":4},"end":{"line":128,"column":29}},"51":{"start":{"line":131,"column":2},"end":{"line":131,"column":32}},"52":{"start":{"line":136,"column":2},"end":{"line":140,"column":3}},"53":{"start":{"line":137,"column":4},"end":{"line":137,"column":46}},"54":{"start":{"line":138,"column":4},"end":{"line":138,"column":91}},"55":{"start":{"line":139,"column":4},"end":{"line":139,"column":43}},"56":{"start":{"line":141,"column":2},"end":{"line":141,"column":32}},"57":{"start":{"line":145,"column":19},"end":{"line":145,"column":33}},"58":{"start":{"line":146,"column":2},"end":{"line":153,"column":5}},"59":{"start":{"line":147,"column":4},"end":{"line":152,"column":7}},"60":{"start":{"line":148,"column":6},"end":{"line":148,"column":22}},"61":{"start":{"line":149,"column":6},"end":{"line":151,"column":7}},"62":{"start":{"line":150,"column":8},"end":{"line":150,"column":15}},"63":{"start":{"line":156,"column":0},"end":{"line":156,"column":41}},"64":{"start":{"line":157,"column":0},"end":{"line":157,"column":37}},"65":{"start":{"line":158,"column":0},"end":{"line":158,"column":35}}},"fnMap":{"0":{"name":"logServer","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":18}},"loc":{"start":{"line":14,"column":27},"end":{"line":77,"column":1}}},"1":{"name":"deserializeLoggingEvent","decl":{"start":{"line":19,"column":11},"end":{"line":19,"column":34}},"loc":{"start":{"line":19,"column":54},"end":{"line":39,"column":3}}},"2":{"name":"serverCreated","decl":{"start":{"line":44,"column":43},"end":{"line":44,"column":56}},"loc":{"start":{"line":44,"column":71},"end":{"line":68,"column":3}}},"3":{"name":"logTheMessage","decl":{"start":{"line":48,"column":13},"end":{"line":48,"column":26}},"loc":{"start":{"line":48,"column":32},"end":{"line":52,"column":5}}},"4":{"name":"chunkReceived","decl":{"start":{"line":54,"column":13},"end":{"line":54,"column":26}},"loc":{"start":{"line":54,"column":34},"end":{"line":64,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":70,"column":77},"end":{"line":70,"column":78}},"loc":{"start":{"line":70,"column":89},"end":{"line":74,"column":3}}},"6":{"name":"workerAppender","decl":{"start":{"line":79,"column":9},"end":{"line":79,"column":23}},"loc":{"start":{"line":79,"column":32},"end":{"line":124,"column":1}}},"7":{"name":"write","decl":{"start":{"line":84,"column":11},"end":{"line":84,"column":16}},"loc":{"start":{"line":84,"column":31},"end":{"line":93,"column":3}}},"8":{"name":"emptyBuffer","decl":{"start":{"line":95,"column":11},"end":{"line":95,"column":22}},"loc":{"start":{"line":95,"column":25},"end":{"line":102,"column":3}}},"9":{"name":"createSocket","decl":{"start":{"line":104,"column":11},"end":{"line":104,"column":23}},"loc":{"start":{"line":104,"column":26},"end":{"line":113,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":106,"column":25},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":31},"end":{"line":109,"column":5}}},"11":{"name":"log","decl":{"start":{"line":117,"column":18},"end":{"line":117,"column":21}},"loc":{"start":{"line":117,"column":36},"end":{"line":123,"column":3}}},"12":{"name":"createAppender","decl":{"start":{"line":126,"column":9},"end":{"line":126,"column":23}},"loc":{"start":{"line":126,"column":32},"end":{"line":132,"column":1}}},"13":{"name":"configure","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":18}},"loc":{"start":{"line":134,"column":36},"end":{"line":142,"column":1}}},"14":{"name":"shutdown","decl":{"start":{"line":144,"column":9},"end":{"line":144,"column":17}},"loc":{"start":{"line":144,"column":24},"end":{"line":154,"column":1}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":146,"column":18},"end":{"line":146,"column":19}},"loc":{"start":{"line":146,"column":36},"end":{"line":153,"column":3}}},"16":{"name":"(anonymous_16)","decl":{"start":{"line":147,"column":17},"end":{"line":147,"column":18}},"loc":{"start":{"line":147,"column":29},"end":{"line":152,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":49,"column":6},"end":{"line":51,"column":7}},"type":"if","locations":[{"start":{"line":49,"column":6},"end":{"line":51,"column":7}},{"start":{"line":49,"column":6},"end":{"line":51,"column":7}}]},"1":{"loc":{"start":{"line":56,"column":20},"end":{"line":56,"column":31}},"type":"binary-expr","locations":[{"start":{"line":56,"column":20},"end":{"line":56,"column":25}},{"start":{"line":56,"column":29},"end":{"line":56,"column":31}}]},"2":{"loc":{"start":{"line":57,"column":6},"end":{"line":63,"column":7}},"type":"if","locations":[{"start":{"line":57,"column":6},"end":{"line":63,"column":7}},{"start":{"line":57,"column":6},"end":{"line":63,"column":7}}]},"3":{"loc":{"start":{"line":60,"column":21},"end":{"line":60,"column":78}},"type":"binary-expr","locations":[{"start":{"line":60,"column":21},"end":{"line":60,"column":72}},{"start":{"line":60,"column":76},"end":{"line":60,"column":78}}]},"4":{"loc":{"start":{"line":70,"column":16},"end":{"line":70,"column":41}},"type":"binary-expr","locations":[{"start":{"line":70,"column":16},"end":{"line":70,"column":33}},{"start":{"line":70,"column":37},"end":{"line":70,"column":41}}]},"5":{"loc":{"start":{"line":70,"column":43},"end":{"line":70,"column":75}},"type":"binary-expr","locations":[{"start":{"line":70,"column":43},"end":{"line":70,"column":60}},{"start":{"line":70,"column":64},"end":{"line":70,"column":75}}]},"6":{"loc":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"type":"if","locations":[{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},{"start":{"line":88,"column":4},"end":{"line":90,"column":5}}]},"7":{"loc":{"start":{"line":88,"column":8},"end":{"line":88,"column":83}},"type":"binary-expr","locations":[{"start":{"line":88,"column":8},"end":{"line":88,"column":20}},{"start":{"line":88,"column":24},"end":{"line":88,"column":42}},{"start":{"line":88,"column":46},"end":{"line":88,"column":83}}]},"8":{"loc":{"start":{"line":105,"column":34},"end":{"line":105,"column":59}},"type":"binary-expr","locations":[{"start":{"line":105,"column":34},"end":{"line":105,"column":51}},{"start":{"line":105,"column":55},"end":{"line":105,"column":59}}]},"9":{"loc":{"start":{"line":105,"column":61},"end":{"line":105,"column":93}},"type":"binary-expr","locations":[{"start":{"line":105,"column":61},"end":{"line":105,"column":78}},{"start":{"line":105,"column":82},"end":{"line":105,"column":93}}]},"10":{"loc":{"start":{"line":118,"column":4},"end":{"line":122,"column":5}},"type":"if","locations":[{"start":{"line":118,"column":4},"end":{"line":122,"column":5}},{"start":{"line":118,"column":4},"end":{"line":122,"column":5}}]},"11":{"loc":{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},"type":"if","locations":[{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},{"start":{"line":127,"column":2},"end":{"line":129,"column":3}}]},"12":{"loc":{"start":{"line":136,"column":2},"end":{"line":140,"column":3}},"type":"if","locations":[{"start":{"line":136,"column":2},"end":{"line":140,"column":3}},{"start":{"line":136,"column":2},"end":{"line":140,"column":3}}]},"13":{"loc":{"start":{"line":136,"column":6},"end":{"line":136,"column":49}},"type":"binary-expr","locations":[{"start":{"line":136,"column":6},"end":{"line":136,"column":21}},{"start":{"line":136,"column":25},"end":{"line":136,"column":49}}]},"14":{"loc":{"start":{"line":149,"column":6},"end":{"line":151,"column":7}},"type":"if","locations":[{"start":{"line":149,"column":6},"end":{"line":151,"column":7}},{"start":{"line":149,"column":6},"end":{"line":151,"column":7}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/appenders/slack.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/slack.js","statementMap":{"0":{"start":{"line":3,"column":14},"end":{"line":3,"column":35}},"1":{"start":{"line":4,"column":16},"end":{"line":4,"column":37}},"2":{"start":{"line":10,"column":2},"end":{"line":10,"column":42}},"3":{"start":{"line":12,"column":2},"end":{"line":31,"column":4}},"4":{"start":{"line":13,"column":17},"end":{"line":18,"column":5}},"5":{"start":{"line":21,"column":4},"end":{"line":30,"column":7}},"6":{"start":{"line":27,"column":6},"end":{"line":29,"column":7}},"7":{"start":{"line":28,"column":8},"end":{"line":28,"column":18}},"8":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"9":{"start":{"line":36,"column":4},"end":{"line":36,"column":65}},"10":{"start":{"line":39,"column":2},"end":{"line":39,"column":35}},"11":{"start":{"line":41,"column":2},"end":{"line":41,"column":40}},"12":{"start":{"line":44,"column":0},"end":{"line":44,"column":30}},"13":{"start":{"line":45,"column":0},"end":{"line":45,"column":40}},"14":{"start":{"line":46,"column":0},"end":{"line":46,"column":37}}},"fnMap":{"0":{"name":"slackAppender","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":22}},"loc":{"start":{"line":9,"column":41},"end":{"line":32,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":27},"end":{"line":31,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":26,"column":7},"end":{"line":26,"column":8}},"loc":{"start":{"line":26,"column":26},"end":{"line":30,"column":5}}},"3":{"name":"configure","decl":{"start":{"line":34,"column":9},"end":{"line":34,"column":18}},"loc":{"start":{"line":34,"column":28},"end":{"line":42,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":11},"end":{"line":10,"column":41}},"type":"binary-expr","locations":[{"start":{"line":10,"column":11},"end":{"line":10,"column":18}},{"start":{"line":10,"column":22},"end":{"line":10,"column":41}}]},"1":{"loc":{"start":{"line":27,"column":6},"end":{"line":29,"column":7}},"type":"if","locations":[{"start":{"line":27,"column":6},"end":{"line":29,"column":7}},{"start":{"line":27,"column":6},"end":{"line":29,"column":7}}]},"2":{"loc":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},{"start":{"line":35,"column":2},"end":{"line":37,"column":3}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/appenders/smtp.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/smtp.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":4,"column":15},"end":{"line":4,"column":36}},"2":{"start":{"line":5,"column":11},"end":{"line":5,"column":24}},"3":{"start":{"line":7,"column":23},"end":{"line":7,"column":25}},"4":{"start":{"line":11,"column":18},"end":{"line":11,"column":19}},"5":{"start":{"line":20,"column":2},"end":{"line":59,"column":3}},"6":{"start":{"line":21,"column":26},"end":{"line":21,"column":53}},"7":{"start":{"line":22,"column":22},"end":{"line":22,"column":59}},"8":{"start":{"line":23,"column":23},"end":{"line":23,"column":40}},"9":{"start":{"line":24,"column":15},"end":{"line":24,"column":17}},"10":{"start":{"line":25,"column":18},"end":{"line":25,"column":39}},"11":{"start":{"line":26,"column":4},"end":{"line":28,"column":5}},"12":{"start":{"line":27,"column":6},"end":{"line":27,"column":75}},"13":{"start":{"line":30,"column":16},"end":{"line":34,"column":5}},"14":{"start":{"line":36,"column":4},"end":{"line":47,"column":5}},"15":{"start":{"line":37,"column":6},"end":{"line":37,"column":69}},"16":{"start":{"line":38,"column":6},"end":{"line":44,"column":8}},"17":{"start":{"line":46,"column":6},"end":{"line":46,"column":48}},"18":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"19":{"start":{"line":50,"column":6},"end":{"line":50,"column":31}},"20":{"start":{"line":52,"column":4},"end":{"line":58,"column":7}},"21":{"start":{"line":53,"column":6},"end":{"line":55,"column":7}},"22":{"start":{"line":54,"column":8},"end":{"line":54,"column":69}},"23":{"start":{"line":56,"column":6},"end":{"line":56,"column":24}},"24":{"start":{"line":57,"column":6},"end":{"line":57,"column":27}},"25":{"start":{"line":63,"column":22},"end":{"line":63,"column":26}},"26":{"start":{"line":64,"column":2},"end":{"line":73,"column":3}},"27":{"start":{"line":65,"column":4},"end":{"line":65,"column":32}},"28":{"start":{"line":66,"column":9},"end":{"line":73,"column":3}},"29":{"start":{"line":67,"column":19},"end":{"line":67,"column":52}},"30":{"start":{"line":68,"column":28},"end":{"line":68,"column":60}},"31":{"start":{"line":71,"column":24},"end":{"line":71,"column":48}},"32":{"start":{"line":72,"column":4},"end":{"line":72,"column":58}},"33":{"start":{"line":75,"column":2},"end":{"line":75,"column":23}},"34":{"start":{"line":79,"column":2},"end":{"line":84,"column":3}},"35":{"start":{"line":80,"column":4},"end":{"line":83,"column":21}},"36":{"start":{"line":81,"column":6},"end":{"line":81,"column":23}},"37":{"start":{"line":82,"column":6},"end":{"line":82,"column":19}},"38":{"start":{"line":99,"column":2},"end":{"line":99,"column":19}},"39":{"start":{"line":101,"column":2},"end":{"line":103,"column":3}},"40":{"start":{"line":102,"column":4},"end":{"line":102,"column":27}},"41":{"start":{"line":105,"column":2},"end":{"line":105,"column":56}},"42":{"start":{"line":106,"column":2},"end":{"line":106,"column":84}},"43":{"start":{"line":107,"column":2},"end":{"line":107,"column":75}},"44":{"start":{"line":108,"column":2},"end":{"line":108,"column":42}},"45":{"start":{"line":109,"column":2},"end":{"line":109,"column":51}},"46":{"start":{"line":110,"column":2},"end":{"line":110,"column":49}},"47":{"start":{"line":112,"column":2},"end":{"line":112,"column":86}},"48":{"start":{"line":114,"column":2},"end":{"line":122,"column":4}},"49":{"start":{"line":115,"column":4},"end":{"line":115,"column":18}},"50":{"start":{"line":116,"column":4},"end":{"line":116,"column":38}},"51":{"start":{"line":117,"column":4},"end":{"line":121,"column":5}},"52":{"start":{"line":118,"column":6},"end":{"line":118,"column":21}},"53":{"start":{"line":120,"column":6},"end":{"line":120,"column":19}},"54":{"start":{"line":126,"column":2},"end":{"line":126,"column":19}},"55":{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},"56":{"start":{"line":128,"column":4},"end":{"line":128,"column":65}},"57":{"start":{"line":130,"column":2},"end":{"line":130,"column":39}},"58":{"start":{"line":134,"column":2},"end":{"line":142,"column":3}},"59":{"start":{"line":135,"column":4},"end":{"line":141,"column":24}},"60":{"start":{"line":136,"column":6},"end":{"line":138,"column":7}},"61":{"start":{"line":137,"column":8},"end":{"line":137,"column":32}},"62":{"start":{"line":140,"column":6},"end":{"line":140,"column":19}},"63":{"start":{"line":144,"column":2},"end":{"line":150,"column":7}},"64":{"start":{"line":145,"column":4},"end":{"line":149,"column":5}},"65":{"start":{"line":146,"column":6},"end":{"line":146,"column":33}},"66":{"start":{"line":148,"column":6},"end":{"line":148,"column":11}},"67":{"start":{"line":153,"column":0},"end":{"line":153,"column":29}},"68":{"start":{"line":154,"column":0},"end":{"line":154,"column":39}},"69":{"start":{"line":155,"column":0},"end":{"line":155,"column":37}},"70":{"start":{"line":156,"column":0},"end":{"line":156,"column":35}}},"fnMap":{"0":{"name":"sendBuffer","decl":{"start":{"line":19,"column":9},"end":{"line":19,"column":19}},"loc":{"start":{"line":19,"column":22},"end":{"line":60,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":52,"column":28},"end":{"line":52,"column":29}},"loc":{"start":{"line":52,"column":39},"end":{"line":58,"column":5}}},"2":{"name":"getTransportOptions","decl":{"start":{"line":62,"column":9},"end":{"line":62,"column":28}},"loc":{"start":{"line":62,"column":31},"end":{"line":76,"column":1}}},"3":{"name":"scheduleSend","decl":{"start":{"line":78,"column":9},"end":{"line":78,"column":21}},"loc":{"start":{"line":78,"column":24},"end":{"line":85,"column":1}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":80,"column":27},"end":{"line":80,"column":28}},"loc":{"start":{"line":80,"column":33},"end":{"line":83,"column":5}}},"5":{"name":"smtpAppender","decl":{"start":{"line":98,"column":9},"end":{"line":98,"column":21}},"loc":{"start":{"line":98,"column":40},"end":{"line":123,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":114,"column":9},"end":{"line":114,"column":10}},"loc":{"start":{"line":114,"column":27},"end":{"line":122,"column":3}}},"7":{"name":"configure","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":18}},"loc":{"start":{"line":125,"column":28},"end":{"line":131,"column":1}}},"8":{"name":"shutdown","decl":{"start":{"line":133,"column":9},"end":{"line":133,"column":17}},"loc":{"start":{"line":133,"column":22},"end":{"line":151,"column":1}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":135,"column":15},"end":{"line":135,"column":16}},"loc":{"start":{"line":135,"column":21},"end":{"line":141,"column":5}}},"10":{"name":"checkDone","decl":{"start":{"line":144,"column":12},"end":{"line":144,"column":21}},"loc":{"start":{"line":144,"column":24},"end":{"line":150,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":2},"end":{"line":59,"column":3}},"type":"if","locations":[{"start":{"line":20,"column":2},"end":{"line":59,"column":3}},{"start":{"line":20,"column":2},"end":{"line":59,"column":3}}]},"1":{"loc":{"start":{"line":32,"column":15},"end":{"line":32,"column":58}},"type":"binary-expr","locations":[{"start":{"line":32,"column":15},"end":{"line":32,"column":29}},{"start":{"line":32,"column":33},"end":{"line":32,"column":58}}]},"2":{"loc":{"start":{"line":36,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":47,"column":5}},{"start":{"line":36,"column":4},"end":{"line":47,"column":5}}]},"3":{"loc":{"start":{"line":37,"column":10},"end":{"line":37,"column":39}},"type":"cond-expr","locations":[{"start":{"line":37,"column":24},"end":{"line":37,"column":30}},{"start":{"line":37,"column":33},"end":{"line":37,"column":39}}]},"4":{"loc":{"start":{"line":46,"column":10},"end":{"line":46,"column":39}},"type":"cond-expr","locations":[{"start":{"line":46,"column":24},"end":{"line":46,"column":30}},{"start":{"line":46,"column":33},"end":{"line":46,"column":39}}]},"5":{"loc":{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},"type":"if","locations":[{"start":{"line":49,"column":4},"end":{"line":51,"column":5}},{"start":{"line":49,"column":4},"end":{"line":51,"column":5}}]},"6":{"loc":{"start":{"line":53,"column":6},"end":{"line":55,"column":7}},"type":"if","locations":[{"start":{"line":53,"column":6},"end":{"line":55,"column":7}},{"start":{"line":53,"column":6},"end":{"line":55,"column":7}}]},"7":{"loc":{"start":{"line":64,"column":2},"end":{"line":73,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":73,"column":3}},{"start":{"line":64,"column":2},"end":{"line":73,"column":3}}]},"8":{"loc":{"start":{"line":66,"column":9},"end":{"line":73,"column":3}},"type":"if","locations":[{"start":{"line":66,"column":9},"end":{"line":73,"column":3}},{"start":{"line":66,"column":9},"end":{"line":73,"column":3}}]},"9":{"loc":{"start":{"line":67,"column":19},"end":{"line":67,"column":52}},"type":"binary-expr","locations":[{"start":{"line":67,"column":19},"end":{"line":67,"column":42}},{"start":{"line":67,"column":46},"end":{"line":67,"column":52}}]},"10":{"loc":{"start":{"line":79,"column":2},"end":{"line":84,"column":3}},"type":"if","locations":[{"start":{"line":79,"column":2},"end":{"line":84,"column":3}},{"start":{"line":79,"column":2},"end":{"line":84,"column":3}}]},"11":{"loc":{"start":{"line":101,"column":2},"end":{"line":103,"column":3}},"type":"if","locations":[{"start":{"line":101,"column":2},"end":{"line":103,"column":3}},{"start":{"line":101,"column":2},"end":{"line":103,"column":3}}]},"12":{"loc":{"start":{"line":106,"column":30},"end":{"line":106,"column":83}},"type":"binary-expr","locations":[{"start":{"line":106,"column":30},"end":{"line":106,"column":55}},{"start":{"line":106,"column":59},"end":{"line":106,"column":83}}]},"13":{"loc":{"start":{"line":107,"column":31},"end":{"line":107,"column":74}},"type":"binary-expr","locations":[{"start":{"line":107,"column":31},"end":{"line":107,"column":57}},{"start":{"line":107,"column":61},"end":{"line":107,"column":74}}]},"14":{"loc":{"start":{"line":108,"column":11},"end":{"line":108,"column":41}},"type":"binary-expr","locations":[{"start":{"line":108,"column":11},"end":{"line":108,"column":18}},{"start":{"line":108,"column":22},"end":{"line":108,"column":41}}]},"15":{"loc":{"start":{"line":110,"column":17},"end":{"line":110,"column":48}},"type":"binary-expr","locations":[{"start":{"line":110,"column":17},"end":{"line":110,"column":43}},{"start":{"line":110,"column":47},"end":{"line":110,"column":48}}]},"16":{"loc":{"start":{"line":112,"column":21},"end":{"line":112,"column":77}},"type":"cond-expr","locations":[{"start":{"line":112,"column":51},"end":{"line":112,"column":73}},{"start":{"line":112,"column":76},"end":{"line":112,"column":77}}]},"17":{"loc":{"start":{"line":117,"column":4},"end":{"line":121,"column":5}},"type":"if","locations":[{"start":{"line":117,"column":4},"end":{"line":121,"column":5}},{"start":{"line":117,"column":4},"end":{"line":121,"column":5}}]},"18":{"loc":{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},"type":"if","locations":[{"start":{"line":127,"column":2},"end":{"line":129,"column":3}},{"start":{"line":127,"column":2},"end":{"line":129,"column":3}}]},"19":{"loc":{"start":{"line":134,"column":2},"end":{"line":142,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":142,"column":3}},{"start":{"line":134,"column":2},"end":{"line":142,"column":3}}]},"20":{"loc":{"start":{"line":136,"column":6},"end":{"line":138,"column":7}},"type":"if","locations":[{"start":{"line":136,"column":6},"end":{"line":138,"column":7}},{"start":{"line":136,"column":6},"end":{"line":138,"column":7}}]},"21":{"loc":{"start":{"line":145,"column":4},"end":{"line":149,"column":5}},"type":"if","locations":[{"start":{"line":145,"column":4},"end":{"line":149,"column":5}},{"start":{"line":145,"column":4},"end":{"line":149,"column":5}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/appenders/stderr.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stderr.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":41}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":37}}},"fnMap":{"0":{"name":"stderrAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":27},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}}},"fnMap":{"0":{"name":"stdoutAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":33},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":7,"column":23},"end":{"line":10,"column":18}},"2":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"4":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":34}},"6":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"7":{"start":{"line":50,"column":21},"end":{"line":50,"column":30}},"8":{"start":{"line":51,"column":14},"end":{"line":51,"column":56}},"9":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"10":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"11":{"start":{"line":55,"column":2},"end":{"line":112,"column":4}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"13":{"start":{"line":57,"column":22},"end":{"line":57,"column":36}},"14":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"15":{"start":{"line":60,"column":46},"end":{"line":60,"column":60}},"16":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"17":{"start":{"line":63,"column":20},"end":{"line":63,"column":30}},"18":{"start":{"line":64,"column":24},"end":{"line":64,"column":37}},"19":{"start":{"line":67,"column":6},"end":{"line":67,"column":26}},"20":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"21":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":37}},"23":{"start":{"line":74,"column":8},"end":{"line":74,"column":32}},"24":{"start":{"line":75,"column":8},"end":{"line":75,"column":38}},"25":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"26":{"start":{"line":79,"column":10},"end":{"line":79,"column":30}},"27":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"28":{"start":{"line":80,"column":27},"end":{"line":80,"column":47}},"29":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"30":{"start":{"line":81,"column":27},"end":{"line":81,"column":48}},"31":{"start":{"line":83,"column":10},"end":{"line":83,"column":61}},"32":{"start":{"line":88,"column":6},"end":{"line":107,"column":9}},"33":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"34":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"35":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"37":{"start":{"line":93,"column":37},"end":{"line":93,"column":57}},"38":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"39":{"start":{"line":94,"column":37},"end":{"line":94,"column":58}},"40":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"41":{"start":{"line":98,"column":33},"end":{"line":98,"column":79}},"42":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"43":{"start":{"line":101,"column":25},"end":{"line":101,"column":74}},"44":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}},"45":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"46":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"47":{"start":{"line":104,"column":12},"end":{"line":104,"column":63}},"48":{"start":{"line":111,"column":4},"end":{"line":111,"column":18}},"49":{"start":{"line":126,"column":28},"end":{"line":138,"column":3}},"50":{"start":{"line":127,"column":14},"end":{"line":127,"column":28}},"51":{"start":{"line":128,"column":4},"end":{"line":136,"column":5}},"52":{"start":{"line":129,"column":6},"end":{"line":135,"column":7}},"53":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"54":{"start":{"line":133,"column":10},"end":{"line":133,"column":27}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":13}},"56":{"start":{"line":140,"column":24},"end":{"line":140,"column":26}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":66}},"58":{"start":{"line":142,"column":2},"end":{"line":142,"column":72}},"59":{"start":{"line":143,"column":2},"end":{"line":143,"column":72}},"60":{"start":{"line":144,"column":2},"end":{"line":144,"column":68}},"61":{"start":{"line":145,"column":2},"end":{"line":145,"column":92}},"62":{"start":{"line":146,"column":2},"end":{"line":146,"column":81}},"63":{"start":{"line":147,"column":2},"end":{"line":147,"column":80}},"64":{"start":{"line":148,"column":2},"end":{"line":151,"column":5}},"65":{"start":{"line":152,"column":2},"end":{"line":155,"column":5}},"66":{"start":{"line":156,"column":2},"end":{"line":166,"column":5}},"67":{"start":{"line":167,"column":2},"end":{"line":167,"column":87}},"68":{"start":{"line":168,"column":2},"end":{"line":173,"column":5}},"69":{"start":{"line":174,"column":2},"end":{"line":179,"column":5}},"70":{"start":{"line":177,"column":6},"end":{"line":177,"column":46}},"71":{"start":{"line":180,"column":2},"end":{"line":187,"column":5}},"72":{"start":{"line":183,"column":6},"end":{"line":185,"column":50}},"73":{"start":{"line":189,"column":2},"end":{"line":189,"column":63}},"74":{"start":{"line":203,"column":2},"end":{"line":203,"column":36}},"75":{"start":{"line":215,"column":2},"end":{"line":217,"column":3}},"76":{"start":{"line":216,"column":4},"end":{"line":216,"column":62}},"77":{"start":{"line":218,"column":2},"end":{"line":218,"column":13}},"78":{"start":{"line":249,"column":15},"end":{"line":249,"column":19}},"79":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"80":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"81":{"start":{"line":253,"column":6},"end":{"line":253,"column":21}},"82":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"83":{"start":{"line":257,"column":6},"end":{"line":257,"column":33}},"84":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"85":{"start":{"line":262,"column":31},"end":{"line":262,"column":80}},"86":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"87":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"88":{"start":{"line":267,"column":2},"end":{"line":267,"column":16}},"89":{"start":{"line":270,"column":0},"end":{"line":270,"column":41}}},"fnMap":{"0":{"name":"getLogger","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":39},"end":{"line":113,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":10}},"loc":{"start":{"line":55,"column":29},"end":{"line":112,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":70,"column":22},"end":{"line":70,"column":23}},"loc":{"start":{"line":70,"column":41},"end":{"line":85,"column":7}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":23},"end":{"line":88,"column":24}},"loc":{"start":{"line":88,"column":29},"end":{"line":107,"column":7}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":39},"end":{"line":101,"column":40}},"loc":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}}},"5":{"name":"assembleTokens","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":48},"end":{"line":190,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":28},"end":{"line":126,"column":29}},"loc":{"start":{"line":126,"column":39},"end":{"line":138,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":17},"end":{"line":176,"column":18}},"loc":{"start":{"line":176,"column":37},"end":{"line":178,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":182,"column":17},"end":{"line":182,"column":18}},"loc":{"start":{"line":182,"column":37},"end":{"line":186,"column":5}}},"9":{"name":"getUrl","decl":{"start":{"line":202,"column":9},"end":{"line":202,"column":15}},"loc":{"start":{"line":202,"column":21},"end":{"line":204,"column":1}}},"10":{"name":"format","decl":{"start":{"line":214,"column":9},"end":{"line":214,"column":15}},"loc":{"start":{"line":214,"column":29},"end":{"line":219,"column":1}}},"11":{"name":"createNoLogCondition","decl":{"start":{"line":248,"column":9},"end":{"line":248,"column":29}},"loc":{"start":{"line":248,"column":37},"end":{"line":268,"column":1}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":262,"column":41},"end":{"line":262,"column":42}},"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}}}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},{"start":{"line":42,"column":2},"end":{"line":48,"column":3}}]},"1":{"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":27}},"type":"binary-expr","locations":[{"start":{"line":43,"column":14},"end":{"line":43,"column":21}},{"start":{"line":43,"column":25},"end":{"line":43,"column":27}}]},"2":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}]},"3":{"loc":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"type":"binary-expr","locations":[{"start":{"line":52,"column":14},"end":{"line":52,"column":28}},{"start":{"line":52,"column":32},"end":{"line":52,"column":46}}]},"4":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":32},"end":{"line":53,"column":67}},{"start":{"line":53,"column":70},"end":{"line":53,"column":74}}]},"5":{"loc":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},{"start":{"line":57,"column":4},"end":{"line":57,"column":36}}]},"6":{"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},{"start":{"line":60,"column":4},"end":{"line":60,"column":60}}]},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":44}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":13}},{"start":{"line":60,"column":17},"end":{"line":60,"column":44}}]},"8":{"loc":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},{"start":{"line":62,"column":4},"end":{"line":108,"column":5}}]},"9":{"loc":{"start":{"line":62,"column":8},"end":{"line":62,"column":68}},"type":"binary-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":40}},{"start":{"line":62,"column":44},"end":{"line":62,"column":68}}]},"10":{"loc":{"start":{"line":75,"column":24},"end":{"line":75,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":24},"end":{"line":75,"column":31}},{"start":{"line":75,"column":35},"end":{"line":75,"column":37}}]},"11":{"loc":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},{"start":{"line":78,"column":8},"end":{"line":84,"column":9}}]},"12":{"loc":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},{"start":{"line":80,"column":10},"end":{"line":80,"column":47}}]},"13":{"loc":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},{"start":{"line":81,"column":10},"end":{"line":81,"column":48}}]},"14":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":91,"column":8},"end":{"line":95,"column":9}}]},"15":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":54}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":26}},{"start":{"line":91,"column":30},"end":{"line":91,"column":54}}]},"16":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"type":"if","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},{"start":{"line":93,"column":10},"end":{"line":93,"column":57}}]},"17":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"type":"if","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},{"start":{"line":94,"column":10},"end":{"line":94,"column":58}}]},"18":{"loc":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},{"start":{"line":97,"column":8},"end":{"line":106,"column":9}}]},"19":{"loc":{"start":{"line":98,"column":58},"end":{"line":98,"column":78}},"type":"binary-expr","locations":[{"start":{"line":98,"column":58},"end":{"line":98,"column":72}},{"start":{"line":98,"column":76},"end":{"line":98,"column":78}}]},"20":{"loc":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},{"start":{"line":100,"column":10},"end":{"line":105,"column":11}}]},"21":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"type":"if","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},{"start":{"line":102,"column":12},"end":{"line":102,"column":50}}]},"22":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},{"start":{"line":132,"column":8},"end":{"line":134,"column":9}}]},"23":{"loc":{"start":{"line":145,"column":54},"end":{"line":145,"column":88}},"type":"binary-expr","locations":[{"start":{"line":145,"column":54},"end":{"line":145,"column":70}},{"start":{"line":145,"column":74},"end":{"line":145,"column":88}}]},"24":{"loc":{"start":{"line":150,"column":17},"end":{"line":150,"column":66}},"type":"binary-expr","locations":[{"start":{"line":150,"column":17},"end":{"line":150,"column":36}},{"start":{"line":150,"column":40},"end":{"line":150,"column":60}},{"start":{"line":150,"column":64},"end":{"line":150,"column":66}}]},"25":{"loc":{"start":{"line":158,"column":17},"end":{"line":165,"column":5}},"type":"binary-expr","locations":[{"start":{"line":158,"column":17},"end":{"line":158,"column":47}},{"start":{"line":159,"column":4},"end":{"line":159,"column":10}},{"start":{"line":160,"column":4},"end":{"line":160,"column":22}},{"start":{"line":161,"column":5},"end":{"line":161,"column":15}},{"start":{"line":162,"column":7},"end":{"line":162,"column":31}},{"start":{"line":163,"column":9},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":61}}]},"26":{"loc":{"start":{"line":170,"column":17},"end":{"line":172,"column":7}},"type":"binary-expr","locations":[{"start":{"line":170,"column":18},"end":{"line":170,"column":30}},{"start":{"line":170,"column":34},"end":{"line":170,"column":64}},{"start":{"line":171,"column":5},"end":{"line":171,"column":18}},{"start":{"line":171,"column":22},"end":{"line":171,"column":53}},{"start":{"line":172,"column":4},"end":{"line":172,"column":7}}]},"27":{"loc":{"start":{"line":183,"column":13},"end":{"line":185,"column":49}},"type":"cond-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},{"start":{"line":185,"column":11},"end":{"line":185,"column":48}}]},"28":{"loc":{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":47}},{"start":{"line":184,"column":51},"end":{"line":184,"column":71}}]},"29":{"loc":{"start":{"line":185,"column":11},"end":{"line":185,"column":48}},"type":"binary-expr","locations":[{"start":{"line":185,"column":11},"end":{"line":185,"column":24}},{"start":{"line":185,"column":28},"end":{"line":185,"column":48}}]},"30":{"loc":{"start":{"line":203,"column":9},"end":{"line":203,"column":35}},"type":"binary-expr","locations":[{"start":{"line":203,"column":9},"end":{"line":203,"column":24}},{"start":{"line":203,"column":28},"end":{"line":203,"column":35}}]},"31":{"loc":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},{"start":{"line":251,"column":2},"end":{"line":265,"column":3}}]},"32":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{"line":252,"column":4},"end":{"line":254,"column":5}}]},"33":{"loc":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},{"start":{"line":256,"column":4},"end":{"line":258,"column":5}}]},"34":{"loc":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"type":"if","locations":[{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},{"start":{"line":260,"column":4},"end":{"line":264,"column":5}}]},"35":{"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"type":"cond-expr","locations":[{"start":{"line":262,"column":62},"end":{"line":262,"column":72}},{"start":{"line":262,"column":75},"end":{"line":262,"column":78}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0,0,0,0,0,0],"26":[0,0,0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/levels.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/levels.js","statementMap":{"0":{"start":{"line":9,"column":4},"end":{"line":9,"column":23}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":42}},"9":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":39}},"11":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"12":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":24}},"14":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"15":{"start":{"line":52,"column":4},"end":{"line":52,"column":43}},"16":{"start":{"line":53,"column":4},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"18":{"start":{"line":57,"column":4},"end":{"line":57,"column":62}},"19":{"start":{"line":60,"column":2},"end":{"line":60,"column":34}},"20":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"21":{"start":{"line":66,"column":23},"end":{"line":66,"column":45}},"22":{"start":{"line":67,"column":4},"end":{"line":67,"column":32}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"24":{"start":{"line":72,"column":0},"end":{"line":85,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":13},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":34},"end":{"line":22,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":37},"end":{"line":29,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":31,"column":24},"end":{"line":36,"column":3}}},"5":{"name":"toLevel","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":37},"end":{"line":61,"column":1}}},"6":{"name":"getLevel","decl":{"start":{"line":63,"column":9},"end":{"line":63,"column":17}},"loc":{"start":{"line":63,"column":28},"end":{"line":70,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{"line":32,"column":4},"end":{"line":34,"column":5}}]},"3":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}]},"4":{"loc":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},{"start":{"line":51,"column":2},"end":{"line":54,"column":3}}]},"5":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}]},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":61}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":45}},{"start":{"line":57,"column":49},"end":{"line":57,"column":61}}]},"7":{"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},{"start":{"line":65,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/log4js.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/log4js.js","statementMap":{"0":{"start":{"line":35,"column":11},"end":{"line":35,"column":24}},"1":{"start":{"line":36,"column":13},"end":{"line":36,"column":28}},"2":{"start":{"line":37,"column":16},"end":{"line":37,"column":36}},"3":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"4":{"start":{"line":39,"column":21},"end":{"line":39,"column":40}},"5":{"start":{"line":40,"column":22},"end":{"line":40,"column":63}},"6":{"start":{"line":42,"column":15},"end":{"line":42,"column":34}},"7":{"start":{"line":44,"column":23},"end":{"line":44,"column":30}},"8":{"start":{"line":45,"column":16},"end":{"line":45,"column":18}},"9":{"start":{"line":46,"column":23},"end":{"line":46,"column":25}},"10":{"start":{"line":47,"column":26},"end":{"line":47,"column":28}},"11":{"start":{"line":48,"column":22},"end":{"line":53,"column":1}},"12":{"start":{"line":55,"column":16},"end":{"line":55,"column":18}},"13":{"start":{"line":58,"column":2},"end":{"line":58,"column":40}},"14":{"start":{"line":62,"column":0},"end":{"line":70,"column":2}},"15":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"16":{"start":{"line":65,"column":23},"end":{"line":65,"column":45}},"17":{"start":{"line":66,"column":4},"end":{"line":66,"column":51}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":40}},"19":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"20":{"start":{"line":73,"column":21},"end":{"line":73,"column":44}},"21":{"start":{"line":74,"column":17},"end":{"line":74,"column":19}},"22":{"start":{"line":75,"column":2},"end":{"line":75,"column":19}},"23":{"start":{"line":76,"column":2},"end":{"line":76,"column":29}},"24":{"start":{"line":77,"column":2},"end":{"line":83,"column":4}},"25":{"start":{"line":78,"column":4},"end":{"line":82,"column":5}},"26":{"start":{"line":79,"column":18},"end":{"line":79,"column":32}},"27":{"start":{"line":80,"column":6},"end":{"line":80,"column":44}},"28":{"start":{"line":81,"column":6},"end":{"line":81,"column":28}},"29":{"start":{"line":84,"column":2},"end":{"line":86,"column":4}},"30":{"start":{"line":85,"column":4},"end":{"line":85,"column":59}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":4}},"32":{"start":{"line":88,"column":4},"end":{"line":88,"column":59}},"33":{"start":{"line":90,"column":2},"end":{"line":92,"column":4}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":58}},"35":{"start":{"line":93,"column":2},"end":{"line":95,"column":4}},"36":{"start":{"line":94,"column":4},"end":{"line":94,"column":58}},"37":{"start":{"line":96,"column":2},"end":{"line":98,"column":4}},"38":{"start":{"line":97,"column":4},"end":{"line":97,"column":59}},"39":{"start":{"line":99,"column":2},"end":{"line":101,"column":4}},"40":{"start":{"line":100,"column":4},"end":{"line":100,"column":59}},"41":{"start":{"line":103,"column":2},"end":{"line":103,"column":16}},"42":{"start":{"line":107,"column":2},"end":{"line":107,"column":24}},"43":{"start":{"line":111,"column":34},"end":{"line":111,"column":66}},"44":{"start":{"line":112,"column":35},"end":{"line":112,"column":68}},"45":{"start":{"line":113,"column":2},"end":{"line":113,"column":107}},"46":{"start":{"line":117,"column":37},"end":{"line":117,"column":72}},"47":{"start":{"line":118,"column":35},"end":{"line":118,"column":68}},"48":{"start":{"line":119,"column":2},"end":{"line":119,"column":113}},"49":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"50":{"start":{"line":131,"column":4},"end":{"line":131,"column":49}},"51":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"52":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"53":{"start":{"line":142,"column":19},"end":{"line":142,"column":52}},"54":{"start":{"line":143,"column":6},"end":{"line":149,"column":7}},"55":{"start":{"line":144,"column":30},"end":{"line":144,"column":39}},"56":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"57":{"start":{"line":147,"column":10},"end":{"line":147,"column":47}},"58":{"start":{"line":154,"column":4},"end":{"line":154,"column":72}},"59":{"start":{"line":158,"column":4},"end":{"line":165,"column":5}},"60":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"61":{"start":{"line":160,"column":8},"end":{"line":160,"column":51}},"62":{"start":{"line":161,"column":8},"end":{"line":163,"column":11}},"63":{"start":{"line":162,"column":10},"end":{"line":162,"column":67}},"64":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":47}},"66":{"start":{"line":170,"column":6},"end":{"line":172,"column":9}},"67":{"start":{"line":171,"column":8},"end":{"line":171,"column":65}},"68":{"start":{"line":176,"column":2},"end":{"line":176,"column":37}},"69":{"start":{"line":185,"column":13},"end":{"line":185,"column":34}},"70":{"start":{"line":186,"column":19},"end":{"line":186,"column":31}},"71":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"72":{"start":{"line":189,"column":4},"end":{"line":189,"column":47}},"73":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"74":{"start":{"line":193,"column":4},"end":{"line":193,"column":28}},"75":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"76":{"start":{"line":197,"column":4},"end":{"line":197,"column":19}},"77":{"start":{"line":200,"column":2},"end":{"line":212,"column":5}},"78":{"start":{"line":201,"column":4},"end":{"line":201,"column":54}},"79":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"80":{"start":{"line":204,"column":6},"end":{"line":204,"column":40}},"81":{"start":{"line":206,"column":6},"end":{"line":210,"column":7}},"82":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"83":{"start":{"line":208,"column":10},"end":{"line":208,"column":63}},"84":{"start":{"line":216,"column":2},"end":{"line":220,"column":3}},"85":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":218,"column":6},"end":{"line":218,"column":51}},"87":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"88":{"start":{"line":225,"column":4},"end":{"line":225,"column":29}},"89":{"start":{"line":227,"column":2},"end":{"line":227,"column":37}},"90":{"start":{"line":233,"column":2},"end":{"line":233,"column":36}},"91":{"start":{"line":234,"column":2},"end":{"line":234,"column":17}},"92":{"start":{"line":235,"column":2},"end":{"line":239,"column":3}},"93":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"94":{"start":{"line":237,"column":6},"end":{"line":237,"column":48}},"95":{"start":{"line":243,"column":2},"end":{"line":243,"column":19}},"96":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"97":{"start":{"line":245,"column":4},"end":{"line":255,"column":7}},"98":{"start":{"line":246,"column":6},"end":{"line":246,"column":40}},"99":{"start":{"line":248,"column":6},"end":{"line":248,"column":45}},"100":{"start":{"line":249,"column":6},"end":{"line":254,"column":7}},"101":{"start":{"line":250,"column":8},"end":{"line":250,"column":80}},"102":{"start":{"line":251,"column":8},"end":{"line":251,"column":55}},"103":{"start":{"line":253,"column":8},"end":{"line":253,"column":95}},"104":{"start":{"line":260,"column":2},"end":{"line":260,"column":26}},"105":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"106":{"start":{"line":262,"column":17},"end":{"line":262,"column":50}},"107":{"start":{"line":265,"column":4},"end":{"line":276,"column":5}},"108":{"start":{"line":266,"column":23},"end":{"line":266,"column":32}},"109":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":45}},"111":{"start":{"line":271,"column":6},"end":{"line":275,"column":7}},"112":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"113":{"start":{"line":273,"column":10},"end":{"line":273,"column":62}},"114":{"start":{"line":281,"column":2},"end":{"line":281,"column":63}},"115":{"start":{"line":290,"column":2},"end":{"line":290,"column":44}},"116":{"start":{"line":293,"column":20},"end":{"line":293,"column":22}},"117":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"118":{"start":{"line":297,"column":4},"end":{"line":297,"column":57}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":19}},"120":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"121":{"start":{"line":304,"column":4},"end":{"line":316,"column":5}},"122":{"start":{"line":305,"column":6},"end":{"line":305,"column":23}},"123":{"start":{"line":306,"column":6},"end":{"line":306,"column":37}},"124":{"start":{"line":307,"column":6},"end":{"line":307,"column":52}},"125":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"126":{"start":{"line":310,"column":8},"end":{"line":310,"column":25}},"127":{"start":{"line":313,"column":6},"end":{"line":315,"column":8}},"128":{"start":{"line":321,"column":16},"end":{"line":321,"column":46}},"129":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"130":{"start":{"line":322,"column":14},"end":{"line":322,"column":21}},"131":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"132":{"start":{"line":325,"column":4},"end":{"line":325,"column":75}},"133":{"start":{"line":327,"column":2},"end":{"line":327,"column":32}},"134":{"start":{"line":332,"column":2},"end":{"line":336,"column":3}},"135":{"start":{"line":333,"column":4},"end":{"line":333,"column":52}},"136":{"start":{"line":335,"column":4},"end":{"line":335,"column":78}},"137":{"start":{"line":337,"column":2},"end":{"line":337,"column":15}},"138":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"139":{"start":{"line":342,"column":4},"end":{"line":342,"column":39}},"140":{"start":{"line":343,"column":4},"end":{"line":343,"column":31}},"141":{"start":{"line":345,"column":2},"end":{"line":345,"column":34}},"142":{"start":{"line":346,"column":2},"end":{"line":346,"column":45}},"143":{"start":{"line":347,"column":2},"end":{"line":347,"column":93}},"144":{"start":{"line":351,"column":15},"end":{"line":351,"column":40}},"145":{"start":{"line":352,"column":2},"end":{"line":352,"column":47}},"146":{"start":{"line":353,"column":2},"end":{"line":353,"column":26}},"147":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"148":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"149":{"start":{"line":357,"column":6},"end":{"line":357,"column":47}},"150":{"start":{"line":359,"column":4},"end":{"line":359,"column":60}},"151":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"152":{"start":{"line":362,"column":6},"end":{"line":364,"column":8}},"153":{"start":{"line":367,"column":2},"end":{"line":367,"column":36}},"154":{"start":{"line":370,"column":33},"end":{"line":376,"column":1}},"155":{"start":{"line":380,"column":4},"end":{"line":384,"column":6}},"156":{"start":{"line":383,"column":6},"end":{"line":383,"column":46}},"157":{"start":{"line":387,"column":2},"end":{"line":387,"column":42}},"158":{"start":{"line":389,"column":2},"end":{"line":391,"column":5}},"159":{"start":{"line":390,"column":4},"end":{"line":390,"column":77}},"160":{"start":{"line":395,"column":2},"end":{"line":397,"column":5}},"161":{"start":{"line":396,"column":4},"end":{"line":396,"column":51}},"162":{"start":{"line":412,"column":2},"end":{"line":416,"column":3}},"163":{"start":{"line":413,"column":4},"end":{"line":413,"column":56}},"164":{"start":{"line":415,"column":4},"end":{"line":415,"column":39}},"165":{"start":{"line":417,"column":2},"end":{"line":417,"column":24}},"166":{"start":{"line":431,"column":2},"end":{"line":431,"column":63}},"167":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"168":{"start":{"line":434,"column":4},"end":{"line":434,"column":74}},"169":{"start":{"line":437,"column":2},"end":{"line":437,"column":76}},"170":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"171":{"start":{"line":439,"column":4},"end":{"line":439,"column":79}},"172":{"start":{"line":441,"column":2},"end":{"line":441,"column":75}},"173":{"start":{"line":455,"column":2},"end":{"line":455,"column":37}},"174":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"175":{"start":{"line":459,"column":4},"end":{"line":459,"column":39}},"176":{"start":{"line":463,"column":18},"end":{"line":463,"column":19}},"177":{"start":{"line":465,"column":28},"end":{"line":465,"column":30}},"178":{"start":{"line":468,"column":4},"end":{"line":468,"column":25}},"179":{"start":{"line":469,"column":4},"end":{"line":469,"column":16}},"180":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"181":{"start":{"line":471,"column":6},"end":{"line":471,"column":16}},"182":{"start":{"line":475,"column":2},"end":{"line":479,"column":3}},"183":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":477,"column":6},"end":{"line":477,"column":58}},"185":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"186":{"start":{"line":482,"column":4},"end":{"line":482,"column":16}},"187":{"start":{"line":485,"column":2},"end":{"line":487,"column":5}},"188":{"start":{"line":486,"column":4},"end":{"line":486,"column":26}},"189":{"start":{"line":489,"column":2},"end":{"line":489,"column":14}},"190":{"start":{"line":513,"column":15},"end":{"line":535,"column":1}},"191":{"start":{"line":537,"column":0},"end":{"line":537,"column":24}},"192":{"start":{"line":540,"column":0},"end":{"line":540,"column":12}}},"fnMap":{"0":{"name":"hasLogger","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":18}},"loc":{"start":{"line":57,"column":27},"end":{"line":59,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":47},"end":{"line":70,"column":1}}},"2":{"name":"getBufferedLogger","decl":{"start":{"line":72,"column":9},"end":{"line":72,"column":26}},"loc":{"start":{"line":72,"column":41},"end":{"line":104,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":17},"end":{"line":77,"column":18}},"loc":{"start":{"line":77,"column":29},"end":{"line":83,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":17},"end":{"line":84,"column":18}},"loc":{"start":{"line":84,"column":36},"end":{"line":86,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":87,"column":17},"end":{"line":87,"column":18}},"loc":{"start":{"line":87,"column":36},"end":{"line":89,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":17}},"loc":{"start":{"line":90,"column":35},"end":{"line":92,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":17}},"loc":{"start":{"line":93,"column":35},"end":{"line":95,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":17},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":36},"end":{"line":98,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":18}},"loc":{"start":{"line":99,"column":36},"end":{"line":101,"column":3}}},"10":{"name":"normalizeCategory","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":37},"end":{"line":108,"column":1}}},"11":{"name":"doesLevelEntryContainsLogger","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":37}},"loc":{"start":{"line":110,"column":69},"end":{"line":114,"column":1}}},"12":{"name":"doesAppenderContainsLogger","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":35}},"loc":{"start":{"line":116,"column":70},"end":{"line":120,"column":1}}},"13":{"name":"getLogger","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":18}},"loc":{"start":{"line":128,"column":39},"end":{"line":177,"column":1}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":161,"column":29},"end":{"line":161,"column":30}},"loc":{"start":{"line":161,"column":43},"end":{"line":163,"column":9}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":170,"column":27},"end":{"line":170,"column":28}},"loc":{"start":{"line":170,"column":41},"end":{"line":172,"column":7}}},"16":{"name":"addAppender","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":20}},"loc":{"start":{"line":182,"column":23},"end":{"line":213,"column":1}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":200,"column":15},"end":{"line":200,"column":16}},"loc":{"start":{"line":200,"column":37},"end":{"line":212,"column":3}}},"18":{"name":"addAppenderToAllLoggers","decl":{"start":{"line":215,"column":9},"end":{"line":215,"column":32}},"loc":{"start":{"line":215,"column":43},"end":{"line":221,"column":1}}},"19":{"name":"addAppenderToCategory","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":30}},"loc":{"start":{"line":223,"column":51},"end":{"line":228,"column":1}}},"20":{"name":"clearAppenders","decl":{"start":{"line":230,"column":9},"end":{"line":230,"column":23}},"loc":{"start":{"line":230,"column":26},"end":{"line":240,"column":1}}},"21":{"name":"configureAppenders","decl":{"start":{"line":242,"column":9},"end":{"line":242,"column":27}},"loc":{"start":{"line":242,"column":51},"end":{"line":257,"column":1}}},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":25},"end":{"line":245,"column":26}},"loc":{"start":{"line":245,"column":45},"end":{"line":255,"column":5}}},"23":{"name":"configureLevels","decl":{"start":{"line":259,"column":9},"end":{"line":259,"column":24}},"loc":{"start":{"line":259,"column":34},"end":{"line":278,"column":1}}},"24":{"name":"setGlobalLogLevel","decl":{"start":{"line":280,"column":9},"end":{"line":280,"column":26}},"loc":{"start":{"line":280,"column":34},"end":{"line":282,"column":1}}},"25":{"name":"getDefaultLogger","decl":{"start":{"line":289,"column":9},"end":{"line":289,"column":25}},"loc":{"start":{"line":289,"column":28},"end":{"line":291,"column":1}}},"26":{"name":"loadConfigurationFile","decl":{"start":{"line":295,"column":9},"end":{"line":295,"column":30}},"loc":{"start":{"line":295,"column":41},"end":{"line":300,"column":1}}},"27":{"name":"configureOnceOff","decl":{"start":{"line":302,"column":9},"end":{"line":302,"column":25}},"loc":{"start":{"line":302,"column":43},"end":{"line":318,"column":1}}},"28":{"name":"reloadConfiguration","decl":{"start":{"line":320,"column":9},"end":{"line":320,"column":28}},"loc":{"start":{"line":320,"column":38},"end":{"line":328,"column":1}}},"29":{"name":"getMTime","decl":{"start":{"line":330,"column":9},"end":{"line":330,"column":17}},"loc":{"start":{"line":330,"column":28},"end":{"line":338,"column":1}}},"30":{"name":"initReloadConfiguration","decl":{"start":{"line":340,"column":9},"end":{"line":340,"column":32}},"loc":{"start":{"line":340,"column":52},"end":{"line":348,"column":1}}},"31":{"name":"configure","decl":{"start":{"line":350,"column":9},"end":{"line":350,"column":18}},"loc":{"start":{"line":350,"column":55},"end":{"line":368,"column":1}}},"32":{"name":"replaceConsole","decl":{"start":{"line":378,"column":9},"end":{"line":378,"column":23}},"loc":{"start":{"line":378,"column":32},"end":{"line":392,"column":1}}},"33":{"name":"replaceWith","decl":{"start":{"line":379,"column":11},"end":{"line":379,"column":22}},"loc":{"start":{"line":379,"column":27},"end":{"line":385,"column":3}}},"34":{"name":"(anonymous_34)","decl":{"start":{"line":380,"column":11},"end":{"line":380,"column":12}},"loc":{"start":{"line":380,"column":23},"end":{"line":384,"column":5}}},"35":{"name":"(anonymous_35)","decl":{"start":{"line":389,"column":52},"end":{"line":389,"column":53}},"loc":{"start":{"line":389,"column":62},"end":{"line":391,"column":3}}},"36":{"name":"restoreConsole","decl":{"start":{"line":394,"column":9},"end":{"line":394,"column":23}},"loc":{"start":{"line":394,"column":26},"end":{"line":398,"column":1}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":395,"column":52},"end":{"line":395,"column":53}},"loc":{"start":{"line":395,"column":62},"end":{"line":397,"column":3}}},"38":{"name":"requireAppender","decl":{"start":{"line":410,"column":9},"end":{"line":410,"column":24}},"loc":{"start":{"line":410,"column":35},"end":{"line":418,"column":1}}},"39":{"name":"loadAppender","decl":{"start":{"line":430,"column":9},"end":{"line":430,"column":21}},"loc":{"start":{"line":430,"column":48},"end":{"line":442,"column":1}}},"40":{"name":"shutdown","decl":{"start":{"line":452,"column":9},"end":{"line":452,"column":17}},"loc":{"start":{"line":452,"column":22},"end":{"line":490,"column":1}}},"41":{"name":"complete","decl":{"start":{"line":467,"column":11},"end":{"line":467,"column":19}},"loc":{"start":{"line":467,"column":25},"end":{"line":473,"column":3}}},"42":{"name":"(anonymous_42)","decl":{"start":{"line":485,"column":28},"end":{"line":485,"column":29}},"loc":{"start":{"line":485,"column":45},"end":{"line":487,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},{"start":{"line":64,"column":2},"end":{"line":68,"column":3}}]},"1":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":66}},"type":"binary-expr","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":34}},{"start":{"line":64,"column":38},"end":{"line":64,"column":66}}]},"2":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{"line":130,"column":2},"end":{"line":132,"column":3}}]},"3":{"loc":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},{"start":{"line":134,"column":2},"end":{"line":174,"column":3}}]},"4":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{"line":139,"column":4},"end":{"line":150,"column":5}}]},"5":{"loc":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},{"start":{"line":145,"column":8},"end":{"line":148,"column":9}}]},"6":{"loc":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},{"start":{"line":159,"column":6},"end":{"line":164,"column":7}}]},"7":{"loc":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},{"start":{"line":168,"column":4},"end":{"line":173,"column":5}}]},"8":{"loc":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"type":"if","locations":[{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},{"start":{"line":188,"column":2},"end":{"line":190,"column":3}}]},"9":{"loc":{"start":{"line":188,"column":6},"end":{"line":188,"column":54}},"type":"binary-expr","locations":[{"start":{"line":188,"column":6},"end":{"line":188,"column":21}},{"start":{"line":188,"column":25},"end":{"line":188,"column":54}}]},"10":{"loc":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},{"start":{"line":192,"column":2},"end":{"line":194,"column":3}}]},"11":{"loc":{"start":{"line":192,"column":6},"end":{"line":192,"column":48}},"type":"binary-expr","locations":[{"start":{"line":192,"column":6},"end":{"line":192,"column":23}},{"start":{"line":192,"column":27},"end":{"line":192,"column":48}}]},"12":{"loc":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"type":"if","locations":[{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},{"start":{"line":196,"column":2},"end":{"line":198,"column":3}}]},"13":{"loc":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"type":"if","locations":[{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},{"start":{"line":203,"column":4},"end":{"line":211,"column":5}}]},"14":{"loc":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},{"start":{"line":207,"column":8},"end":{"line":209,"column":9}}]},"15":{"loc":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},{"start":{"line":217,"column":4},"end":{"line":219,"column":5}}]},"16":{"loc":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"type":"if","locations":[{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},{"start":{"line":224,"column":2},"end":{"line":226,"column":3}}]},"17":{"loc":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"type":"if","locations":[{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},{"start":{"line":236,"column":4},"end":{"line":238,"column":5}}]},"18":{"loc":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},{"start":{"line":244,"column":2},"end":{"line":256,"column":3}}]},"19":{"loc":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"type":"if","locations":[{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},{"start":{"line":261,"column":2},"end":{"line":277,"column":3}}]},"20":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{"line":267,"column":6},"end":{"line":269,"column":7}}]},"21":{"loc":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},{"start":{"line":272,"column":8},"end":{"line":274,"column":9}}]},"22":{"loc":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"type":"if","locations":[{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},{"start":{"line":296,"column":2},"end":{"line":298,"column":3}}]},"23":{"loc":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"type":"if","locations":[{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},{"start":{"line":303,"column":2},"end":{"line":317,"column":3}}]},"24":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{"line":309,"column":6},"end":{"line":311,"column":7}}]},"25":{"loc":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"type":"if","locations":[{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},{"start":{"line":322,"column":2},"end":{"line":322,"column":21}}]},"26":{"loc":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"type":"if","locations":[{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},{"start":{"line":324,"column":2},"end":{"line":326,"column":3}}]},"27":{"loc":{"start":{"line":324,"column":6},"end":{"line":324,"column":82}},"type":"binary-expr","locations":[{"start":{"line":324,"column":6},"end":{"line":324,"column":27}},{"start":{"line":324,"column":32},"end":{"line":324,"column":81}}]},"28":{"loc":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"type":"if","locations":[{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},{"start":{"line":341,"column":2},"end":{"line":344,"column":3}}]},"29":{"loc":{"start":{"line":352,"column":11},"end":{"line":352,"column":46}},"type":"binary-expr","locations":[{"start":{"line":352,"column":11},"end":{"line":352,"column":17}},{"start":{"line":352,"column":21},"end":{"line":352,"column":46}}]},"30":{"loc":{"start":{"line":353,"column":12},"end":{"line":353,"column":25}},"type":"binary-expr","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":19}},{"start":{"line":353,"column":23},"end":{"line":353,"column":25}}]},"31":{"loc":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"type":"if","locations":[{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},{"start":{"line":355,"column":2},"end":{"line":366,"column":3}}]},"32":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":75}},"type":"binary-expr","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":26}},{"start":{"line":355,"column":30},"end":{"line":355,"column":45}},{"start":{"line":355,"column":49},"end":{"line":355,"column":75}}]},"33":{"loc":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"type":"if","locations":[{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},{"start":{"line":356,"column":4},"end":{"line":358,"column":5}}]},"34":{"loc":{"start":{"line":359,"column":13},"end":{"line":359,"column":59}},"type":"binary-expr","locations":[{"start":{"line":359,"column":13},"end":{"line":359,"column":42}},{"start":{"line":359,"column":46},"end":{"line":359,"column":59}}]},"35":{"loc":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"type":"if","locations":[{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},{"start":{"line":361,"column":4},"end":{"line":365,"column":5}}]},"36":{"loc":{"start":{"line":387,"column":11},"end":{"line":387,"column":41}},"type":"binary-expr","locations":[{"start":{"line":387,"column":11},"end":{"line":387,"column":17}},{"start":{"line":387,"column":21},"end":{"line":387,"column":41}}]},"37":{"loc":{"start":{"line":390,"column":32},"end":{"line":390,"column":75}},"type":"cond-expr","locations":[{"start":{"line":390,"column":49},"end":{"line":390,"column":60}},{"start":{"line":390,"column":63},"end":{"line":390,"column":75}}]},"38":{"loc":{"start":{"line":431,"column":19},"end":{"line":431,"column":62}},"type":"binary-expr","locations":[{"start":{"line":431,"column":19},"end":{"line":431,"column":33}},{"start":{"line":431,"column":37},"end":{"line":431,"column":62}}]},"39":{"loc":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"type":"if","locations":[{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},{"start":{"line":433,"column":2},"end":{"line":435,"column":3}}]},"40":{"loc":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"type":"if","locations":[{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},{"start":{"line":438,"column":2},"end":{"line":440,"column":3}}]},"41":{"loc":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"type":"if","locations":[{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},{"start":{"line":458,"column":2},"end":{"line":460,"column":3}}]},"42":{"loc":{"start":{"line":468,"column":12},"end":{"line":468,"column":24}},"type":"binary-expr","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":17}},{"start":{"line":468,"column":21},"end":{"line":468,"column":24}}]},"43":{"loc":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"type":"if","locations":[{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},{"start":{"line":470,"column":4},"end":{"line":472,"column":5}}]},"44":{"loc":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"type":"if","locations":[{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},{"start":{"line":476,"column":4},"end":{"line":478,"column":5}}]},"45":{"loc":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"type":"if","locations":[{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},{"start":{"line":481,"column":2},"end":{"line":483,"column":3}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0]}},"/Users/garethjones/stuff/log4js-node/lib/logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":21},"end":{"line":6,"column":38}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":36}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":27}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":32}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":23}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":25}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":50,"column":4},"end":{"line":50,"column":45}},"11":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"12":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":67}},"14":{"start":{"line":62,"column":4},"end":{"line":62,"column":22}},"15":{"start":{"line":68,"column":17},"end":{"line":68,"column":38}},"16":{"start":{"line":69,"column":21},"end":{"line":69,"column":57}},"17":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":13}},"19":{"start":{"line":73,"column":4},"end":{"line":73,"column":39}},"20":{"start":{"line":77,"column":4},"end":{"line":77,"column":54}},"21":{"start":{"line":81,"column":25},"end":{"line":81,"column":75}},"22":{"start":{"line":82,"column":4},"end":{"line":82,"column":35}},"23":{"start":{"line":86,"column":0},"end":{"line":86,"column":43}},"24":{"start":{"line":87,"column":0},"end":{"line":87,"column":38}},"25":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"26":{"start":{"line":92,"column":16},"end":{"line":92,"column":38}},"27":{"start":{"line":94,"column":24},"end":{"line":94,"column":54}},"28":{"start":{"line":95,"column":22},"end":{"line":95,"column":81}},"29":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}},"30":{"start":{"line":96,"column":24},"end":{"line":96,"column":75}},"31":{"start":{"line":98,"column":2},"end":{"line":100,"column":4}},"32":{"start":{"line":99,"column":4},"end":{"line":99,"column":49}},"33":{"start":{"line":102,"column":2},"end":{"line":109,"column":4}},"34":{"start":{"line":105,"column":17},"end":{"line":105,"column":38}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":117,"column":2},"end":{"line":117,"column":27}},"38":{"start":{"line":125,"column":2},"end":{"line":125,"column":26}},"39":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"40":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"41":{"start":{"line":130,"column":0},"end":{"line":130,"column":57}},"42":{"start":{"line":131,"column":0},"end":{"line":131,"column":55}},"43":{"start":{"line":132,"column":0},"end":{"line":132,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":49},"end":{"line":32,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":27},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":65,"column":8},"end":{"line":74,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":29},"end":{"line":78,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":20},"end":{"line":83,"column":3}}},"7":{"name":"addLevelMethods","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":33},"end":{"line":110,"column":1}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":95,"column":57},"end":{"line":95,"column":58}},"loc":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":50},"end":{"line":98,"column":51}},"loc":{"start":{"line":98,"column":62},"end":{"line":100,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":34},"end":{"line":102,"column":35}},"loc":{"start":{"line":102,"column":46},"end":{"line":109,"column":3}}},"11":{"name":"disableAllLogWrites","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":28}},"loc":{"start":{"line":116,"column":31},"end":{"line":118,"column":1}}},"12":{"name":"enableAllLogWrites","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":27}},"loc":{"start":{"line":124,"column":30},"end":{"line":126,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"type":"binary-expr","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}}]},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":4},"end":{"line":54,"column":5}}]},"2":{"loc":{"start":{"line":58,"column":39},"end":{"line":58,"column":65}},"type":"binary-expr","locations":[{"start":{"line":58,"column":39},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":65}}]},"3":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}]},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}}]},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":106,"column":54}},"type":"binary-expr","locations":[{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},{"start":{"line":106,"column":28},"end":{"line":106,"column":54}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]}}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/9403b016e12a3b293747ff33f7930b9b.json b/node_modules/log4js/.nyc_output/9403b016e12a3b293747ff33f7930b9b.json deleted file mode 100644 index 89ab116..0000000 --- a/node_modules/log4js/.nyc_output/9403b016e12a3b293747ff33f7930b9b.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/log4js.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/log4js.js","statementMap":{"0":{"start":{"line":35,"column":11},"end":{"line":35,"column":24}},"1":{"start":{"line":36,"column":13},"end":{"line":36,"column":28}},"2":{"start":{"line":37,"column":16},"end":{"line":37,"column":36}},"3":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"4":{"start":{"line":39,"column":21},"end":{"line":39,"column":40}},"5":{"start":{"line":40,"column":22},"end":{"line":40,"column":63}},"6":{"start":{"line":42,"column":15},"end":{"line":42,"column":34}},"7":{"start":{"line":44,"column":23},"end":{"line":44,"column":30}},"8":{"start":{"line":45,"column":16},"end":{"line":45,"column":18}},"9":{"start":{"line":46,"column":23},"end":{"line":46,"column":25}},"10":{"start":{"line":47,"column":26},"end":{"line":47,"column":28}},"11":{"start":{"line":48,"column":22},"end":{"line":53,"column":1}},"12":{"start":{"line":55,"column":16},"end":{"line":55,"column":18}},"13":{"start":{"line":58,"column":2},"end":{"line":58,"column":40}},"14":{"start":{"line":62,"column":0},"end":{"line":70,"column":2}},"15":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"16":{"start":{"line":65,"column":23},"end":{"line":65,"column":45}},"17":{"start":{"line":66,"column":4},"end":{"line":66,"column":51}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":40}},"19":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"20":{"start":{"line":73,"column":21},"end":{"line":73,"column":44}},"21":{"start":{"line":74,"column":17},"end":{"line":74,"column":19}},"22":{"start":{"line":75,"column":2},"end":{"line":75,"column":19}},"23":{"start":{"line":76,"column":2},"end":{"line":76,"column":29}},"24":{"start":{"line":77,"column":2},"end":{"line":83,"column":4}},"25":{"start":{"line":78,"column":4},"end":{"line":82,"column":5}},"26":{"start":{"line":79,"column":18},"end":{"line":79,"column":32}},"27":{"start":{"line":80,"column":6},"end":{"line":80,"column":44}},"28":{"start":{"line":81,"column":6},"end":{"line":81,"column":28}},"29":{"start":{"line":84,"column":2},"end":{"line":86,"column":4}},"30":{"start":{"line":85,"column":4},"end":{"line":85,"column":59}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":4}},"32":{"start":{"line":88,"column":4},"end":{"line":88,"column":59}},"33":{"start":{"line":90,"column":2},"end":{"line":92,"column":4}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":58}},"35":{"start":{"line":93,"column":2},"end":{"line":95,"column":4}},"36":{"start":{"line":94,"column":4},"end":{"line":94,"column":58}},"37":{"start":{"line":96,"column":2},"end":{"line":98,"column":4}},"38":{"start":{"line":97,"column":4},"end":{"line":97,"column":59}},"39":{"start":{"line":99,"column":2},"end":{"line":101,"column":4}},"40":{"start":{"line":100,"column":4},"end":{"line":100,"column":59}},"41":{"start":{"line":103,"column":2},"end":{"line":103,"column":16}},"42":{"start":{"line":107,"column":2},"end":{"line":107,"column":24}},"43":{"start":{"line":111,"column":34},"end":{"line":111,"column":66}},"44":{"start":{"line":112,"column":35},"end":{"line":112,"column":68}},"45":{"start":{"line":113,"column":2},"end":{"line":113,"column":107}},"46":{"start":{"line":117,"column":37},"end":{"line":117,"column":72}},"47":{"start":{"line":118,"column":35},"end":{"line":118,"column":68}},"48":{"start":{"line":119,"column":2},"end":{"line":119,"column":113}},"49":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"50":{"start":{"line":131,"column":4},"end":{"line":131,"column":49}},"51":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"52":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"53":{"start":{"line":142,"column":19},"end":{"line":142,"column":52}},"54":{"start":{"line":143,"column":6},"end":{"line":149,"column":7}},"55":{"start":{"line":144,"column":30},"end":{"line":144,"column":39}},"56":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"57":{"start":{"line":147,"column":10},"end":{"line":147,"column":47}},"58":{"start":{"line":154,"column":4},"end":{"line":154,"column":72}},"59":{"start":{"line":158,"column":4},"end":{"line":165,"column":5}},"60":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"61":{"start":{"line":160,"column":8},"end":{"line":160,"column":51}},"62":{"start":{"line":161,"column":8},"end":{"line":163,"column":11}},"63":{"start":{"line":162,"column":10},"end":{"line":162,"column":67}},"64":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":47}},"66":{"start":{"line":170,"column":6},"end":{"line":172,"column":9}},"67":{"start":{"line":171,"column":8},"end":{"line":171,"column":65}},"68":{"start":{"line":176,"column":2},"end":{"line":176,"column":37}},"69":{"start":{"line":185,"column":13},"end":{"line":185,"column":34}},"70":{"start":{"line":186,"column":19},"end":{"line":186,"column":31}},"71":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"72":{"start":{"line":189,"column":4},"end":{"line":189,"column":47}},"73":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"74":{"start":{"line":193,"column":4},"end":{"line":193,"column":28}},"75":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"76":{"start":{"line":197,"column":4},"end":{"line":197,"column":19}},"77":{"start":{"line":200,"column":2},"end":{"line":212,"column":5}},"78":{"start":{"line":201,"column":4},"end":{"line":201,"column":54}},"79":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"80":{"start":{"line":204,"column":6},"end":{"line":204,"column":40}},"81":{"start":{"line":206,"column":6},"end":{"line":210,"column":7}},"82":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"83":{"start":{"line":208,"column":10},"end":{"line":208,"column":63}},"84":{"start":{"line":216,"column":2},"end":{"line":220,"column":3}},"85":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":218,"column":6},"end":{"line":218,"column":51}},"87":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"88":{"start":{"line":225,"column":4},"end":{"line":225,"column":29}},"89":{"start":{"line":227,"column":2},"end":{"line":227,"column":37}},"90":{"start":{"line":233,"column":2},"end":{"line":233,"column":36}},"91":{"start":{"line":234,"column":2},"end":{"line":234,"column":17}},"92":{"start":{"line":235,"column":2},"end":{"line":239,"column":3}},"93":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"94":{"start":{"line":237,"column":6},"end":{"line":237,"column":48}},"95":{"start":{"line":243,"column":2},"end":{"line":243,"column":19}},"96":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"97":{"start":{"line":245,"column":4},"end":{"line":255,"column":7}},"98":{"start":{"line":246,"column":6},"end":{"line":246,"column":40}},"99":{"start":{"line":248,"column":6},"end":{"line":248,"column":45}},"100":{"start":{"line":249,"column":6},"end":{"line":254,"column":7}},"101":{"start":{"line":250,"column":8},"end":{"line":250,"column":80}},"102":{"start":{"line":251,"column":8},"end":{"line":251,"column":55}},"103":{"start":{"line":253,"column":8},"end":{"line":253,"column":95}},"104":{"start":{"line":260,"column":2},"end":{"line":260,"column":26}},"105":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"106":{"start":{"line":262,"column":17},"end":{"line":262,"column":50}},"107":{"start":{"line":265,"column":4},"end":{"line":276,"column":5}},"108":{"start":{"line":266,"column":23},"end":{"line":266,"column":32}},"109":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":45}},"111":{"start":{"line":271,"column":6},"end":{"line":275,"column":7}},"112":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"113":{"start":{"line":273,"column":10},"end":{"line":273,"column":62}},"114":{"start":{"line":281,"column":2},"end":{"line":281,"column":63}},"115":{"start":{"line":290,"column":2},"end":{"line":290,"column":44}},"116":{"start":{"line":293,"column":20},"end":{"line":293,"column":22}},"117":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"118":{"start":{"line":297,"column":4},"end":{"line":297,"column":57}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":19}},"120":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"121":{"start":{"line":304,"column":4},"end":{"line":316,"column":5}},"122":{"start":{"line":305,"column":6},"end":{"line":305,"column":23}},"123":{"start":{"line":306,"column":6},"end":{"line":306,"column":37}},"124":{"start":{"line":307,"column":6},"end":{"line":307,"column":52}},"125":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"126":{"start":{"line":310,"column":8},"end":{"line":310,"column":25}},"127":{"start":{"line":313,"column":6},"end":{"line":315,"column":8}},"128":{"start":{"line":321,"column":16},"end":{"line":321,"column":46}},"129":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"130":{"start":{"line":322,"column":14},"end":{"line":322,"column":21}},"131":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"132":{"start":{"line":325,"column":4},"end":{"line":325,"column":75}},"133":{"start":{"line":327,"column":2},"end":{"line":327,"column":32}},"134":{"start":{"line":332,"column":2},"end":{"line":336,"column":3}},"135":{"start":{"line":333,"column":4},"end":{"line":333,"column":52}},"136":{"start":{"line":335,"column":4},"end":{"line":335,"column":78}},"137":{"start":{"line":337,"column":2},"end":{"line":337,"column":15}},"138":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"139":{"start":{"line":342,"column":4},"end":{"line":342,"column":39}},"140":{"start":{"line":343,"column":4},"end":{"line":343,"column":31}},"141":{"start":{"line":345,"column":2},"end":{"line":345,"column":34}},"142":{"start":{"line":346,"column":2},"end":{"line":346,"column":45}},"143":{"start":{"line":347,"column":2},"end":{"line":347,"column":93}},"144":{"start":{"line":351,"column":15},"end":{"line":351,"column":40}},"145":{"start":{"line":352,"column":2},"end":{"line":352,"column":47}},"146":{"start":{"line":353,"column":2},"end":{"line":353,"column":26}},"147":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"148":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"149":{"start":{"line":357,"column":6},"end":{"line":357,"column":47}},"150":{"start":{"line":359,"column":4},"end":{"line":359,"column":60}},"151":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"152":{"start":{"line":362,"column":6},"end":{"line":364,"column":8}},"153":{"start":{"line":367,"column":2},"end":{"line":367,"column":36}},"154":{"start":{"line":370,"column":33},"end":{"line":376,"column":1}},"155":{"start":{"line":380,"column":4},"end":{"line":384,"column":6}},"156":{"start":{"line":383,"column":6},"end":{"line":383,"column":46}},"157":{"start":{"line":387,"column":2},"end":{"line":387,"column":42}},"158":{"start":{"line":389,"column":2},"end":{"line":391,"column":5}},"159":{"start":{"line":390,"column":4},"end":{"line":390,"column":77}},"160":{"start":{"line":395,"column":2},"end":{"line":397,"column":5}},"161":{"start":{"line":396,"column":4},"end":{"line":396,"column":51}},"162":{"start":{"line":412,"column":2},"end":{"line":416,"column":3}},"163":{"start":{"line":413,"column":4},"end":{"line":413,"column":56}},"164":{"start":{"line":415,"column":4},"end":{"line":415,"column":39}},"165":{"start":{"line":417,"column":2},"end":{"line":417,"column":24}},"166":{"start":{"line":431,"column":2},"end":{"line":431,"column":63}},"167":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"168":{"start":{"line":434,"column":4},"end":{"line":434,"column":74}},"169":{"start":{"line":437,"column":2},"end":{"line":437,"column":76}},"170":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"171":{"start":{"line":439,"column":4},"end":{"line":439,"column":79}},"172":{"start":{"line":441,"column":2},"end":{"line":441,"column":75}},"173":{"start":{"line":455,"column":2},"end":{"line":455,"column":37}},"174":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"175":{"start":{"line":459,"column":4},"end":{"line":459,"column":39}},"176":{"start":{"line":463,"column":18},"end":{"line":463,"column":19}},"177":{"start":{"line":465,"column":28},"end":{"line":465,"column":30}},"178":{"start":{"line":468,"column":4},"end":{"line":468,"column":25}},"179":{"start":{"line":469,"column":4},"end":{"line":469,"column":16}},"180":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"181":{"start":{"line":471,"column":6},"end":{"line":471,"column":16}},"182":{"start":{"line":475,"column":2},"end":{"line":479,"column":3}},"183":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":477,"column":6},"end":{"line":477,"column":58}},"185":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"186":{"start":{"line":482,"column":4},"end":{"line":482,"column":16}},"187":{"start":{"line":485,"column":2},"end":{"line":487,"column":5}},"188":{"start":{"line":486,"column":4},"end":{"line":486,"column":26}},"189":{"start":{"line":489,"column":2},"end":{"line":489,"column":14}},"190":{"start":{"line":513,"column":15},"end":{"line":535,"column":1}},"191":{"start":{"line":537,"column":0},"end":{"line":537,"column":24}},"192":{"start":{"line":540,"column":0},"end":{"line":540,"column":12}}},"fnMap":{"0":{"name":"hasLogger","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":18}},"loc":{"start":{"line":57,"column":27},"end":{"line":59,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":47},"end":{"line":70,"column":1}}},"2":{"name":"getBufferedLogger","decl":{"start":{"line":72,"column":9},"end":{"line":72,"column":26}},"loc":{"start":{"line":72,"column":41},"end":{"line":104,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":17},"end":{"line":77,"column":18}},"loc":{"start":{"line":77,"column":29},"end":{"line":83,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":17},"end":{"line":84,"column":18}},"loc":{"start":{"line":84,"column":36},"end":{"line":86,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":87,"column":17},"end":{"line":87,"column":18}},"loc":{"start":{"line":87,"column":36},"end":{"line":89,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":17}},"loc":{"start":{"line":90,"column":35},"end":{"line":92,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":17}},"loc":{"start":{"line":93,"column":35},"end":{"line":95,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":17},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":36},"end":{"line":98,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":18}},"loc":{"start":{"line":99,"column":36},"end":{"line":101,"column":3}}},"10":{"name":"normalizeCategory","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":37},"end":{"line":108,"column":1}}},"11":{"name":"doesLevelEntryContainsLogger","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":37}},"loc":{"start":{"line":110,"column":69},"end":{"line":114,"column":1}}},"12":{"name":"doesAppenderContainsLogger","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":35}},"loc":{"start":{"line":116,"column":70},"end":{"line":120,"column":1}}},"13":{"name":"getLogger","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":18}},"loc":{"start":{"line":128,"column":39},"end":{"line":177,"column":1}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":161,"column":29},"end":{"line":161,"column":30}},"loc":{"start":{"line":161,"column":43},"end":{"line":163,"column":9}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":170,"column":27},"end":{"line":170,"column":28}},"loc":{"start":{"line":170,"column":41},"end":{"line":172,"column":7}}},"16":{"name":"addAppender","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":20}},"loc":{"start":{"line":182,"column":23},"end":{"line":213,"column":1}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":200,"column":15},"end":{"line":200,"column":16}},"loc":{"start":{"line":200,"column":37},"end":{"line":212,"column":3}}},"18":{"name":"addAppenderToAllLoggers","decl":{"start":{"line":215,"column":9},"end":{"line":215,"column":32}},"loc":{"start":{"line":215,"column":43},"end":{"line":221,"column":1}}},"19":{"name":"addAppenderToCategory","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":30}},"loc":{"start":{"line":223,"column":51},"end":{"line":228,"column":1}}},"20":{"name":"clearAppenders","decl":{"start":{"line":230,"column":9},"end":{"line":230,"column":23}},"loc":{"start":{"line":230,"column":26},"end":{"line":240,"column":1}}},"21":{"name":"configureAppenders","decl":{"start":{"line":242,"column":9},"end":{"line":242,"column":27}},"loc":{"start":{"line":242,"column":51},"end":{"line":257,"column":1}}},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":25},"end":{"line":245,"column":26}},"loc":{"start":{"line":245,"column":45},"end":{"line":255,"column":5}}},"23":{"name":"configureLevels","decl":{"start":{"line":259,"column":9},"end":{"line":259,"column":24}},"loc":{"start":{"line":259,"column":34},"end":{"line":278,"column":1}}},"24":{"name":"setGlobalLogLevel","decl":{"start":{"line":280,"column":9},"end":{"line":280,"column":26}},"loc":{"start":{"line":280,"column":34},"end":{"line":282,"column":1}}},"25":{"name":"getDefaultLogger","decl":{"start":{"line":289,"column":9},"end":{"line":289,"column":25}},"loc":{"start":{"line":289,"column":28},"end":{"line":291,"column":1}}},"26":{"name":"loadConfigurationFile","decl":{"start":{"line":295,"column":9},"end":{"line":295,"column":30}},"loc":{"start":{"line":295,"column":41},"end":{"line":300,"column":1}}},"27":{"name":"configureOnceOff","decl":{"start":{"line":302,"column":9},"end":{"line":302,"column":25}},"loc":{"start":{"line":302,"column":43},"end":{"line":318,"column":1}}},"28":{"name":"reloadConfiguration","decl":{"start":{"line":320,"column":9},"end":{"line":320,"column":28}},"loc":{"start":{"line":320,"column":38},"end":{"line":328,"column":1}}},"29":{"name":"getMTime","decl":{"start":{"line":330,"column":9},"end":{"line":330,"column":17}},"loc":{"start":{"line":330,"column":28},"end":{"line":338,"column":1}}},"30":{"name":"initReloadConfiguration","decl":{"start":{"line":340,"column":9},"end":{"line":340,"column":32}},"loc":{"start":{"line":340,"column":52},"end":{"line":348,"column":1}}},"31":{"name":"configure","decl":{"start":{"line":350,"column":9},"end":{"line":350,"column":18}},"loc":{"start":{"line":350,"column":55},"end":{"line":368,"column":1}}},"32":{"name":"replaceConsole","decl":{"start":{"line":378,"column":9},"end":{"line":378,"column":23}},"loc":{"start":{"line":378,"column":32},"end":{"line":392,"column":1}}},"33":{"name":"replaceWith","decl":{"start":{"line":379,"column":11},"end":{"line":379,"column":22}},"loc":{"start":{"line":379,"column":27},"end":{"line":385,"column":3}}},"34":{"name":"(anonymous_34)","decl":{"start":{"line":380,"column":11},"end":{"line":380,"column":12}},"loc":{"start":{"line":380,"column":23},"end":{"line":384,"column":5}}},"35":{"name":"(anonymous_35)","decl":{"start":{"line":389,"column":52},"end":{"line":389,"column":53}},"loc":{"start":{"line":389,"column":62},"end":{"line":391,"column":3}}},"36":{"name":"restoreConsole","decl":{"start":{"line":394,"column":9},"end":{"line":394,"column":23}},"loc":{"start":{"line":394,"column":26},"end":{"line":398,"column":1}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":395,"column":52},"end":{"line":395,"column":53}},"loc":{"start":{"line":395,"column":62},"end":{"line":397,"column":3}}},"38":{"name":"requireAppender","decl":{"start":{"line":410,"column":9},"end":{"line":410,"column":24}},"loc":{"start":{"line":410,"column":35},"end":{"line":418,"column":1}}},"39":{"name":"loadAppender","decl":{"start":{"line":430,"column":9},"end":{"line":430,"column":21}},"loc":{"start":{"line":430,"column":48},"end":{"line":442,"column":1}}},"40":{"name":"shutdown","decl":{"start":{"line":452,"column":9},"end":{"line":452,"column":17}},"loc":{"start":{"line":452,"column":22},"end":{"line":490,"column":1}}},"41":{"name":"complete","decl":{"start":{"line":467,"column":11},"end":{"line":467,"column":19}},"loc":{"start":{"line":467,"column":25},"end":{"line":473,"column":3}}},"42":{"name":"(anonymous_42)","decl":{"start":{"line":485,"column":28},"end":{"line":485,"column":29}},"loc":{"start":{"line":485,"column":45},"end":{"line":487,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},{"start":{"line":64,"column":2},"end":{"line":68,"column":3}}]},"1":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":66}},"type":"binary-expr","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":34}},{"start":{"line":64,"column":38},"end":{"line":64,"column":66}}]},"2":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{"line":130,"column":2},"end":{"line":132,"column":3}}]},"3":{"loc":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},{"start":{"line":134,"column":2},"end":{"line":174,"column":3}}]},"4":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{"line":139,"column":4},"end":{"line":150,"column":5}}]},"5":{"loc":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},{"start":{"line":145,"column":8},"end":{"line":148,"column":9}}]},"6":{"loc":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},{"start":{"line":159,"column":6},"end":{"line":164,"column":7}}]},"7":{"loc":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},{"start":{"line":168,"column":4},"end":{"line":173,"column":5}}]},"8":{"loc":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"type":"if","locations":[{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},{"start":{"line":188,"column":2},"end":{"line":190,"column":3}}]},"9":{"loc":{"start":{"line":188,"column":6},"end":{"line":188,"column":54}},"type":"binary-expr","locations":[{"start":{"line":188,"column":6},"end":{"line":188,"column":21}},{"start":{"line":188,"column":25},"end":{"line":188,"column":54}}]},"10":{"loc":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},{"start":{"line":192,"column":2},"end":{"line":194,"column":3}}]},"11":{"loc":{"start":{"line":192,"column":6},"end":{"line":192,"column":48}},"type":"binary-expr","locations":[{"start":{"line":192,"column":6},"end":{"line":192,"column":23}},{"start":{"line":192,"column":27},"end":{"line":192,"column":48}}]},"12":{"loc":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"type":"if","locations":[{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},{"start":{"line":196,"column":2},"end":{"line":198,"column":3}}]},"13":{"loc":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"type":"if","locations":[{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},{"start":{"line":203,"column":4},"end":{"line":211,"column":5}}]},"14":{"loc":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},{"start":{"line":207,"column":8},"end":{"line":209,"column":9}}]},"15":{"loc":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},{"start":{"line":217,"column":4},"end":{"line":219,"column":5}}]},"16":{"loc":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"type":"if","locations":[{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},{"start":{"line":224,"column":2},"end":{"line":226,"column":3}}]},"17":{"loc":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"type":"if","locations":[{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},{"start":{"line":236,"column":4},"end":{"line":238,"column":5}}]},"18":{"loc":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},{"start":{"line":244,"column":2},"end":{"line":256,"column":3}}]},"19":{"loc":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"type":"if","locations":[{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},{"start":{"line":261,"column":2},"end":{"line":277,"column":3}}]},"20":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{"line":267,"column":6},"end":{"line":269,"column":7}}]},"21":{"loc":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},{"start":{"line":272,"column":8},"end":{"line":274,"column":9}}]},"22":{"loc":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"type":"if","locations":[{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},{"start":{"line":296,"column":2},"end":{"line":298,"column":3}}]},"23":{"loc":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"type":"if","locations":[{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},{"start":{"line":303,"column":2},"end":{"line":317,"column":3}}]},"24":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{"line":309,"column":6},"end":{"line":311,"column":7}}]},"25":{"loc":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"type":"if","locations":[{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},{"start":{"line":322,"column":2},"end":{"line":322,"column":21}}]},"26":{"loc":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"type":"if","locations":[{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},{"start":{"line":324,"column":2},"end":{"line":326,"column":3}}]},"27":{"loc":{"start":{"line":324,"column":6},"end":{"line":324,"column":82}},"type":"binary-expr","locations":[{"start":{"line":324,"column":6},"end":{"line":324,"column":27}},{"start":{"line":324,"column":32},"end":{"line":324,"column":81}}]},"28":{"loc":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"type":"if","locations":[{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},{"start":{"line":341,"column":2},"end":{"line":344,"column":3}}]},"29":{"loc":{"start":{"line":352,"column":11},"end":{"line":352,"column":46}},"type":"binary-expr","locations":[{"start":{"line":352,"column":11},"end":{"line":352,"column":17}},{"start":{"line":352,"column":21},"end":{"line":352,"column":46}}]},"30":{"loc":{"start":{"line":353,"column":12},"end":{"line":353,"column":25}},"type":"binary-expr","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":19}},{"start":{"line":353,"column":23},"end":{"line":353,"column":25}}]},"31":{"loc":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"type":"if","locations":[{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},{"start":{"line":355,"column":2},"end":{"line":366,"column":3}}]},"32":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":75}},"type":"binary-expr","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":26}},{"start":{"line":355,"column":30},"end":{"line":355,"column":45}},{"start":{"line":355,"column":49},"end":{"line":355,"column":75}}]},"33":{"loc":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"type":"if","locations":[{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},{"start":{"line":356,"column":4},"end":{"line":358,"column":5}}]},"34":{"loc":{"start":{"line":359,"column":13},"end":{"line":359,"column":59}},"type":"binary-expr","locations":[{"start":{"line":359,"column":13},"end":{"line":359,"column":42}},{"start":{"line":359,"column":46},"end":{"line":359,"column":59}}]},"35":{"loc":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"type":"if","locations":[{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},{"start":{"line":361,"column":4},"end":{"line":365,"column":5}}]},"36":{"loc":{"start":{"line":387,"column":11},"end":{"line":387,"column":41}},"type":"binary-expr","locations":[{"start":{"line":387,"column":11},"end":{"line":387,"column":17}},{"start":{"line":387,"column":21},"end":{"line":387,"column":41}}]},"37":{"loc":{"start":{"line":390,"column":32},"end":{"line":390,"column":75}},"type":"cond-expr","locations":[{"start":{"line":390,"column":49},"end":{"line":390,"column":60}},{"start":{"line":390,"column":63},"end":{"line":390,"column":75}}]},"38":{"loc":{"start":{"line":431,"column":19},"end":{"line":431,"column":62}},"type":"binary-expr","locations":[{"start":{"line":431,"column":19},"end":{"line":431,"column":33}},{"start":{"line":431,"column":37},"end":{"line":431,"column":62}}]},"39":{"loc":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"type":"if","locations":[{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},{"start":{"line":433,"column":2},"end":{"line":435,"column":3}}]},"40":{"loc":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"type":"if","locations":[{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},{"start":{"line":438,"column":2},"end":{"line":440,"column":3}}]},"41":{"loc":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"type":"if","locations":[{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},{"start":{"line":458,"column":2},"end":{"line":460,"column":3}}]},"42":{"loc":{"start":{"line":468,"column":12},"end":{"line":468,"column":24}},"type":"binary-expr","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":17}},{"start":{"line":468,"column":21},"end":{"line":468,"column":24}}]},"43":{"loc":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"type":"if","locations":[{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},{"start":{"line":470,"column":4},"end":{"line":472,"column":5}}]},"44":{"loc":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"type":"if","locations":[{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},{"start":{"line":476,"column":4},"end":{"line":478,"column":5}}]},"45":{"loc":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"type":"if","locations":[{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},{"start":{"line":481,"column":2},"end":{"line":483,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":2,"43":0,"44":0,"45":0,"46":1,"47":1,"48":1,"49":1,"50":0,"51":1,"52":1,"53":0,"54":0,"55":0,"56":0,"57":0,"58":1,"59":1,"60":1,"61":0,"62":0,"63":0,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":0,"73":1,"74":1,"75":1,"76":0,"77":1,"78":1,"79":1,"80":1,"81":0,"82":0,"83":0,"84":1,"85":0,"86":0,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":0,"94":0,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":0,"104":1,"105":1,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":1,"117":1,"118":0,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":1,"145":1,"146":1,"147":1,"148":1,"149":0,"150":1,"151":0,"152":0,"153":1,"154":1,"155":0,"156":0,"157":0,"158":0,"159":0,"160":1,"161":5,"162":1,"163":1,"164":0,"165":1,"166":1,"167":1,"168":0,"169":1,"170":1,"171":0,"172":1,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":1,"191":1,"192":1},"f":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":2,"11":0,"12":1,"13":1,"14":0,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":0,"25":0,"26":1,"27":1,"28":0,"29":0,"30":0,"31":1,"32":0,"33":0,"34":0,"35":0,"36":1,"37":5,"38":1,"39":1,"40":0,"41":0,"42":0},"b":{"0":[0,0],"1":[0,0],"2":[0,1],"3":[1,0],"4":[0,1],"5":[0,0],"6":[0,1],"7":[1,0],"8":[0,1],"9":[1,1],"10":[1,0],"11":[1,1],"12":[0,1],"13":[1,0],"14":[0,0],"15":[0,0],"16":[1,0],"17":[0,0],"18":[1,0],"19":[0,1],"20":[0,0],"21":[0,0],"22":[0,1],"23":[1,0],"24":[0,1],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[1,1],"30":[1,1],"31":[1,0],"32":[1,0,0],"33":[0,1],"34":[1,1],"35":[0,0],"36":[0,0],"37":[0,0],"38":[1,1],"39":[0,1],"40":[0,1],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3a43360dca26d74ffd67cfe5ec75309575f038ac"},"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":1,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":1,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":1,"108":0,"109":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"0":[1,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":1,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128"},"/Users/garethjones/stuff/log4js-node/lib/levels.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/levels.js","statementMap":{"0":{"start":{"line":9,"column":4},"end":{"line":9,"column":23}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":42}},"9":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":39}},"11":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"12":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":24}},"14":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"15":{"start":{"line":52,"column":4},"end":{"line":52,"column":43}},"16":{"start":{"line":53,"column":4},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"18":{"start":{"line":57,"column":4},"end":{"line":57,"column":62}},"19":{"start":{"line":60,"column":2},"end":{"line":60,"column":34}},"20":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"21":{"start":{"line":66,"column":23},"end":{"line":66,"column":45}},"22":{"start":{"line":67,"column":4},"end":{"line":67,"column":32}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"24":{"start":{"line":72,"column":0},"end":{"line":85,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":13},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":34},"end":{"line":22,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":37},"end":{"line":29,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":31,"column":24},"end":{"line":36,"column":3}}},"5":{"name":"toLevel","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":37},"end":{"line":61,"column":1}}},"6":{"name":"getLevel","decl":{"start":{"line":63,"column":9},"end":{"line":63,"column":17}},"loc":{"start":{"line":63,"column":28},"end":{"line":70,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{"line":32,"column":4},"end":{"line":34,"column":5}}]},"3":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}]},"4":{"loc":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},{"start":{"line":51,"column":2},"end":{"line":54,"column":3}}]},"5":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}]},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":61}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":45}},{"start":{"line":57,"column":49},"end":{"line":57,"column":61}}]},"7":{"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},{"start":{"line":65,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":9,"1":9,"2":7,"3":1,"4":0,"5":1,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":7,"13":0,"14":7,"15":0,"16":0,"17":7,"18":7,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1},"f":{"0":9,"1":7,"2":1,"3":0,"4":0,"5":7,"6":0},"b":{"0":[0,1],"1":[0,0],"2":[0,0],"3":[0,7],"4":[0,7],"5":[7,0],"6":[7,0],"7":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"daae16d9a9a708cc048c35299774fc26e22cf555"},"/Users/garethjones/stuff/log4js-node/lib/logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":21},"end":{"line":6,"column":38}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":36}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":27}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":32}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":23}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":25}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":50,"column":4},"end":{"line":50,"column":45}},"11":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"12":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":67}},"14":{"start":{"line":62,"column":4},"end":{"line":62,"column":22}},"15":{"start":{"line":68,"column":17},"end":{"line":68,"column":38}},"16":{"start":{"line":69,"column":21},"end":{"line":69,"column":57}},"17":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":13}},"19":{"start":{"line":73,"column":4},"end":{"line":73,"column":39}},"20":{"start":{"line":77,"column":4},"end":{"line":77,"column":54}},"21":{"start":{"line":81,"column":25},"end":{"line":81,"column":75}},"22":{"start":{"line":82,"column":4},"end":{"line":82,"column":35}},"23":{"start":{"line":86,"column":0},"end":{"line":86,"column":43}},"24":{"start":{"line":87,"column":0},"end":{"line":87,"column":38}},"25":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"26":{"start":{"line":92,"column":16},"end":{"line":92,"column":38}},"27":{"start":{"line":94,"column":24},"end":{"line":94,"column":54}},"28":{"start":{"line":95,"column":22},"end":{"line":95,"column":81}},"29":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}},"30":{"start":{"line":96,"column":24},"end":{"line":96,"column":75}},"31":{"start":{"line":98,"column":2},"end":{"line":100,"column":4}},"32":{"start":{"line":99,"column":4},"end":{"line":99,"column":49}},"33":{"start":{"line":102,"column":2},"end":{"line":109,"column":4}},"34":{"start":{"line":105,"column":17},"end":{"line":105,"column":38}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":117,"column":2},"end":{"line":117,"column":27}},"38":{"start":{"line":125,"column":2},"end":{"line":125,"column":26}},"39":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"40":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"41":{"start":{"line":130,"column":0},"end":{"line":130,"column":57}},"42":{"start":{"line":131,"column":0},"end":{"line":131,"column":55}},"43":{"start":{"line":132,"column":0},"end":{"line":132,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":49},"end":{"line":32,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":27},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":65,"column":8},"end":{"line":74,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":29},"end":{"line":78,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":20},"end":{"line":83,"column":3}}},"7":{"name":"addLevelMethods","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":33},"end":{"line":110,"column":1}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":95,"column":57},"end":{"line":95,"column":58}},"loc":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":50},"end":{"line":98,"column":51}},"loc":{"start":{"line":98,"column":62},"end":{"line":100,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":34},"end":{"line":102,"column":35}},"loc":{"start":{"line":102,"column":46},"end":{"line":109,"column":3}}},"11":{"name":"disableAllLogWrites","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":28}},"loc":{"start":{"line":116,"column":31},"end":{"line":118,"column":1}}},"12":{"name":"enableAllLogWrites","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":27}},"loc":{"start":{"line":124,"column":30},"end":{"line":126,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"type":"binary-expr","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}}]},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":4},"end":{"line":54,"column":5}}]},"2":{"loc":{"start":{"line":58,"column":39},"end":{"line":58,"column":65}},"type":"binary-expr","locations":[{"start":{"line":58,"column":39},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":65}}]},"3":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}]},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}}]},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":106,"column":54}},"type":"binary-expr","locations":[{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},{"start":{"line":106,"column":28},"end":{"line":106,"column":54}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":7,"27":7,"28":7,"29":0,"30":7,"31":7,"32":0,"33":7,"34":1,"35":1,"36":1,"37":0,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1},"f":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":1,"6":1,"7":7,"8":0,"9":0,"10":1,"11":0,"12":1},"b":{"0":[1,0],"1":[0,1],"2":[0,0],"3":[0,0],"4":[1,0],"5":[1,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7d8e54612a5d21505ecc3cd8c5eea114082c17db"},"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":7,"column":23},"end":{"line":10,"column":18}},"2":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"4":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":34}},"6":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"7":{"start":{"line":50,"column":21},"end":{"line":50,"column":30}},"8":{"start":{"line":51,"column":14},"end":{"line":51,"column":56}},"9":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"10":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"11":{"start":{"line":55,"column":2},"end":{"line":112,"column":4}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"13":{"start":{"line":57,"column":22},"end":{"line":57,"column":36}},"14":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"15":{"start":{"line":60,"column":46},"end":{"line":60,"column":60}},"16":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"17":{"start":{"line":63,"column":20},"end":{"line":63,"column":30}},"18":{"start":{"line":64,"column":24},"end":{"line":64,"column":37}},"19":{"start":{"line":67,"column":6},"end":{"line":67,"column":26}},"20":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"21":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":37}},"23":{"start":{"line":74,"column":8},"end":{"line":74,"column":32}},"24":{"start":{"line":75,"column":8},"end":{"line":75,"column":38}},"25":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"26":{"start":{"line":79,"column":10},"end":{"line":79,"column":30}},"27":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"28":{"start":{"line":80,"column":27},"end":{"line":80,"column":47}},"29":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"30":{"start":{"line":81,"column":27},"end":{"line":81,"column":48}},"31":{"start":{"line":83,"column":10},"end":{"line":83,"column":61}},"32":{"start":{"line":88,"column":6},"end":{"line":107,"column":9}},"33":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"34":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"35":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"37":{"start":{"line":93,"column":37},"end":{"line":93,"column":57}},"38":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"39":{"start":{"line":94,"column":37},"end":{"line":94,"column":58}},"40":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"41":{"start":{"line":98,"column":33},"end":{"line":98,"column":79}},"42":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"43":{"start":{"line":101,"column":25},"end":{"line":101,"column":74}},"44":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}},"45":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"46":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"47":{"start":{"line":104,"column":12},"end":{"line":104,"column":63}},"48":{"start":{"line":111,"column":4},"end":{"line":111,"column":18}},"49":{"start":{"line":126,"column":28},"end":{"line":138,"column":3}},"50":{"start":{"line":127,"column":14},"end":{"line":127,"column":28}},"51":{"start":{"line":128,"column":4},"end":{"line":136,"column":5}},"52":{"start":{"line":129,"column":6},"end":{"line":135,"column":7}},"53":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"54":{"start":{"line":133,"column":10},"end":{"line":133,"column":27}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":13}},"56":{"start":{"line":140,"column":24},"end":{"line":140,"column":26}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":66}},"58":{"start":{"line":142,"column":2},"end":{"line":142,"column":72}},"59":{"start":{"line":143,"column":2},"end":{"line":143,"column":72}},"60":{"start":{"line":144,"column":2},"end":{"line":144,"column":68}},"61":{"start":{"line":145,"column":2},"end":{"line":145,"column":92}},"62":{"start":{"line":146,"column":2},"end":{"line":146,"column":81}},"63":{"start":{"line":147,"column":2},"end":{"line":147,"column":80}},"64":{"start":{"line":148,"column":2},"end":{"line":151,"column":5}},"65":{"start":{"line":152,"column":2},"end":{"line":155,"column":5}},"66":{"start":{"line":156,"column":2},"end":{"line":166,"column":5}},"67":{"start":{"line":167,"column":2},"end":{"line":167,"column":87}},"68":{"start":{"line":168,"column":2},"end":{"line":173,"column":5}},"69":{"start":{"line":174,"column":2},"end":{"line":179,"column":5}},"70":{"start":{"line":177,"column":6},"end":{"line":177,"column":46}},"71":{"start":{"line":180,"column":2},"end":{"line":187,"column":5}},"72":{"start":{"line":183,"column":6},"end":{"line":185,"column":50}},"73":{"start":{"line":189,"column":2},"end":{"line":189,"column":63}},"74":{"start":{"line":203,"column":2},"end":{"line":203,"column":36}},"75":{"start":{"line":215,"column":2},"end":{"line":217,"column":3}},"76":{"start":{"line":216,"column":4},"end":{"line":216,"column":62}},"77":{"start":{"line":218,"column":2},"end":{"line":218,"column":13}},"78":{"start":{"line":249,"column":15},"end":{"line":249,"column":19}},"79":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"80":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"81":{"start":{"line":253,"column":6},"end":{"line":253,"column":21}},"82":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"83":{"start":{"line":257,"column":6},"end":{"line":257,"column":33}},"84":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"85":{"start":{"line":262,"column":31},"end":{"line":262,"column":80}},"86":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"87":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"88":{"start":{"line":267,"column":2},"end":{"line":267,"column":16}},"89":{"start":{"line":270,"column":0},"end":{"line":270,"column":41}}},"fnMap":{"0":{"name":"getLogger","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":39},"end":{"line":113,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":10}},"loc":{"start":{"line":55,"column":29},"end":{"line":112,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":70,"column":22},"end":{"line":70,"column":23}},"loc":{"start":{"line":70,"column":41},"end":{"line":85,"column":7}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":23},"end":{"line":88,"column":24}},"loc":{"start":{"line":88,"column":29},"end":{"line":107,"column":7}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":39},"end":{"line":101,"column":40}},"loc":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}}},"5":{"name":"assembleTokens","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":48},"end":{"line":190,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":28},"end":{"line":126,"column":29}},"loc":{"start":{"line":126,"column":39},"end":{"line":138,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":17},"end":{"line":176,"column":18}},"loc":{"start":{"line":176,"column":37},"end":{"line":178,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":182,"column":17},"end":{"line":182,"column":18}},"loc":{"start":{"line":182,"column":37},"end":{"line":186,"column":5}}},"9":{"name":"getUrl","decl":{"start":{"line":202,"column":9},"end":{"line":202,"column":15}},"loc":{"start":{"line":202,"column":21},"end":{"line":204,"column":1}}},"10":{"name":"format","decl":{"start":{"line":214,"column":9},"end":{"line":214,"column":15}},"loc":{"start":{"line":214,"column":29},"end":{"line":219,"column":1}}},"11":{"name":"createNoLogCondition","decl":{"start":{"line":248,"column":9},"end":{"line":248,"column":29}},"loc":{"start":{"line":248,"column":37},"end":{"line":268,"column":1}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":262,"column":41},"end":{"line":262,"column":42}},"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}}}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},{"start":{"line":42,"column":2},"end":{"line":48,"column":3}}]},"1":{"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":27}},"type":"binary-expr","locations":[{"start":{"line":43,"column":14},"end":{"line":43,"column":21}},{"start":{"line":43,"column":25},"end":{"line":43,"column":27}}]},"2":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}]},"3":{"loc":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"type":"binary-expr","locations":[{"start":{"line":52,"column":14},"end":{"line":52,"column":28}},{"start":{"line":52,"column":32},"end":{"line":52,"column":46}}]},"4":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":32},"end":{"line":53,"column":67}},{"start":{"line":53,"column":70},"end":{"line":53,"column":74}}]},"5":{"loc":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},{"start":{"line":57,"column":4},"end":{"line":57,"column":36}}]},"6":{"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},{"start":{"line":60,"column":4},"end":{"line":60,"column":60}}]},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":44}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":13}},{"start":{"line":60,"column":17},"end":{"line":60,"column":44}}]},"8":{"loc":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},{"start":{"line":62,"column":4},"end":{"line":108,"column":5}}]},"9":{"loc":{"start":{"line":62,"column":8},"end":{"line":62,"column":68}},"type":"binary-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":40}},{"start":{"line":62,"column":44},"end":{"line":62,"column":68}}]},"10":{"loc":{"start":{"line":75,"column":24},"end":{"line":75,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":24},"end":{"line":75,"column":31}},{"start":{"line":75,"column":35},"end":{"line":75,"column":37}}]},"11":{"loc":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},{"start":{"line":78,"column":8},"end":{"line":84,"column":9}}]},"12":{"loc":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},{"start":{"line":80,"column":10},"end":{"line":80,"column":47}}]},"13":{"loc":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},{"start":{"line":81,"column":10},"end":{"line":81,"column":48}}]},"14":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":91,"column":8},"end":{"line":95,"column":9}}]},"15":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":54}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":26}},{"start":{"line":91,"column":30},"end":{"line":91,"column":54}}]},"16":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"type":"if","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},{"start":{"line":93,"column":10},"end":{"line":93,"column":57}}]},"17":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"type":"if","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},{"start":{"line":94,"column":10},"end":{"line":94,"column":58}}]},"18":{"loc":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},{"start":{"line":97,"column":8},"end":{"line":106,"column":9}}]},"19":{"loc":{"start":{"line":98,"column":58},"end":{"line":98,"column":78}},"type":"binary-expr","locations":[{"start":{"line":98,"column":58},"end":{"line":98,"column":72}},{"start":{"line":98,"column":76},"end":{"line":98,"column":78}}]},"20":{"loc":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},{"start":{"line":100,"column":10},"end":{"line":105,"column":11}}]},"21":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"type":"if","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},{"start":{"line":102,"column":12},"end":{"line":102,"column":50}}]},"22":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},{"start":{"line":132,"column":8},"end":{"line":134,"column":9}}]},"23":{"loc":{"start":{"line":145,"column":54},"end":{"line":145,"column":88}},"type":"binary-expr","locations":[{"start":{"line":145,"column":54},"end":{"line":145,"column":70}},{"start":{"line":145,"column":74},"end":{"line":145,"column":88}}]},"24":{"loc":{"start":{"line":150,"column":17},"end":{"line":150,"column":66}},"type":"binary-expr","locations":[{"start":{"line":150,"column":17},"end":{"line":150,"column":36}},{"start":{"line":150,"column":40},"end":{"line":150,"column":60}},{"start":{"line":150,"column":64},"end":{"line":150,"column":66}}]},"25":{"loc":{"start":{"line":158,"column":17},"end":{"line":165,"column":5}},"type":"binary-expr","locations":[{"start":{"line":158,"column":17},"end":{"line":158,"column":47}},{"start":{"line":159,"column":4},"end":{"line":159,"column":10}},{"start":{"line":160,"column":4},"end":{"line":160,"column":22}},{"start":{"line":161,"column":5},"end":{"line":161,"column":15}},{"start":{"line":162,"column":7},"end":{"line":162,"column":31}},{"start":{"line":163,"column":9},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":61}}]},"26":{"loc":{"start":{"line":170,"column":17},"end":{"line":172,"column":7}},"type":"binary-expr","locations":[{"start":{"line":170,"column":18},"end":{"line":170,"column":30}},{"start":{"line":170,"column":34},"end":{"line":170,"column":64}},{"start":{"line":171,"column":5},"end":{"line":171,"column":18}},{"start":{"line":171,"column":22},"end":{"line":171,"column":53}},{"start":{"line":172,"column":4},"end":{"line":172,"column":7}}]},"27":{"loc":{"start":{"line":183,"column":13},"end":{"line":185,"column":49}},"type":"cond-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},{"start":{"line":185,"column":11},"end":{"line":185,"column":48}}]},"28":{"loc":{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":47}},{"start":{"line":184,"column":51},"end":{"line":184,"column":71}}]},"29":{"loc":{"start":{"line":185,"column":11},"end":{"line":185,"column":48}},"type":"binary-expr","locations":[{"start":{"line":185,"column":11},"end":{"line":185,"column":24}},{"start":{"line":185,"column":28},"end":{"line":185,"column":48}}]},"30":{"loc":{"start":{"line":203,"column":9},"end":{"line":203,"column":35}},"type":"binary-expr","locations":[{"start":{"line":203,"column":9},"end":{"line":203,"column":24}},{"start":{"line":203,"column":28},"end":{"line":203,"column":35}}]},"31":{"loc":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},{"start":{"line":251,"column":2},"end":{"line":265,"column":3}}]},"32":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{"line":252,"column":4},"end":{"line":254,"column":5}}]},"33":{"loc":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},{"start":{"line":256,"column":4},"end":{"line":258,"column":5}}]},"34":{"loc":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"type":"if","locations":[{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},{"start":{"line":260,"column":4},"end":{"line":264,"column":5}}]},"35":{"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"type":"cond-expr","locations":[{"start":{"line":262,"column":62},"end":{"line":262,"column":72}},{"start":{"line":262,"column":75},"end":{"line":262,"column":78}}]}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0,0,0,0,0,0],"26":[0,0,0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8de6ff12985e168d800fe4d220a8a32e3c1dbe2a"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/9aa39670c2cb9fae8644314e7fbd3b30.json b/node_modules/log4js/.nyc_output/9aa39670c2cb9fae8644314e7fbd3b30.json deleted file mode 100644 index 17e9f40..0000000 --- a/node_modules/log4js/.nyc_output/9aa39670c2cb9fae8644314e7fbd3b30.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":2,"12":2,"13":1,"14":1,"15":0,"16":0,"17":1,"18":1,"19":1,"20":0,"21":0,"22":0,"23":0,"24":1,"25":2,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":1,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":2,"108":0,"109":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":1,"7":1,"8":0,"9":1,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"0":[2,0],"1":[0,0],"2":[0,0],"3":[0,1],"4":[1,0],"5":[0,0],"6":[0,1],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf","contentHash":"d1d8e598552dfe064eef286d267900be_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":2,"1":2,"2":2,"3":2,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":2,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128","contentHash":"672b6336c04cfaa2a8588410ce063022_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}}},"fnMap":{"0":{"name":"stdoutAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":33},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":1,"8":1},"f":{"0":1,"1":1,"2":0},"b":{"0":[1,0],"1":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7fe10c84b315d3ba3e07ce62d5e48e59666eb827"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/a973bb3d7ef05123c649d42bfb29a26d.json b/node_modules/log4js/.nyc_output/a973bb3d7ef05123c649d42bfb29a26d.json deleted file mode 100644 index b36c475..0000000 --- a/node_modules/log4js/.nyc_output/a973bb3d7ef05123c649d42bfb29a26d.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/log4js.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/log4js.js","statementMap":{"0":{"start":{"line":35,"column":11},"end":{"line":35,"column":24}},"1":{"start":{"line":36,"column":13},"end":{"line":36,"column":28}},"2":{"start":{"line":37,"column":16},"end":{"line":37,"column":36}},"3":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"4":{"start":{"line":39,"column":21},"end":{"line":39,"column":40}},"5":{"start":{"line":40,"column":22},"end":{"line":40,"column":63}},"6":{"start":{"line":42,"column":15},"end":{"line":42,"column":34}},"7":{"start":{"line":44,"column":23},"end":{"line":44,"column":30}},"8":{"start":{"line":45,"column":16},"end":{"line":45,"column":18}},"9":{"start":{"line":46,"column":23},"end":{"line":46,"column":25}},"10":{"start":{"line":47,"column":26},"end":{"line":47,"column":28}},"11":{"start":{"line":48,"column":22},"end":{"line":53,"column":1}},"12":{"start":{"line":55,"column":16},"end":{"line":55,"column":18}},"13":{"start":{"line":58,"column":2},"end":{"line":58,"column":40}},"14":{"start":{"line":62,"column":0},"end":{"line":70,"column":2}},"15":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"16":{"start":{"line":65,"column":23},"end":{"line":65,"column":45}},"17":{"start":{"line":66,"column":4},"end":{"line":66,"column":51}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":40}},"19":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"20":{"start":{"line":73,"column":21},"end":{"line":73,"column":44}},"21":{"start":{"line":74,"column":17},"end":{"line":74,"column":19}},"22":{"start":{"line":75,"column":2},"end":{"line":75,"column":19}},"23":{"start":{"line":76,"column":2},"end":{"line":76,"column":29}},"24":{"start":{"line":77,"column":2},"end":{"line":83,"column":4}},"25":{"start":{"line":78,"column":4},"end":{"line":82,"column":5}},"26":{"start":{"line":79,"column":18},"end":{"line":79,"column":32}},"27":{"start":{"line":80,"column":6},"end":{"line":80,"column":44}},"28":{"start":{"line":81,"column":6},"end":{"line":81,"column":28}},"29":{"start":{"line":84,"column":2},"end":{"line":86,"column":4}},"30":{"start":{"line":85,"column":4},"end":{"line":85,"column":59}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":4}},"32":{"start":{"line":88,"column":4},"end":{"line":88,"column":59}},"33":{"start":{"line":90,"column":2},"end":{"line":92,"column":4}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":58}},"35":{"start":{"line":93,"column":2},"end":{"line":95,"column":4}},"36":{"start":{"line":94,"column":4},"end":{"line":94,"column":58}},"37":{"start":{"line":96,"column":2},"end":{"line":98,"column":4}},"38":{"start":{"line":97,"column":4},"end":{"line":97,"column":59}},"39":{"start":{"line":99,"column":2},"end":{"line":101,"column":4}},"40":{"start":{"line":100,"column":4},"end":{"line":100,"column":59}},"41":{"start":{"line":103,"column":2},"end":{"line":103,"column":16}},"42":{"start":{"line":107,"column":2},"end":{"line":107,"column":24}},"43":{"start":{"line":111,"column":34},"end":{"line":111,"column":66}},"44":{"start":{"line":112,"column":35},"end":{"line":112,"column":68}},"45":{"start":{"line":113,"column":2},"end":{"line":113,"column":107}},"46":{"start":{"line":117,"column":37},"end":{"line":117,"column":72}},"47":{"start":{"line":118,"column":35},"end":{"line":118,"column":68}},"48":{"start":{"line":119,"column":2},"end":{"line":119,"column":113}},"49":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"50":{"start":{"line":131,"column":4},"end":{"line":131,"column":49}},"51":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"52":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"53":{"start":{"line":142,"column":19},"end":{"line":142,"column":52}},"54":{"start":{"line":143,"column":6},"end":{"line":149,"column":7}},"55":{"start":{"line":144,"column":30},"end":{"line":144,"column":39}},"56":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"57":{"start":{"line":147,"column":10},"end":{"line":147,"column":47}},"58":{"start":{"line":154,"column":4},"end":{"line":154,"column":72}},"59":{"start":{"line":158,"column":4},"end":{"line":165,"column":5}},"60":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"61":{"start":{"line":160,"column":8},"end":{"line":160,"column":51}},"62":{"start":{"line":161,"column":8},"end":{"line":163,"column":11}},"63":{"start":{"line":162,"column":10},"end":{"line":162,"column":67}},"64":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":47}},"66":{"start":{"line":170,"column":6},"end":{"line":172,"column":9}},"67":{"start":{"line":171,"column":8},"end":{"line":171,"column":65}},"68":{"start":{"line":176,"column":2},"end":{"line":176,"column":37}},"69":{"start":{"line":185,"column":13},"end":{"line":185,"column":34}},"70":{"start":{"line":186,"column":19},"end":{"line":186,"column":31}},"71":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"72":{"start":{"line":189,"column":4},"end":{"line":189,"column":47}},"73":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"74":{"start":{"line":193,"column":4},"end":{"line":193,"column":28}},"75":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"76":{"start":{"line":197,"column":4},"end":{"line":197,"column":19}},"77":{"start":{"line":200,"column":2},"end":{"line":212,"column":5}},"78":{"start":{"line":201,"column":4},"end":{"line":201,"column":54}},"79":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"80":{"start":{"line":204,"column":6},"end":{"line":204,"column":40}},"81":{"start":{"line":206,"column":6},"end":{"line":210,"column":7}},"82":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"83":{"start":{"line":208,"column":10},"end":{"line":208,"column":63}},"84":{"start":{"line":216,"column":2},"end":{"line":220,"column":3}},"85":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":218,"column":6},"end":{"line":218,"column":51}},"87":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"88":{"start":{"line":225,"column":4},"end":{"line":225,"column":29}},"89":{"start":{"line":227,"column":2},"end":{"line":227,"column":37}},"90":{"start":{"line":233,"column":2},"end":{"line":233,"column":36}},"91":{"start":{"line":234,"column":2},"end":{"line":234,"column":17}},"92":{"start":{"line":235,"column":2},"end":{"line":239,"column":3}},"93":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"94":{"start":{"line":237,"column":6},"end":{"line":237,"column":48}},"95":{"start":{"line":243,"column":2},"end":{"line":243,"column":19}},"96":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"97":{"start":{"line":245,"column":4},"end":{"line":255,"column":7}},"98":{"start":{"line":246,"column":6},"end":{"line":246,"column":40}},"99":{"start":{"line":248,"column":6},"end":{"line":248,"column":45}},"100":{"start":{"line":249,"column":6},"end":{"line":254,"column":7}},"101":{"start":{"line":250,"column":8},"end":{"line":250,"column":80}},"102":{"start":{"line":251,"column":8},"end":{"line":251,"column":55}},"103":{"start":{"line":253,"column":8},"end":{"line":253,"column":95}},"104":{"start":{"line":260,"column":2},"end":{"line":260,"column":26}},"105":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"106":{"start":{"line":262,"column":17},"end":{"line":262,"column":50}},"107":{"start":{"line":265,"column":4},"end":{"line":276,"column":5}},"108":{"start":{"line":266,"column":23},"end":{"line":266,"column":32}},"109":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":45}},"111":{"start":{"line":271,"column":6},"end":{"line":275,"column":7}},"112":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"113":{"start":{"line":273,"column":10},"end":{"line":273,"column":62}},"114":{"start":{"line":281,"column":2},"end":{"line":281,"column":63}},"115":{"start":{"line":290,"column":2},"end":{"line":290,"column":44}},"116":{"start":{"line":293,"column":20},"end":{"line":293,"column":22}},"117":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"118":{"start":{"line":297,"column":4},"end":{"line":297,"column":57}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":19}},"120":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"121":{"start":{"line":304,"column":4},"end":{"line":316,"column":5}},"122":{"start":{"line":305,"column":6},"end":{"line":305,"column":23}},"123":{"start":{"line":306,"column":6},"end":{"line":306,"column":37}},"124":{"start":{"line":307,"column":6},"end":{"line":307,"column":52}},"125":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"126":{"start":{"line":310,"column":8},"end":{"line":310,"column":25}},"127":{"start":{"line":313,"column":6},"end":{"line":315,"column":8}},"128":{"start":{"line":321,"column":16},"end":{"line":321,"column":46}},"129":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"130":{"start":{"line":322,"column":14},"end":{"line":322,"column":21}},"131":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"132":{"start":{"line":325,"column":4},"end":{"line":325,"column":75}},"133":{"start":{"line":327,"column":2},"end":{"line":327,"column":32}},"134":{"start":{"line":332,"column":2},"end":{"line":336,"column":3}},"135":{"start":{"line":333,"column":4},"end":{"line":333,"column":52}},"136":{"start":{"line":335,"column":4},"end":{"line":335,"column":78}},"137":{"start":{"line":337,"column":2},"end":{"line":337,"column":15}},"138":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"139":{"start":{"line":342,"column":4},"end":{"line":342,"column":39}},"140":{"start":{"line":343,"column":4},"end":{"line":343,"column":31}},"141":{"start":{"line":345,"column":2},"end":{"line":345,"column":34}},"142":{"start":{"line":346,"column":2},"end":{"line":346,"column":45}},"143":{"start":{"line":347,"column":2},"end":{"line":347,"column":93}},"144":{"start":{"line":351,"column":15},"end":{"line":351,"column":40}},"145":{"start":{"line":352,"column":2},"end":{"line":352,"column":47}},"146":{"start":{"line":353,"column":2},"end":{"line":353,"column":26}},"147":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"148":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"149":{"start":{"line":357,"column":6},"end":{"line":357,"column":47}},"150":{"start":{"line":359,"column":4},"end":{"line":359,"column":60}},"151":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"152":{"start":{"line":362,"column":6},"end":{"line":364,"column":8}},"153":{"start":{"line":367,"column":2},"end":{"line":367,"column":36}},"154":{"start":{"line":370,"column":33},"end":{"line":376,"column":1}},"155":{"start":{"line":380,"column":4},"end":{"line":384,"column":6}},"156":{"start":{"line":383,"column":6},"end":{"line":383,"column":46}},"157":{"start":{"line":387,"column":2},"end":{"line":387,"column":42}},"158":{"start":{"line":389,"column":2},"end":{"line":391,"column":5}},"159":{"start":{"line":390,"column":4},"end":{"line":390,"column":77}},"160":{"start":{"line":395,"column":2},"end":{"line":397,"column":5}},"161":{"start":{"line":396,"column":4},"end":{"line":396,"column":51}},"162":{"start":{"line":412,"column":2},"end":{"line":416,"column":3}},"163":{"start":{"line":413,"column":4},"end":{"line":413,"column":56}},"164":{"start":{"line":415,"column":4},"end":{"line":415,"column":39}},"165":{"start":{"line":417,"column":2},"end":{"line":417,"column":24}},"166":{"start":{"line":431,"column":2},"end":{"line":431,"column":63}},"167":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"168":{"start":{"line":434,"column":4},"end":{"line":434,"column":74}},"169":{"start":{"line":437,"column":2},"end":{"line":437,"column":76}},"170":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"171":{"start":{"line":439,"column":4},"end":{"line":439,"column":79}},"172":{"start":{"line":441,"column":2},"end":{"line":441,"column":75}},"173":{"start":{"line":455,"column":2},"end":{"line":455,"column":37}},"174":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"175":{"start":{"line":459,"column":4},"end":{"line":459,"column":39}},"176":{"start":{"line":463,"column":18},"end":{"line":463,"column":19}},"177":{"start":{"line":465,"column":28},"end":{"line":465,"column":30}},"178":{"start":{"line":468,"column":4},"end":{"line":468,"column":25}},"179":{"start":{"line":469,"column":4},"end":{"line":469,"column":16}},"180":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"181":{"start":{"line":471,"column":6},"end":{"line":471,"column":16}},"182":{"start":{"line":475,"column":2},"end":{"line":479,"column":3}},"183":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":477,"column":6},"end":{"line":477,"column":58}},"185":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"186":{"start":{"line":482,"column":4},"end":{"line":482,"column":16}},"187":{"start":{"line":485,"column":2},"end":{"line":487,"column":5}},"188":{"start":{"line":486,"column":4},"end":{"line":486,"column":26}},"189":{"start":{"line":489,"column":2},"end":{"line":489,"column":14}},"190":{"start":{"line":513,"column":15},"end":{"line":535,"column":1}},"191":{"start":{"line":537,"column":0},"end":{"line":537,"column":24}},"192":{"start":{"line":540,"column":0},"end":{"line":540,"column":12}}},"fnMap":{"0":{"name":"hasLogger","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":18}},"loc":{"start":{"line":57,"column":27},"end":{"line":59,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":47},"end":{"line":70,"column":1}}},"2":{"name":"getBufferedLogger","decl":{"start":{"line":72,"column":9},"end":{"line":72,"column":26}},"loc":{"start":{"line":72,"column":41},"end":{"line":104,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":17},"end":{"line":77,"column":18}},"loc":{"start":{"line":77,"column":29},"end":{"line":83,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":17},"end":{"line":84,"column":18}},"loc":{"start":{"line":84,"column":36},"end":{"line":86,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":87,"column":17},"end":{"line":87,"column":18}},"loc":{"start":{"line":87,"column":36},"end":{"line":89,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":17}},"loc":{"start":{"line":90,"column":35},"end":{"line":92,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":17}},"loc":{"start":{"line":93,"column":35},"end":{"line":95,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":17},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":36},"end":{"line":98,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":18}},"loc":{"start":{"line":99,"column":36},"end":{"line":101,"column":3}}},"10":{"name":"normalizeCategory","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":37},"end":{"line":108,"column":1}}},"11":{"name":"doesLevelEntryContainsLogger","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":37}},"loc":{"start":{"line":110,"column":69},"end":{"line":114,"column":1}}},"12":{"name":"doesAppenderContainsLogger","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":35}},"loc":{"start":{"line":116,"column":70},"end":{"line":120,"column":1}}},"13":{"name":"getLogger","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":18}},"loc":{"start":{"line":128,"column":39},"end":{"line":177,"column":1}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":161,"column":29},"end":{"line":161,"column":30}},"loc":{"start":{"line":161,"column":43},"end":{"line":163,"column":9}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":170,"column":27},"end":{"line":170,"column":28}},"loc":{"start":{"line":170,"column":41},"end":{"line":172,"column":7}}},"16":{"name":"addAppender","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":20}},"loc":{"start":{"line":182,"column":23},"end":{"line":213,"column":1}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":200,"column":15},"end":{"line":200,"column":16}},"loc":{"start":{"line":200,"column":37},"end":{"line":212,"column":3}}},"18":{"name":"addAppenderToAllLoggers","decl":{"start":{"line":215,"column":9},"end":{"line":215,"column":32}},"loc":{"start":{"line":215,"column":43},"end":{"line":221,"column":1}}},"19":{"name":"addAppenderToCategory","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":30}},"loc":{"start":{"line":223,"column":51},"end":{"line":228,"column":1}}},"20":{"name":"clearAppenders","decl":{"start":{"line":230,"column":9},"end":{"line":230,"column":23}},"loc":{"start":{"line":230,"column":26},"end":{"line":240,"column":1}}},"21":{"name":"configureAppenders","decl":{"start":{"line":242,"column":9},"end":{"line":242,"column":27}},"loc":{"start":{"line":242,"column":51},"end":{"line":257,"column":1}}},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":25},"end":{"line":245,"column":26}},"loc":{"start":{"line":245,"column":45},"end":{"line":255,"column":5}}},"23":{"name":"configureLevels","decl":{"start":{"line":259,"column":9},"end":{"line":259,"column":24}},"loc":{"start":{"line":259,"column":34},"end":{"line":278,"column":1}}},"24":{"name":"setGlobalLogLevel","decl":{"start":{"line":280,"column":9},"end":{"line":280,"column":26}},"loc":{"start":{"line":280,"column":34},"end":{"line":282,"column":1}}},"25":{"name":"getDefaultLogger","decl":{"start":{"line":289,"column":9},"end":{"line":289,"column":25}},"loc":{"start":{"line":289,"column":28},"end":{"line":291,"column":1}}},"26":{"name":"loadConfigurationFile","decl":{"start":{"line":295,"column":9},"end":{"line":295,"column":30}},"loc":{"start":{"line":295,"column":41},"end":{"line":300,"column":1}}},"27":{"name":"configureOnceOff","decl":{"start":{"line":302,"column":9},"end":{"line":302,"column":25}},"loc":{"start":{"line":302,"column":43},"end":{"line":318,"column":1}}},"28":{"name":"reloadConfiguration","decl":{"start":{"line":320,"column":9},"end":{"line":320,"column":28}},"loc":{"start":{"line":320,"column":38},"end":{"line":328,"column":1}}},"29":{"name":"getMTime","decl":{"start":{"line":330,"column":9},"end":{"line":330,"column":17}},"loc":{"start":{"line":330,"column":28},"end":{"line":338,"column":1}}},"30":{"name":"initReloadConfiguration","decl":{"start":{"line":340,"column":9},"end":{"line":340,"column":32}},"loc":{"start":{"line":340,"column":52},"end":{"line":348,"column":1}}},"31":{"name":"configure","decl":{"start":{"line":350,"column":9},"end":{"line":350,"column":18}},"loc":{"start":{"line":350,"column":55},"end":{"line":368,"column":1}}},"32":{"name":"replaceConsole","decl":{"start":{"line":378,"column":9},"end":{"line":378,"column":23}},"loc":{"start":{"line":378,"column":32},"end":{"line":392,"column":1}}},"33":{"name":"replaceWith","decl":{"start":{"line":379,"column":11},"end":{"line":379,"column":22}},"loc":{"start":{"line":379,"column":27},"end":{"line":385,"column":3}}},"34":{"name":"(anonymous_34)","decl":{"start":{"line":380,"column":11},"end":{"line":380,"column":12}},"loc":{"start":{"line":380,"column":23},"end":{"line":384,"column":5}}},"35":{"name":"(anonymous_35)","decl":{"start":{"line":389,"column":52},"end":{"line":389,"column":53}},"loc":{"start":{"line":389,"column":62},"end":{"line":391,"column":3}}},"36":{"name":"restoreConsole","decl":{"start":{"line":394,"column":9},"end":{"line":394,"column":23}},"loc":{"start":{"line":394,"column":26},"end":{"line":398,"column":1}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":395,"column":52},"end":{"line":395,"column":53}},"loc":{"start":{"line":395,"column":62},"end":{"line":397,"column":3}}},"38":{"name":"requireAppender","decl":{"start":{"line":410,"column":9},"end":{"line":410,"column":24}},"loc":{"start":{"line":410,"column":35},"end":{"line":418,"column":1}}},"39":{"name":"loadAppender","decl":{"start":{"line":430,"column":9},"end":{"line":430,"column":21}},"loc":{"start":{"line":430,"column":48},"end":{"line":442,"column":1}}},"40":{"name":"shutdown","decl":{"start":{"line":452,"column":9},"end":{"line":452,"column":17}},"loc":{"start":{"line":452,"column":22},"end":{"line":490,"column":1}}},"41":{"name":"complete","decl":{"start":{"line":467,"column":11},"end":{"line":467,"column":19}},"loc":{"start":{"line":467,"column":25},"end":{"line":473,"column":3}}},"42":{"name":"(anonymous_42)","decl":{"start":{"line":485,"column":28},"end":{"line":485,"column":29}},"loc":{"start":{"line":485,"column":45},"end":{"line":487,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},{"start":{"line":64,"column":2},"end":{"line":68,"column":3}}]},"1":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":66}},"type":"binary-expr","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":34}},{"start":{"line":64,"column":38},"end":{"line":64,"column":66}}]},"2":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{"line":130,"column":2},"end":{"line":132,"column":3}}]},"3":{"loc":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},{"start":{"line":134,"column":2},"end":{"line":174,"column":3}}]},"4":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{"line":139,"column":4},"end":{"line":150,"column":5}}]},"5":{"loc":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},{"start":{"line":145,"column":8},"end":{"line":148,"column":9}}]},"6":{"loc":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},{"start":{"line":159,"column":6},"end":{"line":164,"column":7}}]},"7":{"loc":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},{"start":{"line":168,"column":4},"end":{"line":173,"column":5}}]},"8":{"loc":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"type":"if","locations":[{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},{"start":{"line":188,"column":2},"end":{"line":190,"column":3}}]},"9":{"loc":{"start":{"line":188,"column":6},"end":{"line":188,"column":54}},"type":"binary-expr","locations":[{"start":{"line":188,"column":6},"end":{"line":188,"column":21}},{"start":{"line":188,"column":25},"end":{"line":188,"column":54}}]},"10":{"loc":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},{"start":{"line":192,"column":2},"end":{"line":194,"column":3}}]},"11":{"loc":{"start":{"line":192,"column":6},"end":{"line":192,"column":48}},"type":"binary-expr","locations":[{"start":{"line":192,"column":6},"end":{"line":192,"column":23}},{"start":{"line":192,"column":27},"end":{"line":192,"column":48}}]},"12":{"loc":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"type":"if","locations":[{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},{"start":{"line":196,"column":2},"end":{"line":198,"column":3}}]},"13":{"loc":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"type":"if","locations":[{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},{"start":{"line":203,"column":4},"end":{"line":211,"column":5}}]},"14":{"loc":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},{"start":{"line":207,"column":8},"end":{"line":209,"column":9}}]},"15":{"loc":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},{"start":{"line":217,"column":4},"end":{"line":219,"column":5}}]},"16":{"loc":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"type":"if","locations":[{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},{"start":{"line":224,"column":2},"end":{"line":226,"column":3}}]},"17":{"loc":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"type":"if","locations":[{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},{"start":{"line":236,"column":4},"end":{"line":238,"column":5}}]},"18":{"loc":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},{"start":{"line":244,"column":2},"end":{"line":256,"column":3}}]},"19":{"loc":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"type":"if","locations":[{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},{"start":{"line":261,"column":2},"end":{"line":277,"column":3}}]},"20":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{"line":267,"column":6},"end":{"line":269,"column":7}}]},"21":{"loc":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},{"start":{"line":272,"column":8},"end":{"line":274,"column":9}}]},"22":{"loc":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"type":"if","locations":[{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},{"start":{"line":296,"column":2},"end":{"line":298,"column":3}}]},"23":{"loc":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"type":"if","locations":[{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},{"start":{"line":303,"column":2},"end":{"line":317,"column":3}}]},"24":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{"line":309,"column":6},"end":{"line":311,"column":7}}]},"25":{"loc":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"type":"if","locations":[{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},{"start":{"line":322,"column":2},"end":{"line":322,"column":21}}]},"26":{"loc":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"type":"if","locations":[{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},{"start":{"line":324,"column":2},"end":{"line":326,"column":3}}]},"27":{"loc":{"start":{"line":324,"column":6},"end":{"line":324,"column":82}},"type":"binary-expr","locations":[{"start":{"line":324,"column":6},"end":{"line":324,"column":27}},{"start":{"line":324,"column":32},"end":{"line":324,"column":81}}]},"28":{"loc":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"type":"if","locations":[{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},{"start":{"line":341,"column":2},"end":{"line":344,"column":3}}]},"29":{"loc":{"start":{"line":352,"column":11},"end":{"line":352,"column":46}},"type":"binary-expr","locations":[{"start":{"line":352,"column":11},"end":{"line":352,"column":17}},{"start":{"line":352,"column":21},"end":{"line":352,"column":46}}]},"30":{"loc":{"start":{"line":353,"column":12},"end":{"line":353,"column":25}},"type":"binary-expr","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":19}},{"start":{"line":353,"column":23},"end":{"line":353,"column":25}}]},"31":{"loc":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"type":"if","locations":[{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},{"start":{"line":355,"column":2},"end":{"line":366,"column":3}}]},"32":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":75}},"type":"binary-expr","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":26}},{"start":{"line":355,"column":30},"end":{"line":355,"column":45}},{"start":{"line":355,"column":49},"end":{"line":355,"column":75}}]},"33":{"loc":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"type":"if","locations":[{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},{"start":{"line":356,"column":4},"end":{"line":358,"column":5}}]},"34":{"loc":{"start":{"line":359,"column":13},"end":{"line":359,"column":59}},"type":"binary-expr","locations":[{"start":{"line":359,"column":13},"end":{"line":359,"column":42}},{"start":{"line":359,"column":46},"end":{"line":359,"column":59}}]},"35":{"loc":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"type":"if","locations":[{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},{"start":{"line":361,"column":4},"end":{"line":365,"column":5}}]},"36":{"loc":{"start":{"line":387,"column":11},"end":{"line":387,"column":41}},"type":"binary-expr","locations":[{"start":{"line":387,"column":11},"end":{"line":387,"column":17}},{"start":{"line":387,"column":21},"end":{"line":387,"column":41}}]},"37":{"loc":{"start":{"line":390,"column":32},"end":{"line":390,"column":75}},"type":"cond-expr","locations":[{"start":{"line":390,"column":49},"end":{"line":390,"column":60}},{"start":{"line":390,"column":63},"end":{"line":390,"column":75}}]},"38":{"loc":{"start":{"line":431,"column":19},"end":{"line":431,"column":62}},"type":"binary-expr","locations":[{"start":{"line":431,"column":19},"end":{"line":431,"column":33}},{"start":{"line":431,"column":37},"end":{"line":431,"column":62}}]},"39":{"loc":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"type":"if","locations":[{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},{"start":{"line":433,"column":2},"end":{"line":435,"column":3}}]},"40":{"loc":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"type":"if","locations":[{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},{"start":{"line":438,"column":2},"end":{"line":440,"column":3}}]},"41":{"loc":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"type":"if","locations":[{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},{"start":{"line":458,"column":2},"end":{"line":460,"column":3}}]},"42":{"loc":{"start":{"line":468,"column":12},"end":{"line":468,"column":24}},"type":"binary-expr","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":17}},{"start":{"line":468,"column":21},"end":{"line":468,"column":24}}]},"43":{"loc":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"type":"if","locations":[{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},{"start":{"line":470,"column":4},"end":{"line":472,"column":5}}]},"44":{"loc":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"type":"if","locations":[{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},{"start":{"line":476,"column":4},"end":{"line":478,"column":5}}]},"45":{"loc":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"type":"if","locations":[{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},{"start":{"line":481,"column":2},"end":{"line":483,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":3,"14":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":6,"43":0,"44":0,"45":0,"46":3,"47":3,"48":3,"49":3,"50":0,"51":3,"52":1,"53":0,"54":0,"55":0,"56":0,"57":0,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":0,"66":0,"67":0,"68":3,"69":4,"70":4,"71":4,"72":3,"73":4,"74":1,"75":4,"76":0,"77":4,"78":4,"79":4,"80":1,"81":3,"82":2,"83":2,"84":1,"85":0,"86":0,"87":4,"88":2,"89":4,"90":2,"91":2,"92":2,"93":0,"94":0,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":0,"104":1,"105":1,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":1,"117":1,"118":0,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":1,"145":1,"146":1,"147":1,"148":1,"149":0,"150":1,"151":0,"152":0,"153":1,"154":1,"155":0,"156":0,"157":0,"158":0,"159":0,"160":1,"161":5,"162":1,"163":1,"164":0,"165":1,"166":1,"167":1,"168":0,"169":1,"170":1,"171":0,"172":1,"173":1,"174":1,"175":0,"176":1,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":0,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1},"f":{"0":3,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":6,"11":0,"12":3,"13":3,"14":1,"15":0,"16":4,"17":4,"18":1,"19":4,"20":2,"21":1,"22":1,"23":1,"24":0,"25":0,"26":1,"27":1,"28":0,"29":0,"30":0,"31":1,"32":0,"33":0,"34":0,"35":0,"36":1,"37":5,"38":1,"39":1,"40":1,"41":1,"42":1},"b":{"0":[0,0],"1":[0,0],"2":[0,3],"3":[1,2],"4":[0,1],"5":[0,0],"6":[1,0],"7":[0,1],"8":[3,1],"9":[4,4],"10":[1,3],"11":[4,4],"12":[0,4],"13":[1,3],"14":[2,0],"15":[0,0],"16":[2,2],"17":[0,0],"18":[1,0],"19":[0,1],"20":[0,0],"21":[0,0],"22":[0,1],"23":[1,0],"24":[0,1],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[1,1],"30":[1,1],"31":[1,0],"32":[1,0,0],"33":[0,1],"34":[1,1],"35":[0,0],"36":[0,0],"37":[0,0],"38":[1,1],"39":[0,1],"40":[0,1],"41":[0,1],"42":[1,1],"43":[1,0],"44":[1,0],"45":[0,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3a43360dca26d74ffd67cfe5ec75309575f038ac","contentHash":"10edbceee6329f5ee9c0d2f625fd311b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":1,"13":6,"14":12,"15":0,"16":0,"17":12,"18":6,"19":6,"20":0,"21":0,"22":0,"23":0,"24":6,"25":1,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":6,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":1,"108":0,"109":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":6,"7":12,"8":0,"9":6,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":6,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"0":[1,0],"1":[0,0],"2":[0,0],"3":[0,12],"4":[12,0],"5":[0,0],"6":[0,6],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf","contentHash":"d1d8e598552dfe064eef286d267900be_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":1,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128","contentHash":"672b6336c04cfaa2a8588410ce063022_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/levels.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/levels.js","statementMap":{"0":{"start":{"line":9,"column":4},"end":{"line":9,"column":23}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":42}},"9":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":39}},"11":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"12":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":24}},"14":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"15":{"start":{"line":52,"column":4},"end":{"line":52,"column":43}},"16":{"start":{"line":53,"column":4},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"18":{"start":{"line":57,"column":4},"end":{"line":57,"column":62}},"19":{"start":{"line":60,"column":2},"end":{"line":60,"column":34}},"20":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"21":{"start":{"line":66,"column":23},"end":{"line":66,"column":45}},"22":{"start":{"line":67,"column":4},"end":{"line":67,"column":32}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"24":{"start":{"line":72,"column":0},"end":{"line":85,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":13},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":34},"end":{"line":22,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":37},"end":{"line":29,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":31,"column":24},"end":{"line":36,"column":3}}},"5":{"name":"toLevel","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":37},"end":{"line":61,"column":1}}},"6":{"name":"getLevel","decl":{"start":{"line":63,"column":9},"end":{"line":63,"column":17}},"loc":{"start":{"line":63,"column":28},"end":{"line":70,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{"line":32,"column":4},"end":{"line":34,"column":5}}]},"3":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}]},"4":{"loc":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},{"start":{"line":51,"column":2},"end":{"line":54,"column":3}}]},"5":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}]},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":61}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":45}},{"start":{"line":57,"column":49},"end":{"line":57,"column":61}}]},"7":{"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},{"start":{"line":65,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":9,"1":9,"2":7,"3":3,"4":0,"5":3,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":10,"13":0,"14":10,"15":0,"16":0,"17":10,"18":10,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1},"f":{"0":9,"1":7,"2":3,"3":0,"4":0,"5":10,"6":0},"b":{"0":[0,3],"1":[0,0],"2":[0,0],"3":[0,10],"4":[0,10],"5":[10,0],"6":[10,0],"7":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"daae16d9a9a708cc048c35299774fc26e22cf555","contentHash":"de3beea1cbd1c093130b8e3a1963e9d2_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":21},"end":{"line":6,"column":38}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":36}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":27}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":32}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":23}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":25}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":50,"column":4},"end":{"line":50,"column":45}},"11":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"12":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":67}},"14":{"start":{"line":62,"column":4},"end":{"line":62,"column":22}},"15":{"start":{"line":68,"column":17},"end":{"line":68,"column":38}},"16":{"start":{"line":69,"column":21},"end":{"line":69,"column":57}},"17":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":13}},"19":{"start":{"line":73,"column":4},"end":{"line":73,"column":39}},"20":{"start":{"line":77,"column":4},"end":{"line":77,"column":54}},"21":{"start":{"line":81,"column":25},"end":{"line":81,"column":75}},"22":{"start":{"line":82,"column":4},"end":{"line":82,"column":35}},"23":{"start":{"line":86,"column":0},"end":{"line":86,"column":43}},"24":{"start":{"line":87,"column":0},"end":{"line":87,"column":38}},"25":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"26":{"start":{"line":92,"column":16},"end":{"line":92,"column":38}},"27":{"start":{"line":94,"column":24},"end":{"line":94,"column":54}},"28":{"start":{"line":95,"column":22},"end":{"line":95,"column":81}},"29":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}},"30":{"start":{"line":96,"column":24},"end":{"line":96,"column":75}},"31":{"start":{"line":98,"column":2},"end":{"line":100,"column":4}},"32":{"start":{"line":99,"column":4},"end":{"line":99,"column":49}},"33":{"start":{"line":102,"column":2},"end":{"line":109,"column":4}},"34":{"start":{"line":105,"column":17},"end":{"line":105,"column":38}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":117,"column":2},"end":{"line":117,"column":27}},"38":{"start":{"line":125,"column":2},"end":{"line":125,"column":26}},"39":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"40":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"41":{"start":{"line":130,"column":0},"end":{"line":130,"column":57}},"42":{"start":{"line":131,"column":0},"end":{"line":131,"column":55}},"43":{"start":{"line":132,"column":0},"end":{"line":132,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":49},"end":{"line":32,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":27},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":65,"column":8},"end":{"line":74,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":29},"end":{"line":78,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":20},"end":{"line":83,"column":3}}},"7":{"name":"addLevelMethods","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":33},"end":{"line":110,"column":1}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":95,"column":57},"end":{"line":95,"column":58}},"loc":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":50},"end":{"line":98,"column":51}},"loc":{"start":{"line":98,"column":62},"end":{"line":100,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":34},"end":{"line":102,"column":35}},"loc":{"start":{"line":102,"column":46},"end":{"line":109,"column":3}}},"11":{"name":"disableAllLogWrites","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":28}},"loc":{"start":{"line":116,"column":31},"end":{"line":118,"column":1}}},"12":{"name":"enableAllLogWrites","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":27}},"loc":{"start":{"line":124,"column":30},"end":{"line":126,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"type":"binary-expr","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}}]},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":4},"end":{"line":54,"column":5}}]},"2":{"loc":{"start":{"line":58,"column":39},"end":{"line":58,"column":65}},"type":"binary-expr","locations":[{"start":{"line":58,"column":39},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":65}}]},"3":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}]},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}}]},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":106,"column":54}},"type":"binary-expr","locations":[{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},{"start":{"line":106,"column":28},"end":{"line":106,"column":54}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":3,"5":3,"6":3,"7":3,"8":3,"9":1,"10":1,"11":1,"12":0,"13":0,"14":0,"15":3,"16":3,"17":3,"18":0,"19":3,"20":3,"21":3,"22":3,"23":1,"24":1,"25":1,"26":7,"27":7,"28":7,"29":0,"30":7,"31":7,"32":0,"33":7,"34":0,"35":0,"36":0,"37":1,"38":2,"39":1,"40":1,"41":1,"42":1,"43":1},"f":{"0":3,"1":1,"2":0,"3":0,"4":3,"5":3,"6":3,"7":7,"8":0,"9":0,"10":0,"11":1,"12":2},"b":{"0":[1,0],"1":[0,1],"2":[0,0],"3":[0,3],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7d8e54612a5d21505ecc3cd8c5eea114082c17db","contentHash":"00d625ca9babf994c26685dc45e2004b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":7,"column":23},"end":{"line":10,"column":18}},"2":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"4":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":34}},"6":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"7":{"start":{"line":50,"column":21},"end":{"line":50,"column":30}},"8":{"start":{"line":51,"column":14},"end":{"line":51,"column":56}},"9":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"10":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"11":{"start":{"line":55,"column":2},"end":{"line":112,"column":4}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"13":{"start":{"line":57,"column":22},"end":{"line":57,"column":36}},"14":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"15":{"start":{"line":60,"column":46},"end":{"line":60,"column":60}},"16":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"17":{"start":{"line":63,"column":20},"end":{"line":63,"column":30}},"18":{"start":{"line":64,"column":24},"end":{"line":64,"column":37}},"19":{"start":{"line":67,"column":6},"end":{"line":67,"column":26}},"20":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"21":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":37}},"23":{"start":{"line":74,"column":8},"end":{"line":74,"column":32}},"24":{"start":{"line":75,"column":8},"end":{"line":75,"column":38}},"25":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"26":{"start":{"line":79,"column":10},"end":{"line":79,"column":30}},"27":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"28":{"start":{"line":80,"column":27},"end":{"line":80,"column":47}},"29":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"30":{"start":{"line":81,"column":27},"end":{"line":81,"column":48}},"31":{"start":{"line":83,"column":10},"end":{"line":83,"column":61}},"32":{"start":{"line":88,"column":6},"end":{"line":107,"column":9}},"33":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"34":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"35":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"37":{"start":{"line":93,"column":37},"end":{"line":93,"column":57}},"38":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"39":{"start":{"line":94,"column":37},"end":{"line":94,"column":58}},"40":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"41":{"start":{"line":98,"column":33},"end":{"line":98,"column":79}},"42":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"43":{"start":{"line":101,"column":25},"end":{"line":101,"column":74}},"44":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}},"45":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"46":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"47":{"start":{"line":104,"column":12},"end":{"line":104,"column":63}},"48":{"start":{"line":111,"column":4},"end":{"line":111,"column":18}},"49":{"start":{"line":126,"column":28},"end":{"line":138,"column":3}},"50":{"start":{"line":127,"column":14},"end":{"line":127,"column":28}},"51":{"start":{"line":128,"column":4},"end":{"line":136,"column":5}},"52":{"start":{"line":129,"column":6},"end":{"line":135,"column":7}},"53":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"54":{"start":{"line":133,"column":10},"end":{"line":133,"column":27}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":13}},"56":{"start":{"line":140,"column":24},"end":{"line":140,"column":26}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":66}},"58":{"start":{"line":142,"column":2},"end":{"line":142,"column":72}},"59":{"start":{"line":143,"column":2},"end":{"line":143,"column":72}},"60":{"start":{"line":144,"column":2},"end":{"line":144,"column":68}},"61":{"start":{"line":145,"column":2},"end":{"line":145,"column":92}},"62":{"start":{"line":146,"column":2},"end":{"line":146,"column":81}},"63":{"start":{"line":147,"column":2},"end":{"line":147,"column":80}},"64":{"start":{"line":148,"column":2},"end":{"line":151,"column":5}},"65":{"start":{"line":152,"column":2},"end":{"line":155,"column":5}},"66":{"start":{"line":156,"column":2},"end":{"line":166,"column":5}},"67":{"start":{"line":167,"column":2},"end":{"line":167,"column":87}},"68":{"start":{"line":168,"column":2},"end":{"line":173,"column":5}},"69":{"start":{"line":174,"column":2},"end":{"line":179,"column":5}},"70":{"start":{"line":177,"column":6},"end":{"line":177,"column":46}},"71":{"start":{"line":180,"column":2},"end":{"line":187,"column":5}},"72":{"start":{"line":183,"column":6},"end":{"line":185,"column":50}},"73":{"start":{"line":189,"column":2},"end":{"line":189,"column":63}},"74":{"start":{"line":203,"column":2},"end":{"line":203,"column":36}},"75":{"start":{"line":215,"column":2},"end":{"line":217,"column":3}},"76":{"start":{"line":216,"column":4},"end":{"line":216,"column":62}},"77":{"start":{"line":218,"column":2},"end":{"line":218,"column":13}},"78":{"start":{"line":249,"column":15},"end":{"line":249,"column":19}},"79":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"80":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"81":{"start":{"line":253,"column":6},"end":{"line":253,"column":21}},"82":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"83":{"start":{"line":257,"column":6},"end":{"line":257,"column":33}},"84":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"85":{"start":{"line":262,"column":31},"end":{"line":262,"column":80}},"86":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"87":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"88":{"start":{"line":267,"column":2},"end":{"line":267,"column":16}},"89":{"start":{"line":270,"column":0},"end":{"line":270,"column":41}}},"fnMap":{"0":{"name":"getLogger","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":39},"end":{"line":113,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":10}},"loc":{"start":{"line":55,"column":29},"end":{"line":112,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":70,"column":22},"end":{"line":70,"column":23}},"loc":{"start":{"line":70,"column":41},"end":{"line":85,"column":7}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":23},"end":{"line":88,"column":24}},"loc":{"start":{"line":88,"column":29},"end":{"line":107,"column":7}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":39},"end":{"line":101,"column":40}},"loc":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}}},"5":{"name":"assembleTokens","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":48},"end":{"line":190,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":28},"end":{"line":126,"column":29}},"loc":{"start":{"line":126,"column":39},"end":{"line":138,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":17},"end":{"line":176,"column":18}},"loc":{"start":{"line":176,"column":37},"end":{"line":178,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":182,"column":17},"end":{"line":182,"column":18}},"loc":{"start":{"line":182,"column":37},"end":{"line":186,"column":5}}},"9":{"name":"getUrl","decl":{"start":{"line":202,"column":9},"end":{"line":202,"column":15}},"loc":{"start":{"line":202,"column":21},"end":{"line":204,"column":1}}},"10":{"name":"format","decl":{"start":{"line":214,"column":9},"end":{"line":214,"column":15}},"loc":{"start":{"line":214,"column":29},"end":{"line":219,"column":1}}},"11":{"name":"createNoLogCondition","decl":{"start":{"line":248,"column":9},"end":{"line":248,"column":29}},"loc":{"start":{"line":248,"column":37},"end":{"line":268,"column":1}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":262,"column":41},"end":{"line":262,"column":42}},"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}}}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},{"start":{"line":42,"column":2},"end":{"line":48,"column":3}}]},"1":{"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":27}},"type":"binary-expr","locations":[{"start":{"line":43,"column":14},"end":{"line":43,"column":21}},{"start":{"line":43,"column":25},"end":{"line":43,"column":27}}]},"2":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}]},"3":{"loc":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"type":"binary-expr","locations":[{"start":{"line":52,"column":14},"end":{"line":52,"column":28}},{"start":{"line":52,"column":32},"end":{"line":52,"column":46}}]},"4":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":32},"end":{"line":53,"column":67}},{"start":{"line":53,"column":70},"end":{"line":53,"column":74}}]},"5":{"loc":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},{"start":{"line":57,"column":4},"end":{"line":57,"column":36}}]},"6":{"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},{"start":{"line":60,"column":4},"end":{"line":60,"column":60}}]},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":44}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":13}},{"start":{"line":60,"column":17},"end":{"line":60,"column":44}}]},"8":{"loc":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},{"start":{"line":62,"column":4},"end":{"line":108,"column":5}}]},"9":{"loc":{"start":{"line":62,"column":8},"end":{"line":62,"column":68}},"type":"binary-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":40}},{"start":{"line":62,"column":44},"end":{"line":62,"column":68}}]},"10":{"loc":{"start":{"line":75,"column":24},"end":{"line":75,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":24},"end":{"line":75,"column":31}},{"start":{"line":75,"column":35},"end":{"line":75,"column":37}}]},"11":{"loc":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},{"start":{"line":78,"column":8},"end":{"line":84,"column":9}}]},"12":{"loc":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},{"start":{"line":80,"column":10},"end":{"line":80,"column":47}}]},"13":{"loc":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},{"start":{"line":81,"column":10},"end":{"line":81,"column":48}}]},"14":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":91,"column":8},"end":{"line":95,"column":9}}]},"15":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":54}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":26}},{"start":{"line":91,"column":30},"end":{"line":91,"column":54}}]},"16":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"type":"if","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},{"start":{"line":93,"column":10},"end":{"line":93,"column":57}}]},"17":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"type":"if","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},{"start":{"line":94,"column":10},"end":{"line":94,"column":58}}]},"18":{"loc":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},{"start":{"line":97,"column":8},"end":{"line":106,"column":9}}]},"19":{"loc":{"start":{"line":98,"column":58},"end":{"line":98,"column":78}},"type":"binary-expr","locations":[{"start":{"line":98,"column":58},"end":{"line":98,"column":72}},{"start":{"line":98,"column":76},"end":{"line":98,"column":78}}]},"20":{"loc":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},{"start":{"line":100,"column":10},"end":{"line":105,"column":11}}]},"21":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"type":"if","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},{"start":{"line":102,"column":12},"end":{"line":102,"column":50}}]},"22":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},{"start":{"line":132,"column":8},"end":{"line":134,"column":9}}]},"23":{"loc":{"start":{"line":145,"column":54},"end":{"line":145,"column":88}},"type":"binary-expr","locations":[{"start":{"line":145,"column":54},"end":{"line":145,"column":70}},{"start":{"line":145,"column":74},"end":{"line":145,"column":88}}]},"24":{"loc":{"start":{"line":150,"column":17},"end":{"line":150,"column":66}},"type":"binary-expr","locations":[{"start":{"line":150,"column":17},"end":{"line":150,"column":36}},{"start":{"line":150,"column":40},"end":{"line":150,"column":60}},{"start":{"line":150,"column":64},"end":{"line":150,"column":66}}]},"25":{"loc":{"start":{"line":158,"column":17},"end":{"line":165,"column":5}},"type":"binary-expr","locations":[{"start":{"line":158,"column":17},"end":{"line":158,"column":47}},{"start":{"line":159,"column":4},"end":{"line":159,"column":10}},{"start":{"line":160,"column":4},"end":{"line":160,"column":22}},{"start":{"line":161,"column":5},"end":{"line":161,"column":15}},{"start":{"line":162,"column":7},"end":{"line":162,"column":31}},{"start":{"line":163,"column":9},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":61}}]},"26":{"loc":{"start":{"line":170,"column":17},"end":{"line":172,"column":7}},"type":"binary-expr","locations":[{"start":{"line":170,"column":18},"end":{"line":170,"column":30}},{"start":{"line":170,"column":34},"end":{"line":170,"column":64}},{"start":{"line":171,"column":5},"end":{"line":171,"column":18}},{"start":{"line":171,"column":22},"end":{"line":171,"column":53}},{"start":{"line":172,"column":4},"end":{"line":172,"column":7}}]},"27":{"loc":{"start":{"line":183,"column":13},"end":{"line":185,"column":49}},"type":"cond-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},{"start":{"line":185,"column":11},"end":{"line":185,"column":48}}]},"28":{"loc":{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":47}},{"start":{"line":184,"column":51},"end":{"line":184,"column":71}}]},"29":{"loc":{"start":{"line":185,"column":11},"end":{"line":185,"column":48}},"type":"binary-expr","locations":[{"start":{"line":185,"column":11},"end":{"line":185,"column":24}},{"start":{"line":185,"column":28},"end":{"line":185,"column":48}}]},"30":{"loc":{"start":{"line":203,"column":9},"end":{"line":203,"column":35}},"type":"binary-expr","locations":[{"start":{"line":203,"column":9},"end":{"line":203,"column":24}},{"start":{"line":203,"column":28},"end":{"line":203,"column":35}}]},"31":{"loc":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},{"start":{"line":251,"column":2},"end":{"line":265,"column":3}}]},"32":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{"line":252,"column":4},"end":{"line":254,"column":5}}]},"33":{"loc":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},{"start":{"line":256,"column":4},"end":{"line":258,"column":5}}]},"34":{"loc":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"type":"if","locations":[{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},{"start":{"line":260,"column":4},"end":{"line":264,"column":5}}]},"35":{"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"type":"cond-expr","locations":[{"start":{"line":262,"column":62},"end":{"line":262,"column":72}},{"start":{"line":262,"column":75},"end":{"line":262,"column":78}}]}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0,0,0,0,0,0],"26":[0,0,0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8de6ff12985e168d800fe4d220a8a32e3c1dbe2a","contentHash":"06eb335e3bac458879bb256f44ac2576_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}}},"fnMap":{"0":{"name":"stdoutAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":33},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":0,"4":1,"5":0,"6":1,"7":1,"8":1},"f":{"0":1,"1":0,"2":1},"b":{"0":[1,1],"1":[0,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7fe10c84b315d3ba3e07ce62d5e48e59666eb827","contentHash":"009980a1b175f554654dded39c797b6c_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/loggly.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/loggly.js","statementMap":{"0":{"start":{"line":5,"column":16},"end":{"line":5,"column":37}},"1":{"start":{"line":6,"column":15},"end":{"line":6,"column":32}},"2":{"start":{"line":7,"column":11},"end":{"line":7,"column":24}},"3":{"start":{"line":9,"column":20},"end":{"line":9,"column":52}},"4":{"start":{"line":11,"column":19},"end":{"line":11,"column":20}},"5":{"start":{"line":15,"column":2},"end":{"line":15,"column":86}},"6":{"start":{"line":19,"column":12},"end":{"line":19,"column":13}},"7":{"start":{"line":20,"column":2},"end":{"line":24,"column":3}},"8":{"start":{"line":21,"column":4},"end":{"line":23,"column":5}},"9":{"start":{"line":22,"column":6},"end":{"line":22,"column":12}},"10":{"start":{"line":25,"column":2},"end":{"line":25,"column":13}},"11":{"start":{"line":33,"column":19},"end":{"line":33,"column":76}},"12":{"start":{"line":35,"column":2},"end":{"line":42,"column":47}},"13":{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},"14":{"start":{"line":37,"column":6},"end":{"line":37,"column":81}},"15":{"start":{"line":39,"column":6},"end":{"line":39,"column":44}},"16":{"start":{"line":41,"column":4},"end":{"line":41,"column":22}},"17":{"start":{"line":66,"column":17},"end":{"line":66,"column":44}},"18":{"start":{"line":67,"column":2},"end":{"line":67,"column":36}},"19":{"start":{"line":67,"column":15},"end":{"line":67,"column":36}},"20":{"start":{"line":69,"column":2},"end":{"line":99,"column":4}},"21":{"start":{"line":70,"column":19},"end":{"line":70,"column":49}},"22":{"start":{"line":71,"column":25},"end":{"line":71,"column":44}},"23":{"start":{"line":72,"column":27},"end":{"line":72,"column":48}},"24":{"start":{"line":75,"column":4},"end":{"line":75,"column":37}},"25":{"start":{"line":77,"column":16},"end":{"line":77,"column":36}},"26":{"start":{"line":79,"column":4},"end":{"line":79,"column":22}},"27":{"start":{"line":81,"column":4},"end":{"line":98,"column":7}},"28":{"start":{"line":87,"column":6},"end":{"line":89,"column":7}},"29":{"start":{"line":88,"column":8},"end":{"line":88,"column":73}},"30":{"start":{"line":91,"column":6},"end":{"line":91,"column":24}},"31":{"start":{"line":93,"column":6},"end":{"line":97,"column":7}},"32":{"start":{"line":94,"column":8},"end":{"line":94,"column":21}},"33":{"start":{"line":96,"column":8},"end":{"line":96,"column":31}},"34":{"start":{"line":104,"column":2},"end":{"line":106,"column":3}},"35":{"start":{"line":105,"column":4},"end":{"line":105,"column":63}},"36":{"start":{"line":107,"column":2},"end":{"line":107,"column":40}},"37":{"start":{"line":111,"column":2},"end":{"line":115,"column":3}},"38":{"start":{"line":112,"column":4},"end":{"line":112,"column":9}},"39":{"start":{"line":114,"column":4},"end":{"line":114,"column":20}},"40":{"start":{"line":118,"column":0},"end":{"line":118,"column":31}},"41":{"start":{"line":119,"column":0},"end":{"line":119,"column":41}},"42":{"start":{"line":120,"column":0},"end":{"line":120,"column":37}},"43":{"start":{"line":121,"column":0},"end":{"line":121,"column":35}}},"fnMap":{"0":{"name":"isAnyObject","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":20}},"loc":{"start":{"line":14,"column":28},"end":{"line":16,"column":1}}},"1":{"name":"numKeys","decl":{"start":{"line":18,"column":9},"end":{"line":18,"column":16}},"loc":{"start":{"line":18,"column":22},"end":{"line":26,"column":1}}},"2":{"name":"processTags","decl":{"start":{"line":32,"column":9},"end":{"line":32,"column":20}},"loc":{"start":{"line":32,"column":34},"end":{"line":43,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":35,"column":24},"end":{"line":35,"column":25}},"loc":{"start":{"line":35,"column":49},"end":{"line":42,"column":3}}},"4":{"name":"logglyAppender","decl":{"start":{"line":65,"column":9},"end":{"line":65,"column":23}},"loc":{"start":{"line":65,"column":40},"end":{"line":100,"column":1}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":69,"column":9},"end":{"line":69,"column":10}},"loc":{"start":{"line":69,"column":27},"end":{"line":99,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":86,"column":23},"end":{"line":86,"column":24}},"loc":{"start":{"line":86,"column":34},"end":{"line":98,"column":5}}},"7":{"name":"configure","decl":{"start":{"line":102,"column":9},"end":{"line":102,"column":18}},"loc":{"start":{"line":102,"column":27},"end":{"line":108,"column":1}}},"8":{"name":"shutdown","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":17}},"loc":{"start":{"line":110,"column":22},"end":{"line":116,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":9},"end":{"line":15,"column":85}},"type":"binary-expr","locations":[{"start":{"line":15,"column":9},"end":{"line":15,"column":23}},{"start":{"line":15,"column":28},"end":{"line":15,"column":53}},{"start":{"line":15,"column":57},"end":{"line":15,"column":84}}]},"1":{"loc":{"start":{"line":21,"column":4},"end":{"line":23,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":23,"column":5}},{"start":{"line":21,"column":4},"end":{"line":23,"column":5}}]},"2":{"loc":{"start":{"line":33,"column":19},"end":{"line":33,"column":76}},"type":"cond-expr","locations":[{"start":{"line":33,"column":46},"end":{"line":33,"column":62}},{"start":{"line":33,"column":65},"end":{"line":33,"column":76}}]},"3":{"loc":{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},{"start":{"line":36,"column":4},"end":{"line":40,"column":5}}]},"4":{"loc":{"start":{"line":36,"column":8},"end":{"line":36,"column":85}},"type":"binary-expr","locations":[{"start":{"line":36,"column":8},"end":{"line":36,"column":28}},{"start":{"line":36,"column":32},"end":{"line":36,"column":59}},{"start":{"line":36,"column":63},"end":{"line":36,"column":85}}]},"5":{"loc":{"start":{"line":67,"column":2},"end":{"line":67,"column":36}},"type":"if","locations":[{"start":{"line":67,"column":2},"end":{"line":67,"column":36}},{"start":{"line":67,"column":2},"end":{"line":67,"column":36}}]},"6":{"loc":{"start":{"line":87,"column":6},"end":{"line":89,"column":7}},"type":"if","locations":[{"start":{"line":87,"column":6},"end":{"line":89,"column":7}},{"start":{"line":87,"column":6},"end":{"line":89,"column":7}}]},"7":{"loc":{"start":{"line":93,"column":6},"end":{"line":97,"column":7}},"type":"if","locations":[{"start":{"line":93,"column":6},"end":{"line":97,"column":7}},{"start":{"line":93,"column":6},"end":{"line":97,"column":7}}]},"8":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":42}},"type":"binary-expr","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":20}},{"start":{"line":93,"column":24},"end":{"line":93,"column":42}}]},"9":{"loc":{"start":{"line":104,"column":2},"end":{"line":106,"column":3}},"type":"if","locations":[{"start":{"line":104,"column":2},"end":{"line":106,"column":3}},{"start":{"line":104,"column":2},"end":{"line":106,"column":3}}]},"10":{"loc":{"start":{"line":111,"column":2},"end":{"line":115,"column":3}},"type":"if","locations":[{"start":{"line":111,"column":2},"end":{"line":115,"column":3}},{"start":{"line":111,"column":2},"end":{"line":115,"column":3}}]}},"s":{"0":3,"1":3,"2":3,"3":3,"4":3,"5":14,"6":4,"7":4,"8":6,"9":6,"10":4,"11":6,"12":6,"13":14,"14":2,"15":12,"16":14,"17":3,"18":3,"19":3,"20":3,"21":6,"22":6,"23":6,"24":6,"25":6,"26":6,"27":6,"28":1,"29":0,"30":1,"31":1,"32":1,"33":1,"34":3,"35":0,"36":3,"37":1,"38":0,"39":1,"40":3,"41":3,"42":3,"43":3},"f":{"0":14,"1":4,"2":6,"3":14,"4":3,"5":6,"6":1,"7":3,"8":1},"b":{"0":[14,14,10],"1":[6,0],"2":[0,6],"3":[2,12],"4":[14,4,4],"5":[3,0],"6":[0,1],"7":[1,0],"8":[1,1],"9":[0,3],"10":[0,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"c2e0688c45b79a142e0855ec9dc5be2929badd8f"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/c1e4884bd268431ff16841e915acf84e.json b/node_modules/log4js/.nyc_output/c1e4884bd268431ff16841e915acf84e.json deleted file mode 100644 index 9e26dfe..0000000 --- a/node_modules/log4js/.nyc_output/c1e4884bd268431ff16841e915acf84e.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/c75d0c0f70f301257186becdb212faa5.json b/node_modules/log4js/.nyc_output/c75d0c0f70f301257186becdb212faa5.json deleted file mode 100644 index 71e9e4e..0000000 --- a/node_modules/log4js/.nyc_output/c75d0c0f70f301257186becdb212faa5.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/log4js.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/log4js.js","statementMap":{"0":{"start":{"line":35,"column":11},"end":{"line":35,"column":24}},"1":{"start":{"line":36,"column":13},"end":{"line":36,"column":28}},"2":{"start":{"line":37,"column":16},"end":{"line":37,"column":36}},"3":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"4":{"start":{"line":39,"column":21},"end":{"line":39,"column":40}},"5":{"start":{"line":40,"column":22},"end":{"line":40,"column":63}},"6":{"start":{"line":42,"column":15},"end":{"line":42,"column":34}},"7":{"start":{"line":44,"column":23},"end":{"line":44,"column":30}},"8":{"start":{"line":45,"column":16},"end":{"line":45,"column":18}},"9":{"start":{"line":46,"column":23},"end":{"line":46,"column":25}},"10":{"start":{"line":47,"column":26},"end":{"line":47,"column":28}},"11":{"start":{"line":48,"column":22},"end":{"line":53,"column":1}},"12":{"start":{"line":55,"column":16},"end":{"line":55,"column":18}},"13":{"start":{"line":58,"column":2},"end":{"line":58,"column":40}},"14":{"start":{"line":62,"column":0},"end":{"line":70,"column":2}},"15":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"16":{"start":{"line":65,"column":23},"end":{"line":65,"column":45}},"17":{"start":{"line":66,"column":4},"end":{"line":66,"column":51}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":40}},"19":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"20":{"start":{"line":73,"column":21},"end":{"line":73,"column":44}},"21":{"start":{"line":74,"column":17},"end":{"line":74,"column":19}},"22":{"start":{"line":75,"column":2},"end":{"line":75,"column":19}},"23":{"start":{"line":76,"column":2},"end":{"line":76,"column":29}},"24":{"start":{"line":77,"column":2},"end":{"line":83,"column":4}},"25":{"start":{"line":78,"column":4},"end":{"line":82,"column":5}},"26":{"start":{"line":79,"column":18},"end":{"line":79,"column":32}},"27":{"start":{"line":80,"column":6},"end":{"line":80,"column":44}},"28":{"start":{"line":81,"column":6},"end":{"line":81,"column":28}},"29":{"start":{"line":84,"column":2},"end":{"line":86,"column":4}},"30":{"start":{"line":85,"column":4},"end":{"line":85,"column":59}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":4}},"32":{"start":{"line":88,"column":4},"end":{"line":88,"column":59}},"33":{"start":{"line":90,"column":2},"end":{"line":92,"column":4}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":58}},"35":{"start":{"line":93,"column":2},"end":{"line":95,"column":4}},"36":{"start":{"line":94,"column":4},"end":{"line":94,"column":58}},"37":{"start":{"line":96,"column":2},"end":{"line":98,"column":4}},"38":{"start":{"line":97,"column":4},"end":{"line":97,"column":59}},"39":{"start":{"line":99,"column":2},"end":{"line":101,"column":4}},"40":{"start":{"line":100,"column":4},"end":{"line":100,"column":59}},"41":{"start":{"line":103,"column":2},"end":{"line":103,"column":16}},"42":{"start":{"line":107,"column":2},"end":{"line":107,"column":24}},"43":{"start":{"line":111,"column":34},"end":{"line":111,"column":66}},"44":{"start":{"line":112,"column":35},"end":{"line":112,"column":68}},"45":{"start":{"line":113,"column":2},"end":{"line":113,"column":107}},"46":{"start":{"line":117,"column":37},"end":{"line":117,"column":72}},"47":{"start":{"line":118,"column":35},"end":{"line":118,"column":68}},"48":{"start":{"line":119,"column":2},"end":{"line":119,"column":113}},"49":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"50":{"start":{"line":131,"column":4},"end":{"line":131,"column":49}},"51":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"52":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"53":{"start":{"line":142,"column":19},"end":{"line":142,"column":52}},"54":{"start":{"line":143,"column":6},"end":{"line":149,"column":7}},"55":{"start":{"line":144,"column":30},"end":{"line":144,"column":39}},"56":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"57":{"start":{"line":147,"column":10},"end":{"line":147,"column":47}},"58":{"start":{"line":154,"column":4},"end":{"line":154,"column":72}},"59":{"start":{"line":158,"column":4},"end":{"line":165,"column":5}},"60":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"61":{"start":{"line":160,"column":8},"end":{"line":160,"column":51}},"62":{"start":{"line":161,"column":8},"end":{"line":163,"column":11}},"63":{"start":{"line":162,"column":10},"end":{"line":162,"column":67}},"64":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":47}},"66":{"start":{"line":170,"column":6},"end":{"line":172,"column":9}},"67":{"start":{"line":171,"column":8},"end":{"line":171,"column":65}},"68":{"start":{"line":176,"column":2},"end":{"line":176,"column":37}},"69":{"start":{"line":185,"column":13},"end":{"line":185,"column":34}},"70":{"start":{"line":186,"column":19},"end":{"line":186,"column":31}},"71":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"72":{"start":{"line":189,"column":4},"end":{"line":189,"column":47}},"73":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"74":{"start":{"line":193,"column":4},"end":{"line":193,"column":28}},"75":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"76":{"start":{"line":197,"column":4},"end":{"line":197,"column":19}},"77":{"start":{"line":200,"column":2},"end":{"line":212,"column":5}},"78":{"start":{"line":201,"column":4},"end":{"line":201,"column":54}},"79":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"80":{"start":{"line":204,"column":6},"end":{"line":204,"column":40}},"81":{"start":{"line":206,"column":6},"end":{"line":210,"column":7}},"82":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"83":{"start":{"line":208,"column":10},"end":{"line":208,"column":63}},"84":{"start":{"line":216,"column":2},"end":{"line":220,"column":3}},"85":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":218,"column":6},"end":{"line":218,"column":51}},"87":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"88":{"start":{"line":225,"column":4},"end":{"line":225,"column":29}},"89":{"start":{"line":227,"column":2},"end":{"line":227,"column":37}},"90":{"start":{"line":233,"column":2},"end":{"line":233,"column":36}},"91":{"start":{"line":234,"column":2},"end":{"line":234,"column":17}},"92":{"start":{"line":235,"column":2},"end":{"line":239,"column":3}},"93":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"94":{"start":{"line":237,"column":6},"end":{"line":237,"column":48}},"95":{"start":{"line":243,"column":2},"end":{"line":243,"column":19}},"96":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"97":{"start":{"line":245,"column":4},"end":{"line":255,"column":7}},"98":{"start":{"line":246,"column":6},"end":{"line":246,"column":40}},"99":{"start":{"line":248,"column":6},"end":{"line":248,"column":45}},"100":{"start":{"line":249,"column":6},"end":{"line":254,"column":7}},"101":{"start":{"line":250,"column":8},"end":{"line":250,"column":80}},"102":{"start":{"line":251,"column":8},"end":{"line":251,"column":55}},"103":{"start":{"line":253,"column":8},"end":{"line":253,"column":95}},"104":{"start":{"line":260,"column":2},"end":{"line":260,"column":26}},"105":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"106":{"start":{"line":262,"column":17},"end":{"line":262,"column":50}},"107":{"start":{"line":265,"column":4},"end":{"line":276,"column":5}},"108":{"start":{"line":266,"column":23},"end":{"line":266,"column":32}},"109":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":45}},"111":{"start":{"line":271,"column":6},"end":{"line":275,"column":7}},"112":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"113":{"start":{"line":273,"column":10},"end":{"line":273,"column":62}},"114":{"start":{"line":281,"column":2},"end":{"line":281,"column":63}},"115":{"start":{"line":290,"column":2},"end":{"line":290,"column":44}},"116":{"start":{"line":293,"column":20},"end":{"line":293,"column":22}},"117":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"118":{"start":{"line":297,"column":4},"end":{"line":297,"column":57}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":19}},"120":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"121":{"start":{"line":304,"column":4},"end":{"line":316,"column":5}},"122":{"start":{"line":305,"column":6},"end":{"line":305,"column":23}},"123":{"start":{"line":306,"column":6},"end":{"line":306,"column":37}},"124":{"start":{"line":307,"column":6},"end":{"line":307,"column":52}},"125":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"126":{"start":{"line":310,"column":8},"end":{"line":310,"column":25}},"127":{"start":{"line":313,"column":6},"end":{"line":315,"column":8}},"128":{"start":{"line":321,"column":16},"end":{"line":321,"column":46}},"129":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"130":{"start":{"line":322,"column":14},"end":{"line":322,"column":21}},"131":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"132":{"start":{"line":325,"column":4},"end":{"line":325,"column":75}},"133":{"start":{"line":327,"column":2},"end":{"line":327,"column":32}},"134":{"start":{"line":332,"column":2},"end":{"line":336,"column":3}},"135":{"start":{"line":333,"column":4},"end":{"line":333,"column":52}},"136":{"start":{"line":335,"column":4},"end":{"line":335,"column":78}},"137":{"start":{"line":337,"column":2},"end":{"line":337,"column":15}},"138":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"139":{"start":{"line":342,"column":4},"end":{"line":342,"column":39}},"140":{"start":{"line":343,"column":4},"end":{"line":343,"column":31}},"141":{"start":{"line":345,"column":2},"end":{"line":345,"column":34}},"142":{"start":{"line":346,"column":2},"end":{"line":346,"column":45}},"143":{"start":{"line":347,"column":2},"end":{"line":347,"column":93}},"144":{"start":{"line":351,"column":15},"end":{"line":351,"column":40}},"145":{"start":{"line":352,"column":2},"end":{"line":352,"column":47}},"146":{"start":{"line":353,"column":2},"end":{"line":353,"column":26}},"147":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"148":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"149":{"start":{"line":357,"column":6},"end":{"line":357,"column":47}},"150":{"start":{"line":359,"column":4},"end":{"line":359,"column":60}},"151":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"152":{"start":{"line":362,"column":6},"end":{"line":364,"column":8}},"153":{"start":{"line":367,"column":2},"end":{"line":367,"column":36}},"154":{"start":{"line":370,"column":33},"end":{"line":376,"column":1}},"155":{"start":{"line":380,"column":4},"end":{"line":384,"column":6}},"156":{"start":{"line":383,"column":6},"end":{"line":383,"column":46}},"157":{"start":{"line":387,"column":2},"end":{"line":387,"column":42}},"158":{"start":{"line":389,"column":2},"end":{"line":391,"column":5}},"159":{"start":{"line":390,"column":4},"end":{"line":390,"column":77}},"160":{"start":{"line":395,"column":2},"end":{"line":397,"column":5}},"161":{"start":{"line":396,"column":4},"end":{"line":396,"column":51}},"162":{"start":{"line":412,"column":2},"end":{"line":416,"column":3}},"163":{"start":{"line":413,"column":4},"end":{"line":413,"column":56}},"164":{"start":{"line":415,"column":4},"end":{"line":415,"column":39}},"165":{"start":{"line":417,"column":2},"end":{"line":417,"column":24}},"166":{"start":{"line":431,"column":2},"end":{"line":431,"column":63}},"167":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"168":{"start":{"line":434,"column":4},"end":{"line":434,"column":74}},"169":{"start":{"line":437,"column":2},"end":{"line":437,"column":76}},"170":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"171":{"start":{"line":439,"column":4},"end":{"line":439,"column":79}},"172":{"start":{"line":441,"column":2},"end":{"line":441,"column":75}},"173":{"start":{"line":455,"column":2},"end":{"line":455,"column":37}},"174":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"175":{"start":{"line":459,"column":4},"end":{"line":459,"column":39}},"176":{"start":{"line":463,"column":18},"end":{"line":463,"column":19}},"177":{"start":{"line":465,"column":28},"end":{"line":465,"column":30}},"178":{"start":{"line":468,"column":4},"end":{"line":468,"column":25}},"179":{"start":{"line":469,"column":4},"end":{"line":469,"column":16}},"180":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"181":{"start":{"line":471,"column":6},"end":{"line":471,"column":16}},"182":{"start":{"line":475,"column":2},"end":{"line":479,"column":3}},"183":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":477,"column":6},"end":{"line":477,"column":58}},"185":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"186":{"start":{"line":482,"column":4},"end":{"line":482,"column":16}},"187":{"start":{"line":485,"column":2},"end":{"line":487,"column":5}},"188":{"start":{"line":486,"column":4},"end":{"line":486,"column":26}},"189":{"start":{"line":489,"column":2},"end":{"line":489,"column":14}},"190":{"start":{"line":513,"column":15},"end":{"line":535,"column":1}},"191":{"start":{"line":537,"column":0},"end":{"line":537,"column":24}},"192":{"start":{"line":540,"column":0},"end":{"line":540,"column":12}}},"fnMap":{"0":{"name":"hasLogger","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":18}},"loc":{"start":{"line":57,"column":27},"end":{"line":59,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":47},"end":{"line":70,"column":1}}},"2":{"name":"getBufferedLogger","decl":{"start":{"line":72,"column":9},"end":{"line":72,"column":26}},"loc":{"start":{"line":72,"column":41},"end":{"line":104,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":17},"end":{"line":77,"column":18}},"loc":{"start":{"line":77,"column":29},"end":{"line":83,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":17},"end":{"line":84,"column":18}},"loc":{"start":{"line":84,"column":36},"end":{"line":86,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":87,"column":17},"end":{"line":87,"column":18}},"loc":{"start":{"line":87,"column":36},"end":{"line":89,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":17}},"loc":{"start":{"line":90,"column":35},"end":{"line":92,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":17}},"loc":{"start":{"line":93,"column":35},"end":{"line":95,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":17},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":36},"end":{"line":98,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":18}},"loc":{"start":{"line":99,"column":36},"end":{"line":101,"column":3}}},"10":{"name":"normalizeCategory","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":37},"end":{"line":108,"column":1}}},"11":{"name":"doesLevelEntryContainsLogger","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":37}},"loc":{"start":{"line":110,"column":69},"end":{"line":114,"column":1}}},"12":{"name":"doesAppenderContainsLogger","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":35}},"loc":{"start":{"line":116,"column":70},"end":{"line":120,"column":1}}},"13":{"name":"getLogger","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":18}},"loc":{"start":{"line":128,"column":39},"end":{"line":177,"column":1}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":161,"column":29},"end":{"line":161,"column":30}},"loc":{"start":{"line":161,"column":43},"end":{"line":163,"column":9}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":170,"column":27},"end":{"line":170,"column":28}},"loc":{"start":{"line":170,"column":41},"end":{"line":172,"column":7}}},"16":{"name":"addAppender","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":20}},"loc":{"start":{"line":182,"column":23},"end":{"line":213,"column":1}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":200,"column":15},"end":{"line":200,"column":16}},"loc":{"start":{"line":200,"column":37},"end":{"line":212,"column":3}}},"18":{"name":"addAppenderToAllLoggers","decl":{"start":{"line":215,"column":9},"end":{"line":215,"column":32}},"loc":{"start":{"line":215,"column":43},"end":{"line":221,"column":1}}},"19":{"name":"addAppenderToCategory","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":30}},"loc":{"start":{"line":223,"column":51},"end":{"line":228,"column":1}}},"20":{"name":"clearAppenders","decl":{"start":{"line":230,"column":9},"end":{"line":230,"column":23}},"loc":{"start":{"line":230,"column":26},"end":{"line":240,"column":1}}},"21":{"name":"configureAppenders","decl":{"start":{"line":242,"column":9},"end":{"line":242,"column":27}},"loc":{"start":{"line":242,"column":51},"end":{"line":257,"column":1}}},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":25},"end":{"line":245,"column":26}},"loc":{"start":{"line":245,"column":45},"end":{"line":255,"column":5}}},"23":{"name":"configureLevels","decl":{"start":{"line":259,"column":9},"end":{"line":259,"column":24}},"loc":{"start":{"line":259,"column":34},"end":{"line":278,"column":1}}},"24":{"name":"setGlobalLogLevel","decl":{"start":{"line":280,"column":9},"end":{"line":280,"column":26}},"loc":{"start":{"line":280,"column":34},"end":{"line":282,"column":1}}},"25":{"name":"getDefaultLogger","decl":{"start":{"line":289,"column":9},"end":{"line":289,"column":25}},"loc":{"start":{"line":289,"column":28},"end":{"line":291,"column":1}}},"26":{"name":"loadConfigurationFile","decl":{"start":{"line":295,"column":9},"end":{"line":295,"column":30}},"loc":{"start":{"line":295,"column":41},"end":{"line":300,"column":1}}},"27":{"name":"configureOnceOff","decl":{"start":{"line":302,"column":9},"end":{"line":302,"column":25}},"loc":{"start":{"line":302,"column":43},"end":{"line":318,"column":1}}},"28":{"name":"reloadConfiguration","decl":{"start":{"line":320,"column":9},"end":{"line":320,"column":28}},"loc":{"start":{"line":320,"column":38},"end":{"line":328,"column":1}}},"29":{"name":"getMTime","decl":{"start":{"line":330,"column":9},"end":{"line":330,"column":17}},"loc":{"start":{"line":330,"column":28},"end":{"line":338,"column":1}}},"30":{"name":"initReloadConfiguration","decl":{"start":{"line":340,"column":9},"end":{"line":340,"column":32}},"loc":{"start":{"line":340,"column":52},"end":{"line":348,"column":1}}},"31":{"name":"configure","decl":{"start":{"line":350,"column":9},"end":{"line":350,"column":18}},"loc":{"start":{"line":350,"column":55},"end":{"line":368,"column":1}}},"32":{"name":"replaceConsole","decl":{"start":{"line":378,"column":9},"end":{"line":378,"column":23}},"loc":{"start":{"line":378,"column":32},"end":{"line":392,"column":1}}},"33":{"name":"replaceWith","decl":{"start":{"line":379,"column":11},"end":{"line":379,"column":22}},"loc":{"start":{"line":379,"column":27},"end":{"line":385,"column":3}}},"34":{"name":"(anonymous_34)","decl":{"start":{"line":380,"column":11},"end":{"line":380,"column":12}},"loc":{"start":{"line":380,"column":23},"end":{"line":384,"column":5}}},"35":{"name":"(anonymous_35)","decl":{"start":{"line":389,"column":52},"end":{"line":389,"column":53}},"loc":{"start":{"line":389,"column":62},"end":{"line":391,"column":3}}},"36":{"name":"restoreConsole","decl":{"start":{"line":394,"column":9},"end":{"line":394,"column":23}},"loc":{"start":{"line":394,"column":26},"end":{"line":398,"column":1}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":395,"column":52},"end":{"line":395,"column":53}},"loc":{"start":{"line":395,"column":62},"end":{"line":397,"column":3}}},"38":{"name":"requireAppender","decl":{"start":{"line":410,"column":9},"end":{"line":410,"column":24}},"loc":{"start":{"line":410,"column":35},"end":{"line":418,"column":1}}},"39":{"name":"loadAppender","decl":{"start":{"line":430,"column":9},"end":{"line":430,"column":21}},"loc":{"start":{"line":430,"column":48},"end":{"line":442,"column":1}}},"40":{"name":"shutdown","decl":{"start":{"line":452,"column":9},"end":{"line":452,"column":17}},"loc":{"start":{"line":452,"column":22},"end":{"line":490,"column":1}}},"41":{"name":"complete","decl":{"start":{"line":467,"column":11},"end":{"line":467,"column":19}},"loc":{"start":{"line":467,"column":25},"end":{"line":473,"column":3}}},"42":{"name":"(anonymous_42)","decl":{"start":{"line":485,"column":28},"end":{"line":485,"column":29}},"loc":{"start":{"line":485,"column":45},"end":{"line":487,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},{"start":{"line":64,"column":2},"end":{"line":68,"column":3}}]},"1":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":66}},"type":"binary-expr","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":34}},{"start":{"line":64,"column":38},"end":{"line":64,"column":66}}]},"2":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{"line":130,"column":2},"end":{"line":132,"column":3}}]},"3":{"loc":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},{"start":{"line":134,"column":2},"end":{"line":174,"column":3}}]},"4":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{"line":139,"column":4},"end":{"line":150,"column":5}}]},"5":{"loc":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},{"start":{"line":145,"column":8},"end":{"line":148,"column":9}}]},"6":{"loc":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},{"start":{"line":159,"column":6},"end":{"line":164,"column":7}}]},"7":{"loc":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},{"start":{"line":168,"column":4},"end":{"line":173,"column":5}}]},"8":{"loc":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"type":"if","locations":[{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},{"start":{"line":188,"column":2},"end":{"line":190,"column":3}}]},"9":{"loc":{"start":{"line":188,"column":6},"end":{"line":188,"column":54}},"type":"binary-expr","locations":[{"start":{"line":188,"column":6},"end":{"line":188,"column":21}},{"start":{"line":188,"column":25},"end":{"line":188,"column":54}}]},"10":{"loc":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},{"start":{"line":192,"column":2},"end":{"line":194,"column":3}}]},"11":{"loc":{"start":{"line":192,"column":6},"end":{"line":192,"column":48}},"type":"binary-expr","locations":[{"start":{"line":192,"column":6},"end":{"line":192,"column":23}},{"start":{"line":192,"column":27},"end":{"line":192,"column":48}}]},"12":{"loc":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"type":"if","locations":[{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},{"start":{"line":196,"column":2},"end":{"line":198,"column":3}}]},"13":{"loc":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"type":"if","locations":[{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},{"start":{"line":203,"column":4},"end":{"line":211,"column":5}}]},"14":{"loc":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},{"start":{"line":207,"column":8},"end":{"line":209,"column":9}}]},"15":{"loc":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},{"start":{"line":217,"column":4},"end":{"line":219,"column":5}}]},"16":{"loc":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"type":"if","locations":[{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},{"start":{"line":224,"column":2},"end":{"line":226,"column":3}}]},"17":{"loc":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"type":"if","locations":[{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},{"start":{"line":236,"column":4},"end":{"line":238,"column":5}}]},"18":{"loc":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},{"start":{"line":244,"column":2},"end":{"line":256,"column":3}}]},"19":{"loc":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"type":"if","locations":[{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},{"start":{"line":261,"column":2},"end":{"line":277,"column":3}}]},"20":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{"line":267,"column":6},"end":{"line":269,"column":7}}]},"21":{"loc":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},{"start":{"line":272,"column":8},"end":{"line":274,"column":9}}]},"22":{"loc":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"type":"if","locations":[{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},{"start":{"line":296,"column":2},"end":{"line":298,"column":3}}]},"23":{"loc":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"type":"if","locations":[{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},{"start":{"line":303,"column":2},"end":{"line":317,"column":3}}]},"24":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{"line":309,"column":6},"end":{"line":311,"column":7}}]},"25":{"loc":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"type":"if","locations":[{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},{"start":{"line":322,"column":2},"end":{"line":322,"column":21}}]},"26":{"loc":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"type":"if","locations":[{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},{"start":{"line":324,"column":2},"end":{"line":326,"column":3}}]},"27":{"loc":{"start":{"line":324,"column":6},"end":{"line":324,"column":82}},"type":"binary-expr","locations":[{"start":{"line":324,"column":6},"end":{"line":324,"column":27}},{"start":{"line":324,"column":32},"end":{"line":324,"column":81}}]},"28":{"loc":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"type":"if","locations":[{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},{"start":{"line":341,"column":2},"end":{"line":344,"column":3}}]},"29":{"loc":{"start":{"line":352,"column":11},"end":{"line":352,"column":46}},"type":"binary-expr","locations":[{"start":{"line":352,"column":11},"end":{"line":352,"column":17}},{"start":{"line":352,"column":21},"end":{"line":352,"column":46}}]},"30":{"loc":{"start":{"line":353,"column":12},"end":{"line":353,"column":25}},"type":"binary-expr","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":19}},{"start":{"line":353,"column":23},"end":{"line":353,"column":25}}]},"31":{"loc":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"type":"if","locations":[{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},{"start":{"line":355,"column":2},"end":{"line":366,"column":3}}]},"32":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":75}},"type":"binary-expr","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":26}},{"start":{"line":355,"column":30},"end":{"line":355,"column":45}},{"start":{"line":355,"column":49},"end":{"line":355,"column":75}}]},"33":{"loc":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"type":"if","locations":[{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},{"start":{"line":356,"column":4},"end":{"line":358,"column":5}}]},"34":{"loc":{"start":{"line":359,"column":13},"end":{"line":359,"column":59}},"type":"binary-expr","locations":[{"start":{"line":359,"column":13},"end":{"line":359,"column":42}},{"start":{"line":359,"column":46},"end":{"line":359,"column":59}}]},"35":{"loc":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"type":"if","locations":[{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},{"start":{"line":361,"column":4},"end":{"line":365,"column":5}}]},"36":{"loc":{"start":{"line":387,"column":11},"end":{"line":387,"column":41}},"type":"binary-expr","locations":[{"start":{"line":387,"column":11},"end":{"line":387,"column":17}},{"start":{"line":387,"column":21},"end":{"line":387,"column":41}}]},"37":{"loc":{"start":{"line":390,"column":32},"end":{"line":390,"column":75}},"type":"cond-expr","locations":[{"start":{"line":390,"column":49},"end":{"line":390,"column":60}},{"start":{"line":390,"column":63},"end":{"line":390,"column":75}}]},"38":{"loc":{"start":{"line":431,"column":19},"end":{"line":431,"column":62}},"type":"binary-expr","locations":[{"start":{"line":431,"column":19},"end":{"line":431,"column":33}},{"start":{"line":431,"column":37},"end":{"line":431,"column":62}}]},"39":{"loc":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"type":"if","locations":[{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},{"start":{"line":433,"column":2},"end":{"line":435,"column":3}}]},"40":{"loc":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"type":"if","locations":[{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},{"start":{"line":438,"column":2},"end":{"line":440,"column":3}}]},"41":{"loc":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"type":"if","locations":[{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},{"start":{"line":458,"column":2},"end":{"line":460,"column":3}}]},"42":{"loc":{"start":{"line":468,"column":12},"end":{"line":468,"column":24}},"type":"binary-expr","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":17}},{"start":{"line":468,"column":21},"end":{"line":468,"column":24}}]},"43":{"loc":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"type":"if","locations":[{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},{"start":{"line":470,"column":4},"end":{"line":472,"column":5}}]},"44":{"loc":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"type":"if","locations":[{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},{"start":{"line":476,"column":4},"end":{"line":478,"column":5}}]},"45":{"loc":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"type":"if","locations":[{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},{"start":{"line":481,"column":2},"end":{"line":483,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":6,"14":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":10,"43":0,"44":0,"45":0,"46":5,"47":5,"48":5,"49":3,"50":0,"51":3,"52":2,"53":0,"54":0,"55":0,"56":0,"57":0,"58":2,"59":2,"60":2,"61":2,"62":2,"63":2,"64":2,"65":0,"66":0,"67":0,"68":3,"69":4,"70":4,"71":4,"72":0,"73":4,"74":1,"75":4,"76":0,"77":4,"78":4,"79":4,"80":1,"81":3,"82":3,"83":1,"84":1,"85":0,"86":0,"87":4,"88":4,"89":4,"90":4,"91":4,"92":4,"93":3,"94":3,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":0,"104":1,"105":1,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":1,"117":1,"118":0,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":1,"145":1,"146":1,"147":1,"148":1,"149":0,"150":1,"151":0,"152":0,"153":1,"154":1,"155":0,"156":0,"157":0,"158":0,"159":0,"160":1,"161":5,"162":1,"163":1,"164":0,"165":1,"166":1,"167":1,"168":0,"169":1,"170":1,"171":0,"172":1,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":1,"191":1,"192":1},"f":{"0":6,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":10,"11":0,"12":5,"13":3,"14":2,"15":0,"16":4,"17":4,"18":1,"19":4,"20":4,"21":1,"22":1,"23":1,"24":0,"25":0,"26":1,"27":1,"28":0,"29":0,"30":0,"31":1,"32":0,"33":0,"34":0,"35":0,"36":1,"37":5,"38":1,"39":1,"40":0,"41":0,"42":0},"b":{"0":[0,0],"1":[0,0],"2":[0,3],"3":[2,1],"4":[0,2],"5":[0,0],"6":[2,0],"7":[0,2],"8":[0,4],"9":[4,4],"10":[1,3],"11":[4,4],"12":[0,4],"13":[1,3],"14":[1,2],"15":[0,0],"16":[4,0],"17":[3,0],"18":[1,0],"19":[0,1],"20":[0,0],"21":[0,0],"22":[0,1],"23":[1,0],"24":[0,1],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[1,1],"30":[1,1],"31":[1,0],"32":[1,0,0],"33":[0,1],"34":[1,1],"35":[0,0],"36":[0,0],"37":[0,0],"38":[1,1],"39":[0,1],"40":[0,1],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3a43360dca26d74ffd67cfe5ec75309575f038ac","contentHash":"10edbceee6329f5ee9c0d2f625fd311b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":4,"1":4,"2":4,"3":4,"4":4,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":4,"12":4,"13":4,"14":7,"15":0,"16":0,"17":7,"18":4,"19":4,"20":1,"21":1,"22":1,"23":4,"24":4,"25":4,"26":1,"27":1,"28":1,"29":1,"30":1,"31":0,"32":2,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":4,"108":0,"109":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":4,"7":7,"8":0,"9":4,"10":1,"11":1,"12":1,"13":1,"14":1,"15":0,"16":2,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"0":[4,0],"1":[0,0],"2":[0,0],"3":[0,7],"4":[7,0],"5":[0,0],"6":[1,3],"7":[0,1],"8":[0,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf","contentHash":"d1d8e598552dfe064eef286d267900be_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":4,"1":4,"2":4,"3":4,"4":8,"5":8,"6":0,"7":8,"8":7,"9":1,"10":1,"11":1,"12":1,"13":0,"14":1,"15":1,"16":1,"17":4,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"f":{"0":8,"1":7,"2":1,"3":1},"b":{"0":[0,1],"1":[1,0],"2":[1,0],"3":[1,0],"4":[1,0],"5":[1,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128","contentHash":"672b6336c04cfaa2a8588410ce063022_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/levels.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/levels.js","statementMap":{"0":{"start":{"line":9,"column":4},"end":{"line":9,"column":23}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":42}},"9":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":39}},"11":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"12":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":24}},"14":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"15":{"start":{"line":52,"column":4},"end":{"line":52,"column":43}},"16":{"start":{"line":53,"column":4},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"18":{"start":{"line":57,"column":4},"end":{"line":57,"column":62}},"19":{"start":{"line":60,"column":2},"end":{"line":60,"column":34}},"20":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"21":{"start":{"line":66,"column":23},"end":{"line":66,"column":45}},"22":{"start":{"line":67,"column":4},"end":{"line":67,"column":32}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"24":{"start":{"line":72,"column":0},"end":{"line":85,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":13},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":34},"end":{"line":22,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":37},"end":{"line":29,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":31,"column":24},"end":{"line":36,"column":3}}},"5":{"name":"toLevel","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":37},"end":{"line":61,"column":1}}},"6":{"name":"getLevel","decl":{"start":{"line":63,"column":9},"end":{"line":63,"column":17}},"loc":{"start":{"line":63,"column":28},"end":{"line":70,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{"line":32,"column":4},"end":{"line":34,"column":5}}]},"3":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}]},"4":{"loc":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},{"start":{"line":51,"column":2},"end":{"line":54,"column":3}}]},"5":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}]},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":61}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":45}},{"start":{"line":57,"column":49},"end":{"line":57,"column":61}}]},"7":{"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},{"start":{"line":65,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":9,"1":9,"2":11,"3":3,"4":0,"5":3,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":7,"13":0,"14":7,"15":0,"16":0,"17":7,"18":7,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1},"f":{"0":9,"1":11,"2":3,"3":0,"4":0,"5":7,"6":0},"b":{"0":[0,3],"1":[0,0],"2":[0,0],"3":[0,7],"4":[0,7],"5":[7,0],"6":[7,0],"7":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"daae16d9a9a708cc048c35299774fc26e22cf555","contentHash":"de3beea1cbd1c093130b8e3a1963e9d2_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":21},"end":{"line":6,"column":38}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":36}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":27}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":32}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":23}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":25}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":50,"column":4},"end":{"line":50,"column":45}},"11":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"12":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":67}},"14":{"start":{"line":62,"column":4},"end":{"line":62,"column":22}},"15":{"start":{"line":68,"column":17},"end":{"line":68,"column":38}},"16":{"start":{"line":69,"column":21},"end":{"line":69,"column":57}},"17":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":13}},"19":{"start":{"line":73,"column":4},"end":{"line":73,"column":39}},"20":{"start":{"line":77,"column":4},"end":{"line":77,"column":54}},"21":{"start":{"line":81,"column":25},"end":{"line":81,"column":75}},"22":{"start":{"line":82,"column":4},"end":{"line":82,"column":35}},"23":{"start":{"line":86,"column":0},"end":{"line":86,"column":43}},"24":{"start":{"line":87,"column":0},"end":{"line":87,"column":38}},"25":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"26":{"start":{"line":92,"column":16},"end":{"line":92,"column":38}},"27":{"start":{"line":94,"column":24},"end":{"line":94,"column":54}},"28":{"start":{"line":95,"column":22},"end":{"line":95,"column":81}},"29":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}},"30":{"start":{"line":96,"column":24},"end":{"line":96,"column":75}},"31":{"start":{"line":98,"column":2},"end":{"line":100,"column":4}},"32":{"start":{"line":99,"column":4},"end":{"line":99,"column":49}},"33":{"start":{"line":102,"column":2},"end":{"line":109,"column":4}},"34":{"start":{"line":105,"column":17},"end":{"line":105,"column":38}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":117,"column":2},"end":{"line":117,"column":27}},"38":{"start":{"line":125,"column":2},"end":{"line":125,"column":26}},"39":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"40":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"41":{"start":{"line":130,"column":0},"end":{"line":130,"column":57}},"42":{"start":{"line":131,"column":0},"end":{"line":131,"column":55}},"43":{"start":{"line":132,"column":0},"end":{"line":132,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":49},"end":{"line":32,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":27},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":65,"column":8},"end":{"line":74,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":29},"end":{"line":78,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":20},"end":{"line":83,"column":3}}},"7":{"name":"addLevelMethods","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":33},"end":{"line":110,"column":1}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":95,"column":57},"end":{"line":95,"column":58}},"loc":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":50},"end":{"line":98,"column":51}},"loc":{"start":{"line":98,"column":62},"end":{"line":100,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":34},"end":{"line":102,"column":35}},"loc":{"start":{"line":102,"column":46},"end":{"line":109,"column":3}}},"11":{"name":"disableAllLogWrites","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":28}},"loc":{"start":{"line":116,"column":31},"end":{"line":118,"column":1}}},"12":{"name":"enableAllLogWrites","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":27}},"loc":{"start":{"line":124,"column":30},"end":{"line":126,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"type":"binary-expr","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}}]},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":4},"end":{"line":54,"column":5}}]},"2":{"loc":{"start":{"line":58,"column":39},"end":{"line":58,"column":65}},"type":"binary-expr","locations":[{"start":{"line":58,"column":39},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":65}}]},"3":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}]},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}}]},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":106,"column":54}},"type":"binary-expr","locations":[{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},{"start":{"line":106,"column":28},"end":{"line":106,"column":54}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":3,"5":3,"6":3,"7":3,"8":3,"9":2,"10":2,"11":2,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":3,"21":3,"22":3,"23":1,"24":1,"25":1,"26":7,"27":7,"28":7,"29":0,"30":7,"31":7,"32":0,"33":7,"34":3,"35":3,"36":3,"37":0,"38":4,"39":1,"40":1,"41":1,"42":1,"43":1},"f":{"0":3,"1":2,"2":0,"3":0,"4":0,"5":3,"6":3,"7":7,"8":0,"9":0,"10":3,"11":0,"12":4},"b":{"0":[2,0],"1":[0,2],"2":[0,0],"3":[0,0],"4":[3,0],"5":[3,3]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7d8e54612a5d21505ecc3cd8c5eea114082c17db","contentHash":"00d625ca9babf994c26685dc45e2004b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":7,"column":23},"end":{"line":10,"column":18}},"2":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"4":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":34}},"6":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"7":{"start":{"line":50,"column":21},"end":{"line":50,"column":30}},"8":{"start":{"line":51,"column":14},"end":{"line":51,"column":56}},"9":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"10":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"11":{"start":{"line":55,"column":2},"end":{"line":112,"column":4}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"13":{"start":{"line":57,"column":22},"end":{"line":57,"column":36}},"14":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"15":{"start":{"line":60,"column":46},"end":{"line":60,"column":60}},"16":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"17":{"start":{"line":63,"column":20},"end":{"line":63,"column":30}},"18":{"start":{"line":64,"column":24},"end":{"line":64,"column":37}},"19":{"start":{"line":67,"column":6},"end":{"line":67,"column":26}},"20":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"21":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":37}},"23":{"start":{"line":74,"column":8},"end":{"line":74,"column":32}},"24":{"start":{"line":75,"column":8},"end":{"line":75,"column":38}},"25":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"26":{"start":{"line":79,"column":10},"end":{"line":79,"column":30}},"27":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"28":{"start":{"line":80,"column":27},"end":{"line":80,"column":47}},"29":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"30":{"start":{"line":81,"column":27},"end":{"line":81,"column":48}},"31":{"start":{"line":83,"column":10},"end":{"line":83,"column":61}},"32":{"start":{"line":88,"column":6},"end":{"line":107,"column":9}},"33":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"34":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"35":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"37":{"start":{"line":93,"column":37},"end":{"line":93,"column":57}},"38":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"39":{"start":{"line":94,"column":37},"end":{"line":94,"column":58}},"40":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"41":{"start":{"line":98,"column":33},"end":{"line":98,"column":79}},"42":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"43":{"start":{"line":101,"column":25},"end":{"line":101,"column":74}},"44":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}},"45":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"46":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"47":{"start":{"line":104,"column":12},"end":{"line":104,"column":63}},"48":{"start":{"line":111,"column":4},"end":{"line":111,"column":18}},"49":{"start":{"line":126,"column":28},"end":{"line":138,"column":3}},"50":{"start":{"line":127,"column":14},"end":{"line":127,"column":28}},"51":{"start":{"line":128,"column":4},"end":{"line":136,"column":5}},"52":{"start":{"line":129,"column":6},"end":{"line":135,"column":7}},"53":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"54":{"start":{"line":133,"column":10},"end":{"line":133,"column":27}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":13}},"56":{"start":{"line":140,"column":24},"end":{"line":140,"column":26}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":66}},"58":{"start":{"line":142,"column":2},"end":{"line":142,"column":72}},"59":{"start":{"line":143,"column":2},"end":{"line":143,"column":72}},"60":{"start":{"line":144,"column":2},"end":{"line":144,"column":68}},"61":{"start":{"line":145,"column":2},"end":{"line":145,"column":92}},"62":{"start":{"line":146,"column":2},"end":{"line":146,"column":81}},"63":{"start":{"line":147,"column":2},"end":{"line":147,"column":80}},"64":{"start":{"line":148,"column":2},"end":{"line":151,"column":5}},"65":{"start":{"line":152,"column":2},"end":{"line":155,"column":5}},"66":{"start":{"line":156,"column":2},"end":{"line":166,"column":5}},"67":{"start":{"line":167,"column":2},"end":{"line":167,"column":87}},"68":{"start":{"line":168,"column":2},"end":{"line":173,"column":5}},"69":{"start":{"line":174,"column":2},"end":{"line":179,"column":5}},"70":{"start":{"line":177,"column":6},"end":{"line":177,"column":46}},"71":{"start":{"line":180,"column":2},"end":{"line":187,"column":5}},"72":{"start":{"line":183,"column":6},"end":{"line":185,"column":50}},"73":{"start":{"line":189,"column":2},"end":{"line":189,"column":63}},"74":{"start":{"line":203,"column":2},"end":{"line":203,"column":36}},"75":{"start":{"line":215,"column":2},"end":{"line":217,"column":3}},"76":{"start":{"line":216,"column":4},"end":{"line":216,"column":62}},"77":{"start":{"line":218,"column":2},"end":{"line":218,"column":13}},"78":{"start":{"line":249,"column":15},"end":{"line":249,"column":19}},"79":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"80":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"81":{"start":{"line":253,"column":6},"end":{"line":253,"column":21}},"82":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"83":{"start":{"line":257,"column":6},"end":{"line":257,"column":33}},"84":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"85":{"start":{"line":262,"column":31},"end":{"line":262,"column":80}},"86":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"87":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"88":{"start":{"line":267,"column":2},"end":{"line":267,"column":16}},"89":{"start":{"line":270,"column":0},"end":{"line":270,"column":41}}},"fnMap":{"0":{"name":"getLogger","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":39},"end":{"line":113,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":10}},"loc":{"start":{"line":55,"column":29},"end":{"line":112,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":70,"column":22},"end":{"line":70,"column":23}},"loc":{"start":{"line":70,"column":41},"end":{"line":85,"column":7}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":23},"end":{"line":88,"column":24}},"loc":{"start":{"line":88,"column":29},"end":{"line":107,"column":7}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":39},"end":{"line":101,"column":40}},"loc":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}}},"5":{"name":"assembleTokens","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":48},"end":{"line":190,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":28},"end":{"line":126,"column":29}},"loc":{"start":{"line":126,"column":39},"end":{"line":138,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":17},"end":{"line":176,"column":18}},"loc":{"start":{"line":176,"column":37},"end":{"line":178,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":182,"column":17},"end":{"line":182,"column":18}},"loc":{"start":{"line":182,"column":37},"end":{"line":186,"column":5}}},"9":{"name":"getUrl","decl":{"start":{"line":202,"column":9},"end":{"line":202,"column":15}},"loc":{"start":{"line":202,"column":21},"end":{"line":204,"column":1}}},"10":{"name":"format","decl":{"start":{"line":214,"column":9},"end":{"line":214,"column":15}},"loc":{"start":{"line":214,"column":29},"end":{"line":219,"column":1}}},"11":{"name":"createNoLogCondition","decl":{"start":{"line":248,"column":9},"end":{"line":248,"column":29}},"loc":{"start":{"line":248,"column":37},"end":{"line":268,"column":1}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":262,"column":41},"end":{"line":262,"column":42}},"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}}}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},{"start":{"line":42,"column":2},"end":{"line":48,"column":3}}]},"1":{"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":27}},"type":"binary-expr","locations":[{"start":{"line":43,"column":14},"end":{"line":43,"column":21}},{"start":{"line":43,"column":25},"end":{"line":43,"column":27}}]},"2":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}]},"3":{"loc":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"type":"binary-expr","locations":[{"start":{"line":52,"column":14},"end":{"line":52,"column":28}},{"start":{"line":52,"column":32},"end":{"line":52,"column":46}}]},"4":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":32},"end":{"line":53,"column":67}},{"start":{"line":53,"column":70},"end":{"line":53,"column":74}}]},"5":{"loc":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},{"start":{"line":57,"column":4},"end":{"line":57,"column":36}}]},"6":{"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},{"start":{"line":60,"column":4},"end":{"line":60,"column":60}}]},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":44}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":13}},{"start":{"line":60,"column":17},"end":{"line":60,"column":44}}]},"8":{"loc":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},{"start":{"line":62,"column":4},"end":{"line":108,"column":5}}]},"9":{"loc":{"start":{"line":62,"column":8},"end":{"line":62,"column":68}},"type":"binary-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":40}},{"start":{"line":62,"column":44},"end":{"line":62,"column":68}}]},"10":{"loc":{"start":{"line":75,"column":24},"end":{"line":75,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":24},"end":{"line":75,"column":31}},{"start":{"line":75,"column":35},"end":{"line":75,"column":37}}]},"11":{"loc":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},{"start":{"line":78,"column":8},"end":{"line":84,"column":9}}]},"12":{"loc":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},{"start":{"line":80,"column":10},"end":{"line":80,"column":47}}]},"13":{"loc":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},{"start":{"line":81,"column":10},"end":{"line":81,"column":48}}]},"14":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":91,"column":8},"end":{"line":95,"column":9}}]},"15":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":54}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":26}},{"start":{"line":91,"column":30},"end":{"line":91,"column":54}}]},"16":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"type":"if","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},{"start":{"line":93,"column":10},"end":{"line":93,"column":57}}]},"17":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"type":"if","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},{"start":{"line":94,"column":10},"end":{"line":94,"column":58}}]},"18":{"loc":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},{"start":{"line":97,"column":8},"end":{"line":106,"column":9}}]},"19":{"loc":{"start":{"line":98,"column":58},"end":{"line":98,"column":78}},"type":"binary-expr","locations":[{"start":{"line":98,"column":58},"end":{"line":98,"column":72}},{"start":{"line":98,"column":76},"end":{"line":98,"column":78}}]},"20":{"loc":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},{"start":{"line":100,"column":10},"end":{"line":105,"column":11}}]},"21":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"type":"if","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},{"start":{"line":102,"column":12},"end":{"line":102,"column":50}}]},"22":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},{"start":{"line":132,"column":8},"end":{"line":134,"column":9}}]},"23":{"loc":{"start":{"line":145,"column":54},"end":{"line":145,"column":88}},"type":"binary-expr","locations":[{"start":{"line":145,"column":54},"end":{"line":145,"column":70}},{"start":{"line":145,"column":74},"end":{"line":145,"column":88}}]},"24":{"loc":{"start":{"line":150,"column":17},"end":{"line":150,"column":66}},"type":"binary-expr","locations":[{"start":{"line":150,"column":17},"end":{"line":150,"column":36}},{"start":{"line":150,"column":40},"end":{"line":150,"column":60}},{"start":{"line":150,"column":64},"end":{"line":150,"column":66}}]},"25":{"loc":{"start":{"line":158,"column":17},"end":{"line":165,"column":5}},"type":"binary-expr","locations":[{"start":{"line":158,"column":17},"end":{"line":158,"column":47}},{"start":{"line":159,"column":4},"end":{"line":159,"column":10}},{"start":{"line":160,"column":4},"end":{"line":160,"column":22}},{"start":{"line":161,"column":5},"end":{"line":161,"column":15}},{"start":{"line":162,"column":7},"end":{"line":162,"column":31}},{"start":{"line":163,"column":9},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":61}}]},"26":{"loc":{"start":{"line":170,"column":17},"end":{"line":172,"column":7}},"type":"binary-expr","locations":[{"start":{"line":170,"column":18},"end":{"line":170,"column":30}},{"start":{"line":170,"column":34},"end":{"line":170,"column":64}},{"start":{"line":171,"column":5},"end":{"line":171,"column":18}},{"start":{"line":171,"column":22},"end":{"line":171,"column":53}},{"start":{"line":172,"column":4},"end":{"line":172,"column":7}}]},"27":{"loc":{"start":{"line":183,"column":13},"end":{"line":185,"column":49}},"type":"cond-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},{"start":{"line":185,"column":11},"end":{"line":185,"column":48}}]},"28":{"loc":{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":47}},{"start":{"line":184,"column":51},"end":{"line":184,"column":71}}]},"29":{"loc":{"start":{"line":185,"column":11},"end":{"line":185,"column":48}},"type":"binary-expr","locations":[{"start":{"line":185,"column":11},"end":{"line":185,"column":24}},{"start":{"line":185,"column":28},"end":{"line":185,"column":48}}]},"30":{"loc":{"start":{"line":203,"column":9},"end":{"line":203,"column":35}},"type":"binary-expr","locations":[{"start":{"line":203,"column":9},"end":{"line":203,"column":24}},{"start":{"line":203,"column":28},"end":{"line":203,"column":35}}]},"31":{"loc":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},{"start":{"line":251,"column":2},"end":{"line":265,"column":3}}]},"32":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{"line":252,"column":4},"end":{"line":254,"column":5}}]},"33":{"loc":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},{"start":{"line":256,"column":4},"end":{"line":258,"column":5}}]},"34":{"loc":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"type":"if","locations":[{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},{"start":{"line":260,"column":4},"end":{"line":264,"column":5}}]},"35":{"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"type":"cond-expr","locations":[{"start":{"line":262,"column":62},"end":{"line":262,"column":72}},{"start":{"line":262,"column":75},"end":{"line":262,"column":78}}]}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0,0,0,0,0,0],"26":[0,0,0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8de6ff12985e168d800fe4d220a8a32e3c1dbe2a","contentHash":"06eb335e3bac458879bb256f44ac2576_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}}},"fnMap":{"0":{"name":"stdoutAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":33},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":0,"4":1,"5":0,"6":1,"7":1,"8":1},"f":{"0":1,"1":0,"2":1},"b":{"0":[1,1],"1":[0,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7fe10c84b315d3ba3e07ce62d5e48e59666eb827","contentHash":"009980a1b175f554654dded39c797b6c_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/hipchat.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/hipchat.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":16},"end":{"line":4,"column":37}},"2":{"start":{"line":6,"column":0},"end":{"line":6,"column":32}},"3":{"start":{"line":7,"column":0},"end":{"line":7,"column":42}},"4":{"start":{"line":8,"column":0},"end":{"line":8,"column":44}},"5":{"start":{"line":34,"column":2},"end":{"line":36,"column":3}},"6":{"start":{"line":35,"column":4},"end":{"line":35,"column":14}},"7":{"start":{"line":40,"column":19},"end":{"line":40,"column":74}},"8":{"start":{"line":43,"column":2},"end":{"line":77,"column":4}},"9":{"start":{"line":46,"column":4},"end":{"line":46,"column":42}},"10":{"start":{"line":47,"column":4},"end":{"line":47,"column":48}},"11":{"start":{"line":48,"column":4},"end":{"line":48,"column":55}},"12":{"start":{"line":50,"column":4},"end":{"line":52,"column":5}},"13":{"start":{"line":51,"column":6},"end":{"line":51,"column":44}},"14":{"start":{"line":54,"column":4},"end":{"line":68,"column":5}},"15":{"start":{"line":57,"column":8},"end":{"line":57,"column":28}},"16":{"start":{"line":58,"column":8},"end":{"line":58,"column":14}},"17":{"start":{"line":60,"column":8},"end":{"line":60,"column":31}},"18":{"start":{"line":61,"column":8},"end":{"line":61,"column":14}},"19":{"start":{"line":64,"column":8},"end":{"line":64,"column":31}},"20":{"start":{"line":65,"column":8},"end":{"line":65,"column":14}},"21":{"start":{"line":67,"column":8},"end":{"line":67,"column":31}},"22":{"start":{"line":71,"column":26},"end":{"line":71,"column":53}},"23":{"start":{"line":75,"column":4},"end":{"line":76,"column":39}},"24":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"25":{"start":{"line":84,"column":4},"end":{"line":84,"column":53}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":41}}},"fnMap":{"0":{"name":"hipchatNotifierResponseCallback","decl":{"start":{"line":33,"column":9},"end":{"line":33,"column":40}},"loc":{"start":{"line":33,"column":62},"end":{"line":37,"column":1}}},"1":{"name":"hipchatAppender","decl":{"start":{"line":39,"column":9},"end":{"line":39,"column":24}},"loc":{"start":{"line":39,"column":33},"end":{"line":78,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":43,"column":9},"end":{"line":43,"column":10}},"loc":{"start":{"line":43,"column":27},"end":{"line":77,"column":3}}},"3":{"name":"hipchatConfigure","decl":{"start":{"line":80,"column":9},"end":{"line":80,"column":25}},"loc":{"start":{"line":80,"column":34},"end":{"line":88,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":2},"end":{"line":36,"column":3}},"type":"if","locations":[{"start":{"line":34,"column":2},"end":{"line":36,"column":3}},{"start":{"line":34,"column":2},"end":{"line":36,"column":3}}]},"1":{"loc":{"start":{"line":47,"column":21},"end":{"line":47,"column":46}},"type":"binary-expr","locations":[{"start":{"line":47,"column":21},"end":{"line":47,"column":40}},{"start":{"line":47,"column":44},"end":{"line":47,"column":46}}]},"2":{"loc":{"start":{"line":48,"column":23},"end":{"line":48,"column":53}},"type":"binary-expr","locations":[{"start":{"line":48,"column":23},"end":{"line":48,"column":44}},{"start":{"line":48,"column":48},"end":{"line":48,"column":53}}]},"3":{"loc":{"start":{"line":50,"column":4},"end":{"line":52,"column":5}},"type":"if","locations":[{"start":{"line":50,"column":4},"end":{"line":52,"column":5}},{"start":{"line":50,"column":4},"end":{"line":52,"column":5}}]},"4":{"loc":{"start":{"line":54,"column":4},"end":{"line":68,"column":5}},"type":"switch","locations":[{"start":{"line":55,"column":6},"end":{"line":55,"column":19}},{"start":{"line":56,"column":6},"end":{"line":58,"column":14}},{"start":{"line":59,"column":6},"end":{"line":61,"column":14}},{"start":{"line":62,"column":6},"end":{"line":62,"column":19}},{"start":{"line":63,"column":6},"end":{"line":65,"column":14}},{"start":{"line":66,"column":6},"end":{"line":67,"column":31}}]},"5":{"loc":{"start":{"line":75,"column":40},"end":{"line":76,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":40},"end":{"line":75,"column":72}},{"start":{"line":76,"column":6},"end":{"line":76,"column":37}}]},"6":{"loc":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"type":"if","locations":[{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},{"start":{"line":83,"column":2},"end":{"line":85,"column":3}}]}},"s":{"0":3,"1":3,"2":3,"3":3,"4":3,"5":0,"6":0,"7":3,"8":3,"9":3,"10":3,"11":3,"12":3,"13":1,"14":3,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":0,"22":3,"23":3,"24":3,"25":2,"26":3},"f":{"0":0,"1":3,"2":3,"3":3},"b":{"0":[0,0],"1":[3,2],"2":[3,2],"3":[1,2],"4":[0,1,1,1,1,0],"5":[3,2],"6":[2,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"fb1178ab7c2e0f61f7cd5578839e03ac0105628c"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/e15080a8269a078d5f2e39644e615fb3.json b/node_modules/log4js/.nyc_output/e15080a8269a078d5f2e39644e615fb3.json deleted file mode 100644 index d9ca958..0000000 --- a/node_modules/log4js/.nyc_output/e15080a8269a078d5f2e39644e615fb3.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/log4js.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/log4js.js","statementMap":{"0":{"start":{"line":35,"column":11},"end":{"line":35,"column":24}},"1":{"start":{"line":36,"column":13},"end":{"line":36,"column":28}},"2":{"start":{"line":37,"column":16},"end":{"line":37,"column":36}},"3":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"4":{"start":{"line":39,"column":21},"end":{"line":39,"column":40}},"5":{"start":{"line":40,"column":22},"end":{"line":40,"column":63}},"6":{"start":{"line":42,"column":15},"end":{"line":42,"column":34}},"7":{"start":{"line":44,"column":23},"end":{"line":44,"column":30}},"8":{"start":{"line":45,"column":16},"end":{"line":45,"column":18}},"9":{"start":{"line":46,"column":23},"end":{"line":46,"column":25}},"10":{"start":{"line":47,"column":26},"end":{"line":47,"column":28}},"11":{"start":{"line":48,"column":22},"end":{"line":53,"column":1}},"12":{"start":{"line":55,"column":16},"end":{"line":55,"column":18}},"13":{"start":{"line":58,"column":2},"end":{"line":58,"column":40}},"14":{"start":{"line":62,"column":0},"end":{"line":70,"column":2}},"15":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"16":{"start":{"line":65,"column":23},"end":{"line":65,"column":45}},"17":{"start":{"line":66,"column":4},"end":{"line":66,"column":51}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":40}},"19":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"20":{"start":{"line":73,"column":21},"end":{"line":73,"column":44}},"21":{"start":{"line":74,"column":17},"end":{"line":74,"column":19}},"22":{"start":{"line":75,"column":2},"end":{"line":75,"column":19}},"23":{"start":{"line":76,"column":2},"end":{"line":76,"column":29}},"24":{"start":{"line":77,"column":2},"end":{"line":83,"column":4}},"25":{"start":{"line":78,"column":4},"end":{"line":82,"column":5}},"26":{"start":{"line":79,"column":18},"end":{"line":79,"column":32}},"27":{"start":{"line":80,"column":6},"end":{"line":80,"column":44}},"28":{"start":{"line":81,"column":6},"end":{"line":81,"column":28}},"29":{"start":{"line":84,"column":2},"end":{"line":86,"column":4}},"30":{"start":{"line":85,"column":4},"end":{"line":85,"column":59}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":4}},"32":{"start":{"line":88,"column":4},"end":{"line":88,"column":59}},"33":{"start":{"line":90,"column":2},"end":{"line":92,"column":4}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":58}},"35":{"start":{"line":93,"column":2},"end":{"line":95,"column":4}},"36":{"start":{"line":94,"column":4},"end":{"line":94,"column":58}},"37":{"start":{"line":96,"column":2},"end":{"line":98,"column":4}},"38":{"start":{"line":97,"column":4},"end":{"line":97,"column":59}},"39":{"start":{"line":99,"column":2},"end":{"line":101,"column":4}},"40":{"start":{"line":100,"column":4},"end":{"line":100,"column":59}},"41":{"start":{"line":103,"column":2},"end":{"line":103,"column":16}},"42":{"start":{"line":107,"column":2},"end":{"line":107,"column":24}},"43":{"start":{"line":111,"column":34},"end":{"line":111,"column":66}},"44":{"start":{"line":112,"column":35},"end":{"line":112,"column":68}},"45":{"start":{"line":113,"column":2},"end":{"line":113,"column":107}},"46":{"start":{"line":117,"column":37},"end":{"line":117,"column":72}},"47":{"start":{"line":118,"column":35},"end":{"line":118,"column":68}},"48":{"start":{"line":119,"column":2},"end":{"line":119,"column":113}},"49":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"50":{"start":{"line":131,"column":4},"end":{"line":131,"column":49}},"51":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"52":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"53":{"start":{"line":142,"column":19},"end":{"line":142,"column":52}},"54":{"start":{"line":143,"column":6},"end":{"line":149,"column":7}},"55":{"start":{"line":144,"column":30},"end":{"line":144,"column":39}},"56":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"57":{"start":{"line":147,"column":10},"end":{"line":147,"column":47}},"58":{"start":{"line":154,"column":4},"end":{"line":154,"column":72}},"59":{"start":{"line":158,"column":4},"end":{"line":165,"column":5}},"60":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"61":{"start":{"line":160,"column":8},"end":{"line":160,"column":51}},"62":{"start":{"line":161,"column":8},"end":{"line":163,"column":11}},"63":{"start":{"line":162,"column":10},"end":{"line":162,"column":67}},"64":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":47}},"66":{"start":{"line":170,"column":6},"end":{"line":172,"column":9}},"67":{"start":{"line":171,"column":8},"end":{"line":171,"column":65}},"68":{"start":{"line":176,"column":2},"end":{"line":176,"column":37}},"69":{"start":{"line":185,"column":13},"end":{"line":185,"column":34}},"70":{"start":{"line":186,"column":19},"end":{"line":186,"column":31}},"71":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"72":{"start":{"line":189,"column":4},"end":{"line":189,"column":47}},"73":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"74":{"start":{"line":193,"column":4},"end":{"line":193,"column":28}},"75":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"76":{"start":{"line":197,"column":4},"end":{"line":197,"column":19}},"77":{"start":{"line":200,"column":2},"end":{"line":212,"column":5}},"78":{"start":{"line":201,"column":4},"end":{"line":201,"column":54}},"79":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"80":{"start":{"line":204,"column":6},"end":{"line":204,"column":40}},"81":{"start":{"line":206,"column":6},"end":{"line":210,"column":7}},"82":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"83":{"start":{"line":208,"column":10},"end":{"line":208,"column":63}},"84":{"start":{"line":216,"column":2},"end":{"line":220,"column":3}},"85":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":218,"column":6},"end":{"line":218,"column":51}},"87":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"88":{"start":{"line":225,"column":4},"end":{"line":225,"column":29}},"89":{"start":{"line":227,"column":2},"end":{"line":227,"column":37}},"90":{"start":{"line":233,"column":2},"end":{"line":233,"column":36}},"91":{"start":{"line":234,"column":2},"end":{"line":234,"column":17}},"92":{"start":{"line":235,"column":2},"end":{"line":239,"column":3}},"93":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"94":{"start":{"line":237,"column":6},"end":{"line":237,"column":48}},"95":{"start":{"line":243,"column":2},"end":{"line":243,"column":19}},"96":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"97":{"start":{"line":245,"column":4},"end":{"line":255,"column":7}},"98":{"start":{"line":246,"column":6},"end":{"line":246,"column":40}},"99":{"start":{"line":248,"column":6},"end":{"line":248,"column":45}},"100":{"start":{"line":249,"column":6},"end":{"line":254,"column":7}},"101":{"start":{"line":250,"column":8},"end":{"line":250,"column":80}},"102":{"start":{"line":251,"column":8},"end":{"line":251,"column":55}},"103":{"start":{"line":253,"column":8},"end":{"line":253,"column":95}},"104":{"start":{"line":260,"column":2},"end":{"line":260,"column":26}},"105":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"106":{"start":{"line":262,"column":17},"end":{"line":262,"column":50}},"107":{"start":{"line":265,"column":4},"end":{"line":276,"column":5}},"108":{"start":{"line":266,"column":23},"end":{"line":266,"column":32}},"109":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":45}},"111":{"start":{"line":271,"column":6},"end":{"line":275,"column":7}},"112":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"113":{"start":{"line":273,"column":10},"end":{"line":273,"column":62}},"114":{"start":{"line":281,"column":2},"end":{"line":281,"column":63}},"115":{"start":{"line":290,"column":2},"end":{"line":290,"column":44}},"116":{"start":{"line":293,"column":20},"end":{"line":293,"column":22}},"117":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"118":{"start":{"line":297,"column":4},"end":{"line":297,"column":57}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":19}},"120":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"121":{"start":{"line":304,"column":4},"end":{"line":316,"column":5}},"122":{"start":{"line":305,"column":6},"end":{"line":305,"column":23}},"123":{"start":{"line":306,"column":6},"end":{"line":306,"column":37}},"124":{"start":{"line":307,"column":6},"end":{"line":307,"column":52}},"125":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"126":{"start":{"line":310,"column":8},"end":{"line":310,"column":25}},"127":{"start":{"line":313,"column":6},"end":{"line":315,"column":8}},"128":{"start":{"line":321,"column":16},"end":{"line":321,"column":46}},"129":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"130":{"start":{"line":322,"column":14},"end":{"line":322,"column":21}},"131":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"132":{"start":{"line":325,"column":4},"end":{"line":325,"column":75}},"133":{"start":{"line":327,"column":2},"end":{"line":327,"column":32}},"134":{"start":{"line":332,"column":2},"end":{"line":336,"column":3}},"135":{"start":{"line":333,"column":4},"end":{"line":333,"column":52}},"136":{"start":{"line":335,"column":4},"end":{"line":335,"column":78}},"137":{"start":{"line":337,"column":2},"end":{"line":337,"column":15}},"138":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"139":{"start":{"line":342,"column":4},"end":{"line":342,"column":39}},"140":{"start":{"line":343,"column":4},"end":{"line":343,"column":31}},"141":{"start":{"line":345,"column":2},"end":{"line":345,"column":34}},"142":{"start":{"line":346,"column":2},"end":{"line":346,"column":45}},"143":{"start":{"line":347,"column":2},"end":{"line":347,"column":93}},"144":{"start":{"line":351,"column":15},"end":{"line":351,"column":40}},"145":{"start":{"line":352,"column":2},"end":{"line":352,"column":47}},"146":{"start":{"line":353,"column":2},"end":{"line":353,"column":26}},"147":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"148":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"149":{"start":{"line":357,"column":6},"end":{"line":357,"column":47}},"150":{"start":{"line":359,"column":4},"end":{"line":359,"column":60}},"151":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"152":{"start":{"line":362,"column":6},"end":{"line":364,"column":8}},"153":{"start":{"line":367,"column":2},"end":{"line":367,"column":36}},"154":{"start":{"line":370,"column":33},"end":{"line":376,"column":1}},"155":{"start":{"line":380,"column":4},"end":{"line":384,"column":6}},"156":{"start":{"line":383,"column":6},"end":{"line":383,"column":46}},"157":{"start":{"line":387,"column":2},"end":{"line":387,"column":42}},"158":{"start":{"line":389,"column":2},"end":{"line":391,"column":5}},"159":{"start":{"line":390,"column":4},"end":{"line":390,"column":77}},"160":{"start":{"line":395,"column":2},"end":{"line":397,"column":5}},"161":{"start":{"line":396,"column":4},"end":{"line":396,"column":51}},"162":{"start":{"line":412,"column":2},"end":{"line":416,"column":3}},"163":{"start":{"line":413,"column":4},"end":{"line":413,"column":56}},"164":{"start":{"line":415,"column":4},"end":{"line":415,"column":39}},"165":{"start":{"line":417,"column":2},"end":{"line":417,"column":24}},"166":{"start":{"line":431,"column":2},"end":{"line":431,"column":63}},"167":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"168":{"start":{"line":434,"column":4},"end":{"line":434,"column":74}},"169":{"start":{"line":437,"column":2},"end":{"line":437,"column":76}},"170":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"171":{"start":{"line":439,"column":4},"end":{"line":439,"column":79}},"172":{"start":{"line":441,"column":2},"end":{"line":441,"column":75}},"173":{"start":{"line":455,"column":2},"end":{"line":455,"column":37}},"174":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"175":{"start":{"line":459,"column":4},"end":{"line":459,"column":39}},"176":{"start":{"line":463,"column":18},"end":{"line":463,"column":19}},"177":{"start":{"line":465,"column":28},"end":{"line":465,"column":30}},"178":{"start":{"line":468,"column":4},"end":{"line":468,"column":25}},"179":{"start":{"line":469,"column":4},"end":{"line":469,"column":16}},"180":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"181":{"start":{"line":471,"column":6},"end":{"line":471,"column":16}},"182":{"start":{"line":475,"column":2},"end":{"line":479,"column":3}},"183":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":477,"column":6},"end":{"line":477,"column":58}},"185":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"186":{"start":{"line":482,"column":4},"end":{"line":482,"column":16}},"187":{"start":{"line":485,"column":2},"end":{"line":487,"column":5}},"188":{"start":{"line":486,"column":4},"end":{"line":486,"column":26}},"189":{"start":{"line":489,"column":2},"end":{"line":489,"column":14}},"190":{"start":{"line":513,"column":15},"end":{"line":535,"column":1}},"191":{"start":{"line":537,"column":0},"end":{"line":537,"column":24}},"192":{"start":{"line":540,"column":0},"end":{"line":540,"column":12}}},"fnMap":{"0":{"name":"hasLogger","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":18}},"loc":{"start":{"line":57,"column":27},"end":{"line":59,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":47},"end":{"line":70,"column":1}}},"2":{"name":"getBufferedLogger","decl":{"start":{"line":72,"column":9},"end":{"line":72,"column":26}},"loc":{"start":{"line":72,"column":41},"end":{"line":104,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":17},"end":{"line":77,"column":18}},"loc":{"start":{"line":77,"column":29},"end":{"line":83,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":17},"end":{"line":84,"column":18}},"loc":{"start":{"line":84,"column":36},"end":{"line":86,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":87,"column":17},"end":{"line":87,"column":18}},"loc":{"start":{"line":87,"column":36},"end":{"line":89,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":17}},"loc":{"start":{"line":90,"column":35},"end":{"line":92,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":17}},"loc":{"start":{"line":93,"column":35},"end":{"line":95,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":17},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":36},"end":{"line":98,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":18}},"loc":{"start":{"line":99,"column":36},"end":{"line":101,"column":3}}},"10":{"name":"normalizeCategory","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":37},"end":{"line":108,"column":1}}},"11":{"name":"doesLevelEntryContainsLogger","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":37}},"loc":{"start":{"line":110,"column":69},"end":{"line":114,"column":1}}},"12":{"name":"doesAppenderContainsLogger","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":35}},"loc":{"start":{"line":116,"column":70},"end":{"line":120,"column":1}}},"13":{"name":"getLogger","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":18}},"loc":{"start":{"line":128,"column":39},"end":{"line":177,"column":1}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":161,"column":29},"end":{"line":161,"column":30}},"loc":{"start":{"line":161,"column":43},"end":{"line":163,"column":9}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":170,"column":27},"end":{"line":170,"column":28}},"loc":{"start":{"line":170,"column":41},"end":{"line":172,"column":7}}},"16":{"name":"addAppender","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":20}},"loc":{"start":{"line":182,"column":23},"end":{"line":213,"column":1}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":200,"column":15},"end":{"line":200,"column":16}},"loc":{"start":{"line":200,"column":37},"end":{"line":212,"column":3}}},"18":{"name":"addAppenderToAllLoggers","decl":{"start":{"line":215,"column":9},"end":{"line":215,"column":32}},"loc":{"start":{"line":215,"column":43},"end":{"line":221,"column":1}}},"19":{"name":"addAppenderToCategory","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":30}},"loc":{"start":{"line":223,"column":51},"end":{"line":228,"column":1}}},"20":{"name":"clearAppenders","decl":{"start":{"line":230,"column":9},"end":{"line":230,"column":23}},"loc":{"start":{"line":230,"column":26},"end":{"line":240,"column":1}}},"21":{"name":"configureAppenders","decl":{"start":{"line":242,"column":9},"end":{"line":242,"column":27}},"loc":{"start":{"line":242,"column":51},"end":{"line":257,"column":1}}},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":25},"end":{"line":245,"column":26}},"loc":{"start":{"line":245,"column":45},"end":{"line":255,"column":5}}},"23":{"name":"configureLevels","decl":{"start":{"line":259,"column":9},"end":{"line":259,"column":24}},"loc":{"start":{"line":259,"column":34},"end":{"line":278,"column":1}}},"24":{"name":"setGlobalLogLevel","decl":{"start":{"line":280,"column":9},"end":{"line":280,"column":26}},"loc":{"start":{"line":280,"column":34},"end":{"line":282,"column":1}}},"25":{"name":"getDefaultLogger","decl":{"start":{"line":289,"column":9},"end":{"line":289,"column":25}},"loc":{"start":{"line":289,"column":28},"end":{"line":291,"column":1}}},"26":{"name":"loadConfigurationFile","decl":{"start":{"line":295,"column":9},"end":{"line":295,"column":30}},"loc":{"start":{"line":295,"column":41},"end":{"line":300,"column":1}}},"27":{"name":"configureOnceOff","decl":{"start":{"line":302,"column":9},"end":{"line":302,"column":25}},"loc":{"start":{"line":302,"column":43},"end":{"line":318,"column":1}}},"28":{"name":"reloadConfiguration","decl":{"start":{"line":320,"column":9},"end":{"line":320,"column":28}},"loc":{"start":{"line":320,"column":38},"end":{"line":328,"column":1}}},"29":{"name":"getMTime","decl":{"start":{"line":330,"column":9},"end":{"line":330,"column":17}},"loc":{"start":{"line":330,"column":28},"end":{"line":338,"column":1}}},"30":{"name":"initReloadConfiguration","decl":{"start":{"line":340,"column":9},"end":{"line":340,"column":32}},"loc":{"start":{"line":340,"column":52},"end":{"line":348,"column":1}}},"31":{"name":"configure","decl":{"start":{"line":350,"column":9},"end":{"line":350,"column":18}},"loc":{"start":{"line":350,"column":55},"end":{"line":368,"column":1}}},"32":{"name":"replaceConsole","decl":{"start":{"line":378,"column":9},"end":{"line":378,"column":23}},"loc":{"start":{"line":378,"column":32},"end":{"line":392,"column":1}}},"33":{"name":"replaceWith","decl":{"start":{"line":379,"column":11},"end":{"line":379,"column":22}},"loc":{"start":{"line":379,"column":27},"end":{"line":385,"column":3}}},"34":{"name":"(anonymous_34)","decl":{"start":{"line":380,"column":11},"end":{"line":380,"column":12}},"loc":{"start":{"line":380,"column":23},"end":{"line":384,"column":5}}},"35":{"name":"(anonymous_35)","decl":{"start":{"line":389,"column":52},"end":{"line":389,"column":53}},"loc":{"start":{"line":389,"column":62},"end":{"line":391,"column":3}}},"36":{"name":"restoreConsole","decl":{"start":{"line":394,"column":9},"end":{"line":394,"column":23}},"loc":{"start":{"line":394,"column":26},"end":{"line":398,"column":1}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":395,"column":52},"end":{"line":395,"column":53}},"loc":{"start":{"line":395,"column":62},"end":{"line":397,"column":3}}},"38":{"name":"requireAppender","decl":{"start":{"line":410,"column":9},"end":{"line":410,"column":24}},"loc":{"start":{"line":410,"column":35},"end":{"line":418,"column":1}}},"39":{"name":"loadAppender","decl":{"start":{"line":430,"column":9},"end":{"line":430,"column":21}},"loc":{"start":{"line":430,"column":48},"end":{"line":442,"column":1}}},"40":{"name":"shutdown","decl":{"start":{"line":452,"column":9},"end":{"line":452,"column":17}},"loc":{"start":{"line":452,"column":22},"end":{"line":490,"column":1}}},"41":{"name":"complete","decl":{"start":{"line":467,"column":11},"end":{"line":467,"column":19}},"loc":{"start":{"line":467,"column":25},"end":{"line":473,"column":3}}},"42":{"name":"(anonymous_42)","decl":{"start":{"line":485,"column":28},"end":{"line":485,"column":29}},"loc":{"start":{"line":485,"column":45},"end":{"line":487,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},{"start":{"line":64,"column":2},"end":{"line":68,"column":3}}]},"1":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":66}},"type":"binary-expr","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":34}},{"start":{"line":64,"column":38},"end":{"line":64,"column":66}}]},"2":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{"line":130,"column":2},"end":{"line":132,"column":3}}]},"3":{"loc":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},{"start":{"line":134,"column":2},"end":{"line":174,"column":3}}]},"4":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{"line":139,"column":4},"end":{"line":150,"column":5}}]},"5":{"loc":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},{"start":{"line":145,"column":8},"end":{"line":148,"column":9}}]},"6":{"loc":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},{"start":{"line":159,"column":6},"end":{"line":164,"column":7}}]},"7":{"loc":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},{"start":{"line":168,"column":4},"end":{"line":173,"column":5}}]},"8":{"loc":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"type":"if","locations":[{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},{"start":{"line":188,"column":2},"end":{"line":190,"column":3}}]},"9":{"loc":{"start":{"line":188,"column":6},"end":{"line":188,"column":54}},"type":"binary-expr","locations":[{"start":{"line":188,"column":6},"end":{"line":188,"column":21}},{"start":{"line":188,"column":25},"end":{"line":188,"column":54}}]},"10":{"loc":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},{"start":{"line":192,"column":2},"end":{"line":194,"column":3}}]},"11":{"loc":{"start":{"line":192,"column":6},"end":{"line":192,"column":48}},"type":"binary-expr","locations":[{"start":{"line":192,"column":6},"end":{"line":192,"column":23}},{"start":{"line":192,"column":27},"end":{"line":192,"column":48}}]},"12":{"loc":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"type":"if","locations":[{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},{"start":{"line":196,"column":2},"end":{"line":198,"column":3}}]},"13":{"loc":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"type":"if","locations":[{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},{"start":{"line":203,"column":4},"end":{"line":211,"column":5}}]},"14":{"loc":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},{"start":{"line":207,"column":8},"end":{"line":209,"column":9}}]},"15":{"loc":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},{"start":{"line":217,"column":4},"end":{"line":219,"column":5}}]},"16":{"loc":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"type":"if","locations":[{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},{"start":{"line":224,"column":2},"end":{"line":226,"column":3}}]},"17":{"loc":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"type":"if","locations":[{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},{"start":{"line":236,"column":4},"end":{"line":238,"column":5}}]},"18":{"loc":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},{"start":{"line":244,"column":2},"end":{"line":256,"column":3}}]},"19":{"loc":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"type":"if","locations":[{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},{"start":{"line":261,"column":2},"end":{"line":277,"column":3}}]},"20":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{"line":267,"column":6},"end":{"line":269,"column":7}}]},"21":{"loc":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},{"start":{"line":272,"column":8},"end":{"line":274,"column":9}}]},"22":{"loc":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"type":"if","locations":[{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},{"start":{"line":296,"column":2},"end":{"line":298,"column":3}}]},"23":{"loc":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"type":"if","locations":[{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},{"start":{"line":303,"column":2},"end":{"line":317,"column":3}}]},"24":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{"line":309,"column":6},"end":{"line":311,"column":7}}]},"25":{"loc":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"type":"if","locations":[{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},{"start":{"line":322,"column":2},"end":{"line":322,"column":21}}]},"26":{"loc":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"type":"if","locations":[{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},{"start":{"line":324,"column":2},"end":{"line":326,"column":3}}]},"27":{"loc":{"start":{"line":324,"column":6},"end":{"line":324,"column":82}},"type":"binary-expr","locations":[{"start":{"line":324,"column":6},"end":{"line":324,"column":27}},{"start":{"line":324,"column":32},"end":{"line":324,"column":81}}]},"28":{"loc":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"type":"if","locations":[{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},{"start":{"line":341,"column":2},"end":{"line":344,"column":3}}]},"29":{"loc":{"start":{"line":352,"column":11},"end":{"line":352,"column":46}},"type":"binary-expr","locations":[{"start":{"line":352,"column":11},"end":{"line":352,"column":17}},{"start":{"line":352,"column":21},"end":{"line":352,"column":46}}]},"30":{"loc":{"start":{"line":353,"column":12},"end":{"line":353,"column":25}},"type":"binary-expr","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":19}},{"start":{"line":353,"column":23},"end":{"line":353,"column":25}}]},"31":{"loc":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"type":"if","locations":[{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},{"start":{"line":355,"column":2},"end":{"line":366,"column":3}}]},"32":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":75}},"type":"binary-expr","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":26}},{"start":{"line":355,"column":30},"end":{"line":355,"column":45}},{"start":{"line":355,"column":49},"end":{"line":355,"column":75}}]},"33":{"loc":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"type":"if","locations":[{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},{"start":{"line":356,"column":4},"end":{"line":358,"column":5}}]},"34":{"loc":{"start":{"line":359,"column":13},"end":{"line":359,"column":59}},"type":"binary-expr","locations":[{"start":{"line":359,"column":13},"end":{"line":359,"column":42}},{"start":{"line":359,"column":46},"end":{"line":359,"column":59}}]},"35":{"loc":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"type":"if","locations":[{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},{"start":{"line":361,"column":4},"end":{"line":365,"column":5}}]},"36":{"loc":{"start":{"line":387,"column":11},"end":{"line":387,"column":41}},"type":"binary-expr","locations":[{"start":{"line":387,"column":11},"end":{"line":387,"column":17}},{"start":{"line":387,"column":21},"end":{"line":387,"column":41}}]},"37":{"loc":{"start":{"line":390,"column":32},"end":{"line":390,"column":75}},"type":"cond-expr","locations":[{"start":{"line":390,"column":49},"end":{"line":390,"column":60}},{"start":{"line":390,"column":63},"end":{"line":390,"column":75}}]},"38":{"loc":{"start":{"line":431,"column":19},"end":{"line":431,"column":62}},"type":"binary-expr","locations":[{"start":{"line":431,"column":19},"end":{"line":431,"column":33}},{"start":{"line":431,"column":37},"end":{"line":431,"column":62}}]},"39":{"loc":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"type":"if","locations":[{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},{"start":{"line":433,"column":2},"end":{"line":435,"column":3}}]},"40":{"loc":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"type":"if","locations":[{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},{"start":{"line":438,"column":2},"end":{"line":440,"column":3}}]},"41":{"loc":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"type":"if","locations":[{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},{"start":{"line":458,"column":2},"end":{"line":460,"column":3}}]},"42":{"loc":{"start":{"line":468,"column":12},"end":{"line":468,"column":24}},"type":"binary-expr","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":17}},{"start":{"line":468,"column":21},"end":{"line":468,"column":24}}]},"43":{"loc":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"type":"if","locations":[{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},{"start":{"line":470,"column":4},"end":{"line":472,"column":5}}]},"44":{"loc":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"type":"if","locations":[{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},{"start":{"line":476,"column":4},"end":{"line":478,"column":5}}]},"45":{"loc":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"type":"if","locations":[{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},{"start":{"line":481,"column":2},"end":{"line":483,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":5,"14":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":40,"43":0,"44":0,"45":0,"46":20,"47":20,"48":20,"49":5,"50":0,"51":5,"52":4,"53":0,"54":0,"55":0,"56":0,"57":0,"58":4,"59":4,"60":10,"61":4,"62":4,"63":4,"64":4,"65":0,"66":0,"67":0,"68":5,"69":6,"70":6,"71":6,"72":0,"73":6,"74":1,"75":6,"76":0,"77":6,"78":6,"79":6,"80":1,"81":5,"82":10,"83":1,"84":1,"85":0,"86":0,"87":6,"88":5,"89":6,"90":2,"91":2,"92":2,"93":0,"94":0,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":0,"104":1,"105":1,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":1,"117":1,"118":0,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":1,"145":1,"146":1,"147":1,"148":1,"149":0,"150":1,"151":0,"152":0,"153":1,"154":1,"155":0,"156":0,"157":0,"158":0,"159":0,"160":1,"161":5,"162":1,"163":1,"164":0,"165":1,"166":1,"167":1,"168":0,"169":1,"170":1,"171":0,"172":1,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":1,"191":1,"192":1},"f":{"0":5,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":40,"11":0,"12":20,"13":5,"14":4,"15":0,"16":6,"17":6,"18":1,"19":6,"20":2,"21":1,"22":1,"23":1,"24":0,"25":0,"26":1,"27":1,"28":0,"29":0,"30":0,"31":1,"32":0,"33":0,"34":0,"35":0,"36":1,"37":5,"38":1,"39":1,"40":0,"41":0,"42":0},"b":{"0":[0,0],"1":[0,0],"2":[0,5],"3":[4,1],"4":[0,4],"5":[0,0],"6":[4,6],"7":[0,4],"8":[0,6],"9":[6,6],"10":[1,5],"11":[6,6],"12":[0,6],"13":[1,5],"14":[1,9],"15":[0,0],"16":[5,1],"17":[0,0],"18":[1,0],"19":[0,1],"20":[0,0],"21":[0,0],"22":[0,1],"23":[1,0],"24":[0,1],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[1,1],"30":[1,1],"31":[1,0],"32":[1,0,0],"33":[0,1],"34":[1,1],"35":[0,0],"36":[0,0],"37":[0,0],"38":[1,1],"39":[0,1],"40":[0,1],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3a43360dca26d74ffd67cfe5ec75309575f038ac","contentHash":"10edbceee6329f5ee9c0d2f625fd311b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":1,"13":16,"14":40,"15":0,"16":0,"17":40,"18":16,"19":16,"20":8,"21":8,"22":8,"23":32,"24":16,"25":1,"26":8,"27":8,"28":8,"29":8,"30":8,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":1,"108":0,"109":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":16,"7":40,"8":0,"9":16,"10":8,"11":8,"12":8,"13":8,"14":8,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"0":[1,0],"1":[0,0],"2":[0,0],"3":[0,40],"4":[40,0],"5":[0,0],"6":[8,8],"7":[0,8],"8":[0,8],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf","contentHash":"d1d8e598552dfe064eef286d267900be_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":64,"5":64,"6":0,"7":64,"8":56,"9":8,"10":8,"11":8,"12":8,"13":0,"14":8,"15":8,"16":8,"17":1,"18":8,"19":8,"20":8,"21":8,"22":8,"23":8,"24":8,"25":8,"26":8,"27":8,"28":8,"29":8,"30":8,"31":8,"32":8,"33":8,"34":8,"35":8,"36":8,"37":8},"f":{"0":64,"1":56,"2":8,"3":8},"b":{"0":[0,8],"1":[8,0],"2":[8,0],"3":[8,0],"4":[8,0],"5":[8,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128","contentHash":"672b6336c04cfaa2a8588410ce063022_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/levels.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/levels.js","statementMap":{"0":{"start":{"line":9,"column":4},"end":{"line":9,"column":23}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":42}},"9":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":39}},"11":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"12":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":24}},"14":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"15":{"start":{"line":52,"column":4},"end":{"line":52,"column":43}},"16":{"start":{"line":53,"column":4},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"18":{"start":{"line":57,"column":4},"end":{"line":57,"column":62}},"19":{"start":{"line":60,"column":2},"end":{"line":60,"column":34}},"20":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"21":{"start":{"line":66,"column":23},"end":{"line":66,"column":45}},"22":{"start":{"line":67,"column":4},"end":{"line":67,"column":32}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"24":{"start":{"line":72,"column":0},"end":{"line":85,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":13},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":34},"end":{"line":22,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":37},"end":{"line":29,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":31,"column":24},"end":{"line":36,"column":3}}},"5":{"name":"toLevel","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":37},"end":{"line":61,"column":1}}},"6":{"name":"getLevel","decl":{"start":{"line":63,"column":9},"end":{"line":63,"column":17}},"loc":{"start":{"line":63,"column":28},"end":{"line":70,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{"line":32,"column":4},"end":{"line":34,"column":5}}]},"3":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}]},"4":{"loc":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},{"start":{"line":51,"column":2},"end":{"line":54,"column":3}}]},"5":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}]},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":61}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":45}},{"start":{"line":57,"column":49},"end":{"line":57,"column":61}}]},"7":{"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},{"start":{"line":65,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":9,"1":9,"2":15,"3":5,"4":0,"5":5,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":7,"13":0,"14":7,"15":0,"16":0,"17":7,"18":7,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1},"f":{"0":9,"1":15,"2":5,"3":0,"4":0,"5":7,"6":0},"b":{"0":[0,5],"1":[0,0],"2":[0,0],"3":[0,7],"4":[0,7],"5":[7,0],"6":[7,0],"7":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"daae16d9a9a708cc048c35299774fc26e22cf555","contentHash":"de3beea1cbd1c093130b8e3a1963e9d2_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":21},"end":{"line":6,"column":38}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":36}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":27}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":32}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":23}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":25}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":50,"column":4},"end":{"line":50,"column":45}},"11":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"12":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":67}},"14":{"start":{"line":62,"column":4},"end":{"line":62,"column":22}},"15":{"start":{"line":68,"column":17},"end":{"line":68,"column":38}},"16":{"start":{"line":69,"column":21},"end":{"line":69,"column":57}},"17":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":13}},"19":{"start":{"line":73,"column":4},"end":{"line":73,"column":39}},"20":{"start":{"line":77,"column":4},"end":{"line":77,"column":54}},"21":{"start":{"line":81,"column":25},"end":{"line":81,"column":75}},"22":{"start":{"line":82,"column":4},"end":{"line":82,"column":35}},"23":{"start":{"line":86,"column":0},"end":{"line":86,"column":43}},"24":{"start":{"line":87,"column":0},"end":{"line":87,"column":38}},"25":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"26":{"start":{"line":92,"column":16},"end":{"line":92,"column":38}},"27":{"start":{"line":94,"column":24},"end":{"line":94,"column":54}},"28":{"start":{"line":95,"column":22},"end":{"line":95,"column":81}},"29":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}},"30":{"start":{"line":96,"column":24},"end":{"line":96,"column":75}},"31":{"start":{"line":98,"column":2},"end":{"line":100,"column":4}},"32":{"start":{"line":99,"column":4},"end":{"line":99,"column":49}},"33":{"start":{"line":102,"column":2},"end":{"line":109,"column":4}},"34":{"start":{"line":105,"column":17},"end":{"line":105,"column":38}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":117,"column":2},"end":{"line":117,"column":27}},"38":{"start":{"line":125,"column":2},"end":{"line":125,"column":26}},"39":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"40":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"41":{"start":{"line":130,"column":0},"end":{"line":130,"column":57}},"42":{"start":{"line":131,"column":0},"end":{"line":131,"column":55}},"43":{"start":{"line":132,"column":0},"end":{"line":132,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":49},"end":{"line":32,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":27},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":65,"column":8},"end":{"line":74,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":29},"end":{"line":78,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":20},"end":{"line":83,"column":3}}},"7":{"name":"addLevelMethods","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":33},"end":{"line":110,"column":1}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":95,"column":57},"end":{"line":95,"column":58}},"loc":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":50},"end":{"line":98,"column":51}},"loc":{"start":{"line":98,"column":62},"end":{"line":100,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":34},"end":{"line":102,"column":35}},"loc":{"start":{"line":102,"column":46},"end":{"line":109,"column":3}}},"11":{"name":"disableAllLogWrites","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":28}},"loc":{"start":{"line":116,"column":31},"end":{"line":118,"column":1}}},"12":{"name":"enableAllLogWrites","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":27}},"loc":{"start":{"line":124,"column":30},"end":{"line":126,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"type":"binary-expr","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}}]},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":4},"end":{"line":54,"column":5}}]},"2":{"loc":{"start":{"line":58,"column":39},"end":{"line":58,"column":65}},"type":"binary-expr","locations":[{"start":{"line":58,"column":39},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":65}}]},"3":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}]},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}}]},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":106,"column":54}},"type":"binary-expr","locations":[{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},{"start":{"line":106,"column":28},"end":{"line":106,"column":54}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":5,"5":5,"6":5,"7":5,"8":5,"9":4,"10":4,"11":4,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":5,"21":5,"22":5,"23":1,"24":1,"25":1,"26":7,"27":7,"28":7,"29":0,"30":7,"31":7,"32":0,"33":7,"34":5,"35":5,"36":5,"37":0,"38":2,"39":1,"40":1,"41":1,"42":1,"43":1},"f":{"0":5,"1":4,"2":0,"3":0,"4":0,"5":5,"6":5,"7":7,"8":0,"9":0,"10":5,"11":0,"12":2},"b":{"0":[4,0],"1":[0,4],"2":[0,0],"3":[0,0],"4":[5,0],"5":[5,5]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7d8e54612a5d21505ecc3cd8c5eea114082c17db","contentHash":"00d625ca9babf994c26685dc45e2004b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":7,"column":23},"end":{"line":10,"column":18}},"2":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"4":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":34}},"6":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"7":{"start":{"line":50,"column":21},"end":{"line":50,"column":30}},"8":{"start":{"line":51,"column":14},"end":{"line":51,"column":56}},"9":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"10":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"11":{"start":{"line":55,"column":2},"end":{"line":112,"column":4}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"13":{"start":{"line":57,"column":22},"end":{"line":57,"column":36}},"14":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"15":{"start":{"line":60,"column":46},"end":{"line":60,"column":60}},"16":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"17":{"start":{"line":63,"column":20},"end":{"line":63,"column":30}},"18":{"start":{"line":64,"column":24},"end":{"line":64,"column":37}},"19":{"start":{"line":67,"column":6},"end":{"line":67,"column":26}},"20":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"21":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":37}},"23":{"start":{"line":74,"column":8},"end":{"line":74,"column":32}},"24":{"start":{"line":75,"column":8},"end":{"line":75,"column":38}},"25":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"26":{"start":{"line":79,"column":10},"end":{"line":79,"column":30}},"27":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"28":{"start":{"line":80,"column":27},"end":{"line":80,"column":47}},"29":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"30":{"start":{"line":81,"column":27},"end":{"line":81,"column":48}},"31":{"start":{"line":83,"column":10},"end":{"line":83,"column":61}},"32":{"start":{"line":88,"column":6},"end":{"line":107,"column":9}},"33":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"34":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"35":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"37":{"start":{"line":93,"column":37},"end":{"line":93,"column":57}},"38":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"39":{"start":{"line":94,"column":37},"end":{"line":94,"column":58}},"40":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"41":{"start":{"line":98,"column":33},"end":{"line":98,"column":79}},"42":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"43":{"start":{"line":101,"column":25},"end":{"line":101,"column":74}},"44":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}},"45":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"46":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"47":{"start":{"line":104,"column":12},"end":{"line":104,"column":63}},"48":{"start":{"line":111,"column":4},"end":{"line":111,"column":18}},"49":{"start":{"line":126,"column":28},"end":{"line":138,"column":3}},"50":{"start":{"line":127,"column":14},"end":{"line":127,"column":28}},"51":{"start":{"line":128,"column":4},"end":{"line":136,"column":5}},"52":{"start":{"line":129,"column":6},"end":{"line":135,"column":7}},"53":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"54":{"start":{"line":133,"column":10},"end":{"line":133,"column":27}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":13}},"56":{"start":{"line":140,"column":24},"end":{"line":140,"column":26}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":66}},"58":{"start":{"line":142,"column":2},"end":{"line":142,"column":72}},"59":{"start":{"line":143,"column":2},"end":{"line":143,"column":72}},"60":{"start":{"line":144,"column":2},"end":{"line":144,"column":68}},"61":{"start":{"line":145,"column":2},"end":{"line":145,"column":92}},"62":{"start":{"line":146,"column":2},"end":{"line":146,"column":81}},"63":{"start":{"line":147,"column":2},"end":{"line":147,"column":80}},"64":{"start":{"line":148,"column":2},"end":{"line":151,"column":5}},"65":{"start":{"line":152,"column":2},"end":{"line":155,"column":5}},"66":{"start":{"line":156,"column":2},"end":{"line":166,"column":5}},"67":{"start":{"line":167,"column":2},"end":{"line":167,"column":87}},"68":{"start":{"line":168,"column":2},"end":{"line":173,"column":5}},"69":{"start":{"line":174,"column":2},"end":{"line":179,"column":5}},"70":{"start":{"line":177,"column":6},"end":{"line":177,"column":46}},"71":{"start":{"line":180,"column":2},"end":{"line":187,"column":5}},"72":{"start":{"line":183,"column":6},"end":{"line":185,"column":50}},"73":{"start":{"line":189,"column":2},"end":{"line":189,"column":63}},"74":{"start":{"line":203,"column":2},"end":{"line":203,"column":36}},"75":{"start":{"line":215,"column":2},"end":{"line":217,"column":3}},"76":{"start":{"line":216,"column":4},"end":{"line":216,"column":62}},"77":{"start":{"line":218,"column":2},"end":{"line":218,"column":13}},"78":{"start":{"line":249,"column":15},"end":{"line":249,"column":19}},"79":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"80":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"81":{"start":{"line":253,"column":6},"end":{"line":253,"column":21}},"82":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"83":{"start":{"line":257,"column":6},"end":{"line":257,"column":33}},"84":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"85":{"start":{"line":262,"column":31},"end":{"line":262,"column":80}},"86":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"87":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"88":{"start":{"line":267,"column":2},"end":{"line":267,"column":16}},"89":{"start":{"line":270,"column":0},"end":{"line":270,"column":41}}},"fnMap":{"0":{"name":"getLogger","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":39},"end":{"line":113,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":10}},"loc":{"start":{"line":55,"column":29},"end":{"line":112,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":70,"column":22},"end":{"line":70,"column":23}},"loc":{"start":{"line":70,"column":41},"end":{"line":85,"column":7}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":23},"end":{"line":88,"column":24}},"loc":{"start":{"line":88,"column":29},"end":{"line":107,"column":7}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":39},"end":{"line":101,"column":40}},"loc":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}}},"5":{"name":"assembleTokens","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":48},"end":{"line":190,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":28},"end":{"line":126,"column":29}},"loc":{"start":{"line":126,"column":39},"end":{"line":138,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":17},"end":{"line":176,"column":18}},"loc":{"start":{"line":176,"column":37},"end":{"line":178,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":182,"column":17},"end":{"line":182,"column":18}},"loc":{"start":{"line":182,"column":37},"end":{"line":186,"column":5}}},"9":{"name":"getUrl","decl":{"start":{"line":202,"column":9},"end":{"line":202,"column":15}},"loc":{"start":{"line":202,"column":21},"end":{"line":204,"column":1}}},"10":{"name":"format","decl":{"start":{"line":214,"column":9},"end":{"line":214,"column":15}},"loc":{"start":{"line":214,"column":29},"end":{"line":219,"column":1}}},"11":{"name":"createNoLogCondition","decl":{"start":{"line":248,"column":9},"end":{"line":248,"column":29}},"loc":{"start":{"line":248,"column":37},"end":{"line":268,"column":1}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":262,"column":41},"end":{"line":262,"column":42}},"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}}}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},{"start":{"line":42,"column":2},"end":{"line":48,"column":3}}]},"1":{"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":27}},"type":"binary-expr","locations":[{"start":{"line":43,"column":14},"end":{"line":43,"column":21}},{"start":{"line":43,"column":25},"end":{"line":43,"column":27}}]},"2":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}]},"3":{"loc":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"type":"binary-expr","locations":[{"start":{"line":52,"column":14},"end":{"line":52,"column":28}},{"start":{"line":52,"column":32},"end":{"line":52,"column":46}}]},"4":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":32},"end":{"line":53,"column":67}},{"start":{"line":53,"column":70},"end":{"line":53,"column":74}}]},"5":{"loc":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},{"start":{"line":57,"column":4},"end":{"line":57,"column":36}}]},"6":{"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},{"start":{"line":60,"column":4},"end":{"line":60,"column":60}}]},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":44}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":13}},{"start":{"line":60,"column":17},"end":{"line":60,"column":44}}]},"8":{"loc":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},{"start":{"line":62,"column":4},"end":{"line":108,"column":5}}]},"9":{"loc":{"start":{"line":62,"column":8},"end":{"line":62,"column":68}},"type":"binary-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":40}},{"start":{"line":62,"column":44},"end":{"line":62,"column":68}}]},"10":{"loc":{"start":{"line":75,"column":24},"end":{"line":75,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":24},"end":{"line":75,"column":31}},{"start":{"line":75,"column":35},"end":{"line":75,"column":37}}]},"11":{"loc":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},{"start":{"line":78,"column":8},"end":{"line":84,"column":9}}]},"12":{"loc":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},{"start":{"line":80,"column":10},"end":{"line":80,"column":47}}]},"13":{"loc":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},{"start":{"line":81,"column":10},"end":{"line":81,"column":48}}]},"14":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":91,"column":8},"end":{"line":95,"column":9}}]},"15":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":54}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":26}},{"start":{"line":91,"column":30},"end":{"line":91,"column":54}}]},"16":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"type":"if","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},{"start":{"line":93,"column":10},"end":{"line":93,"column":57}}]},"17":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"type":"if","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},{"start":{"line":94,"column":10},"end":{"line":94,"column":58}}]},"18":{"loc":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},{"start":{"line":97,"column":8},"end":{"line":106,"column":9}}]},"19":{"loc":{"start":{"line":98,"column":58},"end":{"line":98,"column":78}},"type":"binary-expr","locations":[{"start":{"line":98,"column":58},"end":{"line":98,"column":72}},{"start":{"line":98,"column":76},"end":{"line":98,"column":78}}]},"20":{"loc":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},{"start":{"line":100,"column":10},"end":{"line":105,"column":11}}]},"21":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"type":"if","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},{"start":{"line":102,"column":12},"end":{"line":102,"column":50}}]},"22":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},{"start":{"line":132,"column":8},"end":{"line":134,"column":9}}]},"23":{"loc":{"start":{"line":145,"column":54},"end":{"line":145,"column":88}},"type":"binary-expr","locations":[{"start":{"line":145,"column":54},"end":{"line":145,"column":70}},{"start":{"line":145,"column":74},"end":{"line":145,"column":88}}]},"24":{"loc":{"start":{"line":150,"column":17},"end":{"line":150,"column":66}},"type":"binary-expr","locations":[{"start":{"line":150,"column":17},"end":{"line":150,"column":36}},{"start":{"line":150,"column":40},"end":{"line":150,"column":60}},{"start":{"line":150,"column":64},"end":{"line":150,"column":66}}]},"25":{"loc":{"start":{"line":158,"column":17},"end":{"line":165,"column":5}},"type":"binary-expr","locations":[{"start":{"line":158,"column":17},"end":{"line":158,"column":47}},{"start":{"line":159,"column":4},"end":{"line":159,"column":10}},{"start":{"line":160,"column":4},"end":{"line":160,"column":22}},{"start":{"line":161,"column":5},"end":{"line":161,"column":15}},{"start":{"line":162,"column":7},"end":{"line":162,"column":31}},{"start":{"line":163,"column":9},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":61}}]},"26":{"loc":{"start":{"line":170,"column":17},"end":{"line":172,"column":7}},"type":"binary-expr","locations":[{"start":{"line":170,"column":18},"end":{"line":170,"column":30}},{"start":{"line":170,"column":34},"end":{"line":170,"column":64}},{"start":{"line":171,"column":5},"end":{"line":171,"column":18}},{"start":{"line":171,"column":22},"end":{"line":171,"column":53}},{"start":{"line":172,"column":4},"end":{"line":172,"column":7}}]},"27":{"loc":{"start":{"line":183,"column":13},"end":{"line":185,"column":49}},"type":"cond-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},{"start":{"line":185,"column":11},"end":{"line":185,"column":48}}]},"28":{"loc":{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":47}},{"start":{"line":184,"column":51},"end":{"line":184,"column":71}}]},"29":{"loc":{"start":{"line":185,"column":11},"end":{"line":185,"column":48}},"type":"binary-expr","locations":[{"start":{"line":185,"column":11},"end":{"line":185,"column":24}},{"start":{"line":185,"column":28},"end":{"line":185,"column":48}}]},"30":{"loc":{"start":{"line":203,"column":9},"end":{"line":203,"column":35}},"type":"binary-expr","locations":[{"start":{"line":203,"column":9},"end":{"line":203,"column":24}},{"start":{"line":203,"column":28},"end":{"line":203,"column":35}}]},"31":{"loc":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},{"start":{"line":251,"column":2},"end":{"line":265,"column":3}}]},"32":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{"line":252,"column":4},"end":{"line":254,"column":5}}]},"33":{"loc":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},{"start":{"line":256,"column":4},"end":{"line":258,"column":5}}]},"34":{"loc":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"type":"if","locations":[{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},{"start":{"line":260,"column":4},"end":{"line":264,"column":5}}]},"35":{"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"type":"cond-expr","locations":[{"start":{"line":262,"column":62},"end":{"line":262,"column":72}},{"start":{"line":262,"column":75},"end":{"line":262,"column":78}}]}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0,0,0,0,0,0],"26":[0,0,0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8de6ff12985e168d800fe4d220a8a32e3c1dbe2a","contentHash":"06eb335e3bac458879bb256f44ac2576_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}}},"fnMap":{"0":{"name":"stdoutAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":33},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":0,"4":1,"5":0,"6":1,"7":1,"8":1},"f":{"0":1,"1":0,"2":1},"b":{"0":[1,1],"1":[0,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7fe10c84b315d3ba3e07ce62d5e48e59666eb827","contentHash":"009980a1b175f554654dded39c797b6c_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/mailgun.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/mailgun.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":4,"column":23},"end":{"line":4,"column":44}},"2":{"start":{"line":11,"column":2},"end":{"line":11,"column":19}},"3":{"start":{"line":12,"column":2},"end":{"line":12,"column":42}},"4":{"start":{"line":14,"column":2},"end":{"line":26,"column":4}},"5":{"start":{"line":15,"column":17},"end":{"line":20,"column":5}},"6":{"start":{"line":23,"column":4},"end":{"line":25,"column":7}},"7":{"start":{"line":24,"column":6},"end":{"line":24,"column":90}},"8":{"start":{"line":24,"column":26},"end":{"line":24,"column":90}},"9":{"start":{"line":30,"column":2},"end":{"line":30,"column":19}},"10":{"start":{"line":32,"column":2},"end":{"line":34,"column":3}},"11":{"start":{"line":33,"column":4},"end":{"line":33,"column":65}},"12":{"start":{"line":36,"column":2},"end":{"line":39,"column":5}},"13":{"start":{"line":41,"column":2},"end":{"line":41,"column":42}},"14":{"start":{"line":44,"column":0},"end":{"line":44,"column":42}},"15":{"start":{"line":45,"column":0},"end":{"line":45,"column":37}}},"fnMap":{"0":{"name":"mailgunAppender","decl":{"start":{"line":10,"column":9},"end":{"line":10,"column":24}},"loc":{"start":{"line":10,"column":43},"end":{"line":27,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":10}},"loc":{"start":{"line":14,"column":27},"end":{"line":26,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":34},"end":{"line":23,"column":35}},"loc":{"start":{"line":23,"column":51},"end":{"line":25,"column":5}}},"3":{"name":"configure","decl":{"start":{"line":29,"column":9},"end":{"line":29,"column":18}},"loc":{"start":{"line":29,"column":28},"end":{"line":42,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":11},"end":{"line":12,"column":41}},"type":"binary-expr","locations":[{"start":{"line":12,"column":11},"end":{"line":12,"column":18}},{"start":{"line":12,"column":22},"end":{"line":12,"column":41}}]},"1":{"loc":{"start":{"line":24,"column":6},"end":{"line":24,"column":90}},"type":"if","locations":[{"start":{"line":24,"column":6},"end":{"line":24,"column":90}},{"start":{"line":24,"column":6},"end":{"line":24,"column":90}}]},"2":{"loc":{"start":{"line":32,"column":2},"end":{"line":34,"column":3}},"type":"if","locations":[{"start":{"line":32,"column":2},"end":{"line":34,"column":3}},{"start":{"line":32,"column":2},"end":{"line":34,"column":3}}]}},"s":{"0":5,"1":5,"2":5,"3":5,"4":5,"5":8,"6":8,"7":8,"8":8,"9":5,"10":5,"11":1,"12":5,"13":5,"14":5,"15":5},"f":{"0":5,"1":8,"2":8,"3":5},"b":{"0":[5,4],"1":[8,0],"2":[1,4]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"af2788d274fda8227c67624253c4986181f4b248"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/e76e9fdb36afb1bd42e0a5ce3ac69787.json b/node_modules/log4js/.nyc_output/e76e9fdb36afb1bd42e0a5ce3ac69787.json deleted file mode 100644 index fa2119d..0000000 --- a/node_modules/log4js/.nyc_output/e76e9fdb36afb1bd42e0a5ce3ac69787.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/log4js.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/log4js.js","statementMap":{"0":{"start":{"line":35,"column":11},"end":{"line":35,"column":24}},"1":{"start":{"line":36,"column":13},"end":{"line":36,"column":28}},"2":{"start":{"line":37,"column":16},"end":{"line":37,"column":36}},"3":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"4":{"start":{"line":39,"column":21},"end":{"line":39,"column":40}},"5":{"start":{"line":40,"column":22},"end":{"line":40,"column":63}},"6":{"start":{"line":42,"column":15},"end":{"line":42,"column":34}},"7":{"start":{"line":44,"column":23},"end":{"line":44,"column":30}},"8":{"start":{"line":45,"column":16},"end":{"line":45,"column":18}},"9":{"start":{"line":46,"column":23},"end":{"line":46,"column":25}},"10":{"start":{"line":47,"column":26},"end":{"line":47,"column":28}},"11":{"start":{"line":48,"column":22},"end":{"line":53,"column":1}},"12":{"start":{"line":55,"column":16},"end":{"line":55,"column":18}},"13":{"start":{"line":58,"column":2},"end":{"line":58,"column":40}},"14":{"start":{"line":62,"column":0},"end":{"line":70,"column":2}},"15":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"16":{"start":{"line":65,"column":23},"end":{"line":65,"column":45}},"17":{"start":{"line":66,"column":4},"end":{"line":66,"column":51}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":40}},"19":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"20":{"start":{"line":73,"column":21},"end":{"line":73,"column":44}},"21":{"start":{"line":74,"column":17},"end":{"line":74,"column":19}},"22":{"start":{"line":75,"column":2},"end":{"line":75,"column":19}},"23":{"start":{"line":76,"column":2},"end":{"line":76,"column":29}},"24":{"start":{"line":77,"column":2},"end":{"line":83,"column":4}},"25":{"start":{"line":78,"column":4},"end":{"line":82,"column":5}},"26":{"start":{"line":79,"column":18},"end":{"line":79,"column":32}},"27":{"start":{"line":80,"column":6},"end":{"line":80,"column":44}},"28":{"start":{"line":81,"column":6},"end":{"line":81,"column":28}},"29":{"start":{"line":84,"column":2},"end":{"line":86,"column":4}},"30":{"start":{"line":85,"column":4},"end":{"line":85,"column":59}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":4}},"32":{"start":{"line":88,"column":4},"end":{"line":88,"column":59}},"33":{"start":{"line":90,"column":2},"end":{"line":92,"column":4}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":58}},"35":{"start":{"line":93,"column":2},"end":{"line":95,"column":4}},"36":{"start":{"line":94,"column":4},"end":{"line":94,"column":58}},"37":{"start":{"line":96,"column":2},"end":{"line":98,"column":4}},"38":{"start":{"line":97,"column":4},"end":{"line":97,"column":59}},"39":{"start":{"line":99,"column":2},"end":{"line":101,"column":4}},"40":{"start":{"line":100,"column":4},"end":{"line":100,"column":59}},"41":{"start":{"line":103,"column":2},"end":{"line":103,"column":16}},"42":{"start":{"line":107,"column":2},"end":{"line":107,"column":24}},"43":{"start":{"line":111,"column":34},"end":{"line":111,"column":66}},"44":{"start":{"line":112,"column":35},"end":{"line":112,"column":68}},"45":{"start":{"line":113,"column":2},"end":{"line":113,"column":107}},"46":{"start":{"line":117,"column":37},"end":{"line":117,"column":72}},"47":{"start":{"line":118,"column":35},"end":{"line":118,"column":68}},"48":{"start":{"line":119,"column":2},"end":{"line":119,"column":113}},"49":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"50":{"start":{"line":131,"column":4},"end":{"line":131,"column":49}},"51":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"52":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"53":{"start":{"line":142,"column":19},"end":{"line":142,"column":52}},"54":{"start":{"line":143,"column":6},"end":{"line":149,"column":7}},"55":{"start":{"line":144,"column":30},"end":{"line":144,"column":39}},"56":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"57":{"start":{"line":147,"column":10},"end":{"line":147,"column":47}},"58":{"start":{"line":154,"column":4},"end":{"line":154,"column":72}},"59":{"start":{"line":158,"column":4},"end":{"line":165,"column":5}},"60":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"61":{"start":{"line":160,"column":8},"end":{"line":160,"column":51}},"62":{"start":{"line":161,"column":8},"end":{"line":163,"column":11}},"63":{"start":{"line":162,"column":10},"end":{"line":162,"column":67}},"64":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":47}},"66":{"start":{"line":170,"column":6},"end":{"line":172,"column":9}},"67":{"start":{"line":171,"column":8},"end":{"line":171,"column":65}},"68":{"start":{"line":176,"column":2},"end":{"line":176,"column":37}},"69":{"start":{"line":185,"column":13},"end":{"line":185,"column":34}},"70":{"start":{"line":186,"column":19},"end":{"line":186,"column":31}},"71":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"72":{"start":{"line":189,"column":4},"end":{"line":189,"column":47}},"73":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"74":{"start":{"line":193,"column":4},"end":{"line":193,"column":28}},"75":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"76":{"start":{"line":197,"column":4},"end":{"line":197,"column":19}},"77":{"start":{"line":200,"column":2},"end":{"line":212,"column":5}},"78":{"start":{"line":201,"column":4},"end":{"line":201,"column":54}},"79":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"80":{"start":{"line":204,"column":6},"end":{"line":204,"column":40}},"81":{"start":{"line":206,"column":6},"end":{"line":210,"column":7}},"82":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"83":{"start":{"line":208,"column":10},"end":{"line":208,"column":63}},"84":{"start":{"line":216,"column":2},"end":{"line":220,"column":3}},"85":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":218,"column":6},"end":{"line":218,"column":51}},"87":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"88":{"start":{"line":225,"column":4},"end":{"line":225,"column":29}},"89":{"start":{"line":227,"column":2},"end":{"line":227,"column":37}},"90":{"start":{"line":233,"column":2},"end":{"line":233,"column":36}},"91":{"start":{"line":234,"column":2},"end":{"line":234,"column":17}},"92":{"start":{"line":235,"column":2},"end":{"line":239,"column":3}},"93":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"94":{"start":{"line":237,"column":6},"end":{"line":237,"column":48}},"95":{"start":{"line":243,"column":2},"end":{"line":243,"column":19}},"96":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"97":{"start":{"line":245,"column":4},"end":{"line":255,"column":7}},"98":{"start":{"line":246,"column":6},"end":{"line":246,"column":40}},"99":{"start":{"line":248,"column":6},"end":{"line":248,"column":45}},"100":{"start":{"line":249,"column":6},"end":{"line":254,"column":7}},"101":{"start":{"line":250,"column":8},"end":{"line":250,"column":80}},"102":{"start":{"line":251,"column":8},"end":{"line":251,"column":55}},"103":{"start":{"line":253,"column":8},"end":{"line":253,"column":95}},"104":{"start":{"line":260,"column":2},"end":{"line":260,"column":26}},"105":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"106":{"start":{"line":262,"column":17},"end":{"line":262,"column":50}},"107":{"start":{"line":265,"column":4},"end":{"line":276,"column":5}},"108":{"start":{"line":266,"column":23},"end":{"line":266,"column":32}},"109":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":45}},"111":{"start":{"line":271,"column":6},"end":{"line":275,"column":7}},"112":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"113":{"start":{"line":273,"column":10},"end":{"line":273,"column":62}},"114":{"start":{"line":281,"column":2},"end":{"line":281,"column":63}},"115":{"start":{"line":290,"column":2},"end":{"line":290,"column":44}},"116":{"start":{"line":293,"column":20},"end":{"line":293,"column":22}},"117":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"118":{"start":{"line":297,"column":4},"end":{"line":297,"column":57}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":19}},"120":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"121":{"start":{"line":304,"column":4},"end":{"line":316,"column":5}},"122":{"start":{"line":305,"column":6},"end":{"line":305,"column":23}},"123":{"start":{"line":306,"column":6},"end":{"line":306,"column":37}},"124":{"start":{"line":307,"column":6},"end":{"line":307,"column":52}},"125":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"126":{"start":{"line":310,"column":8},"end":{"line":310,"column":25}},"127":{"start":{"line":313,"column":6},"end":{"line":315,"column":8}},"128":{"start":{"line":321,"column":16},"end":{"line":321,"column":46}},"129":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"130":{"start":{"line":322,"column":14},"end":{"line":322,"column":21}},"131":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"132":{"start":{"line":325,"column":4},"end":{"line":325,"column":75}},"133":{"start":{"line":327,"column":2},"end":{"line":327,"column":32}},"134":{"start":{"line":332,"column":2},"end":{"line":336,"column":3}},"135":{"start":{"line":333,"column":4},"end":{"line":333,"column":52}},"136":{"start":{"line":335,"column":4},"end":{"line":335,"column":78}},"137":{"start":{"line":337,"column":2},"end":{"line":337,"column":15}},"138":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"139":{"start":{"line":342,"column":4},"end":{"line":342,"column":39}},"140":{"start":{"line":343,"column":4},"end":{"line":343,"column":31}},"141":{"start":{"line":345,"column":2},"end":{"line":345,"column":34}},"142":{"start":{"line":346,"column":2},"end":{"line":346,"column":45}},"143":{"start":{"line":347,"column":2},"end":{"line":347,"column":93}},"144":{"start":{"line":351,"column":15},"end":{"line":351,"column":40}},"145":{"start":{"line":352,"column":2},"end":{"line":352,"column":47}},"146":{"start":{"line":353,"column":2},"end":{"line":353,"column":26}},"147":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"148":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"149":{"start":{"line":357,"column":6},"end":{"line":357,"column":47}},"150":{"start":{"line":359,"column":4},"end":{"line":359,"column":60}},"151":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"152":{"start":{"line":362,"column":6},"end":{"line":364,"column":8}},"153":{"start":{"line":367,"column":2},"end":{"line":367,"column":36}},"154":{"start":{"line":370,"column":33},"end":{"line":376,"column":1}},"155":{"start":{"line":380,"column":4},"end":{"line":384,"column":6}},"156":{"start":{"line":383,"column":6},"end":{"line":383,"column":46}},"157":{"start":{"line":387,"column":2},"end":{"line":387,"column":42}},"158":{"start":{"line":389,"column":2},"end":{"line":391,"column":5}},"159":{"start":{"line":390,"column":4},"end":{"line":390,"column":77}},"160":{"start":{"line":395,"column":2},"end":{"line":397,"column":5}},"161":{"start":{"line":396,"column":4},"end":{"line":396,"column":51}},"162":{"start":{"line":412,"column":2},"end":{"line":416,"column":3}},"163":{"start":{"line":413,"column":4},"end":{"line":413,"column":56}},"164":{"start":{"line":415,"column":4},"end":{"line":415,"column":39}},"165":{"start":{"line":417,"column":2},"end":{"line":417,"column":24}},"166":{"start":{"line":431,"column":2},"end":{"line":431,"column":63}},"167":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"168":{"start":{"line":434,"column":4},"end":{"line":434,"column":74}},"169":{"start":{"line":437,"column":2},"end":{"line":437,"column":76}},"170":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"171":{"start":{"line":439,"column":4},"end":{"line":439,"column":79}},"172":{"start":{"line":441,"column":2},"end":{"line":441,"column":75}},"173":{"start":{"line":455,"column":2},"end":{"line":455,"column":37}},"174":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"175":{"start":{"line":459,"column":4},"end":{"line":459,"column":39}},"176":{"start":{"line":463,"column":18},"end":{"line":463,"column":19}},"177":{"start":{"line":465,"column":28},"end":{"line":465,"column":30}},"178":{"start":{"line":468,"column":4},"end":{"line":468,"column":25}},"179":{"start":{"line":469,"column":4},"end":{"line":469,"column":16}},"180":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"181":{"start":{"line":471,"column":6},"end":{"line":471,"column":16}},"182":{"start":{"line":475,"column":2},"end":{"line":479,"column":3}},"183":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":477,"column":6},"end":{"line":477,"column":58}},"185":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"186":{"start":{"line":482,"column":4},"end":{"line":482,"column":16}},"187":{"start":{"line":485,"column":2},"end":{"line":487,"column":5}},"188":{"start":{"line":486,"column":4},"end":{"line":486,"column":26}},"189":{"start":{"line":489,"column":2},"end":{"line":489,"column":14}},"190":{"start":{"line":513,"column":15},"end":{"line":535,"column":1}},"191":{"start":{"line":537,"column":0},"end":{"line":537,"column":24}},"192":{"start":{"line":540,"column":0},"end":{"line":540,"column":12}}},"fnMap":{"0":{"name":"hasLogger","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":18}},"loc":{"start":{"line":57,"column":27},"end":{"line":59,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":47},"end":{"line":70,"column":1}}},"2":{"name":"getBufferedLogger","decl":{"start":{"line":72,"column":9},"end":{"line":72,"column":26}},"loc":{"start":{"line":72,"column":41},"end":{"line":104,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":17},"end":{"line":77,"column":18}},"loc":{"start":{"line":77,"column":29},"end":{"line":83,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":17},"end":{"line":84,"column":18}},"loc":{"start":{"line":84,"column":36},"end":{"line":86,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":87,"column":17},"end":{"line":87,"column":18}},"loc":{"start":{"line":87,"column":36},"end":{"line":89,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":17}},"loc":{"start":{"line":90,"column":35},"end":{"line":92,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":17}},"loc":{"start":{"line":93,"column":35},"end":{"line":95,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":17},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":36},"end":{"line":98,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":18}},"loc":{"start":{"line":99,"column":36},"end":{"line":101,"column":3}}},"10":{"name":"normalizeCategory","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":37},"end":{"line":108,"column":1}}},"11":{"name":"doesLevelEntryContainsLogger","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":37}},"loc":{"start":{"line":110,"column":69},"end":{"line":114,"column":1}}},"12":{"name":"doesAppenderContainsLogger","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":35}},"loc":{"start":{"line":116,"column":70},"end":{"line":120,"column":1}}},"13":{"name":"getLogger","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":18}},"loc":{"start":{"line":128,"column":39},"end":{"line":177,"column":1}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":161,"column":29},"end":{"line":161,"column":30}},"loc":{"start":{"line":161,"column":43},"end":{"line":163,"column":9}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":170,"column":27},"end":{"line":170,"column":28}},"loc":{"start":{"line":170,"column":41},"end":{"line":172,"column":7}}},"16":{"name":"addAppender","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":20}},"loc":{"start":{"line":182,"column":23},"end":{"line":213,"column":1}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":200,"column":15},"end":{"line":200,"column":16}},"loc":{"start":{"line":200,"column":37},"end":{"line":212,"column":3}}},"18":{"name":"addAppenderToAllLoggers","decl":{"start":{"line":215,"column":9},"end":{"line":215,"column":32}},"loc":{"start":{"line":215,"column":43},"end":{"line":221,"column":1}}},"19":{"name":"addAppenderToCategory","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":30}},"loc":{"start":{"line":223,"column":51},"end":{"line":228,"column":1}}},"20":{"name":"clearAppenders","decl":{"start":{"line":230,"column":9},"end":{"line":230,"column":23}},"loc":{"start":{"line":230,"column":26},"end":{"line":240,"column":1}}},"21":{"name":"configureAppenders","decl":{"start":{"line":242,"column":9},"end":{"line":242,"column":27}},"loc":{"start":{"line":242,"column":51},"end":{"line":257,"column":1}}},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":25},"end":{"line":245,"column":26}},"loc":{"start":{"line":245,"column":45},"end":{"line":255,"column":5}}},"23":{"name":"configureLevels","decl":{"start":{"line":259,"column":9},"end":{"line":259,"column":24}},"loc":{"start":{"line":259,"column":34},"end":{"line":278,"column":1}}},"24":{"name":"setGlobalLogLevel","decl":{"start":{"line":280,"column":9},"end":{"line":280,"column":26}},"loc":{"start":{"line":280,"column":34},"end":{"line":282,"column":1}}},"25":{"name":"getDefaultLogger","decl":{"start":{"line":289,"column":9},"end":{"line":289,"column":25}},"loc":{"start":{"line":289,"column":28},"end":{"line":291,"column":1}}},"26":{"name":"loadConfigurationFile","decl":{"start":{"line":295,"column":9},"end":{"line":295,"column":30}},"loc":{"start":{"line":295,"column":41},"end":{"line":300,"column":1}}},"27":{"name":"configureOnceOff","decl":{"start":{"line":302,"column":9},"end":{"line":302,"column":25}},"loc":{"start":{"line":302,"column":43},"end":{"line":318,"column":1}}},"28":{"name":"reloadConfiguration","decl":{"start":{"line":320,"column":9},"end":{"line":320,"column":28}},"loc":{"start":{"line":320,"column":38},"end":{"line":328,"column":1}}},"29":{"name":"getMTime","decl":{"start":{"line":330,"column":9},"end":{"line":330,"column":17}},"loc":{"start":{"line":330,"column":28},"end":{"line":338,"column":1}}},"30":{"name":"initReloadConfiguration","decl":{"start":{"line":340,"column":9},"end":{"line":340,"column":32}},"loc":{"start":{"line":340,"column":52},"end":{"line":348,"column":1}}},"31":{"name":"configure","decl":{"start":{"line":350,"column":9},"end":{"line":350,"column":18}},"loc":{"start":{"line":350,"column":55},"end":{"line":368,"column":1}}},"32":{"name":"replaceConsole","decl":{"start":{"line":378,"column":9},"end":{"line":378,"column":23}},"loc":{"start":{"line":378,"column":32},"end":{"line":392,"column":1}}},"33":{"name":"replaceWith","decl":{"start":{"line":379,"column":11},"end":{"line":379,"column":22}},"loc":{"start":{"line":379,"column":27},"end":{"line":385,"column":3}}},"34":{"name":"(anonymous_34)","decl":{"start":{"line":380,"column":11},"end":{"line":380,"column":12}},"loc":{"start":{"line":380,"column":23},"end":{"line":384,"column":5}}},"35":{"name":"(anonymous_35)","decl":{"start":{"line":389,"column":52},"end":{"line":389,"column":53}},"loc":{"start":{"line":389,"column":62},"end":{"line":391,"column":3}}},"36":{"name":"restoreConsole","decl":{"start":{"line":394,"column":9},"end":{"line":394,"column":23}},"loc":{"start":{"line":394,"column":26},"end":{"line":398,"column":1}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":395,"column":52},"end":{"line":395,"column":53}},"loc":{"start":{"line":395,"column":62},"end":{"line":397,"column":3}}},"38":{"name":"requireAppender","decl":{"start":{"line":410,"column":9},"end":{"line":410,"column":24}},"loc":{"start":{"line":410,"column":35},"end":{"line":418,"column":1}}},"39":{"name":"loadAppender","decl":{"start":{"line":430,"column":9},"end":{"line":430,"column":21}},"loc":{"start":{"line":430,"column":48},"end":{"line":442,"column":1}}},"40":{"name":"shutdown","decl":{"start":{"line":452,"column":9},"end":{"line":452,"column":17}},"loc":{"start":{"line":452,"column":22},"end":{"line":490,"column":1}}},"41":{"name":"complete","decl":{"start":{"line":467,"column":11},"end":{"line":467,"column":19}},"loc":{"start":{"line":467,"column":25},"end":{"line":473,"column":3}}},"42":{"name":"(anonymous_42)","decl":{"start":{"line":485,"column":28},"end":{"line":485,"column":29}},"loc":{"start":{"line":485,"column":45},"end":{"line":487,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},{"start":{"line":64,"column":2},"end":{"line":68,"column":3}}]},"1":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":66}},"type":"binary-expr","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":34}},{"start":{"line":64,"column":38},"end":{"line":64,"column":66}}]},"2":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{"line":130,"column":2},"end":{"line":132,"column":3}}]},"3":{"loc":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},{"start":{"line":134,"column":2},"end":{"line":174,"column":3}}]},"4":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{"line":139,"column":4},"end":{"line":150,"column":5}}]},"5":{"loc":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},{"start":{"line":145,"column":8},"end":{"line":148,"column":9}}]},"6":{"loc":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},{"start":{"line":159,"column":6},"end":{"line":164,"column":7}}]},"7":{"loc":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},{"start":{"line":168,"column":4},"end":{"line":173,"column":5}}]},"8":{"loc":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"type":"if","locations":[{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},{"start":{"line":188,"column":2},"end":{"line":190,"column":3}}]},"9":{"loc":{"start":{"line":188,"column":6},"end":{"line":188,"column":54}},"type":"binary-expr","locations":[{"start":{"line":188,"column":6},"end":{"line":188,"column":21}},{"start":{"line":188,"column":25},"end":{"line":188,"column":54}}]},"10":{"loc":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},{"start":{"line":192,"column":2},"end":{"line":194,"column":3}}]},"11":{"loc":{"start":{"line":192,"column":6},"end":{"line":192,"column":48}},"type":"binary-expr","locations":[{"start":{"line":192,"column":6},"end":{"line":192,"column":23}},{"start":{"line":192,"column":27},"end":{"line":192,"column":48}}]},"12":{"loc":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"type":"if","locations":[{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},{"start":{"line":196,"column":2},"end":{"line":198,"column":3}}]},"13":{"loc":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"type":"if","locations":[{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},{"start":{"line":203,"column":4},"end":{"line":211,"column":5}}]},"14":{"loc":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},{"start":{"line":207,"column":8},"end":{"line":209,"column":9}}]},"15":{"loc":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},{"start":{"line":217,"column":4},"end":{"line":219,"column":5}}]},"16":{"loc":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"type":"if","locations":[{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},{"start":{"line":224,"column":2},"end":{"line":226,"column":3}}]},"17":{"loc":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"type":"if","locations":[{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},{"start":{"line":236,"column":4},"end":{"line":238,"column":5}}]},"18":{"loc":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},{"start":{"line":244,"column":2},"end":{"line":256,"column":3}}]},"19":{"loc":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"type":"if","locations":[{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},{"start":{"line":261,"column":2},"end":{"line":277,"column":3}}]},"20":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{"line":267,"column":6},"end":{"line":269,"column":7}}]},"21":{"loc":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},{"start":{"line":272,"column":8},"end":{"line":274,"column":9}}]},"22":{"loc":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"type":"if","locations":[{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},{"start":{"line":296,"column":2},"end":{"line":298,"column":3}}]},"23":{"loc":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"type":"if","locations":[{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},{"start":{"line":303,"column":2},"end":{"line":317,"column":3}}]},"24":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{"line":309,"column":6},"end":{"line":311,"column":7}}]},"25":{"loc":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"type":"if","locations":[{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},{"start":{"line":322,"column":2},"end":{"line":322,"column":21}}]},"26":{"loc":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"type":"if","locations":[{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},{"start":{"line":324,"column":2},"end":{"line":326,"column":3}}]},"27":{"loc":{"start":{"line":324,"column":6},"end":{"line":324,"column":82}},"type":"binary-expr","locations":[{"start":{"line":324,"column":6},"end":{"line":324,"column":27}},{"start":{"line":324,"column":32},"end":{"line":324,"column":81}}]},"28":{"loc":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"type":"if","locations":[{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},{"start":{"line":341,"column":2},"end":{"line":344,"column":3}}]},"29":{"loc":{"start":{"line":352,"column":11},"end":{"line":352,"column":46}},"type":"binary-expr","locations":[{"start":{"line":352,"column":11},"end":{"line":352,"column":17}},{"start":{"line":352,"column":21},"end":{"line":352,"column":46}}]},"30":{"loc":{"start":{"line":353,"column":12},"end":{"line":353,"column":25}},"type":"binary-expr","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":19}},{"start":{"line":353,"column":23},"end":{"line":353,"column":25}}]},"31":{"loc":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"type":"if","locations":[{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},{"start":{"line":355,"column":2},"end":{"line":366,"column":3}}]},"32":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":75}},"type":"binary-expr","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":26}},{"start":{"line":355,"column":30},"end":{"line":355,"column":45}},{"start":{"line":355,"column":49},"end":{"line":355,"column":75}}]},"33":{"loc":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"type":"if","locations":[{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},{"start":{"line":356,"column":4},"end":{"line":358,"column":5}}]},"34":{"loc":{"start":{"line":359,"column":13},"end":{"line":359,"column":59}},"type":"binary-expr","locations":[{"start":{"line":359,"column":13},"end":{"line":359,"column":42}},{"start":{"line":359,"column":46},"end":{"line":359,"column":59}}]},"35":{"loc":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"type":"if","locations":[{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},{"start":{"line":361,"column":4},"end":{"line":365,"column":5}}]},"36":{"loc":{"start":{"line":387,"column":11},"end":{"line":387,"column":41}},"type":"binary-expr","locations":[{"start":{"line":387,"column":11},"end":{"line":387,"column":17}},{"start":{"line":387,"column":21},"end":{"line":387,"column":41}}]},"37":{"loc":{"start":{"line":390,"column":32},"end":{"line":390,"column":75}},"type":"cond-expr","locations":[{"start":{"line":390,"column":49},"end":{"line":390,"column":60}},{"start":{"line":390,"column":63},"end":{"line":390,"column":75}}]},"38":{"loc":{"start":{"line":431,"column":19},"end":{"line":431,"column":62}},"type":"binary-expr","locations":[{"start":{"line":431,"column":19},"end":{"line":431,"column":33}},{"start":{"line":431,"column":37},"end":{"line":431,"column":62}}]},"39":{"loc":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"type":"if","locations":[{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},{"start":{"line":433,"column":2},"end":{"line":435,"column":3}}]},"40":{"loc":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"type":"if","locations":[{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},{"start":{"line":438,"column":2},"end":{"line":440,"column":3}}]},"41":{"loc":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"type":"if","locations":[{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},{"start":{"line":458,"column":2},"end":{"line":460,"column":3}}]},"42":{"loc":{"start":{"line":468,"column":12},"end":{"line":468,"column":24}},"type":"binary-expr","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":17}},{"start":{"line":468,"column":21},"end":{"line":468,"column":24}}]},"43":{"loc":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"type":"if","locations":[{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},{"start":{"line":470,"column":4},"end":{"line":472,"column":5}}]},"44":{"loc":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"type":"if","locations":[{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},{"start":{"line":476,"column":4},"end":{"line":478,"column":5}}]},"45":{"loc":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"type":"if","locations":[{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},{"start":{"line":481,"column":2},"end":{"line":483,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":11,"14":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":18,"43":0,"44":0,"45":0,"46":9,"47":9,"48":9,"49":5,"50":0,"51":5,"52":3,"53":0,"54":0,"55":0,"56":0,"57":0,"58":3,"59":3,"60":6,"61":2,"62":2,"63":2,"64":3,"65":0,"66":0,"67":0,"68":5,"69":4,"70":4,"71":4,"72":0,"73":4,"74":2,"75":4,"76":1,"77":4,"78":5,"79":5,"80":2,"81":3,"82":3,"83":1,"84":2,"85":3,"86":3,"87":5,"88":5,"89":5,"90":3,"91":3,"92":3,"93":3,"94":3,"95":2,"96":2,"97":2,"98":3,"99":3,"100":3,"101":3,"102":3,"103":0,"104":2,"105":2,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":1,"117":2,"118":1,"119":1,"120":2,"121":2,"122":2,"123":2,"124":2,"125":2,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":2,"145":2,"146":2,"147":2,"148":2,"149":0,"150":2,"151":0,"152":0,"153":2,"154":1,"155":0,"156":0,"157":0,"158":0,"159":0,"160":2,"161":10,"162":4,"163":4,"164":0,"165":4,"166":4,"167":4,"168":0,"169":4,"170":4,"171":2,"172":4,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":1,"191":1,"192":1},"f":{"0":11,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":18,"11":0,"12":9,"13":5,"14":2,"15":0,"16":4,"17":5,"18":2,"19":5,"20":3,"21":2,"22":3,"23":2,"24":0,"25":0,"26":2,"27":2,"28":0,"29":0,"30":0,"31":2,"32":0,"33":0,"34":0,"35":0,"36":2,"37":10,"38":4,"39":4,"40":0,"41":0,"42":0},"b":{"0":[0,0],"1":[0,0],"2":[0,5],"3":[3,2],"4":[0,3],"5":[0,0],"6":[2,4],"7":[0,3],"8":[0,4],"9":[4,4],"10":[2,2],"11":[4,4],"12":[1,3],"13":[2,3],"14":[1,2],"15":[3,0],"16":[5,0],"17":[3,0],"18":[2,0],"19":[0,2],"20":[0,0],"21":[0,0],"22":[1,1],"23":[2,0],"24":[0,2],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[2,1],"30":[2,2],"31":[2,0],"32":[2,1,1],"33":[0,2],"34":[2,1],"35":[0,0],"36":[0,0],"37":[0,0],"38":[4,4],"39":[0,4],"40":[2,2],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3a43360dca26d74ffd67cfe5ec75309575f038ac","contentHash":"10edbceee6329f5ee9c0d2f625fd311b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":2,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":1,"13":4,"14":4,"15":0,"16":0,"17":4,"18":4,"19":4,"20":0,"21":0,"22":0,"23":0,"24":4,"25":1,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":4,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":1,"108":0,"109":2},"f":{"0":2,"1":0,"2":0,"3":0,"4":0,"5":0,"6":4,"7":4,"8":0,"9":4,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":4,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":2},"b":{"0":[1,0],"1":[0,0],"2":[0,0],"3":[0,4],"4":[4,0],"5":[0,0],"6":[0,4],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[2,2]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf","contentHash":"d1d8e598552dfe064eef286d267900be_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":1,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128","contentHash":"672b6336c04cfaa2a8588410ce063022_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/levels.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/levels.js","statementMap":{"0":{"start":{"line":9,"column":4},"end":{"line":9,"column":23}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":42}},"9":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":39}},"11":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"12":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":24}},"14":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"15":{"start":{"line":52,"column":4},"end":{"line":52,"column":43}},"16":{"start":{"line":53,"column":4},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"18":{"start":{"line":57,"column":4},"end":{"line":57,"column":62}},"19":{"start":{"line":60,"column":2},"end":{"line":60,"column":34}},"20":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"21":{"start":{"line":66,"column":23},"end":{"line":66,"column":45}},"22":{"start":{"line":67,"column":4},"end":{"line":67,"column":32}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"24":{"start":{"line":72,"column":0},"end":{"line":85,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":13},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":34},"end":{"line":22,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":37},"end":{"line":29,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":31,"column":24},"end":{"line":36,"column":3}}},"5":{"name":"toLevel","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":37},"end":{"line":61,"column":1}}},"6":{"name":"getLevel","decl":{"start":{"line":63,"column":9},"end":{"line":63,"column":17}},"loc":{"start":{"line":63,"column":28},"end":{"line":70,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{"line":32,"column":4},"end":{"line":34,"column":5}}]},"3":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}]},"4":{"loc":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},{"start":{"line":51,"column":2},"end":{"line":54,"column":3}}]},"5":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}]},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":61}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":45}},{"start":{"line":57,"column":49},"end":{"line":57,"column":61}}]},"7":{"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},{"start":{"line":65,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":9,"1":9,"2":7,"3":8,"4":0,"5":8,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":7,"13":0,"14":7,"15":0,"16":0,"17":7,"18":7,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1},"f":{"0":9,"1":7,"2":8,"3":0,"4":0,"5":7,"6":0},"b":{"0":[0,8],"1":[0,0],"2":[0,0],"3":[0,7],"4":[0,7],"5":[7,0],"6":[7,0],"7":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"daae16d9a9a708cc048c35299774fc26e22cf555","contentHash":"de3beea1cbd1c093130b8e3a1963e9d2_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":21},"end":{"line":6,"column":38}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":36}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":27}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":32}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":23}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":25}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":50,"column":4},"end":{"line":50,"column":45}},"11":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"12":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":67}},"14":{"start":{"line":62,"column":4},"end":{"line":62,"column":22}},"15":{"start":{"line":68,"column":17},"end":{"line":68,"column":38}},"16":{"start":{"line":69,"column":21},"end":{"line":69,"column":57}},"17":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":13}},"19":{"start":{"line":73,"column":4},"end":{"line":73,"column":39}},"20":{"start":{"line":77,"column":4},"end":{"line":77,"column":54}},"21":{"start":{"line":81,"column":25},"end":{"line":81,"column":75}},"22":{"start":{"line":82,"column":4},"end":{"line":82,"column":35}},"23":{"start":{"line":86,"column":0},"end":{"line":86,"column":43}},"24":{"start":{"line":87,"column":0},"end":{"line":87,"column":38}},"25":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"26":{"start":{"line":92,"column":16},"end":{"line":92,"column":38}},"27":{"start":{"line":94,"column":24},"end":{"line":94,"column":54}},"28":{"start":{"line":95,"column":22},"end":{"line":95,"column":81}},"29":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}},"30":{"start":{"line":96,"column":24},"end":{"line":96,"column":75}},"31":{"start":{"line":98,"column":2},"end":{"line":100,"column":4}},"32":{"start":{"line":99,"column":4},"end":{"line":99,"column":49}},"33":{"start":{"line":102,"column":2},"end":{"line":109,"column":4}},"34":{"start":{"line":105,"column":17},"end":{"line":105,"column":38}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":117,"column":2},"end":{"line":117,"column":27}},"38":{"start":{"line":125,"column":2},"end":{"line":125,"column":26}},"39":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"40":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"41":{"start":{"line":130,"column":0},"end":{"line":130,"column":57}},"42":{"start":{"line":131,"column":0},"end":{"line":131,"column":55}},"43":{"start":{"line":132,"column":0},"end":{"line":132,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":49},"end":{"line":32,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":27},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":65,"column":8},"end":{"line":74,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":29},"end":{"line":78,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":20},"end":{"line":83,"column":3}}},"7":{"name":"addLevelMethods","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":33},"end":{"line":110,"column":1}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":95,"column":57},"end":{"line":95,"column":58}},"loc":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":50},"end":{"line":98,"column":51}},"loc":{"start":{"line":98,"column":62},"end":{"line":100,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":34},"end":{"line":102,"column":35}},"loc":{"start":{"line":102,"column":46},"end":{"line":109,"column":3}}},"11":{"name":"disableAllLogWrites","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":28}},"loc":{"start":{"line":116,"column":31},"end":{"line":118,"column":1}}},"12":{"name":"enableAllLogWrites","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":27}},"loc":{"start":{"line":124,"column":30},"end":{"line":126,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"type":"binary-expr","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}}]},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":4},"end":{"line":54,"column":5}}]},"2":{"loc":{"start":{"line":58,"column":39},"end":{"line":58,"column":65}},"type":"binary-expr","locations":[{"start":{"line":58,"column":39},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":65}}]},"3":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}]},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}}]},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":106,"column":54}},"type":"binary-expr","locations":[{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},{"start":{"line":106,"column":28},"end":{"line":106,"column":54}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":8,"5":8,"6":8,"7":8,"8":8,"9":3,"10":3,"11":3,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":8,"21":8,"22":8,"23":1,"24":1,"25":1,"26":7,"27":7,"28":7,"29":0,"30":7,"31":7,"32":0,"33":7,"34":8,"35":8,"36":8,"37":0,"38":3,"39":1,"40":1,"41":1,"42":1,"43":1},"f":{"0":8,"1":3,"2":0,"3":0,"4":0,"5":8,"6":8,"7":7,"8":0,"9":0,"10":8,"11":0,"12":3},"b":{"0":[3,0],"1":[0,3],"2":[0,0],"3":[0,0],"4":[8,0],"5":[8,8]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7d8e54612a5d21505ecc3cd8c5eea114082c17db","contentHash":"00d625ca9babf994c26685dc45e2004b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":7,"column":23},"end":{"line":10,"column":18}},"2":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"4":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":34}},"6":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"7":{"start":{"line":50,"column":21},"end":{"line":50,"column":30}},"8":{"start":{"line":51,"column":14},"end":{"line":51,"column":56}},"9":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"10":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"11":{"start":{"line":55,"column":2},"end":{"line":112,"column":4}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"13":{"start":{"line":57,"column":22},"end":{"line":57,"column":36}},"14":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"15":{"start":{"line":60,"column":46},"end":{"line":60,"column":60}},"16":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"17":{"start":{"line":63,"column":20},"end":{"line":63,"column":30}},"18":{"start":{"line":64,"column":24},"end":{"line":64,"column":37}},"19":{"start":{"line":67,"column":6},"end":{"line":67,"column":26}},"20":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"21":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":37}},"23":{"start":{"line":74,"column":8},"end":{"line":74,"column":32}},"24":{"start":{"line":75,"column":8},"end":{"line":75,"column":38}},"25":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"26":{"start":{"line":79,"column":10},"end":{"line":79,"column":30}},"27":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"28":{"start":{"line":80,"column":27},"end":{"line":80,"column":47}},"29":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"30":{"start":{"line":81,"column":27},"end":{"line":81,"column":48}},"31":{"start":{"line":83,"column":10},"end":{"line":83,"column":61}},"32":{"start":{"line":88,"column":6},"end":{"line":107,"column":9}},"33":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"34":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"35":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"37":{"start":{"line":93,"column":37},"end":{"line":93,"column":57}},"38":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"39":{"start":{"line":94,"column":37},"end":{"line":94,"column":58}},"40":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"41":{"start":{"line":98,"column":33},"end":{"line":98,"column":79}},"42":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"43":{"start":{"line":101,"column":25},"end":{"line":101,"column":74}},"44":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}},"45":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"46":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"47":{"start":{"line":104,"column":12},"end":{"line":104,"column":63}},"48":{"start":{"line":111,"column":4},"end":{"line":111,"column":18}},"49":{"start":{"line":126,"column":28},"end":{"line":138,"column":3}},"50":{"start":{"line":127,"column":14},"end":{"line":127,"column":28}},"51":{"start":{"line":128,"column":4},"end":{"line":136,"column":5}},"52":{"start":{"line":129,"column":6},"end":{"line":135,"column":7}},"53":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"54":{"start":{"line":133,"column":10},"end":{"line":133,"column":27}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":13}},"56":{"start":{"line":140,"column":24},"end":{"line":140,"column":26}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":66}},"58":{"start":{"line":142,"column":2},"end":{"line":142,"column":72}},"59":{"start":{"line":143,"column":2},"end":{"line":143,"column":72}},"60":{"start":{"line":144,"column":2},"end":{"line":144,"column":68}},"61":{"start":{"line":145,"column":2},"end":{"line":145,"column":92}},"62":{"start":{"line":146,"column":2},"end":{"line":146,"column":81}},"63":{"start":{"line":147,"column":2},"end":{"line":147,"column":80}},"64":{"start":{"line":148,"column":2},"end":{"line":151,"column":5}},"65":{"start":{"line":152,"column":2},"end":{"line":155,"column":5}},"66":{"start":{"line":156,"column":2},"end":{"line":166,"column":5}},"67":{"start":{"line":167,"column":2},"end":{"line":167,"column":87}},"68":{"start":{"line":168,"column":2},"end":{"line":173,"column":5}},"69":{"start":{"line":174,"column":2},"end":{"line":179,"column":5}},"70":{"start":{"line":177,"column":6},"end":{"line":177,"column":46}},"71":{"start":{"line":180,"column":2},"end":{"line":187,"column":5}},"72":{"start":{"line":183,"column":6},"end":{"line":185,"column":50}},"73":{"start":{"line":189,"column":2},"end":{"line":189,"column":63}},"74":{"start":{"line":203,"column":2},"end":{"line":203,"column":36}},"75":{"start":{"line":215,"column":2},"end":{"line":217,"column":3}},"76":{"start":{"line":216,"column":4},"end":{"line":216,"column":62}},"77":{"start":{"line":218,"column":2},"end":{"line":218,"column":13}},"78":{"start":{"line":249,"column":15},"end":{"line":249,"column":19}},"79":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"80":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"81":{"start":{"line":253,"column":6},"end":{"line":253,"column":21}},"82":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"83":{"start":{"line":257,"column":6},"end":{"line":257,"column":33}},"84":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"85":{"start":{"line":262,"column":31},"end":{"line":262,"column":80}},"86":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"87":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"88":{"start":{"line":267,"column":2},"end":{"line":267,"column":16}},"89":{"start":{"line":270,"column":0},"end":{"line":270,"column":41}}},"fnMap":{"0":{"name":"getLogger","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":39},"end":{"line":113,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":10}},"loc":{"start":{"line":55,"column":29},"end":{"line":112,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":70,"column":22},"end":{"line":70,"column":23}},"loc":{"start":{"line":70,"column":41},"end":{"line":85,"column":7}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":23},"end":{"line":88,"column":24}},"loc":{"start":{"line":88,"column":29},"end":{"line":107,"column":7}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":39},"end":{"line":101,"column":40}},"loc":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}}},"5":{"name":"assembleTokens","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":48},"end":{"line":190,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":28},"end":{"line":126,"column":29}},"loc":{"start":{"line":126,"column":39},"end":{"line":138,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":17},"end":{"line":176,"column":18}},"loc":{"start":{"line":176,"column":37},"end":{"line":178,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":182,"column":17},"end":{"line":182,"column":18}},"loc":{"start":{"line":182,"column":37},"end":{"line":186,"column":5}}},"9":{"name":"getUrl","decl":{"start":{"line":202,"column":9},"end":{"line":202,"column":15}},"loc":{"start":{"line":202,"column":21},"end":{"line":204,"column":1}}},"10":{"name":"format","decl":{"start":{"line":214,"column":9},"end":{"line":214,"column":15}},"loc":{"start":{"line":214,"column":29},"end":{"line":219,"column":1}}},"11":{"name":"createNoLogCondition","decl":{"start":{"line":248,"column":9},"end":{"line":248,"column":29}},"loc":{"start":{"line":248,"column":37},"end":{"line":268,"column":1}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":262,"column":41},"end":{"line":262,"column":42}},"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}}}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},{"start":{"line":42,"column":2},"end":{"line":48,"column":3}}]},"1":{"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":27}},"type":"binary-expr","locations":[{"start":{"line":43,"column":14},"end":{"line":43,"column":21}},{"start":{"line":43,"column":25},"end":{"line":43,"column":27}}]},"2":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}]},"3":{"loc":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"type":"binary-expr","locations":[{"start":{"line":52,"column":14},"end":{"line":52,"column":28}},{"start":{"line":52,"column":32},"end":{"line":52,"column":46}}]},"4":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":32},"end":{"line":53,"column":67}},{"start":{"line":53,"column":70},"end":{"line":53,"column":74}}]},"5":{"loc":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},{"start":{"line":57,"column":4},"end":{"line":57,"column":36}}]},"6":{"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},{"start":{"line":60,"column":4},"end":{"line":60,"column":60}}]},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":44}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":13}},{"start":{"line":60,"column":17},"end":{"line":60,"column":44}}]},"8":{"loc":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},{"start":{"line":62,"column":4},"end":{"line":108,"column":5}}]},"9":{"loc":{"start":{"line":62,"column":8},"end":{"line":62,"column":68}},"type":"binary-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":40}},{"start":{"line":62,"column":44},"end":{"line":62,"column":68}}]},"10":{"loc":{"start":{"line":75,"column":24},"end":{"line":75,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":24},"end":{"line":75,"column":31}},{"start":{"line":75,"column":35},"end":{"line":75,"column":37}}]},"11":{"loc":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},{"start":{"line":78,"column":8},"end":{"line":84,"column":9}}]},"12":{"loc":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},{"start":{"line":80,"column":10},"end":{"line":80,"column":47}}]},"13":{"loc":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},{"start":{"line":81,"column":10},"end":{"line":81,"column":48}}]},"14":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":91,"column":8},"end":{"line":95,"column":9}}]},"15":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":54}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":26}},{"start":{"line":91,"column":30},"end":{"line":91,"column":54}}]},"16":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"type":"if","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},{"start":{"line":93,"column":10},"end":{"line":93,"column":57}}]},"17":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"type":"if","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},{"start":{"line":94,"column":10},"end":{"line":94,"column":58}}]},"18":{"loc":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},{"start":{"line":97,"column":8},"end":{"line":106,"column":9}}]},"19":{"loc":{"start":{"line":98,"column":58},"end":{"line":98,"column":78}},"type":"binary-expr","locations":[{"start":{"line":98,"column":58},"end":{"line":98,"column":72}},{"start":{"line":98,"column":76},"end":{"line":98,"column":78}}]},"20":{"loc":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},{"start":{"line":100,"column":10},"end":{"line":105,"column":11}}]},"21":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"type":"if","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},{"start":{"line":102,"column":12},"end":{"line":102,"column":50}}]},"22":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},{"start":{"line":132,"column":8},"end":{"line":134,"column":9}}]},"23":{"loc":{"start":{"line":145,"column":54},"end":{"line":145,"column":88}},"type":"binary-expr","locations":[{"start":{"line":145,"column":54},"end":{"line":145,"column":70}},{"start":{"line":145,"column":74},"end":{"line":145,"column":88}}]},"24":{"loc":{"start":{"line":150,"column":17},"end":{"line":150,"column":66}},"type":"binary-expr","locations":[{"start":{"line":150,"column":17},"end":{"line":150,"column":36}},{"start":{"line":150,"column":40},"end":{"line":150,"column":60}},{"start":{"line":150,"column":64},"end":{"line":150,"column":66}}]},"25":{"loc":{"start":{"line":158,"column":17},"end":{"line":165,"column":5}},"type":"binary-expr","locations":[{"start":{"line":158,"column":17},"end":{"line":158,"column":47}},{"start":{"line":159,"column":4},"end":{"line":159,"column":10}},{"start":{"line":160,"column":4},"end":{"line":160,"column":22}},{"start":{"line":161,"column":5},"end":{"line":161,"column":15}},{"start":{"line":162,"column":7},"end":{"line":162,"column":31}},{"start":{"line":163,"column":9},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":61}}]},"26":{"loc":{"start":{"line":170,"column":17},"end":{"line":172,"column":7}},"type":"binary-expr","locations":[{"start":{"line":170,"column":18},"end":{"line":170,"column":30}},{"start":{"line":170,"column":34},"end":{"line":170,"column":64}},{"start":{"line":171,"column":5},"end":{"line":171,"column":18}},{"start":{"line":171,"column":22},"end":{"line":171,"column":53}},{"start":{"line":172,"column":4},"end":{"line":172,"column":7}}]},"27":{"loc":{"start":{"line":183,"column":13},"end":{"line":185,"column":49}},"type":"cond-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},{"start":{"line":185,"column":11},"end":{"line":185,"column":48}}]},"28":{"loc":{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":47}},{"start":{"line":184,"column":51},"end":{"line":184,"column":71}}]},"29":{"loc":{"start":{"line":185,"column":11},"end":{"line":185,"column":48}},"type":"binary-expr","locations":[{"start":{"line":185,"column":11},"end":{"line":185,"column":24}},{"start":{"line":185,"column":28},"end":{"line":185,"column":48}}]},"30":{"loc":{"start":{"line":203,"column":9},"end":{"line":203,"column":35}},"type":"binary-expr","locations":[{"start":{"line":203,"column":9},"end":{"line":203,"column":24}},{"start":{"line":203,"column":28},"end":{"line":203,"column":35}}]},"31":{"loc":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},{"start":{"line":251,"column":2},"end":{"line":265,"column":3}}]},"32":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{"line":252,"column":4},"end":{"line":254,"column":5}}]},"33":{"loc":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},{"start":{"line":256,"column":4},"end":{"line":258,"column":5}}]},"34":{"loc":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"type":"if","locations":[{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},{"start":{"line":260,"column":4},"end":{"line":264,"column":5}}]},"35":{"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"type":"cond-expr","locations":[{"start":{"line":262,"column":62},"end":{"line":262,"column":72}},{"start":{"line":262,"column":75},"end":{"line":262,"column":78}}]}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0,0,0,0,0,0],"26":[0,0,0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8de6ff12985e168d800fe4d220a8a32e3c1dbe2a","contentHash":"06eb335e3bac458879bb256f44ac2576_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}}},"fnMap":{"0":{"name":"stdoutAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":33},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":0,"4":1,"5":0,"6":1,"7":1,"8":1},"f":{"0":1,"1":0,"2":1},"b":{"0":[1,1],"1":[0,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7fe10c84b315d3ba3e07ce62d5e48e59666eb827","contentHash":"009980a1b175f554654dded39c797b6c_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/categoryFilter.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/categoryFilter.js","statementMap":{"0":{"start":{"line":3,"column":15},"end":{"line":3,"column":35}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":58}},"2":{"start":{"line":6,"column":36},"end":{"line":6,"column":58}},"3":{"start":{"line":7,"column":2},"end":{"line":11,"column":4}},"4":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"5":{"start":{"line":9,"column":6},"end":{"line":9,"column":25}},"6":{"start":{"line":15,"column":2},"end":{"line":15,"column":44}},"7":{"start":{"line":16,"column":19},"end":{"line":16,"column":88}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":50}},"9":{"start":{"line":20,"column":0},"end":{"line":20,"column":41}},"10":{"start":{"line":21,"column":0},"end":{"line":21,"column":37}}},"fnMap":{"0":{"name":"categoryFilter","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":44},"end":{"line":12,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":23},"end":{"line":11,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":18}},"loc":{"start":{"line":14,"column":36},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":2},"end":{"line":6,"column":58}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":6,"column":58}},{"start":{"line":6,"column":2},"end":{"line":6,"column":58}}]},"1":{"loc":{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},"type":"if","locations":[{"start":{"line":8,"column":4},"end":{"line":10,"column":5}},{"start":{"line":8,"column":4},"end":{"line":10,"column":5}}]}},"s":{"0":1,"1":2,"2":1,"3":2,"4":7,"5":4,"6":1,"7":1,"8":1,"9":1,"10":1},"f":{"0":2,"1":7,"2":1},"b":{"0":[1,1],"1":[4,3]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8a86ebb7fc3af6dd890032f0e3f48d3b92592657","contentHash":"3975f5529817f707e93b752a90a7929d_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/file.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/file.js","statementMap":{"0":{"start":{"line":3,"column":14},"end":{"line":3,"column":45}},"1":{"start":{"line":4,"column":16},"end":{"line":4,"column":37}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":6,"column":16},"end":{"line":6,"column":39}},"4":{"start":{"line":7,"column":11},"end":{"line":7,"column":24}},"5":{"start":{"line":9,"column":12},"end":{"line":9,"column":26}},"6":{"start":{"line":10,"column":18},"end":{"line":10,"column":20}},"7":{"start":{"line":13,"column":0},"end":{"line":18,"column":3}},"8":{"start":{"line":14,"column":2},"end":{"line":14,"column":32}},"9":{"start":{"line":15,"column":2},"end":{"line":17,"column":5}},"10":{"start":{"line":16,"column":4},"end":{"line":16,"column":15}},"11":{"start":{"line":23,"column":0},"end":{"line":28,"column":3}},"12":{"start":{"line":24,"column":2},"end":{"line":24,"column":34}},"13":{"start":{"line":25,"column":2},"end":{"line":27,"column":5}},"14":{"start":{"line":26,"column":4},"end":{"line":26,"column":61}},"15":{"start":{"line":44,"column":2},"end":{"line":44,"column":30}},"16":{"start":{"line":45,"column":2},"end":{"line":45,"column":41}},"17":{"start":{"line":46,"column":2},"end":{"line":46,"column":57}},"18":{"start":{"line":48,"column":2},"end":{"line":48,"column":49}},"19":{"start":{"line":50,"column":2},"end":{"line":56,"column":4}},"20":{"start":{"line":57,"column":17},"end":{"line":57,"column":66}},"21":{"start":{"line":60,"column":2},"end":{"line":60,"column":25}},"22":{"start":{"line":62,"column":2},"end":{"line":64,"column":4}},"23":{"start":{"line":63,"column":4},"end":{"line":63,"column":69}},"24":{"start":{"line":68,"column":17},"end":{"line":73,"column":3}},"25":{"start":{"line":74,"column":2},"end":{"line":76,"column":5}},"26":{"start":{"line":75,"column":4},"end":{"line":75,"column":90}},"27":{"start":{"line":77,"column":2},"end":{"line":77,"column":16}},"28":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"29":{"start":{"line":84,"column":4},"end":{"line":84,"column":63}},"30":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},"31":{"start":{"line":88,"column":4},"end":{"line":88,"column":62}},"32":{"start":{"line":91,"column":2},"end":{"line":98,"column":4}},"33":{"start":{"line":102,"column":18},"end":{"line":102,"column":19}},"34":{"start":{"line":104,"column":19},"end":{"line":110,"column":3}},"35":{"start":{"line":105,"column":4},"end":{"line":105,"column":25}},"36":{"start":{"line":106,"column":4},"end":{"line":106,"column":16}},"37":{"start":{"line":107,"column":4},"end":{"line":109,"column":5}},"38":{"start":{"line":108,"column":6},"end":{"line":108,"column":16}},"39":{"start":{"line":111,"column":2},"end":{"line":113,"column":3}},"40":{"start":{"line":112,"column":4},"end":{"line":112,"column":16}},"41":{"start":{"line":115,"column":2},"end":{"line":123,"column":5}},"42":{"start":{"line":116,"column":4},"end":{"line":122,"column":5}},"43":{"start":{"line":117,"column":6},"end":{"line":119,"column":9}},"44":{"start":{"line":118,"column":8},"end":{"line":118,"column":27}},"45":{"start":{"line":121,"column":6},"end":{"line":121,"column":25}},"46":{"start":{"line":126,"column":0},"end":{"line":126,"column":39}},"47":{"start":{"line":127,"column":0},"end":{"line":127,"column":37}},"48":{"start":{"line":128,"column":0},"end":{"line":128,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":19},"end":{"line":13,"column":20}},"loc":{"start":{"line":13,"column":25},"end":{"line":18,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":20},"end":{"line":15,"column":21}},"loc":{"start":{"line":15,"column":30},"end":{"line":17,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":21},"end":{"line":23,"column":22}},"loc":{"start":{"line":23,"column":27},"end":{"line":28,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":25,"column":20},"end":{"line":25,"column":21}},"loc":{"start":{"line":25,"column":32},"end":{"line":27,"column":3}}},"4":{"name":"fileAppender","decl":{"start":{"line":43,"column":9},"end":{"line":43,"column":21}},"loc":{"start":{"line":43,"column":82},"end":{"line":65,"column":1}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":62,"column":9},"end":{"line":62,"column":10}},"loc":{"start":{"line":62,"column":33},"end":{"line":64,"column":3}}},"6":{"name":"openTheStream","decl":{"start":{"line":67,"column":9},"end":{"line":67,"column":22}},"loc":{"start":{"line":67,"column":58},"end":{"line":78,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":74,"column":21},"end":{"line":74,"column":22}},"loc":{"start":{"line":74,"column":30},"end":{"line":76,"column":3}}},"8":{"name":"configure","decl":{"start":{"line":81,"column":9},"end":{"line":81,"column":18}},"loc":{"start":{"line":81,"column":36},"end":{"line":99,"column":1}}},"9":{"name":"shutdown","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":17}},"loc":{"start":{"line":101,"column":22},"end":{"line":124,"column":1}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":104,"column":19},"end":{"line":104,"column":20}},"loc":{"start":{"line":104,"column":28},"end":{"line":110,"column":3}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":115,"column":27},"end":{"line":115,"column":28}},"loc":{"start":{"line":115,"column":37},"end":{"line":123,"column":3}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":117,"column":25},"end":{"line":117,"column":26}},"loc":{"start":{"line":117,"column":31},"end":{"line":119,"column":7}}}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":12},"end":{"line":9,"column":26}},"type":"binary-expr","locations":[{"start":{"line":9,"column":12},"end":{"line":9,"column":18}},{"start":{"line":9,"column":22},"end":{"line":9,"column":26}}]},"1":{"loc":{"start":{"line":45,"column":11},"end":{"line":45,"column":40}},"type":"binary-expr","locations":[{"start":{"line":45,"column":11},"end":{"line":45,"column":17}},{"start":{"line":45,"column":21},"end":{"line":45,"column":40}}]},"2":{"loc":{"start":{"line":46,"column":15},"end":{"line":46,"column":56}},"type":"cond-expr","locations":[{"start":{"line":46,"column":42},"end":{"line":46,"column":43}},{"start":{"line":46,"column":46},"end":{"line":46,"column":56}}]},"3":{"loc":{"start":{"line":48,"column":15},"end":{"line":48,"column":48}},"type":"cond-expr","locations":[{"start":{"line":48,"column":34},"end":{"line":48,"column":35}},{"start":{"line":48,"column":38},"end":{"line":48,"column":48}}]},"4":{"loc":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"type":"if","locations":[{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},{"start":{"line":83,"column":2},"end":{"line":85,"column":3}}]},"5":{"loc":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},"type":"if","locations":[{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},{"start":{"line":87,"column":2},"end":{"line":89,"column":3}}]},"6":{"loc":{"start":{"line":87,"column":6},"end":{"line":87,"column":48}},"type":"binary-expr","locations":[{"start":{"line":87,"column":6},"end":{"line":87,"column":13}},{"start":{"line":87,"column":17},"end":{"line":87,"column":28}},{"start":{"line":87,"column":32},"end":{"line":87,"column":48}}]},"7":{"loc":{"start":{"line":105,"column":12},"end":{"line":105,"column":24}},"type":"binary-expr","locations":[{"start":{"line":105,"column":12},"end":{"line":105,"column":17}},{"start":{"line":105,"column":21},"end":{"line":105,"column":24}}]},"8":{"loc":{"start":{"line":107,"column":4},"end":{"line":109,"column":5}},"type":"if","locations":[{"start":{"line":107,"column":4},"end":{"line":109,"column":5}},{"start":{"line":107,"column":4},"end":{"line":109,"column":5}}]},"9":{"loc":{"start":{"line":111,"column":2},"end":{"line":113,"column":3}},"type":"if","locations":[{"start":{"line":111,"column":2},"end":{"line":113,"column":3}},{"start":{"line":111,"column":2},"end":{"line":113,"column":3}}]},"10":{"loc":{"start":{"line":116,"column":4},"end":{"line":122,"column":5}},"type":"if","locations":[{"start":{"line":116,"column":4},"end":{"line":122,"column":5}},{"start":{"line":116,"column":4},"end":{"line":122,"column":5}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":2,"11":1,"12":0,"13":0,"14":0,"15":2,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":2,"23":4,"24":2,"25":2,"26":0,"27":2,"28":2,"29":2,"30":2,"31":0,"32":2,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":1,"47":1,"48":1},"f":{"0":1,"1":2,"2":0,"3":0,"4":2,"5":4,"6":2,"7":0,"8":2,"9":0,"10":0,"11":0,"12":0},"b":{"0":[1,0],"1":[2,0],"2":[2,0],"3":[0,2],"4":[2,0],"5":[0,2],"6":[2,2,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"81b13e39d9297c6759591861511487c0d1e2d033","contentHash":"b000837cd6f9cd73e13f77bc3826e71d_9.0.1"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/f01e1c5c2470f9b9742598279127bb3f.json b/node_modules/log4js/.nyc_output/f01e1c5c2470f9b9742598279127bb3f.json deleted file mode 100644 index 50deff1..0000000 --- a/node_modules/log4js/.nyc_output/f01e1c5c2470f9b9742598279127bb3f.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/levels.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/levels.js","statementMap":{"0":{"start":{"line":9,"column":4},"end":{"line":9,"column":23}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":42}},"9":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":39}},"11":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"12":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":24}},"14":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"15":{"start":{"line":52,"column":4},"end":{"line":52,"column":43}},"16":{"start":{"line":53,"column":4},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"18":{"start":{"line":57,"column":4},"end":{"line":57,"column":62}},"19":{"start":{"line":60,"column":2},"end":{"line":60,"column":34}},"20":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"21":{"start":{"line":66,"column":23},"end":{"line":66,"column":45}},"22":{"start":{"line":67,"column":4},"end":{"line":67,"column":32}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"24":{"start":{"line":72,"column":0},"end":{"line":85,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":13},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":34},"end":{"line":22,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":37},"end":{"line":29,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":31,"column":24},"end":{"line":36,"column":3}}},"5":{"name":"toLevel","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":37},"end":{"line":61,"column":1}}},"6":{"name":"getLevel","decl":{"start":{"line":63,"column":9},"end":{"line":63,"column":17}},"loc":{"start":{"line":63,"column":28},"end":{"line":70,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{"line":32,"column":4},"end":{"line":34,"column":5}}]},"3":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}]},"4":{"loc":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},{"start":{"line":51,"column":2},"end":{"line":54,"column":3}}]},"5":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}]},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":61}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":45}},{"start":{"line":57,"column":49},"end":{"line":57,"column":61}}]},"7":{"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},{"start":{"line":65,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":15,"1":15,"2":30,"3":9,"4":0,"5":9,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":22,"13":1,"14":21,"15":11,"16":11,"17":10,"18":10,"19":0,"20":1,"21":1,"22":1,"23":1,"24":1},"f":{"0":15,"1":30,"2":9,"3":0,"4":0,"5":22,"6":1},"b":{"0":[0,9],"1":[0,0],"2":[0,0],"3":[1,21],"4":[11,10],"5":[10,0],"6":[10,1],"7":[1,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"daae16d9a9a708cc048c35299774fc26e22cf555","contentHash":"de3beea1cbd1c093130b8e3a1963e9d2_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/log4js.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/log4js.js","statementMap":{"0":{"start":{"line":35,"column":11},"end":{"line":35,"column":24}},"1":{"start":{"line":36,"column":13},"end":{"line":36,"column":28}},"2":{"start":{"line":37,"column":16},"end":{"line":37,"column":36}},"3":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"4":{"start":{"line":39,"column":21},"end":{"line":39,"column":40}},"5":{"start":{"line":40,"column":22},"end":{"line":40,"column":63}},"6":{"start":{"line":42,"column":15},"end":{"line":42,"column":34}},"7":{"start":{"line":44,"column":23},"end":{"line":44,"column":30}},"8":{"start":{"line":45,"column":16},"end":{"line":45,"column":18}},"9":{"start":{"line":46,"column":23},"end":{"line":46,"column":25}},"10":{"start":{"line":47,"column":26},"end":{"line":47,"column":28}},"11":{"start":{"line":48,"column":22},"end":{"line":53,"column":1}},"12":{"start":{"line":55,"column":16},"end":{"line":55,"column":18}},"13":{"start":{"line":58,"column":2},"end":{"line":58,"column":40}},"14":{"start":{"line":62,"column":0},"end":{"line":70,"column":2}},"15":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"16":{"start":{"line":65,"column":23},"end":{"line":65,"column":45}},"17":{"start":{"line":66,"column":4},"end":{"line":66,"column":51}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":40}},"19":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"20":{"start":{"line":73,"column":21},"end":{"line":73,"column":44}},"21":{"start":{"line":74,"column":17},"end":{"line":74,"column":19}},"22":{"start":{"line":75,"column":2},"end":{"line":75,"column":19}},"23":{"start":{"line":76,"column":2},"end":{"line":76,"column":29}},"24":{"start":{"line":77,"column":2},"end":{"line":83,"column":4}},"25":{"start":{"line":78,"column":4},"end":{"line":82,"column":5}},"26":{"start":{"line":79,"column":18},"end":{"line":79,"column":32}},"27":{"start":{"line":80,"column":6},"end":{"line":80,"column":44}},"28":{"start":{"line":81,"column":6},"end":{"line":81,"column":28}},"29":{"start":{"line":84,"column":2},"end":{"line":86,"column":4}},"30":{"start":{"line":85,"column":4},"end":{"line":85,"column":59}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":4}},"32":{"start":{"line":88,"column":4},"end":{"line":88,"column":59}},"33":{"start":{"line":90,"column":2},"end":{"line":92,"column":4}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":58}},"35":{"start":{"line":93,"column":2},"end":{"line":95,"column":4}},"36":{"start":{"line":94,"column":4},"end":{"line":94,"column":58}},"37":{"start":{"line":96,"column":2},"end":{"line":98,"column":4}},"38":{"start":{"line":97,"column":4},"end":{"line":97,"column":59}},"39":{"start":{"line":99,"column":2},"end":{"line":101,"column":4}},"40":{"start":{"line":100,"column":4},"end":{"line":100,"column":59}},"41":{"start":{"line":103,"column":2},"end":{"line":103,"column":16}},"42":{"start":{"line":107,"column":2},"end":{"line":107,"column":24}},"43":{"start":{"line":111,"column":34},"end":{"line":111,"column":66}},"44":{"start":{"line":112,"column":35},"end":{"line":112,"column":68}},"45":{"start":{"line":113,"column":2},"end":{"line":113,"column":107}},"46":{"start":{"line":117,"column":37},"end":{"line":117,"column":72}},"47":{"start":{"line":118,"column":35},"end":{"line":118,"column":68}},"48":{"start":{"line":119,"column":2},"end":{"line":119,"column":113}},"49":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"50":{"start":{"line":131,"column":4},"end":{"line":131,"column":49}},"51":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"52":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"53":{"start":{"line":142,"column":19},"end":{"line":142,"column":52}},"54":{"start":{"line":143,"column":6},"end":{"line":149,"column":7}},"55":{"start":{"line":144,"column":30},"end":{"line":144,"column":39}},"56":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"57":{"start":{"line":147,"column":10},"end":{"line":147,"column":47}},"58":{"start":{"line":154,"column":4},"end":{"line":154,"column":72}},"59":{"start":{"line":158,"column":4},"end":{"line":165,"column":5}},"60":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"61":{"start":{"line":160,"column":8},"end":{"line":160,"column":51}},"62":{"start":{"line":161,"column":8},"end":{"line":163,"column":11}},"63":{"start":{"line":162,"column":10},"end":{"line":162,"column":67}},"64":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":47}},"66":{"start":{"line":170,"column":6},"end":{"line":172,"column":9}},"67":{"start":{"line":171,"column":8},"end":{"line":171,"column":65}},"68":{"start":{"line":176,"column":2},"end":{"line":176,"column":37}},"69":{"start":{"line":185,"column":13},"end":{"line":185,"column":34}},"70":{"start":{"line":186,"column":19},"end":{"line":186,"column":31}},"71":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"72":{"start":{"line":189,"column":4},"end":{"line":189,"column":47}},"73":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"74":{"start":{"line":193,"column":4},"end":{"line":193,"column":28}},"75":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"76":{"start":{"line":197,"column":4},"end":{"line":197,"column":19}},"77":{"start":{"line":200,"column":2},"end":{"line":212,"column":5}},"78":{"start":{"line":201,"column":4},"end":{"line":201,"column":54}},"79":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"80":{"start":{"line":204,"column":6},"end":{"line":204,"column":40}},"81":{"start":{"line":206,"column":6},"end":{"line":210,"column":7}},"82":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"83":{"start":{"line":208,"column":10},"end":{"line":208,"column":63}},"84":{"start":{"line":216,"column":2},"end":{"line":220,"column":3}},"85":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":218,"column":6},"end":{"line":218,"column":51}},"87":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"88":{"start":{"line":225,"column":4},"end":{"line":225,"column":29}},"89":{"start":{"line":227,"column":2},"end":{"line":227,"column":37}},"90":{"start":{"line":233,"column":2},"end":{"line":233,"column":36}},"91":{"start":{"line":234,"column":2},"end":{"line":234,"column":17}},"92":{"start":{"line":235,"column":2},"end":{"line":239,"column":3}},"93":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"94":{"start":{"line":237,"column":6},"end":{"line":237,"column":48}},"95":{"start":{"line":243,"column":2},"end":{"line":243,"column":19}},"96":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"97":{"start":{"line":245,"column":4},"end":{"line":255,"column":7}},"98":{"start":{"line":246,"column":6},"end":{"line":246,"column":40}},"99":{"start":{"line":248,"column":6},"end":{"line":248,"column":45}},"100":{"start":{"line":249,"column":6},"end":{"line":254,"column":7}},"101":{"start":{"line":250,"column":8},"end":{"line":250,"column":80}},"102":{"start":{"line":251,"column":8},"end":{"line":251,"column":55}},"103":{"start":{"line":253,"column":8},"end":{"line":253,"column":95}},"104":{"start":{"line":260,"column":2},"end":{"line":260,"column":26}},"105":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"106":{"start":{"line":262,"column":17},"end":{"line":262,"column":50}},"107":{"start":{"line":265,"column":4},"end":{"line":276,"column":5}},"108":{"start":{"line":266,"column":23},"end":{"line":266,"column":32}},"109":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":45}},"111":{"start":{"line":271,"column":6},"end":{"line":275,"column":7}},"112":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"113":{"start":{"line":273,"column":10},"end":{"line":273,"column":62}},"114":{"start":{"line":281,"column":2},"end":{"line":281,"column":63}},"115":{"start":{"line":290,"column":2},"end":{"line":290,"column":44}},"116":{"start":{"line":293,"column":20},"end":{"line":293,"column":22}},"117":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"118":{"start":{"line":297,"column":4},"end":{"line":297,"column":57}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":19}},"120":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"121":{"start":{"line":304,"column":4},"end":{"line":316,"column":5}},"122":{"start":{"line":305,"column":6},"end":{"line":305,"column":23}},"123":{"start":{"line":306,"column":6},"end":{"line":306,"column":37}},"124":{"start":{"line":307,"column":6},"end":{"line":307,"column":52}},"125":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"126":{"start":{"line":310,"column":8},"end":{"line":310,"column":25}},"127":{"start":{"line":313,"column":6},"end":{"line":315,"column":8}},"128":{"start":{"line":321,"column":16},"end":{"line":321,"column":46}},"129":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"130":{"start":{"line":322,"column":14},"end":{"line":322,"column":21}},"131":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"132":{"start":{"line":325,"column":4},"end":{"line":325,"column":75}},"133":{"start":{"line":327,"column":2},"end":{"line":327,"column":32}},"134":{"start":{"line":332,"column":2},"end":{"line":336,"column":3}},"135":{"start":{"line":333,"column":4},"end":{"line":333,"column":52}},"136":{"start":{"line":335,"column":4},"end":{"line":335,"column":78}},"137":{"start":{"line":337,"column":2},"end":{"line":337,"column":15}},"138":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"139":{"start":{"line":342,"column":4},"end":{"line":342,"column":39}},"140":{"start":{"line":343,"column":4},"end":{"line":343,"column":31}},"141":{"start":{"line":345,"column":2},"end":{"line":345,"column":34}},"142":{"start":{"line":346,"column":2},"end":{"line":346,"column":45}},"143":{"start":{"line":347,"column":2},"end":{"line":347,"column":93}},"144":{"start":{"line":351,"column":15},"end":{"line":351,"column":40}},"145":{"start":{"line":352,"column":2},"end":{"line":352,"column":47}},"146":{"start":{"line":353,"column":2},"end":{"line":353,"column":26}},"147":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"148":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"149":{"start":{"line":357,"column":6},"end":{"line":357,"column":47}},"150":{"start":{"line":359,"column":4},"end":{"line":359,"column":60}},"151":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"152":{"start":{"line":362,"column":6},"end":{"line":364,"column":8}},"153":{"start":{"line":367,"column":2},"end":{"line":367,"column":36}},"154":{"start":{"line":370,"column":33},"end":{"line":376,"column":1}},"155":{"start":{"line":380,"column":4},"end":{"line":384,"column":6}},"156":{"start":{"line":383,"column":6},"end":{"line":383,"column":46}},"157":{"start":{"line":387,"column":2},"end":{"line":387,"column":42}},"158":{"start":{"line":389,"column":2},"end":{"line":391,"column":5}},"159":{"start":{"line":390,"column":4},"end":{"line":390,"column":77}},"160":{"start":{"line":395,"column":2},"end":{"line":397,"column":5}},"161":{"start":{"line":396,"column":4},"end":{"line":396,"column":51}},"162":{"start":{"line":412,"column":2},"end":{"line":416,"column":3}},"163":{"start":{"line":413,"column":4},"end":{"line":413,"column":56}},"164":{"start":{"line":415,"column":4},"end":{"line":415,"column":39}},"165":{"start":{"line":417,"column":2},"end":{"line":417,"column":24}},"166":{"start":{"line":431,"column":2},"end":{"line":431,"column":63}},"167":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"168":{"start":{"line":434,"column":4},"end":{"line":434,"column":74}},"169":{"start":{"line":437,"column":2},"end":{"line":437,"column":76}},"170":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"171":{"start":{"line":439,"column":4},"end":{"line":439,"column":79}},"172":{"start":{"line":441,"column":2},"end":{"line":441,"column":75}},"173":{"start":{"line":455,"column":2},"end":{"line":455,"column":37}},"174":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"175":{"start":{"line":459,"column":4},"end":{"line":459,"column":39}},"176":{"start":{"line":463,"column":18},"end":{"line":463,"column":19}},"177":{"start":{"line":465,"column":28},"end":{"line":465,"column":30}},"178":{"start":{"line":468,"column":4},"end":{"line":468,"column":25}},"179":{"start":{"line":469,"column":4},"end":{"line":469,"column":16}},"180":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"181":{"start":{"line":471,"column":6},"end":{"line":471,"column":16}},"182":{"start":{"line":475,"column":2},"end":{"line":479,"column":3}},"183":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":477,"column":6},"end":{"line":477,"column":58}},"185":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"186":{"start":{"line":482,"column":4},"end":{"line":482,"column":16}},"187":{"start":{"line":485,"column":2},"end":{"line":487,"column":5}},"188":{"start":{"line":486,"column":4},"end":{"line":486,"column":26}},"189":{"start":{"line":489,"column":2},"end":{"line":489,"column":14}},"190":{"start":{"line":513,"column":15},"end":{"line":535,"column":1}},"191":{"start":{"line":537,"column":0},"end":{"line":537,"column":24}},"192":{"start":{"line":540,"column":0},"end":{"line":540,"column":12}}},"fnMap":{"0":{"name":"hasLogger","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":18}},"loc":{"start":{"line":57,"column":27},"end":{"line":59,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":47},"end":{"line":70,"column":1}}},"2":{"name":"getBufferedLogger","decl":{"start":{"line":72,"column":9},"end":{"line":72,"column":26}},"loc":{"start":{"line":72,"column":41},"end":{"line":104,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":17},"end":{"line":77,"column":18}},"loc":{"start":{"line":77,"column":29},"end":{"line":83,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":17},"end":{"line":84,"column":18}},"loc":{"start":{"line":84,"column":36},"end":{"line":86,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":87,"column":17},"end":{"line":87,"column":18}},"loc":{"start":{"line":87,"column":36},"end":{"line":89,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":17}},"loc":{"start":{"line":90,"column":35},"end":{"line":92,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":17}},"loc":{"start":{"line":93,"column":35},"end":{"line":95,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":17},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":36},"end":{"line":98,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":18}},"loc":{"start":{"line":99,"column":36},"end":{"line":101,"column":3}}},"10":{"name":"normalizeCategory","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":37},"end":{"line":108,"column":1}}},"11":{"name":"doesLevelEntryContainsLogger","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":37}},"loc":{"start":{"line":110,"column":69},"end":{"line":114,"column":1}}},"12":{"name":"doesAppenderContainsLogger","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":35}},"loc":{"start":{"line":116,"column":70},"end":{"line":120,"column":1}}},"13":{"name":"getLogger","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":18}},"loc":{"start":{"line":128,"column":39},"end":{"line":177,"column":1}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":161,"column":29},"end":{"line":161,"column":30}},"loc":{"start":{"line":161,"column":43},"end":{"line":163,"column":9}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":170,"column":27},"end":{"line":170,"column":28}},"loc":{"start":{"line":170,"column":41},"end":{"line":172,"column":7}}},"16":{"name":"addAppender","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":20}},"loc":{"start":{"line":182,"column":23},"end":{"line":213,"column":1}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":200,"column":15},"end":{"line":200,"column":16}},"loc":{"start":{"line":200,"column":37},"end":{"line":212,"column":3}}},"18":{"name":"addAppenderToAllLoggers","decl":{"start":{"line":215,"column":9},"end":{"line":215,"column":32}},"loc":{"start":{"line":215,"column":43},"end":{"line":221,"column":1}}},"19":{"name":"addAppenderToCategory","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":30}},"loc":{"start":{"line":223,"column":51},"end":{"line":228,"column":1}}},"20":{"name":"clearAppenders","decl":{"start":{"line":230,"column":9},"end":{"line":230,"column":23}},"loc":{"start":{"line":230,"column":26},"end":{"line":240,"column":1}}},"21":{"name":"configureAppenders","decl":{"start":{"line":242,"column":9},"end":{"line":242,"column":27}},"loc":{"start":{"line":242,"column":51},"end":{"line":257,"column":1}}},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":25},"end":{"line":245,"column":26}},"loc":{"start":{"line":245,"column":45},"end":{"line":255,"column":5}}},"23":{"name":"configureLevels","decl":{"start":{"line":259,"column":9},"end":{"line":259,"column":24}},"loc":{"start":{"line":259,"column":34},"end":{"line":278,"column":1}}},"24":{"name":"setGlobalLogLevel","decl":{"start":{"line":280,"column":9},"end":{"line":280,"column":26}},"loc":{"start":{"line":280,"column":34},"end":{"line":282,"column":1}}},"25":{"name":"getDefaultLogger","decl":{"start":{"line":289,"column":9},"end":{"line":289,"column":25}},"loc":{"start":{"line":289,"column":28},"end":{"line":291,"column":1}}},"26":{"name":"loadConfigurationFile","decl":{"start":{"line":295,"column":9},"end":{"line":295,"column":30}},"loc":{"start":{"line":295,"column":41},"end":{"line":300,"column":1}}},"27":{"name":"configureOnceOff","decl":{"start":{"line":302,"column":9},"end":{"line":302,"column":25}},"loc":{"start":{"line":302,"column":43},"end":{"line":318,"column":1}}},"28":{"name":"reloadConfiguration","decl":{"start":{"line":320,"column":9},"end":{"line":320,"column":28}},"loc":{"start":{"line":320,"column":38},"end":{"line":328,"column":1}}},"29":{"name":"getMTime","decl":{"start":{"line":330,"column":9},"end":{"line":330,"column":17}},"loc":{"start":{"line":330,"column":28},"end":{"line":338,"column":1}}},"30":{"name":"initReloadConfiguration","decl":{"start":{"line":340,"column":9},"end":{"line":340,"column":32}},"loc":{"start":{"line":340,"column":52},"end":{"line":348,"column":1}}},"31":{"name":"configure","decl":{"start":{"line":350,"column":9},"end":{"line":350,"column":18}},"loc":{"start":{"line":350,"column":55},"end":{"line":368,"column":1}}},"32":{"name":"replaceConsole","decl":{"start":{"line":378,"column":9},"end":{"line":378,"column":23}},"loc":{"start":{"line":378,"column":32},"end":{"line":392,"column":1}}},"33":{"name":"replaceWith","decl":{"start":{"line":379,"column":11},"end":{"line":379,"column":22}},"loc":{"start":{"line":379,"column":27},"end":{"line":385,"column":3}}},"34":{"name":"(anonymous_34)","decl":{"start":{"line":380,"column":11},"end":{"line":380,"column":12}},"loc":{"start":{"line":380,"column":23},"end":{"line":384,"column":5}}},"35":{"name":"(anonymous_35)","decl":{"start":{"line":389,"column":52},"end":{"line":389,"column":53}},"loc":{"start":{"line":389,"column":62},"end":{"line":391,"column":3}}},"36":{"name":"restoreConsole","decl":{"start":{"line":394,"column":9},"end":{"line":394,"column":23}},"loc":{"start":{"line":394,"column":26},"end":{"line":398,"column":1}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":395,"column":52},"end":{"line":395,"column":53}},"loc":{"start":{"line":395,"column":62},"end":{"line":397,"column":3}}},"38":{"name":"requireAppender","decl":{"start":{"line":410,"column":9},"end":{"line":410,"column":24}},"loc":{"start":{"line":410,"column":35},"end":{"line":418,"column":1}}},"39":{"name":"loadAppender","decl":{"start":{"line":430,"column":9},"end":{"line":430,"column":21}},"loc":{"start":{"line":430,"column":48},"end":{"line":442,"column":1}}},"40":{"name":"shutdown","decl":{"start":{"line":452,"column":9},"end":{"line":452,"column":17}},"loc":{"start":{"line":452,"column":22},"end":{"line":490,"column":1}}},"41":{"name":"complete","decl":{"start":{"line":467,"column":11},"end":{"line":467,"column":19}},"loc":{"start":{"line":467,"column":25},"end":{"line":473,"column":3}}},"42":{"name":"(anonymous_42)","decl":{"start":{"line":485,"column":28},"end":{"line":485,"column":29}},"loc":{"start":{"line":485,"column":45},"end":{"line":487,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},{"start":{"line":64,"column":2},"end":{"line":68,"column":3}}]},"1":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":66}},"type":"binary-expr","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":34}},{"start":{"line":64,"column":38},"end":{"line":64,"column":66}}]},"2":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{"line":130,"column":2},"end":{"line":132,"column":3}}]},"3":{"loc":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},{"start":{"line":134,"column":2},"end":{"line":174,"column":3}}]},"4":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{"line":139,"column":4},"end":{"line":150,"column":5}}]},"5":{"loc":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},{"start":{"line":145,"column":8},"end":{"line":148,"column":9}}]},"6":{"loc":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},{"start":{"line":159,"column":6},"end":{"line":164,"column":7}}]},"7":{"loc":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},{"start":{"line":168,"column":4},"end":{"line":173,"column":5}}]},"8":{"loc":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"type":"if","locations":[{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},{"start":{"line":188,"column":2},"end":{"line":190,"column":3}}]},"9":{"loc":{"start":{"line":188,"column":6},"end":{"line":188,"column":54}},"type":"binary-expr","locations":[{"start":{"line":188,"column":6},"end":{"line":188,"column":21}},{"start":{"line":188,"column":25},"end":{"line":188,"column":54}}]},"10":{"loc":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},{"start":{"line":192,"column":2},"end":{"line":194,"column":3}}]},"11":{"loc":{"start":{"line":192,"column":6},"end":{"line":192,"column":48}},"type":"binary-expr","locations":[{"start":{"line":192,"column":6},"end":{"line":192,"column":23}},{"start":{"line":192,"column":27},"end":{"line":192,"column":48}}]},"12":{"loc":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"type":"if","locations":[{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},{"start":{"line":196,"column":2},"end":{"line":198,"column":3}}]},"13":{"loc":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"type":"if","locations":[{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},{"start":{"line":203,"column":4},"end":{"line":211,"column":5}}]},"14":{"loc":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},{"start":{"line":207,"column":8},"end":{"line":209,"column":9}}]},"15":{"loc":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},{"start":{"line":217,"column":4},"end":{"line":219,"column":5}}]},"16":{"loc":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"type":"if","locations":[{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},{"start":{"line":224,"column":2},"end":{"line":226,"column":3}}]},"17":{"loc":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"type":"if","locations":[{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},{"start":{"line":236,"column":4},"end":{"line":238,"column":5}}]},"18":{"loc":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},{"start":{"line":244,"column":2},"end":{"line":256,"column":3}}]},"19":{"loc":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"type":"if","locations":[{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},{"start":{"line":261,"column":2},"end":{"line":277,"column":3}}]},"20":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{"line":267,"column":6},"end":{"line":269,"column":7}}]},"21":{"loc":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},{"start":{"line":272,"column":8},"end":{"line":274,"column":9}}]},"22":{"loc":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"type":"if","locations":[{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},{"start":{"line":296,"column":2},"end":{"line":298,"column":3}}]},"23":{"loc":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"type":"if","locations":[{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},{"start":{"line":303,"column":2},"end":{"line":317,"column":3}}]},"24":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{"line":309,"column":6},"end":{"line":311,"column":7}}]},"25":{"loc":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"type":"if","locations":[{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},{"start":{"line":322,"column":2},"end":{"line":322,"column":21}}]},"26":{"loc":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"type":"if","locations":[{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},{"start":{"line":324,"column":2},"end":{"line":326,"column":3}}]},"27":{"loc":{"start":{"line":324,"column":6},"end":{"line":324,"column":82}},"type":"binary-expr","locations":[{"start":{"line":324,"column":6},"end":{"line":324,"column":27}},{"start":{"line":324,"column":32},"end":{"line":324,"column":81}}]},"28":{"loc":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"type":"if","locations":[{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},{"start":{"line":341,"column":2},"end":{"line":344,"column":3}}]},"29":{"loc":{"start":{"line":352,"column":11},"end":{"line":352,"column":46}},"type":"binary-expr","locations":[{"start":{"line":352,"column":11},"end":{"line":352,"column":17}},{"start":{"line":352,"column":21},"end":{"line":352,"column":46}}]},"30":{"loc":{"start":{"line":353,"column":12},"end":{"line":353,"column":25}},"type":"binary-expr","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":19}},{"start":{"line":353,"column":23},"end":{"line":353,"column":25}}]},"31":{"loc":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"type":"if","locations":[{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},{"start":{"line":355,"column":2},"end":{"line":366,"column":3}}]},"32":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":75}},"type":"binary-expr","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":26}},{"start":{"line":355,"column":30},"end":{"line":355,"column":45}},{"start":{"line":355,"column":49},"end":{"line":355,"column":75}}]},"33":{"loc":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"type":"if","locations":[{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},{"start":{"line":356,"column":4},"end":{"line":358,"column":5}}]},"34":{"loc":{"start":{"line":359,"column":13},"end":{"line":359,"column":59}},"type":"binary-expr","locations":[{"start":{"line":359,"column":13},"end":{"line":359,"column":42}},{"start":{"line":359,"column":46},"end":{"line":359,"column":59}}]},"35":{"loc":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"type":"if","locations":[{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},{"start":{"line":361,"column":4},"end":{"line":365,"column":5}}]},"36":{"loc":{"start":{"line":387,"column":11},"end":{"line":387,"column":41}},"type":"binary-expr","locations":[{"start":{"line":387,"column":11},"end":{"line":387,"column":17}},{"start":{"line":387,"column":21},"end":{"line":387,"column":41}}]},"37":{"loc":{"start":{"line":390,"column":32},"end":{"line":390,"column":75}},"type":"cond-expr","locations":[{"start":{"line":390,"column":49},"end":{"line":390,"column":60}},{"start":{"line":390,"column":63},"end":{"line":390,"column":75}}]},"38":{"loc":{"start":{"line":431,"column":19},"end":{"line":431,"column":62}},"type":"binary-expr","locations":[{"start":{"line":431,"column":19},"end":{"line":431,"column":33}},{"start":{"line":431,"column":37},"end":{"line":431,"column":62}}]},"39":{"loc":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"type":"if","locations":[{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},{"start":{"line":433,"column":2},"end":{"line":435,"column":3}}]},"40":{"loc":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"type":"if","locations":[{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},{"start":{"line":438,"column":2},"end":{"line":440,"column":3}}]},"41":{"loc":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"type":"if","locations":[{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},{"start":{"line":458,"column":2},"end":{"line":460,"column":3}}]},"42":{"loc":{"start":{"line":468,"column":12},"end":{"line":468,"column":24}},"type":"binary-expr","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":17}},{"start":{"line":468,"column":21},"end":{"line":468,"column":24}}]},"43":{"loc":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"type":"if","locations":[{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},{"start":{"line":470,"column":4},"end":{"line":472,"column":5}}]},"44":{"loc":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"type":"if","locations":[{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},{"start":{"line":476,"column":4},"end":{"line":478,"column":5}}]},"45":{"loc":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"type":"if","locations":[{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},{"start":{"line":481,"column":2},"end":{"line":483,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":0,"14":1,"15":9,"16":6,"17":6,"18":6,"19":9,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":1,"70":1,"71":1,"72":0,"73":1,"74":1,"75":1,"76":0,"77":1,"78":1,"79":1,"80":1,"81":0,"82":0,"83":0,"84":1,"85":0,"86":0,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":0,"94":0,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":0,"104":1,"105":1,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":1,"117":1,"118":0,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":1,"145":1,"146":1,"147":1,"148":1,"149":0,"150":1,"151":0,"152":0,"153":1,"154":1,"155":0,"156":0,"157":0,"158":0,"159":0,"160":1,"161":5,"162":1,"163":1,"164":0,"165":1,"166":1,"167":1,"168":0,"169":1,"170":1,"171":0,"172":1,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":1,"191":1,"192":1},"f":{"0":0,"1":9,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":0,"25":0,"26":1,"27":1,"28":0,"29":0,"30":0,"31":1,"32":0,"33":0,"34":0,"35":0,"36":1,"37":5,"38":1,"39":1,"40":0,"41":0,"42":0},"b":{"0":[6,3],"1":[9,8],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,1],"9":[1,1],"10":[1,0],"11":[1,1],"12":[0,1],"13":[1,0],"14":[0,0],"15":[0,0],"16":[1,0],"17":[0,0],"18":[1,0],"19":[0,1],"20":[0,0],"21":[0,0],"22":[0,1],"23":[1,0],"24":[0,1],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[1,1],"30":[1,1],"31":[1,0],"32":[1,0,0],"33":[0,1],"34":[1,1],"35":[0,0],"36":[0,0],"37":[0,0],"38":[1,1],"39":[0,1],"40":[0,1],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3a43360dca26d74ffd67cfe5ec75309575f038ac","contentHash":"10edbceee6329f5ee9c0d2f625fd311b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":1,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":1,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":1,"108":0,"109":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"0":[1,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf","contentHash":"d1d8e598552dfe064eef286d267900be_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":1,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128","contentHash":"672b6336c04cfaa2a8588410ce063022_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":21},"end":{"line":6,"column":38}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":36}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":27}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":32}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":23}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":25}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":50,"column":4},"end":{"line":50,"column":45}},"11":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"12":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":67}},"14":{"start":{"line":62,"column":4},"end":{"line":62,"column":22}},"15":{"start":{"line":68,"column":17},"end":{"line":68,"column":38}},"16":{"start":{"line":69,"column":21},"end":{"line":69,"column":57}},"17":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":13}},"19":{"start":{"line":73,"column":4},"end":{"line":73,"column":39}},"20":{"start":{"line":77,"column":4},"end":{"line":77,"column":54}},"21":{"start":{"line":81,"column":25},"end":{"line":81,"column":75}},"22":{"start":{"line":82,"column":4},"end":{"line":82,"column":35}},"23":{"start":{"line":86,"column":0},"end":{"line":86,"column":43}},"24":{"start":{"line":87,"column":0},"end":{"line":87,"column":38}},"25":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"26":{"start":{"line":92,"column":16},"end":{"line":92,"column":38}},"27":{"start":{"line":94,"column":24},"end":{"line":94,"column":54}},"28":{"start":{"line":95,"column":22},"end":{"line":95,"column":81}},"29":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}},"30":{"start":{"line":96,"column":24},"end":{"line":96,"column":75}},"31":{"start":{"line":98,"column":2},"end":{"line":100,"column":4}},"32":{"start":{"line":99,"column":4},"end":{"line":99,"column":49}},"33":{"start":{"line":102,"column":2},"end":{"line":109,"column":4}},"34":{"start":{"line":105,"column":17},"end":{"line":105,"column":38}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":117,"column":2},"end":{"line":117,"column":27}},"38":{"start":{"line":125,"column":2},"end":{"line":125,"column":26}},"39":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"40":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"41":{"start":{"line":130,"column":0},"end":{"line":130,"column":57}},"42":{"start":{"line":131,"column":0},"end":{"line":131,"column":55}},"43":{"start":{"line":132,"column":0},"end":{"line":132,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":49},"end":{"line":32,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":27},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":65,"column":8},"end":{"line":74,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":29},"end":{"line":78,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":20},"end":{"line":83,"column":3}}},"7":{"name":"addLevelMethods","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":33},"end":{"line":110,"column":1}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":95,"column":57},"end":{"line":95,"column":58}},"loc":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":50},"end":{"line":98,"column":51}},"loc":{"start":{"line":98,"column":62},"end":{"line":100,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":34},"end":{"line":102,"column":35}},"loc":{"start":{"line":102,"column":46},"end":{"line":109,"column":3}}},"11":{"name":"disableAllLogWrites","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":28}},"loc":{"start":{"line":116,"column":31},"end":{"line":118,"column":1}}},"12":{"name":"enableAllLogWrites","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":27}},"loc":{"start":{"line":124,"column":30},"end":{"line":126,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"type":"binary-expr","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}}]},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":4},"end":{"line":54,"column":5}}]},"2":{"loc":{"start":{"line":58,"column":39},"end":{"line":58,"column":65}},"type":"binary-expr","locations":[{"start":{"line":58,"column":39},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":65}}]},"3":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}]},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}}]},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":106,"column":54}},"type":"binary-expr","locations":[{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},{"start":{"line":106,"column":28},"end":{"line":106,"column":54}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":8,"5":8,"6":8,"7":8,"8":8,"9":5,"10":5,"11":5,"12":0,"13":1,"14":0,"15":7,"16":7,"17":7,"18":0,"19":7,"20":9,"21":8,"22":8,"23":1,"24":1,"25":1,"26":13,"27":13,"28":13,"29":4,"30":13,"31":13,"32":0,"33":13,"34":2,"35":2,"36":1,"37":0,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1},"f":{"0":8,"1":5,"2":1,"3":0,"4":7,"5":9,"6":8,"7":13,"8":4,"9":0,"10":2,"11":0,"12":1},"b":{"0":[5,5],"1":[0,5],"2":[1,0],"3":[0,7],"4":[1,1],"5":[2,2]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7d8e54612a5d21505ecc3cd8c5eea114082c17db","contentHash":"00d625ca9babf994c26685dc45e2004b_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":7,"column":23},"end":{"line":10,"column":18}},"2":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"4":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":34}},"6":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"7":{"start":{"line":50,"column":21},"end":{"line":50,"column":30}},"8":{"start":{"line":51,"column":14},"end":{"line":51,"column":56}},"9":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"10":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"11":{"start":{"line":55,"column":2},"end":{"line":112,"column":4}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"13":{"start":{"line":57,"column":22},"end":{"line":57,"column":36}},"14":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"15":{"start":{"line":60,"column":46},"end":{"line":60,"column":60}},"16":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"17":{"start":{"line":63,"column":20},"end":{"line":63,"column":30}},"18":{"start":{"line":64,"column":24},"end":{"line":64,"column":37}},"19":{"start":{"line":67,"column":6},"end":{"line":67,"column":26}},"20":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"21":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":37}},"23":{"start":{"line":74,"column":8},"end":{"line":74,"column":32}},"24":{"start":{"line":75,"column":8},"end":{"line":75,"column":38}},"25":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"26":{"start":{"line":79,"column":10},"end":{"line":79,"column":30}},"27":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"28":{"start":{"line":80,"column":27},"end":{"line":80,"column":47}},"29":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"30":{"start":{"line":81,"column":27},"end":{"line":81,"column":48}},"31":{"start":{"line":83,"column":10},"end":{"line":83,"column":61}},"32":{"start":{"line":88,"column":6},"end":{"line":107,"column":9}},"33":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"34":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"35":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"37":{"start":{"line":93,"column":37},"end":{"line":93,"column":57}},"38":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"39":{"start":{"line":94,"column":37},"end":{"line":94,"column":58}},"40":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"41":{"start":{"line":98,"column":33},"end":{"line":98,"column":79}},"42":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"43":{"start":{"line":101,"column":25},"end":{"line":101,"column":74}},"44":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}},"45":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"46":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"47":{"start":{"line":104,"column":12},"end":{"line":104,"column":63}},"48":{"start":{"line":111,"column":4},"end":{"line":111,"column":18}},"49":{"start":{"line":126,"column":28},"end":{"line":138,"column":3}},"50":{"start":{"line":127,"column":14},"end":{"line":127,"column":28}},"51":{"start":{"line":128,"column":4},"end":{"line":136,"column":5}},"52":{"start":{"line":129,"column":6},"end":{"line":135,"column":7}},"53":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"54":{"start":{"line":133,"column":10},"end":{"line":133,"column":27}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":13}},"56":{"start":{"line":140,"column":24},"end":{"line":140,"column":26}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":66}},"58":{"start":{"line":142,"column":2},"end":{"line":142,"column":72}},"59":{"start":{"line":143,"column":2},"end":{"line":143,"column":72}},"60":{"start":{"line":144,"column":2},"end":{"line":144,"column":68}},"61":{"start":{"line":145,"column":2},"end":{"line":145,"column":92}},"62":{"start":{"line":146,"column":2},"end":{"line":146,"column":81}},"63":{"start":{"line":147,"column":2},"end":{"line":147,"column":80}},"64":{"start":{"line":148,"column":2},"end":{"line":151,"column":5}},"65":{"start":{"line":152,"column":2},"end":{"line":155,"column":5}},"66":{"start":{"line":156,"column":2},"end":{"line":166,"column":5}},"67":{"start":{"line":167,"column":2},"end":{"line":167,"column":87}},"68":{"start":{"line":168,"column":2},"end":{"line":173,"column":5}},"69":{"start":{"line":174,"column":2},"end":{"line":179,"column":5}},"70":{"start":{"line":177,"column":6},"end":{"line":177,"column":46}},"71":{"start":{"line":180,"column":2},"end":{"line":187,"column":5}},"72":{"start":{"line":183,"column":6},"end":{"line":185,"column":50}},"73":{"start":{"line":189,"column":2},"end":{"line":189,"column":63}},"74":{"start":{"line":203,"column":2},"end":{"line":203,"column":36}},"75":{"start":{"line":215,"column":2},"end":{"line":217,"column":3}},"76":{"start":{"line":216,"column":4},"end":{"line":216,"column":62}},"77":{"start":{"line":218,"column":2},"end":{"line":218,"column":13}},"78":{"start":{"line":249,"column":15},"end":{"line":249,"column":19}},"79":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"80":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"81":{"start":{"line":253,"column":6},"end":{"line":253,"column":21}},"82":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"83":{"start":{"line":257,"column":6},"end":{"line":257,"column":33}},"84":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"85":{"start":{"line":262,"column":31},"end":{"line":262,"column":80}},"86":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"87":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"88":{"start":{"line":267,"column":2},"end":{"line":267,"column":16}},"89":{"start":{"line":270,"column":0},"end":{"line":270,"column":41}}},"fnMap":{"0":{"name":"getLogger","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":39},"end":{"line":113,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":10}},"loc":{"start":{"line":55,"column":29},"end":{"line":112,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":70,"column":22},"end":{"line":70,"column":23}},"loc":{"start":{"line":70,"column":41},"end":{"line":85,"column":7}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":23},"end":{"line":88,"column":24}},"loc":{"start":{"line":88,"column":29},"end":{"line":107,"column":7}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":39},"end":{"line":101,"column":40}},"loc":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}}},"5":{"name":"assembleTokens","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":48},"end":{"line":190,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":28},"end":{"line":126,"column":29}},"loc":{"start":{"line":126,"column":39},"end":{"line":138,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":17},"end":{"line":176,"column":18}},"loc":{"start":{"line":176,"column":37},"end":{"line":178,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":182,"column":17},"end":{"line":182,"column":18}},"loc":{"start":{"line":182,"column":37},"end":{"line":186,"column":5}}},"9":{"name":"getUrl","decl":{"start":{"line":202,"column":9},"end":{"line":202,"column":15}},"loc":{"start":{"line":202,"column":21},"end":{"line":204,"column":1}}},"10":{"name":"format","decl":{"start":{"line":214,"column":9},"end":{"line":214,"column":15}},"loc":{"start":{"line":214,"column":29},"end":{"line":219,"column":1}}},"11":{"name":"createNoLogCondition","decl":{"start":{"line":248,"column":9},"end":{"line":248,"column":29}},"loc":{"start":{"line":248,"column":37},"end":{"line":268,"column":1}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":262,"column":41},"end":{"line":262,"column":42}},"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}}}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},{"start":{"line":42,"column":2},"end":{"line":48,"column":3}}]},"1":{"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":27}},"type":"binary-expr","locations":[{"start":{"line":43,"column":14},"end":{"line":43,"column":21}},{"start":{"line":43,"column":25},"end":{"line":43,"column":27}}]},"2":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}]},"3":{"loc":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"type":"binary-expr","locations":[{"start":{"line":52,"column":14},"end":{"line":52,"column":28}},{"start":{"line":52,"column":32},"end":{"line":52,"column":46}}]},"4":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":32},"end":{"line":53,"column":67}},{"start":{"line":53,"column":70},"end":{"line":53,"column":74}}]},"5":{"loc":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},{"start":{"line":57,"column":4},"end":{"line":57,"column":36}}]},"6":{"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},{"start":{"line":60,"column":4},"end":{"line":60,"column":60}}]},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":44}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":13}},{"start":{"line":60,"column":17},"end":{"line":60,"column":44}}]},"8":{"loc":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},{"start":{"line":62,"column":4},"end":{"line":108,"column":5}}]},"9":{"loc":{"start":{"line":62,"column":8},"end":{"line":62,"column":68}},"type":"binary-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":40}},{"start":{"line":62,"column":44},"end":{"line":62,"column":68}}]},"10":{"loc":{"start":{"line":75,"column":24},"end":{"line":75,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":24},"end":{"line":75,"column":31}},{"start":{"line":75,"column":35},"end":{"line":75,"column":37}}]},"11":{"loc":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},{"start":{"line":78,"column":8},"end":{"line":84,"column":9}}]},"12":{"loc":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},{"start":{"line":80,"column":10},"end":{"line":80,"column":47}}]},"13":{"loc":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},{"start":{"line":81,"column":10},"end":{"line":81,"column":48}}]},"14":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":91,"column":8},"end":{"line":95,"column":9}}]},"15":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":54}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":26}},{"start":{"line":91,"column":30},"end":{"line":91,"column":54}}]},"16":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"type":"if","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},{"start":{"line":93,"column":10},"end":{"line":93,"column":57}}]},"17":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"type":"if","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},{"start":{"line":94,"column":10},"end":{"line":94,"column":58}}]},"18":{"loc":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},{"start":{"line":97,"column":8},"end":{"line":106,"column":9}}]},"19":{"loc":{"start":{"line":98,"column":58},"end":{"line":98,"column":78}},"type":"binary-expr","locations":[{"start":{"line":98,"column":58},"end":{"line":98,"column":72}},{"start":{"line":98,"column":76},"end":{"line":98,"column":78}}]},"20":{"loc":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},{"start":{"line":100,"column":10},"end":{"line":105,"column":11}}]},"21":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"type":"if","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},{"start":{"line":102,"column":12},"end":{"line":102,"column":50}}]},"22":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},{"start":{"line":132,"column":8},"end":{"line":134,"column":9}}]},"23":{"loc":{"start":{"line":145,"column":54},"end":{"line":145,"column":88}},"type":"binary-expr","locations":[{"start":{"line":145,"column":54},"end":{"line":145,"column":70}},{"start":{"line":145,"column":74},"end":{"line":145,"column":88}}]},"24":{"loc":{"start":{"line":150,"column":17},"end":{"line":150,"column":66}},"type":"binary-expr","locations":[{"start":{"line":150,"column":17},"end":{"line":150,"column":36}},{"start":{"line":150,"column":40},"end":{"line":150,"column":60}},{"start":{"line":150,"column":64},"end":{"line":150,"column":66}}]},"25":{"loc":{"start":{"line":158,"column":17},"end":{"line":165,"column":5}},"type":"binary-expr","locations":[{"start":{"line":158,"column":17},"end":{"line":158,"column":47}},{"start":{"line":159,"column":4},"end":{"line":159,"column":10}},{"start":{"line":160,"column":4},"end":{"line":160,"column":22}},{"start":{"line":161,"column":5},"end":{"line":161,"column":15}},{"start":{"line":162,"column":7},"end":{"line":162,"column":31}},{"start":{"line":163,"column":9},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":61}}]},"26":{"loc":{"start":{"line":170,"column":17},"end":{"line":172,"column":7}},"type":"binary-expr","locations":[{"start":{"line":170,"column":18},"end":{"line":170,"column":30}},{"start":{"line":170,"column":34},"end":{"line":170,"column":64}},{"start":{"line":171,"column":5},"end":{"line":171,"column":18}},{"start":{"line":171,"column":22},"end":{"line":171,"column":53}},{"start":{"line":172,"column":4},"end":{"line":172,"column":7}}]},"27":{"loc":{"start":{"line":183,"column":13},"end":{"line":185,"column":49}},"type":"cond-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},{"start":{"line":185,"column":11},"end":{"line":185,"column":48}}]},"28":{"loc":{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":47}},{"start":{"line":184,"column":51},"end":{"line":184,"column":71}}]},"29":{"loc":{"start":{"line":185,"column":11},"end":{"line":185,"column":48}},"type":"binary-expr","locations":[{"start":{"line":185,"column":11},"end":{"line":185,"column":24}},{"start":{"line":185,"column":28},"end":{"line":185,"column":48}}]},"30":{"loc":{"start":{"line":203,"column":9},"end":{"line":203,"column":35}},"type":"binary-expr","locations":[{"start":{"line":203,"column":9},"end":{"line":203,"column":24}},{"start":{"line":203,"column":28},"end":{"line":203,"column":35}}]},"31":{"loc":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},{"start":{"line":251,"column":2},"end":{"line":265,"column":3}}]},"32":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{"line":252,"column":4},"end":{"line":254,"column":5}}]},"33":{"loc":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},{"start":{"line":256,"column":4},"end":{"line":258,"column":5}}]},"34":{"loc":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"type":"if","locations":[{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},{"start":{"line":260,"column":4},"end":{"line":264,"column":5}}]},"35":{"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"type":"cond-expr","locations":[{"start":{"line":262,"column":62},"end":{"line":262,"column":72}},{"start":{"line":262,"column":75},"end":{"line":262,"column":78}}]}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0,0,0,0,0,0],"26":[0,0,0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8de6ff12985e168d800fe4d220a8a32e3c1dbe2a","contentHash":"06eb335e3bac458879bb256f44ac2576_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}}},"fnMap":{"0":{"name":"stdoutAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":33},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":0,"4":1,"5":0,"6":1,"7":1,"8":1},"f":{"0":1,"1":0,"2":1},"b":{"0":[1,1],"1":[0,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7fe10c84b315d3ba3e07ce62d5e48e59666eb827","contentHash":"009980a1b175f554654dded39c797b6c_9.0.1"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/fbd06bed1e00a6a71d30ccbc518ca25b.json b/node_modules/log4js/.nyc_output/fbd06bed1e00a6a71d30ccbc518ca25b.json deleted file mode 100644 index c595e74..0000000 --- a/node_modules/log4js/.nyc_output/fbd06bed1e00a6a71d30ccbc518ca25b.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/log4js.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/log4js.js","statementMap":{"0":{"start":{"line":35,"column":11},"end":{"line":35,"column":24}},"1":{"start":{"line":36,"column":13},"end":{"line":36,"column":28}},"2":{"start":{"line":37,"column":16},"end":{"line":37,"column":36}},"3":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"4":{"start":{"line":39,"column":21},"end":{"line":39,"column":40}},"5":{"start":{"line":40,"column":22},"end":{"line":40,"column":63}},"6":{"start":{"line":42,"column":15},"end":{"line":42,"column":34}},"7":{"start":{"line":44,"column":23},"end":{"line":44,"column":30}},"8":{"start":{"line":45,"column":16},"end":{"line":45,"column":18}},"9":{"start":{"line":46,"column":23},"end":{"line":46,"column":25}},"10":{"start":{"line":47,"column":26},"end":{"line":47,"column":28}},"11":{"start":{"line":48,"column":22},"end":{"line":53,"column":1}},"12":{"start":{"line":55,"column":16},"end":{"line":55,"column":18}},"13":{"start":{"line":58,"column":2},"end":{"line":58,"column":40}},"14":{"start":{"line":62,"column":0},"end":{"line":70,"column":2}},"15":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"16":{"start":{"line":65,"column":23},"end":{"line":65,"column":45}},"17":{"start":{"line":66,"column":4},"end":{"line":66,"column":51}},"18":{"start":{"line":67,"column":4},"end":{"line":67,"column":40}},"19":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"20":{"start":{"line":73,"column":21},"end":{"line":73,"column":44}},"21":{"start":{"line":74,"column":17},"end":{"line":74,"column":19}},"22":{"start":{"line":75,"column":2},"end":{"line":75,"column":19}},"23":{"start":{"line":76,"column":2},"end":{"line":76,"column":29}},"24":{"start":{"line":77,"column":2},"end":{"line":83,"column":4}},"25":{"start":{"line":78,"column":4},"end":{"line":82,"column":5}},"26":{"start":{"line":79,"column":18},"end":{"line":79,"column":32}},"27":{"start":{"line":80,"column":6},"end":{"line":80,"column":44}},"28":{"start":{"line":81,"column":6},"end":{"line":81,"column":28}},"29":{"start":{"line":84,"column":2},"end":{"line":86,"column":4}},"30":{"start":{"line":85,"column":4},"end":{"line":85,"column":59}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":4}},"32":{"start":{"line":88,"column":4},"end":{"line":88,"column":59}},"33":{"start":{"line":90,"column":2},"end":{"line":92,"column":4}},"34":{"start":{"line":91,"column":4},"end":{"line":91,"column":58}},"35":{"start":{"line":93,"column":2},"end":{"line":95,"column":4}},"36":{"start":{"line":94,"column":4},"end":{"line":94,"column":58}},"37":{"start":{"line":96,"column":2},"end":{"line":98,"column":4}},"38":{"start":{"line":97,"column":4},"end":{"line":97,"column":59}},"39":{"start":{"line":99,"column":2},"end":{"line":101,"column":4}},"40":{"start":{"line":100,"column":4},"end":{"line":100,"column":59}},"41":{"start":{"line":103,"column":2},"end":{"line":103,"column":16}},"42":{"start":{"line":107,"column":2},"end":{"line":107,"column":24}},"43":{"start":{"line":111,"column":34},"end":{"line":111,"column":66}},"44":{"start":{"line":112,"column":35},"end":{"line":112,"column":68}},"45":{"start":{"line":113,"column":2},"end":{"line":113,"column":107}},"46":{"start":{"line":117,"column":37},"end":{"line":117,"column":72}},"47":{"start":{"line":118,"column":35},"end":{"line":118,"column":68}},"48":{"start":{"line":119,"column":2},"end":{"line":119,"column":113}},"49":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"50":{"start":{"line":131,"column":4},"end":{"line":131,"column":49}},"51":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"52":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"53":{"start":{"line":142,"column":19},"end":{"line":142,"column":52}},"54":{"start":{"line":143,"column":6},"end":{"line":149,"column":7}},"55":{"start":{"line":144,"column":30},"end":{"line":144,"column":39}},"56":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"57":{"start":{"line":147,"column":10},"end":{"line":147,"column":47}},"58":{"start":{"line":154,"column":4},"end":{"line":154,"column":72}},"59":{"start":{"line":158,"column":4},"end":{"line":165,"column":5}},"60":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"61":{"start":{"line":160,"column":8},"end":{"line":160,"column":51}},"62":{"start":{"line":161,"column":8},"end":{"line":163,"column":11}},"63":{"start":{"line":162,"column":10},"end":{"line":162,"column":67}},"64":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"65":{"start":{"line":169,"column":6},"end":{"line":169,"column":47}},"66":{"start":{"line":170,"column":6},"end":{"line":172,"column":9}},"67":{"start":{"line":171,"column":8},"end":{"line":171,"column":65}},"68":{"start":{"line":176,"column":2},"end":{"line":176,"column":37}},"69":{"start":{"line":185,"column":13},"end":{"line":185,"column":34}},"70":{"start":{"line":186,"column":19},"end":{"line":186,"column":31}},"71":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"72":{"start":{"line":189,"column":4},"end":{"line":189,"column":47}},"73":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"74":{"start":{"line":193,"column":4},"end":{"line":193,"column":28}},"75":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"76":{"start":{"line":197,"column":4},"end":{"line":197,"column":19}},"77":{"start":{"line":200,"column":2},"end":{"line":212,"column":5}},"78":{"start":{"line":201,"column":4},"end":{"line":201,"column":54}},"79":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"80":{"start":{"line":204,"column":6},"end":{"line":204,"column":40}},"81":{"start":{"line":206,"column":6},"end":{"line":210,"column":7}},"82":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"83":{"start":{"line":208,"column":10},"end":{"line":208,"column":63}},"84":{"start":{"line":216,"column":2},"end":{"line":220,"column":3}},"85":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"86":{"start":{"line":218,"column":6},"end":{"line":218,"column":51}},"87":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"88":{"start":{"line":225,"column":4},"end":{"line":225,"column":29}},"89":{"start":{"line":227,"column":2},"end":{"line":227,"column":37}},"90":{"start":{"line":233,"column":2},"end":{"line":233,"column":36}},"91":{"start":{"line":234,"column":2},"end":{"line":234,"column":17}},"92":{"start":{"line":235,"column":2},"end":{"line":239,"column":3}},"93":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"94":{"start":{"line":237,"column":6},"end":{"line":237,"column":48}},"95":{"start":{"line":243,"column":2},"end":{"line":243,"column":19}},"96":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"97":{"start":{"line":245,"column":4},"end":{"line":255,"column":7}},"98":{"start":{"line":246,"column":6},"end":{"line":246,"column":40}},"99":{"start":{"line":248,"column":6},"end":{"line":248,"column":45}},"100":{"start":{"line":249,"column":6},"end":{"line":254,"column":7}},"101":{"start":{"line":250,"column":8},"end":{"line":250,"column":80}},"102":{"start":{"line":251,"column":8},"end":{"line":251,"column":55}},"103":{"start":{"line":253,"column":8},"end":{"line":253,"column":95}},"104":{"start":{"line":260,"column":2},"end":{"line":260,"column":26}},"105":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"106":{"start":{"line":262,"column":17},"end":{"line":262,"column":50}},"107":{"start":{"line":265,"column":4},"end":{"line":276,"column":5}},"108":{"start":{"line":266,"column":23},"end":{"line":266,"column":32}},"109":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"110":{"start":{"line":268,"column":8},"end":{"line":268,"column":45}},"111":{"start":{"line":271,"column":6},"end":{"line":275,"column":7}},"112":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"113":{"start":{"line":273,"column":10},"end":{"line":273,"column":62}},"114":{"start":{"line":281,"column":2},"end":{"line":281,"column":63}},"115":{"start":{"line":290,"column":2},"end":{"line":290,"column":44}},"116":{"start":{"line":293,"column":20},"end":{"line":293,"column":22}},"117":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"118":{"start":{"line":297,"column":4},"end":{"line":297,"column":57}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":19}},"120":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"121":{"start":{"line":304,"column":4},"end":{"line":316,"column":5}},"122":{"start":{"line":305,"column":6},"end":{"line":305,"column":23}},"123":{"start":{"line":306,"column":6},"end":{"line":306,"column":37}},"124":{"start":{"line":307,"column":6},"end":{"line":307,"column":52}},"125":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"126":{"start":{"line":310,"column":8},"end":{"line":310,"column":25}},"127":{"start":{"line":313,"column":6},"end":{"line":315,"column":8}},"128":{"start":{"line":321,"column":16},"end":{"line":321,"column":46}},"129":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"130":{"start":{"line":322,"column":14},"end":{"line":322,"column":21}},"131":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"132":{"start":{"line":325,"column":4},"end":{"line":325,"column":75}},"133":{"start":{"line":327,"column":2},"end":{"line":327,"column":32}},"134":{"start":{"line":332,"column":2},"end":{"line":336,"column":3}},"135":{"start":{"line":333,"column":4},"end":{"line":333,"column":52}},"136":{"start":{"line":335,"column":4},"end":{"line":335,"column":78}},"137":{"start":{"line":337,"column":2},"end":{"line":337,"column":15}},"138":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"139":{"start":{"line":342,"column":4},"end":{"line":342,"column":39}},"140":{"start":{"line":343,"column":4},"end":{"line":343,"column":31}},"141":{"start":{"line":345,"column":2},"end":{"line":345,"column":34}},"142":{"start":{"line":346,"column":2},"end":{"line":346,"column":45}},"143":{"start":{"line":347,"column":2},"end":{"line":347,"column":93}},"144":{"start":{"line":351,"column":15},"end":{"line":351,"column":40}},"145":{"start":{"line":352,"column":2},"end":{"line":352,"column":47}},"146":{"start":{"line":353,"column":2},"end":{"line":353,"column":26}},"147":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"148":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"149":{"start":{"line":357,"column":6},"end":{"line":357,"column":47}},"150":{"start":{"line":359,"column":4},"end":{"line":359,"column":60}},"151":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"152":{"start":{"line":362,"column":6},"end":{"line":364,"column":8}},"153":{"start":{"line":367,"column":2},"end":{"line":367,"column":36}},"154":{"start":{"line":370,"column":33},"end":{"line":376,"column":1}},"155":{"start":{"line":380,"column":4},"end":{"line":384,"column":6}},"156":{"start":{"line":383,"column":6},"end":{"line":383,"column":46}},"157":{"start":{"line":387,"column":2},"end":{"line":387,"column":42}},"158":{"start":{"line":389,"column":2},"end":{"line":391,"column":5}},"159":{"start":{"line":390,"column":4},"end":{"line":390,"column":77}},"160":{"start":{"line":395,"column":2},"end":{"line":397,"column":5}},"161":{"start":{"line":396,"column":4},"end":{"line":396,"column":51}},"162":{"start":{"line":412,"column":2},"end":{"line":416,"column":3}},"163":{"start":{"line":413,"column":4},"end":{"line":413,"column":56}},"164":{"start":{"line":415,"column":4},"end":{"line":415,"column":39}},"165":{"start":{"line":417,"column":2},"end":{"line":417,"column":24}},"166":{"start":{"line":431,"column":2},"end":{"line":431,"column":63}},"167":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"168":{"start":{"line":434,"column":4},"end":{"line":434,"column":74}},"169":{"start":{"line":437,"column":2},"end":{"line":437,"column":76}},"170":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"171":{"start":{"line":439,"column":4},"end":{"line":439,"column":79}},"172":{"start":{"line":441,"column":2},"end":{"line":441,"column":75}},"173":{"start":{"line":455,"column":2},"end":{"line":455,"column":37}},"174":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"175":{"start":{"line":459,"column":4},"end":{"line":459,"column":39}},"176":{"start":{"line":463,"column":18},"end":{"line":463,"column":19}},"177":{"start":{"line":465,"column":28},"end":{"line":465,"column":30}},"178":{"start":{"line":468,"column":4},"end":{"line":468,"column":25}},"179":{"start":{"line":469,"column":4},"end":{"line":469,"column":16}},"180":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"181":{"start":{"line":471,"column":6},"end":{"line":471,"column":16}},"182":{"start":{"line":475,"column":2},"end":{"line":479,"column":3}},"183":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":477,"column":6},"end":{"line":477,"column":58}},"185":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"186":{"start":{"line":482,"column":4},"end":{"line":482,"column":16}},"187":{"start":{"line":485,"column":2},"end":{"line":487,"column":5}},"188":{"start":{"line":486,"column":4},"end":{"line":486,"column":26}},"189":{"start":{"line":489,"column":2},"end":{"line":489,"column":14}},"190":{"start":{"line":513,"column":15},"end":{"line":535,"column":1}},"191":{"start":{"line":537,"column":0},"end":{"line":537,"column":24}},"192":{"start":{"line":540,"column":0},"end":{"line":540,"column":12}}},"fnMap":{"0":{"name":"hasLogger","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":18}},"loc":{"start":{"line":57,"column":27},"end":{"line":59,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":17},"end":{"line":62,"column":18}},"loc":{"start":{"line":62,"column":47},"end":{"line":70,"column":1}}},"2":{"name":"getBufferedLogger","decl":{"start":{"line":72,"column":9},"end":{"line":72,"column":26}},"loc":{"start":{"line":72,"column":41},"end":{"line":104,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":77,"column":17},"end":{"line":77,"column":18}},"loc":{"start":{"line":77,"column":29},"end":{"line":83,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":17},"end":{"line":84,"column":18}},"loc":{"start":{"line":84,"column":36},"end":{"line":86,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":87,"column":17},"end":{"line":87,"column":18}},"loc":{"start":{"line":87,"column":36},"end":{"line":89,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":17}},"loc":{"start":{"line":90,"column":35},"end":{"line":92,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":93,"column":16},"end":{"line":93,"column":17}},"loc":{"start":{"line":93,"column":35},"end":{"line":95,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":17},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":36},"end":{"line":98,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":18}},"loc":{"start":{"line":99,"column":36},"end":{"line":101,"column":3}}},"10":{"name":"normalizeCategory","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":26}},"loc":{"start":{"line":106,"column":37},"end":{"line":108,"column":1}}},"11":{"name":"doesLevelEntryContainsLogger","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":37}},"loc":{"start":{"line":110,"column":69},"end":{"line":114,"column":1}}},"12":{"name":"doesAppenderContainsLogger","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":35}},"loc":{"start":{"line":116,"column":70},"end":{"line":120,"column":1}}},"13":{"name":"getLogger","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":18}},"loc":{"start":{"line":128,"column":39},"end":{"line":177,"column":1}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":161,"column":29},"end":{"line":161,"column":30}},"loc":{"start":{"line":161,"column":43},"end":{"line":163,"column":9}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":170,"column":27},"end":{"line":170,"column":28}},"loc":{"start":{"line":170,"column":41},"end":{"line":172,"column":7}}},"16":{"name":"addAppender","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":20}},"loc":{"start":{"line":182,"column":23},"end":{"line":213,"column":1}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":200,"column":15},"end":{"line":200,"column":16}},"loc":{"start":{"line":200,"column":37},"end":{"line":212,"column":3}}},"18":{"name":"addAppenderToAllLoggers","decl":{"start":{"line":215,"column":9},"end":{"line":215,"column":32}},"loc":{"start":{"line":215,"column":43},"end":{"line":221,"column":1}}},"19":{"name":"addAppenderToCategory","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":30}},"loc":{"start":{"line":223,"column":51},"end":{"line":228,"column":1}}},"20":{"name":"clearAppenders","decl":{"start":{"line":230,"column":9},"end":{"line":230,"column":23}},"loc":{"start":{"line":230,"column":26},"end":{"line":240,"column":1}}},"21":{"name":"configureAppenders","decl":{"start":{"line":242,"column":9},"end":{"line":242,"column":27}},"loc":{"start":{"line":242,"column":51},"end":{"line":257,"column":1}}},"22":{"name":"(anonymous_22)","decl":{"start":{"line":245,"column":25},"end":{"line":245,"column":26}},"loc":{"start":{"line":245,"column":45},"end":{"line":255,"column":5}}},"23":{"name":"configureLevels","decl":{"start":{"line":259,"column":9},"end":{"line":259,"column":24}},"loc":{"start":{"line":259,"column":34},"end":{"line":278,"column":1}}},"24":{"name":"setGlobalLogLevel","decl":{"start":{"line":280,"column":9},"end":{"line":280,"column":26}},"loc":{"start":{"line":280,"column":34},"end":{"line":282,"column":1}}},"25":{"name":"getDefaultLogger","decl":{"start":{"line":289,"column":9},"end":{"line":289,"column":25}},"loc":{"start":{"line":289,"column":28},"end":{"line":291,"column":1}}},"26":{"name":"loadConfigurationFile","decl":{"start":{"line":295,"column":9},"end":{"line":295,"column":30}},"loc":{"start":{"line":295,"column":41},"end":{"line":300,"column":1}}},"27":{"name":"configureOnceOff","decl":{"start":{"line":302,"column":9},"end":{"line":302,"column":25}},"loc":{"start":{"line":302,"column":43},"end":{"line":318,"column":1}}},"28":{"name":"reloadConfiguration","decl":{"start":{"line":320,"column":9},"end":{"line":320,"column":28}},"loc":{"start":{"line":320,"column":38},"end":{"line":328,"column":1}}},"29":{"name":"getMTime","decl":{"start":{"line":330,"column":9},"end":{"line":330,"column":17}},"loc":{"start":{"line":330,"column":28},"end":{"line":338,"column":1}}},"30":{"name":"initReloadConfiguration","decl":{"start":{"line":340,"column":9},"end":{"line":340,"column":32}},"loc":{"start":{"line":340,"column":52},"end":{"line":348,"column":1}}},"31":{"name":"configure","decl":{"start":{"line":350,"column":9},"end":{"line":350,"column":18}},"loc":{"start":{"line":350,"column":55},"end":{"line":368,"column":1}}},"32":{"name":"replaceConsole","decl":{"start":{"line":378,"column":9},"end":{"line":378,"column":23}},"loc":{"start":{"line":378,"column":32},"end":{"line":392,"column":1}}},"33":{"name":"replaceWith","decl":{"start":{"line":379,"column":11},"end":{"line":379,"column":22}},"loc":{"start":{"line":379,"column":27},"end":{"line":385,"column":3}}},"34":{"name":"(anonymous_34)","decl":{"start":{"line":380,"column":11},"end":{"line":380,"column":12}},"loc":{"start":{"line":380,"column":23},"end":{"line":384,"column":5}}},"35":{"name":"(anonymous_35)","decl":{"start":{"line":389,"column":52},"end":{"line":389,"column":53}},"loc":{"start":{"line":389,"column":62},"end":{"line":391,"column":3}}},"36":{"name":"restoreConsole","decl":{"start":{"line":394,"column":9},"end":{"line":394,"column":23}},"loc":{"start":{"line":394,"column":26},"end":{"line":398,"column":1}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":395,"column":52},"end":{"line":395,"column":53}},"loc":{"start":{"line":395,"column":62},"end":{"line":397,"column":3}}},"38":{"name":"requireAppender","decl":{"start":{"line":410,"column":9},"end":{"line":410,"column":24}},"loc":{"start":{"line":410,"column":35},"end":{"line":418,"column":1}}},"39":{"name":"loadAppender","decl":{"start":{"line":430,"column":9},"end":{"line":430,"column":21}},"loc":{"start":{"line":430,"column":48},"end":{"line":442,"column":1}}},"40":{"name":"shutdown","decl":{"start":{"line":452,"column":9},"end":{"line":452,"column":17}},"loc":{"start":{"line":452,"column":22},"end":{"line":490,"column":1}}},"41":{"name":"complete","decl":{"start":{"line":467,"column":11},"end":{"line":467,"column":19}},"loc":{"start":{"line":467,"column":25},"end":{"line":473,"column":3}}},"42":{"name":"(anonymous_42)","decl":{"start":{"line":485,"column":28},"end":{"line":485,"column":29}},"loc":{"start":{"line":485,"column":45},"end":{"line":487,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":64,"column":2},"end":{"line":68,"column":3}},{"start":{"line":64,"column":2},"end":{"line":68,"column":3}}]},"1":{"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":66}},"type":"binary-expr","locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":34}},{"start":{"line":64,"column":38},"end":{"line":64,"column":66}}]},"2":{"loc":{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},"type":"if","locations":[{"start":{"line":130,"column":2},"end":{"line":132,"column":3}},{"start":{"line":130,"column":2},"end":{"line":132,"column":3}}]},"3":{"loc":{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},"type":"if","locations":[{"start":{"line":134,"column":2},"end":{"line":174,"column":3}},{"start":{"line":134,"column":2},"end":{"line":174,"column":3}}]},"4":{"loc":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},{"start":{"line":139,"column":4},"end":{"line":150,"column":5}}]},"5":{"loc":{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":145,"column":8},"end":{"line":148,"column":9}},{"start":{"line":145,"column":8},"end":{"line":148,"column":9}}]},"6":{"loc":{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":164,"column":7}},{"start":{"line":159,"column":6},"end":{"line":164,"column":7}}]},"7":{"loc":{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},"type":"if","locations":[{"start":{"line":168,"column":4},"end":{"line":173,"column":5}},{"start":{"line":168,"column":4},"end":{"line":173,"column":5}}]},"8":{"loc":{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},"type":"if","locations":[{"start":{"line":188,"column":2},"end":{"line":190,"column":3}},{"start":{"line":188,"column":2},"end":{"line":190,"column":3}}]},"9":{"loc":{"start":{"line":188,"column":6},"end":{"line":188,"column":54}},"type":"binary-expr","locations":[{"start":{"line":188,"column":6},"end":{"line":188,"column":21}},{"start":{"line":188,"column":25},"end":{"line":188,"column":54}}]},"10":{"loc":{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},"type":"if","locations":[{"start":{"line":192,"column":2},"end":{"line":194,"column":3}},{"start":{"line":192,"column":2},"end":{"line":194,"column":3}}]},"11":{"loc":{"start":{"line":192,"column":6},"end":{"line":192,"column":48}},"type":"binary-expr","locations":[{"start":{"line":192,"column":6},"end":{"line":192,"column":23}},{"start":{"line":192,"column":27},"end":{"line":192,"column":48}}]},"12":{"loc":{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},"type":"if","locations":[{"start":{"line":196,"column":2},"end":{"line":198,"column":3}},{"start":{"line":196,"column":2},"end":{"line":198,"column":3}}]},"13":{"loc":{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},"type":"if","locations":[{"start":{"line":203,"column":4},"end":{"line":211,"column":5}},{"start":{"line":203,"column":4},"end":{"line":211,"column":5}}]},"14":{"loc":{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":209,"column":9}},{"start":{"line":207,"column":8},"end":{"line":209,"column":9}}]},"15":{"loc":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},{"start":{"line":217,"column":4},"end":{"line":219,"column":5}}]},"16":{"loc":{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},"type":"if","locations":[{"start":{"line":224,"column":2},"end":{"line":226,"column":3}},{"start":{"line":224,"column":2},"end":{"line":226,"column":3}}]},"17":{"loc":{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},"type":"if","locations":[{"start":{"line":236,"column":4},"end":{"line":238,"column":5}},{"start":{"line":236,"column":4},"end":{"line":238,"column":5}}]},"18":{"loc":{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":244,"column":2},"end":{"line":256,"column":3}},{"start":{"line":244,"column":2},"end":{"line":256,"column":3}}]},"19":{"loc":{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},"type":"if","locations":[{"start":{"line":261,"column":2},"end":{"line":277,"column":3}},{"start":{"line":261,"column":2},"end":{"line":277,"column":3}}]},"20":{"loc":{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},"type":"if","locations":[{"start":{"line":267,"column":6},"end":{"line":269,"column":7}},{"start":{"line":267,"column":6},"end":{"line":269,"column":7}}]},"21":{"loc":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},{"start":{"line":272,"column":8},"end":{"line":274,"column":9}}]},"22":{"loc":{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},"type":"if","locations":[{"start":{"line":296,"column":2},"end":{"line":298,"column":3}},{"start":{"line":296,"column":2},"end":{"line":298,"column":3}}]},"23":{"loc":{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},"type":"if","locations":[{"start":{"line":303,"column":2},"end":{"line":317,"column":3}},{"start":{"line":303,"column":2},"end":{"line":317,"column":3}}]},"24":{"loc":{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},"type":"if","locations":[{"start":{"line":309,"column":6},"end":{"line":311,"column":7}},{"start":{"line":309,"column":6},"end":{"line":311,"column":7}}]},"25":{"loc":{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},"type":"if","locations":[{"start":{"line":322,"column":2},"end":{"line":322,"column":21}},{"start":{"line":322,"column":2},"end":{"line":322,"column":21}}]},"26":{"loc":{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},"type":"if","locations":[{"start":{"line":324,"column":2},"end":{"line":326,"column":3}},{"start":{"line":324,"column":2},"end":{"line":326,"column":3}}]},"27":{"loc":{"start":{"line":324,"column":6},"end":{"line":324,"column":82}},"type":"binary-expr","locations":[{"start":{"line":324,"column":6},"end":{"line":324,"column":27}},{"start":{"line":324,"column":32},"end":{"line":324,"column":81}}]},"28":{"loc":{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},"type":"if","locations":[{"start":{"line":341,"column":2},"end":{"line":344,"column":3}},{"start":{"line":341,"column":2},"end":{"line":344,"column":3}}]},"29":{"loc":{"start":{"line":352,"column":11},"end":{"line":352,"column":46}},"type":"binary-expr","locations":[{"start":{"line":352,"column":11},"end":{"line":352,"column":17}},{"start":{"line":352,"column":21},"end":{"line":352,"column":46}}]},"30":{"loc":{"start":{"line":353,"column":12},"end":{"line":353,"column":25}},"type":"binary-expr","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":19}},{"start":{"line":353,"column":23},"end":{"line":353,"column":25}}]},"31":{"loc":{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},"type":"if","locations":[{"start":{"line":355,"column":2},"end":{"line":366,"column":3}},{"start":{"line":355,"column":2},"end":{"line":366,"column":3}}]},"32":{"loc":{"start":{"line":355,"column":6},"end":{"line":355,"column":75}},"type":"binary-expr","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":26}},{"start":{"line":355,"column":30},"end":{"line":355,"column":45}},{"start":{"line":355,"column":49},"end":{"line":355,"column":75}}]},"33":{"loc":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"type":"if","locations":[{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},{"start":{"line":356,"column":4},"end":{"line":358,"column":5}}]},"34":{"loc":{"start":{"line":359,"column":13},"end":{"line":359,"column":59}},"type":"binary-expr","locations":[{"start":{"line":359,"column":13},"end":{"line":359,"column":42}},{"start":{"line":359,"column":46},"end":{"line":359,"column":59}}]},"35":{"loc":{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},"type":"if","locations":[{"start":{"line":361,"column":4},"end":{"line":365,"column":5}},{"start":{"line":361,"column":4},"end":{"line":365,"column":5}}]},"36":{"loc":{"start":{"line":387,"column":11},"end":{"line":387,"column":41}},"type":"binary-expr","locations":[{"start":{"line":387,"column":11},"end":{"line":387,"column":17}},{"start":{"line":387,"column":21},"end":{"line":387,"column":41}}]},"37":{"loc":{"start":{"line":390,"column":32},"end":{"line":390,"column":75}},"type":"cond-expr","locations":[{"start":{"line":390,"column":49},"end":{"line":390,"column":60}},{"start":{"line":390,"column":63},"end":{"line":390,"column":75}}]},"38":{"loc":{"start":{"line":431,"column":19},"end":{"line":431,"column":62}},"type":"binary-expr","locations":[{"start":{"line":431,"column":19},"end":{"line":431,"column":33}},{"start":{"line":431,"column":37},"end":{"line":431,"column":62}}]},"39":{"loc":{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},"type":"if","locations":[{"start":{"line":433,"column":2},"end":{"line":435,"column":3}},{"start":{"line":433,"column":2},"end":{"line":435,"column":3}}]},"40":{"loc":{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},"type":"if","locations":[{"start":{"line":438,"column":2},"end":{"line":440,"column":3}},{"start":{"line":438,"column":2},"end":{"line":440,"column":3}}]},"41":{"loc":{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},"type":"if","locations":[{"start":{"line":458,"column":2},"end":{"line":460,"column":3}},{"start":{"line":458,"column":2},"end":{"line":460,"column":3}}]},"42":{"loc":{"start":{"line":468,"column":12},"end":{"line":468,"column":24}},"type":"binary-expr","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":17}},{"start":{"line":468,"column":21},"end":{"line":468,"column":24}}]},"43":{"loc":{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},"type":"if","locations":[{"start":{"line":470,"column":4},"end":{"line":472,"column":5}},{"start":{"line":470,"column":4},"end":{"line":472,"column":5}}]},"44":{"loc":{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},"type":"if","locations":[{"start":{"line":476,"column":4},"end":{"line":478,"column":5}},{"start":{"line":476,"column":4},"end":{"line":478,"column":5}}]},"45":{"loc":{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},"type":"if","locations":[{"start":{"line":481,"column":2},"end":{"line":483,"column":3}},{"start":{"line":481,"column":2},"end":{"line":483,"column":3}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":0,"14":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":2,"70":2,"71":2,"72":0,"73":2,"74":2,"75":2,"76":0,"77":2,"78":2,"79":2,"80":2,"81":0,"82":0,"83":0,"84":2,"85":0,"86":0,"87":2,"88":2,"89":2,"90":2,"91":2,"92":2,"93":0,"94":0,"95":2,"96":2,"97":2,"98":2,"99":2,"100":2,"101":2,"102":2,"103":0,"104":2,"105":2,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":1,"117":2,"118":1,"119":1,"120":2,"121":2,"122":2,"123":2,"124":2,"125":2,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":1,"135":1,"136":0,"137":1,"138":1,"139":0,"140":0,"141":1,"142":1,"143":1,"144":2,"145":2,"146":2,"147":2,"148":2,"149":1,"150":2,"151":0,"152":0,"153":2,"154":1,"155":0,"156":0,"157":0,"158":0,"159":0,"160":2,"161":10,"162":2,"163":2,"164":0,"165":2,"166":2,"167":2,"168":0,"169":2,"170":2,"171":0,"172":2,"173":1,"174":1,"175":1,"176":1,"177":1,"178":0,"179":0,"180":0,"181":0,"182":1,"183":0,"184":0,"185":1,"186":1,"187":0,"188":0,"189":0,"190":1,"191":1,"192":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":2,"23":2,"24":0,"25":0,"26":2,"27":2,"28":0,"29":1,"30":1,"31":2,"32":0,"33":0,"34":0,"35":0,"36":2,"37":10,"38":2,"39":2,"40":1,"41":0,"42":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,2],"9":[2,2],"10":[2,0],"11":[2,2],"12":[0,2],"13":[2,0],"14":[0,0],"15":[0,0],"16":[2,0],"17":[0,0],"18":[2,0],"19":[0,2],"20":[0,0],"21":[0,0],"22":[1,1],"23":[2,0],"24":[0,2],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,1],"29":[2,1],"30":[2,1],"31":[2,0],"32":[2,1,1],"33":[1,1],"34":[2,1],"35":[0,0],"36":[0,0],"37":[0,0],"38":[2,2],"39":[0,2],"40":[0,2],"41":[1,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[1,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3a43360dca26d74ffd67cfe5ec75309575f038ac"},"/Users/garethjones/stuff/log4js-node/lib/layouts.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/layouts.js","statementMap":{"0":{"start":{"line":3,"column":19},"end":{"line":3,"column":43}},"1":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"2":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"3":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"4":{"start":{"line":8,"column":21},"end":{"line":27,"column":1}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":36}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":23}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":26}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":26}},"9":{"start":{"line":22,"column":4},"end":{"line":22,"column":76}},"10":{"start":{"line":25,"column":4},"end":{"line":25,"column":23}},"11":{"start":{"line":28,"column":16},"end":{"line":37,"column":1}},"12":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}},"13":{"start":{"line":41,"column":2},"end":{"line":50,"column":5}},"14":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":43,"column":6},"end":{"line":47,"column":8}},"16":{"start":{"line":45,"column":10},"end":{"line":45,"column":118}},"17":{"start":{"line":49,"column":4},"end":{"line":49,"column":16}},"18":{"start":{"line":56,"column":13},"end":{"line":56,"column":20}},"19":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"20":{"start":{"line":58,"column":20},"end":{"line":58,"column":36}},"21":{"start":{"line":59,"column":4},"end":{"line":59,"column":30}},"22":{"start":{"line":60,"column":4},"end":{"line":62,"column":5}},"23":{"start":{"line":61,"column":6},"end":{"line":61,"column":29}},"24":{"start":{"line":64,"column":2},"end":{"line":64,"column":62}},"25":{"start":{"line":67,"column":15},"end":{"line":84,"column":1}},"26":{"start":{"line":87,"column":2},"end":{"line":87,"column":50}},"27":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}},"28":{"start":{"line":98,"column":2},"end":{"line":98,"column":57}},"29":{"start":{"line":102,"column":2},"end":{"line":110,"column":4}},"30":{"start":{"line":123,"column":2},"end":{"line":127,"column":41}},"31":{"start":{"line":135,"column":2},"end":{"line":139,"column":41}},"32":{"start":{"line":143,"column":2},"end":{"line":143,"column":42}},"33":{"start":{"line":147,"column":2},"end":{"line":147,"column":30}},"34":{"start":{"line":183,"column":34},"end":{"line":183,"column":51}},"35":{"start":{"line":184,"column":16},"end":{"line":184,"column":82}},"36":{"start":{"line":186,"column":2},"end":{"line":186,"column":47}},"37":{"start":{"line":189,"column":21},"end":{"line":189,"column":46}},"38":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"39":{"start":{"line":191,"column":24},"end":{"line":191,"column":47}},"40":{"start":{"line":192,"column":29},"end":{"line":192,"column":50}},"41":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"42":{"start":{"line":194,"column":8},"end":{"line":194,"column":87}},"43":{"start":{"line":197,"column":4},"end":{"line":197,"column":22}},"44":{"start":{"line":201,"column":17},"end":{"line":201,"column":42}},"45":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"46":{"start":{"line":203,"column":6},"end":{"line":203,"column":25}},"47":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"48":{"start":{"line":206,"column":8},"end":{"line":206,"column":43}},"49":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"50":{"start":{"line":208,"column":8},"end":{"line":208,"column":58}},"51":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"52":{"start":{"line":210,"column":8},"end":{"line":210,"column":48}},"53":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":44}},"55":{"start":{"line":216,"column":4},"end":{"line":216,"column":79}},"56":{"start":{"line":220,"column":4},"end":{"line":220,"column":36}},"57":{"start":{"line":224,"column":4},"end":{"line":224,"column":44}},"58":{"start":{"line":228,"column":4},"end":{"line":228,"column":15}},"59":{"start":{"line":232,"column":4},"end":{"line":232,"column":41}},"60":{"start":{"line":236,"column":4},"end":{"line":236,"column":83}},"61":{"start":{"line":240,"column":4},"end":{"line":240,"column":65}},"62":{"start":{"line":244,"column":4},"end":{"line":244,"column":63}},"63":{"start":{"line":248,"column":4},"end":{"line":248,"column":15}},"64":{"start":{"line":252,"column":4},"end":{"line":252,"column":77}},"65":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"66":{"start":{"line":257,"column":6},"end":{"line":260,"column":54}},"67":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"68":{"start":{"line":262,"column":6},"end":{"line":262,"column":77}},"69":{"start":{"line":265,"column":4},"end":{"line":265,"column":17}},"70":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"71":{"start":{"line":270,"column":6},"end":{"line":270,"column":107}},"72":{"start":{"line":273,"column":4},"end":{"line":273,"column":16}},"73":{"start":{"line":277,"column":20},"end":{"line":291,"column":3}},"74":{"start":{"line":294,"column":4},"end":{"line":294,"column":67}},"75":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"76":{"start":{"line":300,"column":6},"end":{"line":300,"column":47}},"77":{"start":{"line":301,"column":6},"end":{"line":301,"column":42}},"78":{"start":{"line":304,"column":4},"end":{"line":304,"column":22}},"79":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"80":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"81":{"start":{"line":311,"column":8},"end":{"line":311,"column":46}},"82":{"start":{"line":313,"column":8},"end":{"line":315,"column":9}},"83":{"start":{"line":314,"column":10},"end":{"line":314,"column":23}},"84":{"start":{"line":317,"column":8},"end":{"line":317,"column":36}},"85":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"86":{"start":{"line":320,"column":10},"end":{"line":320,"column":30}},"87":{"start":{"line":324,"column":4},"end":{"line":324,"column":17}},"88":{"start":{"line":328,"column":22},"end":{"line":328,"column":35}},"89":{"start":{"line":329,"column":4},"end":{"line":329,"column":52}},"90":{"start":{"line":330,"column":4},"end":{"line":330,"column":44}},"91":{"start":{"line":331,"column":4},"end":{"line":331,"column":23}},"92":{"start":{"line":334,"column":2},"end":{"line":360,"column":4}},"93":{"start":{"line":335,"column":26},"end":{"line":335,"column":28}},"94":{"start":{"line":337,"column":23},"end":{"line":337,"column":30}},"95":{"start":{"line":340,"column":4},"end":{"line":358,"column":5}},"96":{"start":{"line":342,"column":22},"end":{"line":342,"column":31}},"97":{"start":{"line":343,"column":25},"end":{"line":343,"column":34}},"98":{"start":{"line":344,"column":34},"end":{"line":344,"column":43}},"99":{"start":{"line":345,"column":24},"end":{"line":345,"column":33}},"100":{"start":{"line":346,"column":19},"end":{"line":346,"column":28}},"101":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"102":{"start":{"line":350,"column":8},"end":{"line":350,"column":43}},"103":{"start":{"line":354,"column":28},"end":{"line":354,"column":86}},"104":{"start":{"line":355,"column":8},"end":{"line":355,"column":76}},"105":{"start":{"line":357,"column":6},"end":{"line":357,"column":74}},"106":{"start":{"line":359,"column":4},"end":{"line":359,"column":27}},"107":{"start":{"line":363,"column":0},"end":{"line":376,"column":2}},"108":{"start":{"line":371,"column":4},"end":{"line":371,"column":45}},"109":{"start":{"line":374,"column":4},"end":{"line":374,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":22},"end":{"line":9,"column":23}},"loc":{"start":{"line":9,"column":34},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":10}},"loc":{"start":{"line":12,"column":21},"end":{"line":14,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":11},"end":{"line":15,"column":12}},"loc":{"start":{"line":15,"column":23},"end":{"line":17,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":24},"end":{"line":20,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":11},"end":{"line":21,"column":12}},"loc":{"start":{"line":21,"column":29},"end":{"line":23,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":10}},"loc":{"start":{"line":24,"column":21},"end":{"line":26,"column":3}}},"6":{"name":"wrapErrorsWithInspect","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":30}},"loc":{"start":{"line":40,"column":38},"end":{"line":51,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":29},"end":{"line":50,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":44,"column":17},"end":{"line":44,"column":18}},"loc":{"start":{"line":44,"column":29},"end":{"line":46,"column":9}}},"9":{"name":"formatLogData","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":32},"end":{"line":65,"column":1}}},"10":{"name":"colorizeStart","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":22}},"loc":{"start":{"line":86,"column":30},"end":{"line":88,"column":1}}},"11":{"name":"colorizeEnd","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":20}},"loc":{"start":{"line":90,"column":28},"end":{"line":92,"column":1}}},"12":{"name":"colorize","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":17}},"loc":{"start":{"line":97,"column":30},"end":{"line":99,"column":1}}},"13":{"name":"timestampLevelAndCategory","decl":{"start":{"line":101,"column":9},"end":{"line":101,"column":34}},"loc":{"start":{"line":101,"column":73},"end":{"line":111,"column":1}}},"14":{"name":"basicLayout","decl":{"start":{"line":122,"column":9},"end":{"line":122,"column":20}},"loc":{"start":{"line":122,"column":51},"end":{"line":128,"column":1}}},"15":{"name":"colouredLayout","decl":{"start":{"line":134,"column":9},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":54},"end":{"line":140,"column":1}}},"16":{"name":"messagePassThroughLayout","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":33}},"loc":{"start":{"line":142,"column":48},"end":{"line":144,"column":1}}},"17":{"name":"dummyLayout","decl":{"start":{"line":146,"column":9},"end":{"line":146,"column":20}},"loc":{"start":{"line":146,"column":35},"end":{"line":148,"column":1}}},"18":{"name":"patternLayout","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":22}},"loc":{"start":{"line":182,"column":56},"end":{"line":361,"column":1}}},"19":{"name":"categoryName","decl":{"start":{"line":188,"column":11},"end":{"line":188,"column":23}},"loc":{"start":{"line":188,"column":49},"end":{"line":198,"column":3}}},"20":{"name":"formatAsDate","decl":{"start":{"line":200,"column":11},"end":{"line":200,"column":23}},"loc":{"start":{"line":200,"column":49},"end":{"line":217,"column":3}}},"21":{"name":"hostname","decl":{"start":{"line":219,"column":11},"end":{"line":219,"column":19}},"loc":{"start":{"line":219,"column":22},"end":{"line":221,"column":3}}},"22":{"name":"formatMessage","decl":{"start":{"line":223,"column":11},"end":{"line":223,"column":24}},"loc":{"start":{"line":223,"column":39},"end":{"line":225,"column":3}}},"23":{"name":"endOfLine","decl":{"start":{"line":227,"column":11},"end":{"line":227,"column":20}},"loc":{"start":{"line":227,"column":23},"end":{"line":229,"column":3}}},"24":{"name":"logLevel","decl":{"start":{"line":231,"column":11},"end":{"line":231,"column":19}},"loc":{"start":{"line":231,"column":34},"end":{"line":233,"column":3}}},"25":{"name":"startTime","decl":{"start":{"line":235,"column":11},"end":{"line":235,"column":20}},"loc":{"start":{"line":235,"column":35},"end":{"line":237,"column":3}}},"26":{"name":"startColour","decl":{"start":{"line":239,"column":11},"end":{"line":239,"column":22}},"loc":{"start":{"line":239,"column":37},"end":{"line":241,"column":3}}},"27":{"name":"endColour","decl":{"start":{"line":243,"column":11},"end":{"line":243,"column":20}},"loc":{"start":{"line":243,"column":35},"end":{"line":245,"column":3}}},"28":{"name":"percent","decl":{"start":{"line":247,"column":11},"end":{"line":247,"column":18}},"loc":{"start":{"line":247,"column":21},"end":{"line":249,"column":3}}},"29":{"name":"pid","decl":{"start":{"line":251,"column":11},"end":{"line":251,"column":14}},"loc":{"start":{"line":251,"column":29},"end":{"line":253,"column":3}}},"30":{"name":"clusterInfo","decl":{"start":{"line":255,"column":11},"end":{"line":255,"column":22}},"loc":{"start":{"line":255,"column":48},"end":{"line":266,"column":3}}},"31":{"name":"userDefined","decl":{"start":{"line":268,"column":11},"end":{"line":268,"column":22}},"loc":{"start":{"line":268,"column":48},"end":{"line":274,"column":3}}},"32":{"name":"replaceToken","decl":{"start":{"line":293,"column":11},"end":{"line":293,"column":23}},"loc":{"start":{"line":293,"column":70},"end":{"line":295,"column":3}}},"33":{"name":"truncate","decl":{"start":{"line":297,"column":11},"end":{"line":297,"column":19}},"loc":{"start":{"line":297,"column":44},"end":{"line":305,"column":3}}},"34":{"name":"pad","decl":{"start":{"line":307,"column":11},"end":{"line":307,"column":14}},"loc":{"start":{"line":307,"column":31},"end":{"line":325,"column":3}}},"35":{"name":"truncateAndPad","decl":{"start":{"line":327,"column":11},"end":{"line":327,"column":25}},"loc":{"start":{"line":327,"column":62},"end":{"line":332,"column":3}}},"36":{"name":"(anonymous_36)","decl":{"start":{"line":334,"column":9},"end":{"line":334,"column":10}},"loc":{"start":{"line":334,"column":33},"end":{"line":360,"column":3}}},"37":{"name":"(anonymous_37)","decl":{"start":{"line":370,"column":13},"end":{"line":370,"column":14}},"loc":{"start":{"line":370,"column":50},"end":{"line":372,"column":3}}},"38":{"name":"(anonymous_38)","decl":{"start":{"line":373,"column":10},"end":{"line":373,"column":11}},"loc":{"start":{"line":373,"column":34},"end":{"line":375,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},"type":"binary-expr","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":18}},{"start":{"line":7,"column":22},"end":{"line":7,"column":26}}]},"1":{"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":49}},"type":"binary-expr","locations":[{"start":{"line":22,"column":25},"end":{"line":22,"column":31}},{"start":{"line":22,"column":35},"end":{"line":22,"column":49}}]},"2":{"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":74}},"type":"binary-expr","locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":57}},{"start":{"line":22,"column":61},"end":{"line":22,"column":74}}]},"3":{"loc":{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":48,"column":5}},{"start":{"line":42,"column":4},"end":{"line":48,"column":5}}]},"4":{"loc":{"start":{"line":42,"column":8},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":9},"end":{"line":42,"column":30}},{"start":{"line":42,"column":35},"end":{"line":42,"column":45}}]},"5":{"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":117}},"type":"cond-expr","locations":[{"start":{"line":45,"column":60},"end":{"line":45,"column":77}},{"start":{"line":45,"column":80},"end":{"line":45,"column":117}}]},"6":{"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"type":"if","locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"loc":{"start":{"line":87,"column":9},"end":{"line":87,"column":49}},"type":"cond-expr","locations":[{"start":{"line":87,"column":17},"end":{"line":87,"column":44}},{"start":{"line":87,"column":47},"end":{"line":87,"column":49}}]},"8":{"loc":{"start":{"line":91,"column":9},"end":{"line":91,"column":49}},"type":"cond-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":44}},{"start":{"line":91,"column":47},"end":{"line":91,"column":49}}]},"9":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":19}},{"start":{"line":186,"column":23},"end":{"line":186,"column":46}}]},"10":{"loc":{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":190,"column":4},"end":{"line":196,"column":5}},{"start":{"line":190,"column":4},"end":{"line":196,"column":5}}]},"11":{"loc":{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},"type":"if","locations":[{"start":{"line":193,"column":6},"end":{"line":195,"column":7}},{"start":{"line":193,"column":6},"end":{"line":195,"column":7}}]},"12":{"loc":{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":214,"column":5}},{"start":{"line":202,"column":4},"end":{"line":214,"column":5}}]},"13":{"loc":{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":205,"column":6},"end":{"line":213,"column":7}},{"start":{"line":205,"column":6},"end":{"line":213,"column":7}}]},"14":{"loc":{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":207,"column":13},"end":{"line":213,"column":7}},{"start":{"line":207,"column":13},"end":{"line":213,"column":7}}]},"15":{"loc":{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":209,"column":13},"end":{"line":213,"column":7}},{"start":{"line":209,"column":13},"end":{"line":213,"column":7}}]},"16":{"loc":{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},"type":"if","locations":[{"start":{"line":211,"column":13},"end":{"line":213,"column":7}},{"start":{"line":211,"column":13},"end":{"line":213,"column":7}}]},"17":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":76}},"type":"cond-expr","locations":[{"start":{"line":252,"column":46},"end":{"line":252,"column":62}},{"start":{"line":252,"column":65},"end":{"line":252,"column":76}}]},"18":{"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":43}},"type":"binary-expr","locations":[{"start":{"line":252,"column":11},"end":{"line":252,"column":23}},{"start":{"line":252,"column":27},"end":{"line":252,"column":43}}]},"19":{"loc":{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":263,"column":5}},{"start":{"line":256,"column":4},"end":{"line":263,"column":5}}]},"20":{"loc":{"start":{"line":256,"column":8},"end":{"line":256,"column":41}},"type":"binary-expr","locations":[{"start":{"line":256,"column":8},"end":{"line":256,"column":28}},{"start":{"line":256,"column":32},"end":{"line":256,"column":41}}]},"21":{"loc":{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},"type":"if","locations":[{"start":{"line":261,"column":11},"end":{"line":263,"column":5}},{"start":{"line":261,"column":11},"end":{"line":263,"column":5}}]},"22":{"loc":{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":271,"column":5}},{"start":{"line":269,"column":4},"end":{"line":271,"column":5}}]},"23":{"loc":{"start":{"line":270,"column":13},"end":{"line":270,"column":106}},"type":"cond-expr","locations":[{"start":{"line":270,"column":55},"end":{"line":270,"column":86}},{"start":{"line":270,"column":89},"end":{"line":270,"column":106}}]},"24":{"loc":{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},"type":"if","locations":[{"start":{"line":299,"column":4},"end":{"line":302,"column":5}},{"start":{"line":299,"column":4},"end":{"line":302,"column":5}}]},"25":{"loc":{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},"type":"if","locations":[{"start":{"line":309,"column":4},"end":{"line":323,"column":5}},{"start":{"line":309,"column":4},"end":{"line":323,"column":5}}]},"26":{"loc":{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},"type":"if","locations":[{"start":{"line":310,"column":6},"end":{"line":322,"column":7}},{"start":{"line":310,"column":6},"end":{"line":322,"column":7}}]},"27":{"loc":{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},"type":"if","locations":[{"start":{"line":349,"column":6},"end":{"line":356,"column":7}},{"start":{"line":349,"column":6},"end":{"line":356,"column":7}}]},"28":{"loc":{"start":{"line":374,"column":11},"end":{"line":374,"column":59}},"type":"binary-expr","locations":[{"start":{"line":374,"column":11},"end":{"line":374,"column":29}},{"start":{"line":374,"column":33},"end":{"line":374,"column":59}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":1,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":1,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":1,"108":0,"109":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"0":[1,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6354093998772b349f6e4a9ca75f433bf26d3caf"},"/Users/garethjones/stuff/log4js-node/lib/date_format.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/date_format.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":74}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":9,"column":20},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"7":{"start":{"line":13,"column":2},"end":{"line":13,"column":21}},"8":{"start":{"line":17,"column":2},"end":{"line":17,"column":34}},"9":{"start":{"line":27,"column":13},"end":{"line":27,"column":37}},"10":{"start":{"line":28,"column":10},"end":{"line":28,"column":37}},"11":{"start":{"line":29,"column":10},"end":{"line":29,"column":25}},"12":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"13":{"start":{"line":31,"column":4},"end":{"line":31,"column":16}},"14":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"15":{"start":{"line":34,"column":4},"end":{"line":34,"column":16}},"16":{"start":{"line":36,"column":2},"end":{"line":36,"column":56}},"17":{"start":{"line":39,"column":0},"end":{"line":72,"column":2}},"18":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"19":{"start":{"line":41,"column":4},"end":{"line":41,"column":26}},"20":{"start":{"line":42,"column":4},"end":{"line":42,"column":18}},"21":{"start":{"line":43,"column":4},"end":{"line":43,"column":43}},"22":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"23":{"start":{"line":47,"column":4},"end":{"line":47,"column":46}},"24":{"start":{"line":50,"column":2},"end":{"line":50,"column":60}},"25":{"start":{"line":51,"column":15},"end":{"line":51,"column":41}},"26":{"start":{"line":52,"column":17},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":20},"end":{"line":53,"column":50}},"28":{"start":{"line":54,"column":21},"end":{"line":54,"column":78}},"29":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"30":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"31":{"start":{"line":57,"column":18},"end":{"line":57,"column":47}},"32":{"start":{"line":58,"column":18},"end":{"line":58,"column":47}},"33":{"start":{"line":59,"column":23},"end":{"line":59,"column":65}},"34":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"35":{"start":{"line":61,"column":2},"end":{"line":61,"column":60}},"36":{"start":{"line":62,"column":20},"end":{"line":70,"column":29}},"37":{"start":{"line":71,"column":2},"end":{"line":71,"column":19}}},"fnMap":{"0":{"name":"padWithZeros","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":21}},"loc":{"start":{"line":8,"column":38},"end":{"line":14,"column":1}}},"1":{"name":"addZero","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":26},"end":{"line":18,"column":1}}},"2":{"name":"offset","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":32},"end":{"line":37,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":26},"end":{"line":39,"column":27}},"loc":{"start":{"line":39,"column":66},"end":{"line":72,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{"line":30,"column":2},"end":{"line":32,"column":3}}]},"1":{"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},{"start":{"line":33,"column":2},"end":{"line":35,"column":3}}]},"2":{"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":55}},"type":"cond-expr","locations":[{"start":{"line":36,"column":30},"end":{"line":36,"column":41}},{"start":{"line":36,"column":44},"end":{"line":36,"column":55}}]},"3":{"loc":{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":44,"column":3}},{"start":{"line":40,"column":2},"end":{"line":44,"column":3}}]},"4":{"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":55,"column":69}},"type":"cond-expr","locations":[{"start":{"line":55,"column":47},"end":{"line":55,"column":56}},{"start":{"line":55,"column":59},"end":{"line":55,"column":69}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":1,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e195345b40a2bfb371bb111a01d17d228c913128"},"/Users/garethjones/stuff/log4js-node/lib/levels.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/levels.js","statementMap":{"0":{"start":{"line":9,"column":4},"end":{"line":9,"column":23}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":42}},"9":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":39}},"11":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"12":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":24}},"14":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"15":{"start":{"line":52,"column":4},"end":{"line":52,"column":43}},"16":{"start":{"line":53,"column":4},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"18":{"start":{"line":57,"column":4},"end":{"line":57,"column":62}},"19":{"start":{"line":60,"column":2},"end":{"line":60,"column":34}},"20":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"21":{"start":{"line":66,"column":23},"end":{"line":66,"column":45}},"22":{"start":{"line":67,"column":4},"end":{"line":67,"column":32}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"24":{"start":{"line":72,"column":0},"end":{"line":85,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":13},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":34},"end":{"line":22,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":37},"end":{"line":29,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":31,"column":24},"end":{"line":36,"column":3}}},"5":{"name":"toLevel","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":37},"end":{"line":61,"column":1}}},"6":{"name":"getLevel","decl":{"start":{"line":63,"column":9},"end":{"line":63,"column":17}},"loc":{"start":{"line":63,"column":28},"end":{"line":70,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{"line":32,"column":4},"end":{"line":34,"column":5}}]},"3":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}]},"4":{"loc":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},{"start":{"line":51,"column":2},"end":{"line":54,"column":3}}]},"5":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}]},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":61}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":45}},{"start":{"line":57,"column":49},"end":{"line":57,"column":61}}]},"7":{"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},{"start":{"line":65,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":9,"1":9,"2":7,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":7,"13":0,"14":7,"15":0,"16":0,"17":7,"18":7,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1},"f":{"0":9,"1":7,"2":0,"3":0,"4":0,"5":7,"6":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,7],"4":[0,7],"5":[7,0],"6":[7,0],"7":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"daae16d9a9a708cc048c35299774fc26e22cf555"},"/Users/garethjones/stuff/log4js-node/lib/logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":21},"end":{"line":6,"column":38}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":36}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":27}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":32}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":23}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":25}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":50,"column":4},"end":{"line":50,"column":45}},"11":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"12":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":67}},"14":{"start":{"line":62,"column":4},"end":{"line":62,"column":22}},"15":{"start":{"line":68,"column":17},"end":{"line":68,"column":38}},"16":{"start":{"line":69,"column":21},"end":{"line":69,"column":57}},"17":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":13}},"19":{"start":{"line":73,"column":4},"end":{"line":73,"column":39}},"20":{"start":{"line":77,"column":4},"end":{"line":77,"column":54}},"21":{"start":{"line":81,"column":25},"end":{"line":81,"column":75}},"22":{"start":{"line":82,"column":4},"end":{"line":82,"column":35}},"23":{"start":{"line":86,"column":0},"end":{"line":86,"column":43}},"24":{"start":{"line":87,"column":0},"end":{"line":87,"column":38}},"25":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"26":{"start":{"line":92,"column":16},"end":{"line":92,"column":38}},"27":{"start":{"line":94,"column":24},"end":{"line":94,"column":54}},"28":{"start":{"line":95,"column":22},"end":{"line":95,"column":81}},"29":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}},"30":{"start":{"line":96,"column":24},"end":{"line":96,"column":75}},"31":{"start":{"line":98,"column":2},"end":{"line":100,"column":4}},"32":{"start":{"line":99,"column":4},"end":{"line":99,"column":49}},"33":{"start":{"line":102,"column":2},"end":{"line":109,"column":4}},"34":{"start":{"line":105,"column":17},"end":{"line":105,"column":38}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":117,"column":2},"end":{"line":117,"column":27}},"38":{"start":{"line":125,"column":2},"end":{"line":125,"column":26}},"39":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"40":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"41":{"start":{"line":130,"column":0},"end":{"line":130,"column":57}},"42":{"start":{"line":131,"column":0},"end":{"line":131,"column":55}},"43":{"start":{"line":132,"column":0},"end":{"line":132,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":49},"end":{"line":32,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":27},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":65,"column":8},"end":{"line":74,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":29},"end":{"line":78,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":20},"end":{"line":83,"column":3}}},"7":{"name":"addLevelMethods","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":33},"end":{"line":110,"column":1}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":95,"column":57},"end":{"line":95,"column":58}},"loc":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":50},"end":{"line":98,"column":51}},"loc":{"start":{"line":98,"column":62},"end":{"line":100,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":34},"end":{"line":102,"column":35}},"loc":{"start":{"line":102,"column":46},"end":{"line":109,"column":3}}},"11":{"name":"disableAllLogWrites","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":28}},"loc":{"start":{"line":116,"column":31},"end":{"line":118,"column":1}}},"12":{"name":"enableAllLogWrites","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":27}},"loc":{"start":{"line":124,"column":30},"end":{"line":126,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"type":"binary-expr","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}}]},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":4},"end":{"line":54,"column":5}}]},"2":{"loc":{"start":{"line":58,"column":39},"end":{"line":58,"column":65}},"type":"binary-expr","locations":[{"start":{"line":58,"column":39},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":65}}]},"3":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}]},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}}]},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":106,"column":54}},"type":"binary-expr","locations":[{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},{"start":{"line":106,"column":28},"end":{"line":106,"column":54}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":1,"24":1,"25":1,"26":7,"27":7,"28":7,"29":0,"30":7,"31":7,"32":0,"33":7,"34":0,"35":0,"36":0,"37":1,"38":2,"39":1,"40":1,"41":1,"42":1,"43":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":7,"8":0,"9":0,"10":0,"11":1,"12":2},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7d8e54612a5d21505ecc3cd8c5eea114082c17db"},"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/connect-logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":7,"column":23},"end":{"line":10,"column":18}},"2":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"3":{"start":{"line":43,"column":4},"end":{"line":43,"column":28}},"4":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"5":{"start":{"line":45,"column":4},"end":{"line":45,"column":34}},"6":{"start":{"line":47,"column":4},"end":{"line":47,"column":17}},"7":{"start":{"line":50,"column":21},"end":{"line":50,"column":30}},"8":{"start":{"line":51,"column":14},"end":{"line":51,"column":56}},"9":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"10":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"11":{"start":{"line":55,"column":2},"end":{"line":112,"column":4}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"13":{"start":{"line":57,"column":22},"end":{"line":57,"column":36}},"14":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"15":{"start":{"line":60,"column":46},"end":{"line":60,"column":60}},"16":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"17":{"start":{"line":63,"column":20},"end":{"line":63,"column":30}},"18":{"start":{"line":64,"column":24},"end":{"line":64,"column":37}},"19":{"start":{"line":67,"column":6},"end":{"line":67,"column":26}},"20":{"start":{"line":70,"column":6},"end":{"line":85,"column":8}},"21":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"22":{"start":{"line":72,"column":8},"end":{"line":72,"column":37}},"23":{"start":{"line":74,"column":8},"end":{"line":74,"column":32}},"24":{"start":{"line":75,"column":8},"end":{"line":75,"column":38}},"25":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"26":{"start":{"line":79,"column":10},"end":{"line":79,"column":30}},"27":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"28":{"start":{"line":80,"column":27},"end":{"line":80,"column":47}},"29":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"30":{"start":{"line":81,"column":27},"end":{"line":81,"column":48}},"31":{"start":{"line":83,"column":10},"end":{"line":83,"column":61}},"32":{"start":{"line":88,"column":6},"end":{"line":107,"column":9}},"33":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"34":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"35":{"start":{"line":92,"column":10},"end":{"line":92,"column":30}},"36":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"37":{"start":{"line":93,"column":37},"end":{"line":93,"column":57}},"38":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"39":{"start":{"line":94,"column":37},"end":{"line":94,"column":58}},"40":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"41":{"start":{"line":98,"column":33},"end":{"line":98,"column":79}},"42":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"43":{"start":{"line":101,"column":25},"end":{"line":101,"column":74}},"44":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}},"45":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"46":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"47":{"start":{"line":104,"column":12},"end":{"line":104,"column":63}},"48":{"start":{"line":111,"column":4},"end":{"line":111,"column":18}},"49":{"start":{"line":126,"column":28},"end":{"line":138,"column":3}},"50":{"start":{"line":127,"column":14},"end":{"line":127,"column":28}},"51":{"start":{"line":128,"column":4},"end":{"line":136,"column":5}},"52":{"start":{"line":129,"column":6},"end":{"line":135,"column":7}},"53":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"54":{"start":{"line":133,"column":10},"end":{"line":133,"column":27}},"55":{"start":{"line":137,"column":4},"end":{"line":137,"column":13}},"56":{"start":{"line":140,"column":24},"end":{"line":140,"column":26}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":66}},"58":{"start":{"line":142,"column":2},"end":{"line":142,"column":72}},"59":{"start":{"line":143,"column":2},"end":{"line":143,"column":72}},"60":{"start":{"line":144,"column":2},"end":{"line":144,"column":68}},"61":{"start":{"line":145,"column":2},"end":{"line":145,"column":92}},"62":{"start":{"line":146,"column":2},"end":{"line":146,"column":81}},"63":{"start":{"line":147,"column":2},"end":{"line":147,"column":80}},"64":{"start":{"line":148,"column":2},"end":{"line":151,"column":5}},"65":{"start":{"line":152,"column":2},"end":{"line":155,"column":5}},"66":{"start":{"line":156,"column":2},"end":{"line":166,"column":5}},"67":{"start":{"line":167,"column":2},"end":{"line":167,"column":87}},"68":{"start":{"line":168,"column":2},"end":{"line":173,"column":5}},"69":{"start":{"line":174,"column":2},"end":{"line":179,"column":5}},"70":{"start":{"line":177,"column":6},"end":{"line":177,"column":46}},"71":{"start":{"line":180,"column":2},"end":{"line":187,"column":5}},"72":{"start":{"line":183,"column":6},"end":{"line":185,"column":50}},"73":{"start":{"line":189,"column":2},"end":{"line":189,"column":63}},"74":{"start":{"line":203,"column":2},"end":{"line":203,"column":36}},"75":{"start":{"line":215,"column":2},"end":{"line":217,"column":3}},"76":{"start":{"line":216,"column":4},"end":{"line":216,"column":62}},"77":{"start":{"line":218,"column":2},"end":{"line":218,"column":13}},"78":{"start":{"line":249,"column":15},"end":{"line":249,"column":19}},"79":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"80":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"81":{"start":{"line":253,"column":6},"end":{"line":253,"column":21}},"82":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"83":{"start":{"line":257,"column":6},"end":{"line":257,"column":33}},"84":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"85":{"start":{"line":262,"column":31},"end":{"line":262,"column":80}},"86":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"87":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"88":{"start":{"line":267,"column":2},"end":{"line":267,"column":16}},"89":{"start":{"line":270,"column":0},"end":{"line":270,"column":41}}},"fnMap":{"0":{"name":"getLogger","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":39},"end":{"line":113,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":10}},"loc":{"start":{"line":55,"column":29},"end":{"line":112,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":70,"column":22},"end":{"line":70,"column":23}},"loc":{"start":{"line":70,"column":41},"end":{"line":85,"column":7}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":23},"end":{"line":88,"column":24}},"loc":{"start":{"line":88,"column":29},"end":{"line":107,"column":7}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":39},"end":{"line":101,"column":40}},"loc":{"start":{"line":101,"column":46},"end":{"line":101,"column":73}}},"5":{"name":"assembleTokens","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":48},"end":{"line":190,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":126,"column":28},"end":{"line":126,"column":29}},"loc":{"start":{"line":126,"column":39},"end":{"line":138,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":176,"column":17},"end":{"line":176,"column":18}},"loc":{"start":{"line":176,"column":37},"end":{"line":178,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":182,"column":17},"end":{"line":182,"column":18}},"loc":{"start":{"line":182,"column":37},"end":{"line":186,"column":5}}},"9":{"name":"getUrl","decl":{"start":{"line":202,"column":9},"end":{"line":202,"column":15}},"loc":{"start":{"line":202,"column":21},"end":{"line":204,"column":1}}},"10":{"name":"format","decl":{"start":{"line":214,"column":9},"end":{"line":214,"column":15}},"loc":{"start":{"line":214,"column":29},"end":{"line":219,"column":1}}},"11":{"name":"createNoLogCondition","decl":{"start":{"line":248,"column":9},"end":{"line":248,"column":29}},"loc":{"start":{"line":248,"column":37},"end":{"line":268,"column":1}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":262,"column":41},"end":{"line":262,"column":42}},"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}}}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":3}},{"start":{"line":42,"column":2},"end":{"line":48,"column":3}}]},"1":{"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":27}},"type":"binary-expr","locations":[{"start":{"line":43,"column":14},"end":{"line":43,"column":21}},{"start":{"line":43,"column":25},"end":{"line":43,"column":27}}]},"2":{"loc":{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":9},"end":{"line":48,"column":3}},{"start":{"line":44,"column":9},"end":{"line":48,"column":3}}]},"3":{"loc":{"start":{"line":52,"column":14},"end":{"line":52,"column":46}},"type":"binary-expr","locations":[{"start":{"line":52,"column":14},"end":{"line":52,"column":28}},{"start":{"line":52,"column":32},"end":{"line":52,"column":46}}]},"4":{"loc":{"start":{"line":53,"column":16},"end":{"line":53,"column":74}},"type":"cond-expr","locations":[{"start":{"line":53,"column":32},"end":{"line":53,"column":67}},{"start":{"line":53,"column":70},"end":{"line":53,"column":74}}]},"5":{"loc":{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":57,"column":36}},{"start":{"line":57,"column":4},"end":{"line":57,"column":36}}]},"6":{"loc":{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":60,"column":60}},{"start":{"line":60,"column":4},"end":{"line":60,"column":60}}]},"7":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":44}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":13}},{"start":{"line":60,"column":17},"end":{"line":60,"column":44}}]},"8":{"loc":{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":108,"column":5}},{"start":{"line":62,"column":4},"end":{"line":108,"column":5}}]},"9":{"loc":{"start":{"line":62,"column":8},"end":{"line":62,"column":68}},"type":"binary-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":40}},{"start":{"line":62,"column":44},"end":{"line":62,"column":68}}]},"10":{"loc":{"start":{"line":75,"column":24},"end":{"line":75,"column":37}},"type":"binary-expr","locations":[{"start":{"line":75,"column":24},"end":{"line":75,"column":31}},{"start":{"line":75,"column":35},"end":{"line":75,"column":37}}]},"11":{"loc":{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":84,"column":9}},{"start":{"line":78,"column":8},"end":{"line":84,"column":9}}]},"12":{"loc":{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},"type":"if","locations":[{"start":{"line":80,"column":10},"end":{"line":80,"column":47}},{"start":{"line":80,"column":10},"end":{"line":80,"column":47}}]},"13":{"loc":{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},"type":"if","locations":[{"start":{"line":81,"column":10},"end":{"line":81,"column":48}},{"start":{"line":81,"column":10},"end":{"line":81,"column":48}}]},"14":{"loc":{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":95,"column":9}},{"start":{"line":91,"column":8},"end":{"line":95,"column":9}}]},"15":{"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":54}},"type":"binary-expr","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":26}},{"start":{"line":91,"column":30},"end":{"line":91,"column":54}}]},"16":{"loc":{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},"type":"if","locations":[{"start":{"line":93,"column":10},"end":{"line":93,"column":57}},{"start":{"line":93,"column":10},"end":{"line":93,"column":57}}]},"17":{"loc":{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},"type":"if","locations":[{"start":{"line":94,"column":10},"end":{"line":94,"column":58}},{"start":{"line":94,"column":10},"end":{"line":94,"column":58}}]},"18":{"loc":{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":106,"column":9}},{"start":{"line":97,"column":8},"end":{"line":106,"column":9}}]},"19":{"loc":{"start":{"line":98,"column":58},"end":{"line":98,"column":78}},"type":"binary-expr","locations":[{"start":{"line":98,"column":58},"end":{"line":98,"column":72}},{"start":{"line":98,"column":76},"end":{"line":98,"column":78}}]},"20":{"loc":{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},"type":"if","locations":[{"start":{"line":100,"column":10},"end":{"line":105,"column":11}},{"start":{"line":100,"column":10},"end":{"line":105,"column":11}}]},"21":{"loc":{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},"type":"if","locations":[{"start":{"line":102,"column":12},"end":{"line":102,"column":50}},{"start":{"line":102,"column":12},"end":{"line":102,"column":50}}]},"22":{"loc":{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":134,"column":9}},{"start":{"line":132,"column":8},"end":{"line":134,"column":9}}]},"23":{"loc":{"start":{"line":145,"column":54},"end":{"line":145,"column":88}},"type":"binary-expr","locations":[{"start":{"line":145,"column":54},"end":{"line":145,"column":70}},{"start":{"line":145,"column":74},"end":{"line":145,"column":88}}]},"24":{"loc":{"start":{"line":150,"column":17},"end":{"line":150,"column":66}},"type":"binary-expr","locations":[{"start":{"line":150,"column":17},"end":{"line":150,"column":36}},{"start":{"line":150,"column":40},"end":{"line":150,"column":60}},{"start":{"line":150,"column":64},"end":{"line":150,"column":66}}]},"25":{"loc":{"start":{"line":158,"column":17},"end":{"line":165,"column":5}},"type":"binary-expr","locations":[{"start":{"line":158,"column":17},"end":{"line":158,"column":47}},{"start":{"line":159,"column":4},"end":{"line":159,"column":10}},{"start":{"line":160,"column":4},"end":{"line":160,"column":22}},{"start":{"line":161,"column":5},"end":{"line":161,"column":15}},{"start":{"line":162,"column":7},"end":{"line":162,"column":31}},{"start":{"line":163,"column":9},"end":{"line":163,"column":26}},{"start":{"line":163,"column":30},"end":{"line":163,"column":61}}]},"26":{"loc":{"start":{"line":170,"column":17},"end":{"line":172,"column":7}},"type":"binary-expr","locations":[{"start":{"line":170,"column":18},"end":{"line":170,"column":30}},{"start":{"line":170,"column":34},"end":{"line":170,"column":64}},{"start":{"line":171,"column":5},"end":{"line":171,"column":18}},{"start":{"line":171,"column":22},"end":{"line":171,"column":53}},{"start":{"line":172,"column":4},"end":{"line":172,"column":7}}]},"27":{"loc":{"start":{"line":183,"column":13},"end":{"line":185,"column":49}},"type":"cond-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},{"start":{"line":185,"column":11},"end":{"line":185,"column":48}}]},"28":{"loc":{"start":{"line":184,"column":14},"end":{"line":184,"column":71}},"type":"binary-expr","locations":[{"start":{"line":184,"column":14},"end":{"line":184,"column":47}},{"start":{"line":184,"column":51},"end":{"line":184,"column":71}}]},"29":{"loc":{"start":{"line":185,"column":11},"end":{"line":185,"column":48}},"type":"binary-expr","locations":[{"start":{"line":185,"column":11},"end":{"line":185,"column":24}},{"start":{"line":185,"column":28},"end":{"line":185,"column":48}}]},"30":{"loc":{"start":{"line":203,"column":9},"end":{"line":203,"column":35}},"type":"binary-expr","locations":[{"start":{"line":203,"column":9},"end":{"line":203,"column":24}},{"start":{"line":203,"column":28},"end":{"line":203,"column":35}}]},"31":{"loc":{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},"type":"if","locations":[{"start":{"line":251,"column":2},"end":{"line":265,"column":3}},{"start":{"line":251,"column":2},"end":{"line":265,"column":3}}]},"32":{"loc":{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},"type":"if","locations":[{"start":{"line":252,"column":4},"end":{"line":254,"column":5}},{"start":{"line":252,"column":4},"end":{"line":254,"column":5}}]},"33":{"loc":{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},"type":"if","locations":[{"start":{"line":256,"column":4},"end":{"line":258,"column":5}},{"start":{"line":256,"column":4},"end":{"line":258,"column":5}}]},"34":{"loc":{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},"type":"if","locations":[{"start":{"line":260,"column":4},"end":{"line":264,"column":5}},{"start":{"line":260,"column":4},"end":{"line":264,"column":5}}]},"35":{"loc":{"start":{"line":262,"column":49},"end":{"line":262,"column":78}},"type":"cond-expr","locations":[{"start":{"line":262,"column":62},"end":{"line":262,"column":72}},{"start":{"line":262,"column":75},"end":{"line":262,"column":78}}]}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0,0],"25":[0,0,0,0,0,0,0],"26":[0,0,0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8de6ff12985e168d800fe4d220a8a32e3c1dbe2a"},"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":37}},"1":{"start":{"line":6,"column":2},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":2},"end":{"line":9,"column":4}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":70}},"4":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":63}},"6":{"start":{"line":17,"column":2},"end":{"line":17,"column":55}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}}},"fnMap":{"0":{"name":"stdoutAppender","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":48},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":10}},"loc":{"start":{"line":7,"column":33},"end":{"line":9,"column":3}}},"2":{"name":"configure","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":18}},"loc":{"start":{"line":12,"column":27},"end":{"line":18,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":43}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":17}},{"start":{"line":6,"column":21},"end":{"line":6,"column":43}}]},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}]}},"s":{"0":1,"1":2,"2":2,"3":0,"4":2,"5":0,"6":2,"7":1,"8":1},"f":{"0":2,"1":0,"2":2},"b":{"0":[2,2],"1":[0,2]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7fe10c84b315d3ba3e07ce62d5e48e59666eb827"}} \ No newline at end of file diff --git a/node_modules/log4js/.nyc_output/fedad7eb0a87bc8817b02fd4d7a7b248.json b/node_modules/log4js/.nyc_output/fedad7eb0a87bc8817b02fd4d7a7b248.json deleted file mode 100644 index 452e45b..0000000 --- a/node_modules/log4js/.nyc_output/fedad7eb0a87bc8817b02fd4d7a7b248.json +++ /dev/null @@ -1 +0,0 @@ -{"/Users/garethjones/stuff/log4js-node/lib/levels.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/levels.js","statementMap":{"0":{"start":{"line":9,"column":4},"end":{"line":9,"column":23}},"1":{"start":{"line":10,"column":4},"end":{"line":10,"column":29}},"2":{"start":{"line":14,"column":4},"end":{"line":14,"column":25}},"3":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"4":{"start":{"line":19,"column":6},"end":{"line":19,"column":39}},"5":{"start":{"line":21,"column":4},"end":{"line":21,"column":42}},"6":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"7":{"start":{"line":26,"column":6},"end":{"line":26,"column":39}},"8":{"start":{"line":28,"column":4},"end":{"line":28,"column":42}},"9":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"10":{"start":{"line":33,"column":6},"end":{"line":33,"column":39}},"11":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"12":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":24}},"14":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"15":{"start":{"line":52,"column":4},"end":{"line":52,"column":43}},"16":{"start":{"line":53,"column":4},"end":{"line":53,"column":16}},"17":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"18":{"start":{"line":57,"column":4},"end":{"line":57,"column":62}},"19":{"start":{"line":60,"column":2},"end":{"line":60,"column":34}},"20":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"21":{"start":{"line":66,"column":23},"end":{"line":66,"column":45}},"22":{"start":{"line":67,"column":4},"end":{"line":67,"column":32}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":15}},"24":{"start":{"line":72,"column":0},"end":{"line":85,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":31},"end":{"line":11,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":13},"end":{"line":15,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":34},"end":{"line":22,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":24,"column":37},"end":{"line":29,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":31,"column":24},"end":{"line":36,"column":3}}},"5":{"name":"toLevel","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":37},"end":{"line":61,"column":1}}},"6":{"name":"getLevel","decl":{"start":{"line":63,"column":9},"end":{"line":63,"column":17}},"loc":{"start":{"line":63,"column":28},"end":{"line":70,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":20,"column":5}},{"start":{"line":18,"column":4},"end":{"line":20,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":5}},{"start":{"line":25,"column":4},"end":{"line":27,"column":5}}]},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},{"start":{"line":32,"column":4},"end":{"line":34,"column":5}}]},"3":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}]},"4":{"loc":{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},"type":"if","locations":[{"start":{"line":51,"column":2},"end":{"line":54,"column":3}},{"start":{"line":51,"column":2},"end":{"line":54,"column":3}}]},"5":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}]},"6":{"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":61}},"type":"binary-expr","locations":[{"start":{"line":57,"column":11},"end":{"line":57,"column":45}},{"start":{"line":57,"column":49},"end":{"line":57,"column":61}}]},"7":{"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"type":"if","locations":[{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},{"start":{"line":65,"column":2},"end":{"line":68,"column":3}}]}},"s":{"0":9,"1":9,"2":13,"3":8,"4":6,"5":8,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":15,"13":0,"14":15,"15":0,"16":0,"17":15,"18":15,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1},"f":{"0":9,"1":13,"2":8,"3":0,"4":0,"5":15,"6":0},"b":{"0":[6,2],"1":[0,0],"2":[0,0],"3":[0,15],"4":[0,15],"5":[15,0],"6":[15,0],"7":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"daae16d9a9a708cc048c35299774fc26e22cf555","contentHash":"de3beea1cbd1c093130b8e3a1963e9d2_9.0.1"},"/Users/garethjones/stuff/log4js-node/lib/logger.js":{"path":"/Users/garethjones/stuff/log4js-node/lib/logger.js","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":5,"column":34}},"1":{"start":{"line":6,"column":21},"end":{"line":6,"column":38}},"2":{"start":{"line":8,"column":25},"end":{"line":8,"column":36}},"3":{"start":{"line":10,"column":23},"end":{"line":10,"column":27}},"4":{"start":{"line":27,"column":4},"end":{"line":27,"column":32}},"5":{"start":{"line":28,"column":4},"end":{"line":28,"column":37}},"6":{"start":{"line":29,"column":4},"end":{"line":29,"column":21}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":23}},"8":{"start":{"line":31,"column":4},"end":{"line":31,"column":25}},"9":{"start":{"line":48,"column":4},"end":{"line":48,"column":12}},"10":{"start":{"line":50,"column":4},"end":{"line":50,"column":45}},"11":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"12":{"start":{"line":53,"column":6},"end":{"line":53,"column":27}},"13":{"start":{"line":58,"column":4},"end":{"line":58,"column":67}},"14":{"start":{"line":62,"column":4},"end":{"line":62,"column":22}},"15":{"start":{"line":68,"column":17},"end":{"line":68,"column":38}},"16":{"start":{"line":69,"column":21},"end":{"line":69,"column":57}},"17":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"18":{"start":{"line":71,"column":6},"end":{"line":71,"column":13}},"19":{"start":{"line":73,"column":4},"end":{"line":73,"column":39}},"20":{"start":{"line":77,"column":4},"end":{"line":77,"column":54}},"21":{"start":{"line":81,"column":25},"end":{"line":81,"column":75}},"22":{"start":{"line":82,"column":4},"end":{"line":82,"column":35}},"23":{"start":{"line":86,"column":0},"end":{"line":86,"column":43}},"24":{"start":{"line":87,"column":0},"end":{"line":87,"column":38}},"25":{"start":{"line":89,"column":0},"end":{"line":89,"column":86}},"26":{"start":{"line":92,"column":16},"end":{"line":92,"column":38}},"27":{"start":{"line":94,"column":24},"end":{"line":94,"column":54}},"28":{"start":{"line":95,"column":22},"end":{"line":95,"column":81}},"29":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}},"30":{"start":{"line":96,"column":24},"end":{"line":96,"column":75}},"31":{"start":{"line":98,"column":2},"end":{"line":100,"column":4}},"32":{"start":{"line":99,"column":4},"end":{"line":99,"column":49}},"33":{"start":{"line":102,"column":2},"end":{"line":109,"column":4}},"34":{"start":{"line":105,"column":17},"end":{"line":105,"column":38}},"35":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"36":{"start":{"line":107,"column":6},"end":{"line":107,"column":29}},"37":{"start":{"line":117,"column":2},"end":{"line":117,"column":27}},"38":{"start":{"line":125,"column":2},"end":{"line":125,"column":26}},"39":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"40":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"41":{"start":{"line":130,"column":0},"end":{"line":130,"column":57}},"42":{"start":{"line":131,"column":0},"end":{"line":131,"column":55}},"43":{"start":{"line":132,"column":0},"end":{"line":132,"column":49}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":49},"end":{"line":32,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":27},"end":{"line":55,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":3}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":65,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":65,"column":8},"end":{"line":74,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":76,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":76,"column":29},"end":{"line":78,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":80,"column":2},"end":{"line":80,"column":3}},"loc":{"start":{"line":80,"column":20},"end":{"line":83,"column":3}}},"7":{"name":"addLevelMethods","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":33},"end":{"line":110,"column":1}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":95,"column":57},"end":{"line":95,"column":58}},"loc":{"start":{"line":95,"column":62},"end":{"line":95,"column":80}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":98,"column":50},"end":{"line":98,"column":51}},"loc":{"start":{"line":98,"column":62},"end":{"line":100,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":102,"column":34},"end":{"line":102,"column":35}},"loc":{"start":{"line":102,"column":46},"end":{"line":109,"column":3}}},"11":{"name":"disableAllLogWrites","decl":{"start":{"line":116,"column":9},"end":{"line":116,"column":28}},"loc":{"start":{"line":116,"column":31},"end":{"line":118,"column":1}}},"12":{"name":"enableAllLogWrites","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":27}},"loc":{"start":{"line":124,"column":30},"end":{"line":126,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"type":"binary-expr","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":24}},{"start":{"line":50,"column":28},"end":{"line":50,"column":44}}]},"1":{"loc":{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":54,"column":5}},{"start":{"line":52,"column":4},"end":{"line":54,"column":5}}]},"2":{"loc":{"start":{"line":58,"column":39},"end":{"line":58,"column":65}},"type":"binary-expr","locations":[{"start":{"line":58,"column":39},"end":{"line":58,"column":49}},{"start":{"line":58,"column":53},"end":{"line":58,"column":65}}]},"3":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}]},"4":{"loc":{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":108,"column":5}},{"start":{"line":106,"column":4},"end":{"line":108,"column":5}}]},"5":{"loc":{"start":{"line":106,"column":8},"end":{"line":106,"column":54}},"type":"binary-expr","locations":[{"start":{"line":106,"column":8},"end":{"line":106,"column":24}},{"start":{"line":106,"column":28},"end":{"line":106,"column":54}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":2,"5":2,"6":2,"7":2,"8":2,"9":5,"10":5,"11":5,"12":2,"13":2,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":8,"21":2,"22":2,"23":1,"24":1,"25":1,"26":7,"27":7,"28":7,"29":0,"30":7,"31":7,"32":6,"33":7,"34":3,"35":3,"36":2,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1},"f":{"0":2,"1":5,"2":2,"3":0,"4":0,"5":8,"6":2,"7":7,"8":0,"9":6,"10":3,"11":1,"12":1},"b":{"0":[5,2],"1":[2,3],"2":[2,0],"3":[0,0],"4":[2,1],"5":[3,2]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7d8e54612a5d21505ecc3cd8c5eea114082c17db","contentHash":"00d625ca9babf994c26685dc45e2004b_9.0.1"}} \ No newline at end of file diff --git a/node_modules/log4js/.travis.yml b/node_modules/log4js/.travis.yml deleted file mode 100644 index c886a6e..0000000 --- a/node_modules/log4js/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -language: node_js -sudo: false -node_js: - - "6" - - "5" - - "4" - - "0.12" diff --git a/node_modules/log4js/LICENSE b/node_modules/log4js/LICENSE deleted file mode 100644 index e1f47dc..0000000 --- a/node_modules/log4js/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2015 Gareth Jones (with contributions from many other people) - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/node_modules/log4js/README.md b/node_modules/log4js/README.md deleted file mode 100644 index e3d28b8..0000000 --- a/node_modules/log4js/README.md +++ /dev/null @@ -1,151 +0,0 @@ -# log4js-node [![Build Status](https://secure.travis-ci.org/nomiddlename/log4js-node.png?branch=master)](http://travis-ci.org/nomiddlename/log4js-node) - -[![NPM](https://nodei.co/npm/log4js.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/log4js/) - -This is a conversion of the [log4js](https://github.com/stritti/log4js) -framework to work with [node](http://nodejs.org). I've mainly stripped out the browser-specific code and tidied up some of the javascript. - -Out of the box it supports the following features: - -* coloured console logging to stdout or stderr -* replacement of node's console.log functions (optional) -* file appender, with configurable log rolling based on file size or date -* SMTP appender -* GELF appender -* Loggly appender -* Logstash UDP appender -* logFaces appender -* multiprocess appender (useful when you've got worker processes) -* a logger for connect/express servers -* configurable log message layout/patterns -* different log levels for different log categories (make some parts of your app log as DEBUG, others only ERRORS, etc.) - -## Important changes in 1.0 - -The default appender has been changed from `console` to `stdout` - this alleviates a memory problem that happens when logging using console. If you're using log4js in a browser (via browserify), then you'll probably need to explicitly configure log4js to use the console appender now (unless browserify handles process.stdout). - -I'm also trying to move away from `vows` for the tests, and use `tape` instead. New tests should be added to `test/tape`, not the vows ones. - -log4js also no longer supports node versions below 0.12.x. - -NOTE: from log4js 0.5 onwards you'll need to explicitly enable replacement of node's console.log functions. Do this either by calling `log4js.replaceConsole()` or configuring with an object or json file like this: - -```javascript -{ - appenders: [ - { type: "console" } - ], - replaceConsole: true -} -``` - -## installation - -npm install log4js - - -## usage - -Minimalist version: -```javascript -var log4js = require('log4js'); -var logger = log4js.getLogger(); -logger.debug("Some debug messages"); -``` -By default, log4js outputs to stdout with the coloured layout (thanks to [masylum](http://github.com/masylum)), so for the above you would see: -```bash -[2010-01-17 11:43:37.987] [DEBUG] [default] - Some debug messages -``` -See example.js for a full example, but here's a snippet (also in fromreadme.js): -```javascript -var log4js = require('log4js'); -//console log is loaded by default, so you won't normally need to do this -//log4js.loadAppender('console'); -log4js.loadAppender('file'); -//log4js.addAppender(log4js.appenders.console()); -log4js.addAppender(log4js.appenders.file('logs/cheese.log'), 'cheese'); - -var logger = log4js.getLogger('cheese'); -logger.setLevel('ERROR'); - -logger.trace('Entering cheese testing'); -logger.debug('Got cheese.'); -logger.info('Cheese is Gouda.'); -logger.warn('Cheese is quite smelly.'); -logger.error('Cheese is too ripe!'); -logger.fatal('Cheese was breeding ground for listeria.'); -``` -Output: -```bash -[2010-01-17 11:43:37.987] [ERROR] cheese - Cheese is too ripe! -[2010-01-17 11:43:37.990] [FATAL] cheese - Cheese was breeding ground for listeria. -``` -The first 5 lines of the code above could also be written as: -```javascript -var log4js = require('log4js'); -log4js.configure({ - appenders: [ - { type: 'console' }, - { type: 'file', filename: 'logs/cheese.log', category: 'cheese' } - ] -}); -``` - -## configuration - -You can configure the appenders and log levels manually (as above), or provide a -configuration file (`log4js.configure('path/to/file.json')`), or a configuration object. The -configuration file location may also be specified via the environment variable -LOG4JS_CONFIG (`export LOG4JS_CONFIG=path/to/file.json`). -An example file can be found in `test/vows/log4js.json`. An example config file with log rolling is in `test/vows/with-log-rolling.json`. -You can configure log4js to check for configuration file changes at regular intervals, and if changed, reload. This allows changes to logging levels to occur without restarting the application. - -To turn it on and specify a period: - -```javascript -log4js.configure('file.json', { reloadSecs: 300 }); -``` -For FileAppender you can also pass the path to the log directory as an option where all your log files would be stored. - -```javascript -log4js.configure('my_log4js_configuration.json', { cwd: '/absolute/path/to/log/dir' }); -``` -If you have already defined an absolute path for one of the FileAppenders in the configuration file, you could add a "absolute": true to the particular FileAppender to override the cwd option passed. Here is an example configuration file: - -#### my_log4js_configuration.json #### -```json -{ - "appenders": [ - { - "type": "file", - "filename": "relative/path/to/log_file.log", - "maxLogSize": 20480, - "backups": 3, - "category": "relative-logger" - }, - { - "type": "file", - "absolute": true, - "filename": "/absolute/path/to/log_file.log", - "maxLogSize": 20480, - "backups": 10, - "category": "absolute-logger" - } - ] -} -``` -Documentation for most of the core appenders can be found on the [wiki](https://github.com/nomiddlename/log4js-node/wiki/Appenders), otherwise take a look at the tests and the examples. - -## Documentation -See the [wiki](https://github.com/nomiddlename/log4js-node/wiki). Improve the [wiki](https://github.com/nomiddlename/log4js-node/wiki), please. - -There's also [an example application](https://github.com/nomiddlename/log4js-example). - -## Contributing -Contributions welcome, but take a look at the [rules](https://github.com/nomiddlename/log4js-node/wiki/Contributing) first. - -## License - -The original log4js was distributed under the Apache 2.0 License, and so is this. I've tried to -keep the original copyright and author credits in place, except in sections that I have rewritten -extensively. diff --git a/node_modules/log4js/coverage/lcov-report/base.css b/node_modules/log4js/coverage/lcov-report/base.css deleted file mode 100644 index 417c7ad..0000000 --- a/node_modules/log4js/coverage/lcov-report/base.css +++ /dev/null @@ -1,212 +0,0 @@ -body, html { - margin:0; padding: 0; - height: 100%; -} -body { - font-family: Helvetica Neue, Helvetica, Arial; - font-size: 14px; - color:#333; -} -.small { font-size: 12px; } -*, *:after, *:before { - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; - } -h1 { font-size: 20px; margin: 0;} -h2 { font-size: 14px; } -pre { - font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; - margin: 0; - padding: 0; - -moz-tab-size: 2; - -o-tab-size: 2; - tab-size: 2; -} -a { color:#0074D9; text-decoration:none; } -a:hover { text-decoration:underline; } -.strong { font-weight: bold; } -.space-top1 { padding: 10px 0 0 0; } -.pad2y { padding: 20px 0; } -.pad1y { padding: 10px 0; } -.pad2x { padding: 0 20px; } -.pad2 { padding: 20px; } -.pad1 { padding: 10px; } -.space-left2 { padding-left:55px; } -.space-right2 { padding-right:20px; } -.center { text-align:center; } -.clearfix { display:block; } -.clearfix:after { - content:''; - display:block; - height:0; - clear:both; - visibility:hidden; - } -.fl { float: left; } -@media only screen and (max-width:640px) { - .col3 { width:100%; max-width:100%; } - .hide-mobile { display:none!important; } -} - -.quiet { - color: #7f7f7f; - color: rgba(0,0,0,0.5); -} -.quiet a { opacity: 0.7; } - -.fraction { - font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; - font-size: 10px; - color: #555; - background: #E8E8E8; - padding: 4px 5px; - border-radius: 3px; - vertical-align: middle; -} - -div.path a:link, div.path a:visited { color: #333; } -table.coverage { - border-collapse: collapse; - margin: 10px 0 0 0; - padding: 0; -} - -table.coverage td { - margin: 0; - padding: 0; - vertical-align: top; -} -table.coverage td.line-count { - text-align: right; - padding: 0 5px 0 20px; -} -table.coverage td.line-coverage { - text-align: right; - padding-right: 10px; - min-width:20px; -} - -table.coverage td span.cline-any { - display: inline-block; - padding: 0 5px; - width: 100%; -} -.missing-if-branch { - display: inline-block; - margin-right: 5px; - border-radius: 3px; - position: relative; - padding: 0 4px; - background: #333; - color: yellow; -} - -.skip-if-branch { - display: none; - margin-right: 10px; - position: relative; - padding: 0 4px; - background: #ccc; - color: white; -} -.missing-if-branch .typ, .skip-if-branch .typ { - color: inherit !important; -} -.coverage-summary { - border-collapse: collapse; - width: 100%; -} -.coverage-summary tr { border-bottom: 1px solid #bbb; } -.keyline-all { border: 1px solid #ddd; } -.coverage-summary td, .coverage-summary th { padding: 10px; } -.coverage-summary tbody { border: 1px solid #bbb; } -.coverage-summary td { border-right: 1px solid #bbb; } -.coverage-summary td:last-child { border-right: none; } -.coverage-summary th { - text-align: left; - font-weight: normal; - white-space: nowrap; -} -.coverage-summary th.file { border-right: none !important; } -.coverage-summary th.pct { } -.coverage-summary th.pic, -.coverage-summary th.abs, -.coverage-summary td.pct, -.coverage-summary td.abs { text-align: right; } -.coverage-summary td.file { white-space: nowrap; } -.coverage-summary td.pic { min-width: 120px !important; } -.coverage-summary tfoot td { } - -.coverage-summary .sorter { - height: 10px; - width: 7px; - display: inline-block; - margin-left: 0.5em; - background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; -} -.coverage-summary .sorted .sorter { - background-position: 0 -20px; -} -.coverage-summary .sorted-desc .sorter { - background-position: 0 -10px; -} -.status-line { height: 10px; } -/* dark red */ -.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } -.low .chart { border:1px solid #C21F39 } -/* medium red */ -.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } -/* light red */ -.low, .cline-no { background:#FCE1E5 } -/* light green */ -.high, .cline-yes { background:rgb(230,245,208) } -/* medium green */ -.cstat-yes { background:rgb(161,215,106) } -/* dark green */ -.status-line.high, .high .cover-fill { background:rgb(77,146,33) } -.high .chart { border:1px solid rgb(77,146,33) } - - -.medium .chart { border:1px solid #666; } -.medium .cover-fill { background: #666; } - -.cbranch-no { background: yellow !important; color: #111; } - -.cstat-skip { background: #ddd; color: #111; } -.fstat-skip { background: #ddd; color: #111 !important; } -.cbranch-skip { background: #ddd !important; color: #111; } - -span.cline-neutral { background: #eaeaea; } -.medium { background: #eaeaea; } - -.cover-fill, .cover-empty { - display:inline-block; - height: 12px; -} -.chart { - line-height: 0; -} -.cover-empty { - background: white; -} -.cover-full { - border-right: none !important; -} -pre.prettyprint { - border: none !important; - padding: 0 !important; - margin: 0 !important; -} -.com { color: #999 !important; } -.ignore-none { color: #999; font-weight: normal; } - -.wrapper { - min-height: 100%; - height: auto !important; - height: 100%; - margin: 0 auto -48px; -} -.footer, .push { - height: 48px; -} diff --git a/node_modules/log4js/coverage/lcov-report/index.html b/node_modules/log4js/coverage/lcov-report/index.html deleted file mode 100644 index 431f12f..0000000 --- a/node_modules/log4js/coverage/lcov-report/index.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - Code coverage report for All files - - - - - - - -
-
-

- All files -

-
-
- 36.52% - Statements - 210/575 -
-
- 23.45% - Branches - 72/307 -
-
- 34.53% - Functions - 48/139 -
-
- 37.23% - Lines - 210/564 -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
lib
35.4%177/50022.43%61/27232.77%39/11936.2%177/489
lib/appenders
44%33/7531.43%11/3545%9/2044%33/75
-
-
- - - - - - - diff --git a/node_modules/log4js/coverage/lcov-report/lib/appenders/index.html b/node_modules/log4js/coverage/lcov-report/lib/appenders/index.html deleted file mode 100644 index fd8c9b1..0000000 --- a/node_modules/log4js/coverage/lcov-report/lib/appenders/index.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - Code coverage report for lib/appenders - - - - - - - -
-
-

- All files lib/appenders -

-
-
- 44% - Statements - 33/75 -
-
- 31.43% - Branches - 11/35 -
-
- 45% - Functions - 9/20 -
-
- 44% - Lines - 33/75 -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
multiprocess.js
39.39%26/6625.81%8/3141.18%7/1739.39%26/66
stdout.js
77.78%7/975%3/466.67%2/377.78%7/9
-
-
- - - - - - - diff --git a/node_modules/log4js/coverage/lcov-report/lib/appenders/multiprocess.js.html b/node_modules/log4js/coverage/lcov-report/lib/appenders/multiprocess.js.html deleted file mode 100644 index 34929be..0000000 --- a/node_modules/log4js/coverage/lcov-report/lib/appenders/multiprocess.js.html +++ /dev/null @@ -1,539 +0,0 @@ - - - - Code coverage report for lib/appenders/multiprocess.js - - - - - - - -
-
-

- All files / lib/appenders multiprocess.js -

-
-
- 39.39% - Statements - 26/66 -
-
- 25.81% - Branches - 8/31 -
-
- 41.18% - Functions - 7/17 -
-
- 39.39% - Lines - 26/66 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159  -  -1x -1x -  -1x -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -1x -  -1x -  -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -1x -  -  -  -  -  -  -  -1x -1x -1x -1x -  -1x -  -  -  -1x -1x -1x -1x -1x -1x -  -  -  -  -  -1x -1x -1x - 
'use strict';
- 
-const log4js = require('../log4js');
-const net = require('net');
- 
-const END_MSG = '__LOG4JS__';
-const servers = [];
- 
-/**
- * Creates a server, listening on config.loggerPort, config.loggerHost.
- * Output goes to config.actualAppender (config.appender is used to
- * set up that appender).
- */
-function logServer(config) {
-  /**
-   * Takes a utf-8 string, returns an object with
-   * the correct log properties.
-   */
-  function deserializeLoggingEvent(clientSocket, msg) {
-    let loggingEvent;
-    try {
-      loggingEvent = JSON.parse(msg);
-      loggingEvent.startTime = new Date(loggingEvent.startTime);
-      loggingEvent.level = log4js.levels.toLevel(loggingEvent.level.levelStr);
-    } catch (e) {
-      // JSON.parse failed, just log the contents probably a naughty.
-      loggingEvent = {
-        startTime: new Date(),
-        categoryName: 'log4js',
-        level: log4js.levels.ERROR,
-        data: ['Unable to parse log:', msg]
-      };
-    }
- 
-    loggingEvent.remoteAddress = clientSocket.remoteAddress;
-    loggingEvent.remotePort = clientSocket.remotePort;
- 
-    return loggingEvent;
-  }
- 
-  const actualAppender = config.actualAppender;
- 
-  /* eslint prefer-arrow-callback:0 */
-  const server = net.createServer(function serverCreated(clientSocket) {
-    clientSocket.setEncoding('utf8');
-    let logMessage = '';
- 
-    function logTheMessage(msg) {
-      if (logMessage.length > 0) {
-        actualAppender(deserializeLoggingEvent(clientSocket, msg));
-      }
-    }
- 
-    function chunkReceived(chunk) {
-      let event;
-      logMessage += chunk || '';
-      if (logMessage.indexOf(END_MSG) > -1) {
-        event = logMessage.substring(0, logMessage.indexOf(END_MSG));
-        logTheMessage(event);
-        logMessage = logMessage.substring(event.length + END_MSG.length) || '';
-        // check for more, maybe it was a big chunk
-        chunkReceived();
-      }
-    }
- 
-    clientSocket.on('data', chunkReceived);
-    clientSocket.on('end', chunkReceived);
-  });
- 
-  server.listen(config.loggerPort || 5000, config.loggerHost || 'localhost', function () {
-    servers.push(server);
-    // allow the process to exit, if this is the only socket active
-    server.unref();
-  });
- 
-  return actualAppender;
-}
- 
-function workerAppender(config) {
-  let canWrite = false;
-  const buffer = [];
-  let socket;
- 
-  function write(loggingEvent) {
-    // JSON.stringify(new Error('test')) returns {}, which is not really useful for us.
-    // The following allows us to serialize errors correctly.
-    // Validate that we really are in this case
-    if (loggingEvent && loggingEvent.stack && JSON.stringify(loggingEvent) === '{}') {
-      loggingEvent = { stack: loggingEvent.stack };
-    }
-    socket.write(JSON.stringify(loggingEvent), 'utf8');
-    socket.write(END_MSG, 'utf8');
-  }
- 
-  function emptyBuffer() {
-    let evt;
- 
-    /* eslint no-cond-assign:0 */
-    while ((evt = buffer.shift())) {
-      write(evt);
-    }
-  }
- 
-  function createSocket() {
-    socket = net.createConnection(config.loggerPort || 5000, config.loggerHost || 'localhost');
-    socket.on('connect', () => {
-      emptyBuffer();
-      canWrite = true;
-    });
-    socket.on('timeout', socket.end.bind(socket));
-    // don't bother listening for 'error', 'close' gets called after that anyway
-    socket.on('close', createSocket);
-  }
- 
-  createSocket();
- 
-  return function log(loggingEvent) {
-    if (canWrite) {
-      write(loggingEvent);
-    } else {
-      buffer.push(loggingEvent);
-    }
-  };
-}
- 
-function createAppender(config) {
-  Eif (config.mode === 'master') {
-    return logServer(config);
-  }
- 
-  return workerAppender(config);
-}
- 
-function configure(config, options) {
-  let actualAppender;
-  Eif (config.appender && config.mode === 'master') {
-    log4js.loadAppender(config.appender.type);
-    actualAppender = log4js.appenderMakers[config.appender.type](config.appender, options);
-    config.actualAppender = actualAppender;
-  }
-  return createAppender(config);
-}
- 
-function shutdown(done) {
-  let toBeClosed = servers.length;
-  servers.forEach(function (server) {
-    server.close(function () {
-      toBeClosed -= 1;
-      Eif (toBeClosed < 1) {
-        done();
-      }
-    });
-  });
-}
- 
-module.exports.appender = createAppender;
-module.exports.configure = configure;
-module.exports.shutdown = shutdown;
- 
-
-
- - - - - - - diff --git a/node_modules/log4js/coverage/lcov-report/lib/appenders/stdout.js.html b/node_modules/log4js/coverage/lcov-report/lib/appenders/stdout.js.html deleted file mode 100644 index 162dd29..0000000 --- a/node_modules/log4js/coverage/lcov-report/lib/appenders/stdout.js.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - Code coverage report for lib/appenders/stdout.js - - - - - - - -
-
-

- All files / lib/appenders stdout.js -

-
-
- 77.78% - Statements - 7/9 -
-
- 75% - Branches - 3/4 -
-
- 66.67% - Functions - 2/3 -
-
- 77.78% - Lines - 7/9 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22  -  -2x -  -  -3x -3x -  -  -  -  -  -  -3x -  -  -3x -  -  -2x -2x - 
'use strict';
- 
-const layouts = require('../layouts');
- 
-function stdoutAppender(layout, timezoneOffset) {
-  layout = layout || layouts.colouredLayout;
-  return function (loggingEvent) {
-    process.stdout.write(`${layout(loggingEvent, timezoneOffset)}\n`);
-  };
-}
- 
-function configure(config) {
-  let layout;
-  Iif (config.layout) {
-    layout = layouts.layout(config.layout.type, config.layout);
-  }
-  return stdoutAppender(layout, config.timezoneOffset);
-}
- 
-exports.appender = stdoutAppender;
-exports.configure = configure;
- 
-
-
- - - - - - - diff --git a/node_modules/log4js/coverage/lcov-report/lib/connect-logger.js.html b/node_modules/log4js/coverage/lcov-report/lib/connect-logger.js.html deleted file mode 100644 index b716e69..0000000 --- a/node_modules/log4js/coverage/lcov-report/lib/connect-logger.js.html +++ /dev/null @@ -1,875 +0,0 @@ - - - - Code coverage report for lib/connect-logger.js - - - - - - - -
-
-

- All files / lib connect-logger.js -

-
-
- 3.33% - Statements - 3/90 -
-
- 0% - Branches - 0/81 -
-
- 0% - Functions - 0/13 -
-
- 3.7% - Lines - 3/81 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271  -  -  -  -2x -  -2x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -2x - 
/* eslint-disable no-plusplus */
- 
-'use strict';
- 
-const levels = require('./levels');
- 
-const DEFAULT_FORMAT = ':remote-addr - -' +
-  ' ":method :url HTTP/:http-version"' +
-  ' :status :content-length ":referrer"' +
-  ' ":user-agent"';
- 
-/**
- * Log requests with the given `options` or a `format` string.
- *
- * Options:
- *
- *   - `format`        Format string, see below for tokens
- *   - `level`         A log4js levels instance. Supports also 'auto'
- *   - `nolog`         A string or RegExp to exclude target logs
- *
- * Tokens:
- *
- *   - `:req[header]` ex: `:req[Accept]`
- *   - `:res[header]` ex: `:res[Content-Length]`
- *   - `:http-version`
- *   - `:response-time`
- *   - `:remote-addr`
- *   - `:date`
- *   - `:method`
- *   - `:url`
- *   - `:referrer`
- *   - `:user-agent`
- *   - `:status`
- *
- * @return {Function}
- * @param logger4js
- * @param options
- * @api public
- */
-function getLogger(logger4js, options) {
-  /* eslint no-underscore-dangle:0 */
-  if (typeof options === 'object') {
-    options = options || {};
-  } else if (options) {
-    options = { format: options };
-  } else {
-    options = {};
-  }
- 
-  const thisLogger = logger4js;
-  let level = levels.toLevel(options.level, levels.INFO);
-  const fmt = options.format || DEFAULT_FORMAT;
-  const nolog = options.nolog ? createNoLogCondition(options.nolog) : null;
- 
-  return (req, res, next) => {
-    // mount safety
-    if (req._logging) return next();
- 
-    // nologs
-    if (nolog && nolog.test(req.originalUrl)) return next();
- 
-    if (thisLogger.isLevelEnabled(level) || options.level === 'auto') {
-      const start = new Date();
-      const writeHead = res.writeHead;
- 
-      // flag as logging
-      req._logging = true;
- 
-      // proxy for statusCode.
-      res.writeHead = (code, headers) => {
-        res.writeHead = writeHead;
-        res.writeHead(code, headers);
- 
-        res.__statusCode = code;
-        res.__headers = headers || {};
- 
-        // status code response level handling
-        if (options.level === 'auto') {
-          level = levels.INFO;
-          if (code >= 300) level = levels.WARN;
-          if (code >= 400) level = levels.ERROR;
-        } else {
-          level = levels.toLevel(options.level, levels.INFO);
-        }
-      };
- 
-      // hook on end request to emit the log entry of the HTTP request.
-      res.on('finish', () => {
-        res.responseTime = new Date() - start;
-        // status code response level handling
-        if (res.statusCode && options.level === 'auto') {
-          level = levels.INFO;
-          if (res.statusCode >= 300) level = levels.WARN;
-          if (res.statusCode >= 400) level = levels.ERROR;
-        }
- 
-        if (thisLogger.isLevelEnabled(level)) {
-          const combinedTokens = assembleTokens(req, res, options.tokens || []);
- 
-          if (typeof fmt === 'function') {
-            const line = fmt(req, res, str => format(str, combinedTokens));
-            if (line) thisLogger.log(level, line);
-          } else {
-            thisLogger.log(level, format(fmt, combinedTokens));
-          }
-        }
-      });
-    }
- 
-    // ensure next gets always called
-    return next();
-  };
-}
- 
-/**
- * Adds custom {token, replacement} objects to defaults,
- * overwriting the defaults if any tokens clash
- *
- * @param  {IncomingMessage} req
- * @param  {ServerResponse} res
- * @param  {Array} customTokens
- *    [{ token: string-or-regexp, replacement: string-or-replace-function }]
- * @return {Array}
- */
-function assembleTokens(req, res, customTokens) {
-  const arrayUniqueTokens = (array) => {
-    const a = array.concat();
-    for (let i = 0; i < a.length; ++i) {
-      for (let j = i + 1; j < a.length; ++j) {
-        // not === because token can be regexp object
-        /* eslint eqeqeq:0 */
-        if (a[i].token == a[j].token) {
-          a.splice(j--, 1);
-        }
-      }
-    }
-    return a;
-  };
- 
-  const defaultTokens = [];
-  defaultTokens.push({ token: ':url', replacement: getUrl(req) });
-  defaultTokens.push({ token: ':protocol', replacement: req.protocol });
-  defaultTokens.push({ token: ':hostname', replacement: req.hostname });
-  defaultTokens.push({ token: ':method', replacement: req.method });
-  defaultTokens.push({ token: ':status', replacement: res.__statusCode || res.statusCode });
-  defaultTokens.push({ token: ':response-time', replacement: res.responseTime });
-  defaultTokens.push({ token: ':date', replacement: new Date().toUTCString() });
-  defaultTokens.push({
-    token: ':referrer',
-    replacement: req.headers.referer || req.headers.referrer || ''
-  });
-  defaultTokens.push({
-    token: ':http-version',
-    replacement: `${req.httpVersionMajor}.${req.httpVersionMinor}`
-  });
-  defaultTokens.push({
-    token: ':remote-addr',
-    replacement: req.headers['x-forwarded-for'] ||
-    req.ip ||
-    req._remoteAddress ||
-    (req.socket &&
-      (req.socket.remoteAddress ||
-        (req.socket.socket && req.socket.socket.remoteAddress)
-      )
-    )
-  });
-  defaultTokens.push({ token: ':user-agent', replacement: req.headers['user-agent'] });
-  defaultTokens.push({
-    token: ':content-length',
-    replacement: (res._headers && res._headers['content-length']) ||
-    (res.__headers && res.__headers['Content-Length']) ||
-    '-'
-  });
-  defaultTokens.push({
-    token: /:req\[([^\]]+)]/g,
-    replacement: function (_, field) {
-      return req.headers[field.toLowerCase()];
-    }
-  });
-  defaultTokens.push({
-    token: /:res\[([^\]]+)]/g,
-    replacement: function (_, field) {
-      return res._headers ?
-             (res._headers[field.toLowerCase()] || res.__headers[field])
-        : (res.__headers && res.__headers[field]);
-    }
-  });
- 
-  return arrayUniqueTokens(customTokens.concat(defaultTokens));
-}
- 
-/**
- * Return request url path,
- * adding this function prevents the Cyclomatic Complexity,
- * for the assemble_tokens function at low, to pass the tests.
- *
- * @param  {IncomingMessage} req
- * @return {String}
- * @api private
- */
- 
-function getUrl(req) {
-  return req.originalUrl || req.url;
-}
- 
-/**
- * Return formatted log line.
- *
- * @param  {String} str
- * @param {Array} tokens
- * @return {String}
- * @api private
- */
-function format(str, tokens) {
-  for (let i = 0; i < tokens.length; i++) {
-    str = str.replace(tokens[i].token, tokens[i].replacement);
-  }
-  return str;
-}
- 
-/**
- * Return RegExp Object about nolog
- *
- * @param  {String|Array} nolog
- * @return {RegExp}
- * @api private
- *
- * syntax
- *  1. String
- *   1.1 "\\.gif"
- *         NOT LOGGING http://example.com/hoge.gif and http://example.com/hoge.gif?fuga
- *         LOGGING http://example.com/hoge.agif
- *   1.2 in "\\.gif|\\.jpg$"
- *         NOT LOGGING http://example.com/hoge.gif and
- *           http://example.com/hoge.gif?fuga and http://example.com/hoge.jpg?fuga
- *         LOGGING http://example.com/hoge.agif,
- *           http://example.com/hoge.ajpg and http://example.com/hoge.jpg?hoge
- *   1.3 in "\\.(gif|jpe?g|png)$"
- *         NOT LOGGING http://example.com/hoge.gif and http://example.com/hoge.jpeg
- *         LOGGING http://example.com/hoge.gif?uid=2 and http://example.com/hoge.jpg?pid=3
- *  2. RegExp
- *   2.1 in /\.(gif|jpe?g|png)$/
- *         SAME AS 1.3
- *  3. Array
- *   3.1 ["\\.jpg$", "\\.png", "\\.gif"]
- *         SAME AS "\\.jpg|\\.png|\\.gif"
- */
-function createNoLogCondition(nolog) {
-  let regexp = null;
- 
-  if (nolog) {
-    if (nolog instanceof RegExp) {
-      regexp = nolog;
-    }
- 
-    if (typeof nolog === 'string') {
-      regexp = new RegExp(nolog);
-    }
- 
-    if (Array.isArray(nolog)) {
-      // convert to strings
-      const regexpsAsStrings = nolog.map(reg => (reg.source ? reg.source : reg));
-      regexp = new RegExp(regexpsAsStrings.join('|'));
-    }
-  }
- 
-  return regexp;
-}
- 
-module.exports.connectLogger = getLogger;
- 
-
-
- - - - - - - diff --git a/node_modules/log4js/coverage/lcov-report/lib/date_format.js.html b/node_modules/log4js/coverage/lcov-report/lib/date_format.js.html deleted file mode 100644 index 248b275..0000000 --- a/node_modules/log4js/coverage/lcov-report/lib/date_format.js.html +++ /dev/null @@ -1,281 +0,0 @@ - - - - Code coverage report for lib/date_format.js - - - - - - - -
-
-

- All files / lib date_format.js -

-
-
- 13.16% - Statements - 5/38 -
-
- 0% - Branches - 0/12 -
-
- 0% - Functions - 0/4 -
-
- 13.16% - Lines - 5/38 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73  -  -4x -4x -4x -4x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -4x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
'use strict';
- 
-module.exports.ISO8601_FORMAT = 'yyyy-MM-dd hh:mm:ss.SSS';
-module.exports.ISO8601_WITH_TZ_OFFSET_FORMAT = 'yyyy-MM-ddThh:mm:ss.SSSO';
-module.exports.DATETIME_FORMAT = 'dd MM yyyy hh:mm:ss.SSS';
-module.exports.ABSOLUTETIME_FORMAT = 'hh:mm:ss.SSS';
- 
-function padWithZeros(vNumber, width) {
-  let numAsString = vNumber.toString();
-  while (numAsString.length < width) {
-    numAsString = `0${numAsString}`;
-  }
-  return numAsString;
-}
- 
-function addZero(vNumber) {
-  return padWithZeros(vNumber, 2);
-}
- 
-/**
- * Formats the TimeOffset
- * Thanks to http://www.svendtofte.com/code/date_format/
- * @private
- */
-function offset(timezoneOffset) {
-  // Difference to Greenwich time (GMT) in hours
-  const os = Math.abs(timezoneOffset);
-  let h = String(Math.floor(os / 60));
-  let m = String(os % 60);
-  if (h.length === 1) {
-    h = `0${h}`;
-  }
-  if (m.length === 1) {
-    m = `0${m}`;
-  }
-  return timezoneOffset < 0 ? `+${h}${m}` : `-${h}${m}`;
-}
- 
-module.exports.asString = function (format, date, timezoneOffset) {
-  if (typeof format !== 'string') {
-    timezoneOffset = date;
-    date = format;
-    format = module.exports.ISO8601_FORMAT;
-  }
-  // make the date independent of the system timezone by working with UTC
-  if (timezoneOffset === undefined) {
-    timezoneOffset = date.getTimezoneOffset();
-  }
- 
-  date.setUTCMinutes(date.getUTCMinutes() - timezoneOffset);
-  const vDay = addZero(date.getUTCDate());
-  const vMonth = addZero(date.getUTCMonth() + 1);
-  const vYearLong = addZero(date.getUTCFullYear());
-  const vYearShort = addZero(date.getUTCFullYear().toString().substring(2, 4));
-  const vYear = (format.indexOf('yyyy') > -1 ? vYearLong : vYearShort);
-  const vHour = addZero(date.getUTCHours());
-  const vMinute = addZero(date.getUTCMinutes());
-  const vSecond = addZero(date.getUTCSeconds());
-  const vMillisecond = padWithZeros(date.getUTCMilliseconds(), 3);
-  const vTimeZone = offset(timezoneOffset);
-  date.setUTCMinutes(date.getUTCMinutes() + timezoneOffset);
-  const formatted = format
-    .replace(/dd/g, vDay)
-    .replace(/MM/g, vMonth)
-    .replace(/y{1,4}/g, vYear)
-    .replace(/hh/g, vHour)
-    .replace(/mm/g, vMinute)
-    .replace(/ss/g, vSecond)
-    .replace(/SSS/g, vMillisecond)
-    .replace(/O/g, vTimeZone);
-  return formatted;
-};
- 
-
-
- - - - - - - diff --git a/node_modules/log4js/coverage/lcov-report/lib/index.html b/node_modules/log4js/coverage/lcov-report/lib/index.html deleted file mode 100644 index e7eb76d..0000000 --- a/node_modules/log4js/coverage/lcov-report/lib/index.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - Code coverage report for lib - - - - - - - -
-
-

- All files lib -

-
-
- 35.4% - Statements - 177/500 -
-
- 22.43% - Branches - 61/272 -
-
- 32.77% - Functions - 39/119 -
-
- 36.2% - Lines - 177/489 -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
connect-logger.js
3.33%3/900%0/810%0/133.7%3/81
date_format.js
13.16%5/380%0/120%0/413.16%5/38
layouts.js
14.55%16/1106.9%4/5810.26%4/3914.55%16/110
levels.js
40%10/2531.25%5/1657.14%4/740%10/25
log4js.js
55.96%108/19352.69%49/9353.49%23/4356.25%108/192
logger.js
79.55%35/4425%3/1261.54%8/1381.4%35/43
-
-
- - - - - - - diff --git a/node_modules/log4js/coverage/lcov-report/lib/layouts.js.html b/node_modules/log4js/coverage/lcov-report/lib/layouts.js.html deleted file mode 100644 index 6648359..0000000 --- a/node_modules/log4js/coverage/lcov-report/lib/layouts.js.html +++ /dev/null @@ -1,1193 +0,0 @@ - - - - Code coverage report for lib/layouts.js - - - - - - - -
-
-

- All files / lib layouts.js -

-
-
- 14.55% - Statements - 16/110 -
-
- 6.9% - Branches - 4/58 -
-
- 10.26% - Functions - 4/39 -
-
- 14.55% - Lines - 16/110 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377  -  -4x -4x -4x -  -4x -4x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -4x -  -  -  -  -  -  -  -  -  -4x -  -  -8x -14x -  -  -  -  -  -  -14x -  -  -  -  -  -  -8x -8x -  -  -  -  -  -  -8x -  -  -4x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -8x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -4x -  -  -  -  -  -  -  -  -  -  -  -  -  - 
'use strict';
- 
-const dateFormat = require('./date_format');
-const os = require('os');
-const util = require('util');
- 
-const eol = os.EOL || '\n';
-const layoutMakers = {
-  messagePassThrough: function () {
-    return messagePassThroughLayout;
-  },
-  basic: function () {
-    return basicLayout;
-  },
-  colored: function () {
-    return colouredLayout;
-  },
-  coloured: function () {
-    return colouredLayout;
-  },
-  pattern: function (config) {
-    return patternLayout(config && config.pattern, config && config.tokens);
-  },
-  dummy: function () {
-    return dummyLayout;
-  }
-};
-const colours = {
-  ALL: 'grey',
-  TRACE: 'blue',
-  DEBUG: 'cyan',
-  INFO: 'green',
-  WARN: 'yellow',
-  ERROR: 'red',
-  FATAL: 'magenta',
-  OFF: 'grey'
-};
-const semver = require('semver');
- 
-function wrapErrorsWithInspect(items) {
-  return items.map((item) => {
-    Iif ((item instanceof Error) && item.stack) {
-      return {
-        inspect: function () {
-          return semver.satisfies(process.version, '>=6') ? util.format(item) : `${util.format(item)}\n${item.stack}`;
-        }
-      };
-    }
-    return item;
-  });
-}
- 
-/* eslint prefer-rest-params:0 */
-// todo: once node v4 support dropped, use rest parameter instead
-function formatLogData(logData) {
-  let data = logData;
-  Iif (!Array.isArray(data)) {
-    const numArgs = arguments.length;
-    data = new Array(numArgs);
-    for (let i = 0; i < numArgs; i++) { // eslint-disable-line no-plusplus
-      data[i] = arguments[i];
-    }
-  }
-  return util.format.apply(util, wrapErrorsWithInspect(data));
-}
- 
-const styles = {
-  // styles
-  bold: [1, 22],
-  italic: [3, 23],
-  underline: [4, 24],
-  inverse: [7, 27],
-  // grayscale
-  white: [37, 39],
-  grey: [90, 39],
-  black: [90, 39],
-  // colors
-  blue: [34, 39],
-  cyan: [36, 39],
-  green: [32, 39],
-  magenta: [35, 39],
-  red: [31, 39],
-  yellow: [33, 39]
-};
- 
-function colorizeStart(style) {
-  return style ? `\x1B[${styles[style][0]}m` : '';
-}
- 
-function colorizeEnd(style) {
-  return style ? `\x1B[${styles[style][1]}m` : '';
-}
- 
-/**
- * Taken from masylum's fork (https://github.com/masylum/log4js-node)
- */
-function colorize(str, style) {
-  return colorizeStart(style) + str + colorizeEnd(style);
-}
- 
-function timestampLevelAndCategory(loggingEvent, colour, timezoneOffset) {
-  return colorize(
-    formatLogData(
-      '[%s] [%s] %s - '
-      , dateFormat.asString(loggingEvent.startTime, timezoneOffset)
-      , loggingEvent.level
-      , loggingEvent.categoryName
-    )
-    , colour
-  );
-}
- 
-/**
- * BasicLayout is a simple layout for storing the logs. The logs are stored
- * in following format:
- * <pre>
- * [startTime] [logLevel] categoryName - message\n
- * </pre>
- *
- * @author Stephan Strittmatter
- */
-function basicLayout(loggingEvent, timezoneOffset) {
-  return timestampLevelAndCategory(
-      loggingEvent,
-      undefined,
-      timezoneOffset
-    ) + formatLogData(loggingEvent.data);
-}
- 
-/**
- * colouredLayout - taken from masylum's fork.
- * same as basicLayout, but with colours.
- */
-function colouredLayout(loggingEvent, timezoneOffset) {
-  return timestampLevelAndCategory(
-      loggingEvent,
-      colours[loggingEvent.level.toString()],
-      timezoneOffset
-    ) + formatLogData(loggingEvent.data);
-}
- 
-function messagePassThroughLayout(loggingEvent) {
-  return formatLogData(loggingEvent.data);
-}
- 
-function dummyLayout(loggingEvent) {
-  return loggingEvent.data[0];
-}
- 
-/**
- * PatternLayout
- * Format for specifiers is %[padding].[truncation][field]{[format]}
- * e.g. %5.10p - left pad the log level by 5 characters, up to a max of 10
- * Fields can be any of:
- *  - %r time in toLocaleTimeString format
- *  - %p log level
- *  - %c log category
- *  - %h hostname
- *  - %m log data
- *  - %d date in constious formats
- *  - %% %
- *  - %n newline
- *  - %z pid
- *  - %x{<tokenname>} add dynamic tokens to your log. Tokens are specified in the tokens parameter
- * You can use %[ and %] to define a colored block.
- *
- * Tokens are specified as simple key:value objects.
- * The key represents the token name whereas the value can be a string or function
- * which is called to extract the value to put in the log message. If token is not
- * found, it doesn't replace the field.
- *
- * A sample token would be: { 'pid' : function() { return process.pid; } }
- *
- * Takes a pattern string, array of tokens and returns a layout function.
- * @return {Function}
- * @param pattern
- * @param tokens
- * @param timezoneOffset
- *
- * @authors ['Stephan Strittmatter', 'Jan Schmidle']
- */
-function patternLayout(pattern, tokens, timezoneOffset) {
-  const TTCC_CONVERSION_PATTERN = '%r %p %c - %m%n';
-  const regex = /%(-?[0-9]+)?(\.?[0-9]+)?([[\]cdhmnprzxy%])(\{([^}]+)\})?|([^%]+)/;
- 
-  pattern = pattern || TTCC_CONVERSION_PATTERN;
- 
-  function categoryName(loggingEvent, specifier) {
-    let loggerName = loggingEvent.categoryName;
-    if (specifier) {
-      const precision = parseInt(specifier, 10);
-      const loggerNameBits = loggerName.split('.');
-      if (precision < loggerNameBits.length) {
-        loggerName = loggerNameBits.slice(loggerNameBits.length - precision).join('.');
-      }
-    }
-    return loggerName;
-  }
- 
-  function formatAsDate(loggingEvent, specifier) {
-    let format = dateFormat.ISO8601_FORMAT;
-    if (specifier) {
-      format = specifier;
-      // Pick up special cases
-      if (format === 'ISO8601') {
-        format = dateFormat.ISO8601_FORMAT;
-      } else if (format === 'ISO8601_WITH_TZ_OFFSET') {
-        format = dateFormat.ISO8601_WITH_TZ_OFFSET_FORMAT;
-      } else if (format === 'ABSOLUTE') {
-        format = dateFormat.ABSOLUTETIME_FORMAT;
-      } else if (format === 'DATE') {
-        format = dateFormat.DATETIME_FORMAT;
-      }
-    }
-    // Format the date
-    return dateFormat.asString(format, loggingEvent.startTime, timezoneOffset);
-  }
- 
-  function hostname() {
-    return os.hostname().toString();
-  }
- 
-  function formatMessage(loggingEvent) {
-    return formatLogData(loggingEvent.data);
-  }
- 
-  function endOfLine() {
-    return eol;
-  }
- 
-  function logLevel(loggingEvent) {
-    return loggingEvent.level.toString();
-  }
- 
-  function startTime(loggingEvent) {
-    return dateFormat.asString('hh:mm:ss', loggingEvent.startTime, timezoneOffset);
-  }
- 
-  function startColour(loggingEvent) {
-    return colorizeStart(colours[loggingEvent.level.toString()]);
-  }
- 
-  function endColour(loggingEvent) {
-    return colorizeEnd(colours[loggingEvent.level.toString()]);
-  }
- 
-  function percent() {
-    return '%';
-  }
- 
-  function pid(loggingEvent) {
-    return loggingEvent && loggingEvent.pid ? loggingEvent.pid : process.pid;
-  }
- 
-  function clusterInfo(loggingEvent, specifier) {
-    if (loggingEvent.cluster && specifier) {
-      return specifier
-        .replace('%m', loggingEvent.cluster.master)
-        .replace('%w', loggingEvent.cluster.worker)
-        .replace('%i', loggingEvent.cluster.workerId);
-    } else if (loggingEvent.cluster) {
-      return `${loggingEvent.cluster.worker}@${loggingEvent.cluster.master}`;
-    }
- 
-    return pid();
-  }
- 
-  function userDefined(loggingEvent, specifier) {
-    if (typeof tokens[specifier] !== 'undefined') {
-      return typeof tokens[specifier] === 'function' ? tokens[specifier](loggingEvent) : tokens[specifier];
-    }
- 
-    return null;
-  }
- 
-  /* eslint quote-props:0 */
-  const replacers = {
-    'c': categoryName,
-    'd': formatAsDate,
-    'h': hostname,
-    'm': formatMessage,
-    'n': endOfLine,
-    'p': logLevel,
-    'r': startTime,
-    '[': startColour,
-    ']': endColour,
-    'y': clusterInfo,
-    'z': pid,
-    '%': percent,
-    'x': userDefined
-  };
- 
-  function replaceToken(conversionCharacter, loggingEvent, specifier) {
-    return replacers[conversionCharacter](loggingEvent, specifier);
-  }
- 
-  function truncate(truncation, toTruncate) {
-    let len;
-    if (truncation) {
-      len = parseInt(truncation.substr(1), 10);
-      return toTruncate.substring(0, len);
-    }
- 
-    return toTruncate;
-  }
- 
-  function pad(padding, toPad) {
-    let len;
-    if (padding) {
-      if (padding.charAt(0) === '-') {
-        len = parseInt(padding.substr(1), 10);
-        // Right pad with spaces
-        while (toPad.length < len) {
-          toPad += ' ';
-        }
-      } else {
-        len = parseInt(padding, 10);
-        // Left pad with spaces
-        while (toPad.length < len) {
-          toPad = ` ${toPad}`;
-        }
-      }
-    }
-    return toPad;
-  }
- 
-  function truncateAndPad(toTruncAndPad, truncation, padding) {
-    let replacement = toTruncAndPad;
-    replacement = truncate(truncation, replacement);
-    replacement = pad(padding, replacement);
-    return replacement;
-  }
- 
-  return function (loggingEvent) {
-    let formattedString = '';
-    let result;
-    let searchString = pattern;
- 
-    /* eslint no-cond-assign:0 */
-    while ((result = regex.exec(searchString)) !== null) {
-      // const matchedString = result[0];
-      const padding = result[1];
-      const truncation = result[2];
-      const conversionCharacter = result[3];
-      const specifier = result[5];
-      const text = result[6];
- 
-      // Check if the pattern matched was just normal text
-      if (text) {
-        formattedString += text.toString();
-      } else {
-        // Create a raw replacement string based on the conversion
-        // character and specifier
-        const replacement = replaceToken(conversionCharacter, loggingEvent, specifier);
-        formattedString += truncateAndPad(replacement, truncation, padding);
-      }
-      searchString = searchString.substr(result.index + result[0].length);
-    }
-    return formattedString;
-  };
-}
- 
-module.exports = {
-  basicLayout: basicLayout,
-  messagePassThroughLayout: messagePassThroughLayout,
-  patternLayout: patternLayout,
-  colouredLayout: colouredLayout,
-  coloredLayout: colouredLayout,
-  dummyLayout: dummyLayout,
-  addLayout: function (name, serializerGenerator) {
-    layoutMakers[name] = serializerGenerator;
-  },
-  layout: function (name, config) {
-    return layoutMakers[name] && layoutMakers[name](config);
-  }
-};
- 
-
-
- - - - - - - diff --git a/node_modules/log4js/coverage/lcov-report/lib/levels.js.html b/node_modules/log4js/coverage/lcov-report/lib/levels.js.html deleted file mode 100644 index 8be5f3e..0000000 --- a/node_modules/log4js/coverage/lcov-report/lib/levels.js.html +++ /dev/null @@ -1,320 +0,0 @@ - - - - Code coverage report for lib/levels.js - - - - - - - -
-
-

- All files / lib levels.js -

-
-
- 40% - Statements - 10/25 -
-
- 31.25% - Branches - 5/16 -
-
- 57.14% - Functions - 4/7 -
-
- 40% - Lines - 10/25 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86  -  -  -  -  -  -  -  -18x -18x -  -  -  -14x -  -  -  -3x -  -  -3x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -17x -  -  -  -17x -  -  -  -  -17x -17x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -2x -  -  -  -  -  -  -  -  -  -  -  -  -  - 
'use strict';
- 
-/**
- * @name Level
- * @namespace Log4js
- */
-class Level {
-  constructor(level, levelStr) {
-    this.level = level;
-    this.levelStr = levelStr;
-  }
- 
-  toString() {
-    return this.levelStr;
-  }
- 
-  isLessThanOrEqualTo(otherLevel) {
-    Iif (typeof otherLevel === 'string') {
-      otherLevel = toLevel(otherLevel);
-    }
-    return this.level <= otherLevel.level;
-  }
- 
-  isGreaterThanOrEqualTo(otherLevel) {
-    if (typeof otherLevel === 'string') {
-      otherLevel = toLevel(otherLevel);
-    }
-    return this.level >= otherLevel.level;
-  }
- 
-  isEqualTo(otherLevel) {
-    if (typeof otherLevel === 'string') {
-      otherLevel = toLevel(otherLevel);
-    }
-    return this.level === otherLevel.level;
-  }
- 
-}
- 
-/**
- * converts given String to corresponding Level
- * @param {Level|String} sArg -- String value of Level OR Log4js.Level
- * @param {Level} [defaultLevel] -- default Level, if no String representation
- * @return {Level}
- */
-function toLevel(sArg, defaultLevel) {
-  Iif (!sArg) {
-    return defaultLevel;
-  }
- 
-  Iif (sArg instanceof Level) {
-    module.exports[sArg.toString()] = sArg;
-    return sArg;
-  }
- 
-  Eif (typeof sArg === 'string') {
-    return module.exports[sArg.toUpperCase()] || defaultLevel;
-  }
- 
-  return toLevel(sArg.toString());
-}
- 
-function getLevel(levelStr) {
-  let level;
-  if (typeof levelStr === 'string') {
-    const levelUpper = levelStr.toUpperCase();
-    level = toLevel(levelUpper);
-  }
-  return level;
-}
- 
-module.exports = {
-  ALL: new Level(Number.MIN_VALUE, 'ALL'),
-  TRACE: new Level(5000, 'TRACE'),
-  DEBUG: new Level(10000, 'DEBUG'),
-  INFO: new Level(20000, 'INFO'),
-  WARN: new Level(30000, 'WARN'),
-  ERROR: new Level(40000, 'ERROR'),
-  FATAL: new Level(50000, 'FATAL'),
-  MARK: new Level(9007199254740992, 'MARK'), // 2^53
-  OFF: new Level(Number.MAX_VALUE, 'OFF'),
-  toLevel: toLevel,
-  Level: Level,
-  getLevel: getLevel
-};
- 
-
-
- - - - - - - diff --git a/node_modules/log4js/coverage/lcov-report/lib/log4js.js.html b/node_modules/log4js/coverage/lcov-report/lib/log4js.js.html deleted file mode 100644 index d220517..0000000 --- a/node_modules/log4js/coverage/lcov-report/lib/log4js.js.html +++ /dev/null @@ -1,1685 +0,0 @@ - - - - Code coverage report for lib/log4js.js - - - - - - - -
-
-

- All files / lib log4js.js -

-
-
- 55.96% - Statements - 108/193 -
-
- 52.69% - Branches - 49/93 -
-
- 53.49% - Functions - 23/43 -
-
- 56.25% - Lines - 108/192 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 -389 -390 -391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 -438 -439 -440 -441 -442 -443 -444 -445 -446 -447 -448 -449 -450 -451 -452 -453 -454 -455 -456 -457 -458 -459 -460 -461 -462 -463 -464 -465 -466 -467 -468 -469 -470 -471 -472 -473 -474 -475 -476 -477 -478 -479 -480 -481 -482 -483 -484 -485 -486 -487 -488 -489 -490 -491 -492 -493 -494 -495 -496 -497 -498 -499 -500 -501 -502 -503 -504 -505 -506 -507 -508 -509 -510 -511 -512 -513 -514 -515 -516 -517 -518 -519 -520 -521 -522 -523 -524 -525 -526 -527 -528 -529 -530 -531 -532 -533 -534 -535 -536 -537 -538 -539 -540 -541  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -2x -2x -2x -2x -2x -2x -  -2x -  -2x -2x -2x -2x -2x -  -  -  -  -  -  -2x -  -  -3x -  -  -  -2x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -6x -  -  -  -  -  -  -  -  -  -3x -3x -3x -  -  -  -  -  -  -  -  -  -  -3x -  -  -  -3x -  -  -  -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -  -  -1x -1x -1x -1x -1x -  -  -  -  -  -1x -  -  -  -  -  -  -  -3x -  -  -  -  -  -  -  -  -6x -6x -  -6x -3x -  -  -6x -3x -  -  -6x -  -  -  -6x -6x -  -6x -3x -  -3x -2x -2x -  -  -  -  -  -  -  -3x -  -  -  -  -  -  -  -6x -4x -  -6x -  -  -  -  -  -4x -4x -4x -  -  -  -  -  -  -  -3x -3x -3x -3x -  -3x -3x -3x -3x -  -  -  -  -  -  -  -  -3x -3x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -2x -  -  -2x -  -  -2x -  -  -  -3x -3x -3x -3x -3x -  -3x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -3x -3x -3x -  -3x -2x -  -  -2x -  -1x -  -  -  -  -  -3x -  -  -2x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -3x -15x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -4x -4x -  -  -  -4x -  -  -  -  -  -  -  -  -  -  -  -  -  -4x -  -4x -  -  -  -4x -4x -1x -  -4x -  -  -  -  -  -  -  -  -  -  -  -  -  -2x -  -  -2x -  -  -  -  -2x -  -2x -  -  -2x -2x -2x -2x -  -  -  -2x -2x -2x -  -  -  -2x -  -  -  -2x -2x -  -  -2x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -2x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -2x -  -  -2x - 
/* eslint no-prototype-builtins:1,no-restricted-syntax:[1, "ForInStatement"],no-plusplus:0 */
- 
-'use strict';
- 
-/**
- * @fileoverview log4js is a library to log in JavaScript in similar manner
- * than in log4j for Java. The API should be nearly the same.
- *
- * <h3>Example:</h3>
- * <pre>
- *  let logging = require('log4js');
- *  //add an appender that logs all messages to stdout.
- *  logging.addAppender(logging.consoleAppender());
- *  //add an appender that logs 'some-category' to a file
- *  logging.addAppender(logging.fileAppender('file.log'), 'some-category');
- *  //get a logger
- *  let log = logging.getLogger('some-category');
- *  log.setLevel(logging.levels.TRACE); //set the Level
- *
- *  ...
- *
- *  //call the log
- *  log.trace('trace me' );
- * </pre>
- *
- * NOTE: the authors below are the original browser-based log4js authors
- * don't try to contact them about bugs in this version :)
- * @version 1.0
- * @author Stephan Strittmatter - http://jroller.com/page/stritti
- * @author Seth Chisamore - http://www.chisamore.com
- * @since 2005-05-20
- * @static
- * Website: http://log4js.berlios.de
- */
-const fs = require('fs');
-const util = require('util');
-const layouts = require('./layouts');
-const levels = require('./levels');
-const loggerModule = require('./logger');
-const connectLogger = require('./connect-logger').connectLogger;
- 
-const Logger = loggerModule.Logger;
- 
-const ALL_CATEGORIES = '[all]';
-const loggers = {};
-const appenderMakers = {};
-const appenderShutdowns = {};
-const defaultConfig = {
-  appenders: [
-    { type: 'stdout' }
-  ],
-  replaceConsole: false
-};
- 
-let appenders = {};
- 
-function hasLogger(logger) {
-  return loggers.hasOwnProperty(logger);
-}
- 
-// todo: this method should be moved back to levels.js, but for loop require, need some refactor
-levels.forName = function (levelStr, levelVal) {
-  let level;
-  if (typeof levelStr === 'string' && typeof levelVal === 'number') {
-    const levelUpper = levelStr.toUpperCase();
-    level = new levels.Level(levelVal, levelUpper);
-    loggerModule.addLevelMethods(level);
-  }
-  return level;
-};
- 
-function getBufferedLogger(categoryName) {
-  const baseLogger = getLogger(categoryName);
-  const logger = {};
-  logger.temp = [];
-  logger.target = baseLogger;
-  logger.flush = function () {
-    for (let i = 0; i < logger.temp.length; i++) {
-      const log = logger.temp[i];
-      logger.target[log.level](log.message);
-      delete logger.temp[i];
-    }
-  };
-  logger.trace = function (message) {
-    logger.temp.push({ level: 'trace', message: message });
-  };
-  logger.debug = function (message) {
-    logger.temp.push({ level: 'debug', message: message });
-  };
-  logger.info = function (message) {
-    logger.temp.push({ level: 'info', message: message });
-  };
-  logger.warn = function (message) {
-    logger.temp.push({ level: 'warn', message: message });
-  };
-  logger.error = function (message) {
-    logger.temp.push({ level: 'error', message: message });
-  };
-  logger.fatal = function (message) {
-    logger.temp.push({ level: 'fatal', message: message });
-  };
- 
-  return logger;
-}
- 
-function normalizeCategory(category) {
-  return `${category}.`;
-}
- 
-function doesLevelEntryContainsLogger(levelCategory, loggerCategory) {
-  const normalizedLevelCategory = normalizeCategory(levelCategory);
-  const normalizedLoggerCategory = normalizeCategory(loggerCategory);
-  return normalizedLoggerCategory.substring(0, normalizedLevelCategory.length) === normalizedLevelCategory;
-}
- 
-function doesAppenderContainsLogger(appenderCategory, loggerCategory) {
-  const normalizedAppenderCategory = normalizeCategory(appenderCategory);
-  const normalizedLoggerCategory = normalizeCategory(loggerCategory);
-  return normalizedLoggerCategory.substring(0, normalizedAppenderCategory.length) === normalizedAppenderCategory;
-}
- 
-/**
- * Get a logger instance. Instance is cached on categoryName level.
- * @static
- * @param loggerCategoryName
- * @return {Logger} instance of logger for the category
- */
-function getLogger(loggerCategoryName) {
-  // Use default logger if categoryName is not specified or invalid
-  Iif (typeof loggerCategoryName !== 'string') {
-    loggerCategoryName = Logger.DEFAULT_CATEGORY;
-  }
- 
-  if (!hasLogger(loggerCategoryName)) {
-    let level;
- 
-    /* jshint -W073 */
-    // If there's a 'levels' entry in the configuration
-    Iif (levels.config) {
-      // Goes through the categories in the levels configuration entry,
-      // starting with the 'higher' ones.
-      const keys = Object.keys(levels.config).sort();
-      for (let idx = 0; idx < keys.length; idx++) {
-        const levelCategory = keys[idx];
-        if (doesLevelEntryContainsLogger(levelCategory, loggerCategoryName)) {
-          // level for the logger
-          level = levels.config[levelCategory];
-        }
-      }
-    }
-    /* jshint +W073 */
- 
-    // Create the logger for this name if it doesn't already exist
-    loggers[loggerCategoryName] = new Logger(loggerCategoryName, level);
- 
-    /* jshint -W083 */
-    let appenderList;
-    for (const appenderCategory in appenders) {
-      Eif (doesAppenderContainsLogger(appenderCategory, loggerCategoryName)) {
-        appenderList = appenders[appenderCategory];
-        appenderList.forEach((appender) => {
-          loggers[loggerCategoryName].addListener('log', appender);
-        });
-      }
-    }
-    /* jshint +W083 */
- 
-    Iif (appenders[ALL_CATEGORIES]) {
-      appenderList = appenders[ALL_CATEGORIES];
-      appenderList.forEach((appender) => {
-        loggers[loggerCategoryName].addListener('log', appender);
-      });
-    }
-  }
- 
-  return loggers[loggerCategoryName];
-}
- 
-/**
- * args are appender, optional shutdown function, then zero or more categories
- */
-function addAppender() {
-  /* eslint prefer-rest-params:0 */
-  // todo: once node v4 support dropped, use rest parameter instead
-  let args = Array.from(arguments);
-  const appender = args.shift();
-  // check for a shutdown fn
-  if (args.length > 0 && typeof args[0] === 'function') {
-    appenderShutdowns[appender] = args.shift();
-  }
- 
-  if (args.length === 0 || args[0] === undefined) {
-    args = [ALL_CATEGORIES];
-  }
-  // argument may already be an array
-  Iif (Array.isArray(args[0])) {
-    args = args[0];
-  }
- 
-  args.forEach((appenderCategory) => {
-    addAppenderToCategory(appender, appenderCategory);
- 
-    if (appenderCategory === ALL_CATEGORIES) {
-      addAppenderToAllLoggers(appender);
-    } else {
-      for (const loggerCategory in loggers) {
-        Eif (doesAppenderContainsLogger(appenderCategory, loggerCategory)) {
-          loggers[loggerCategory].addListener('log', appender);
-        }
-      }
-    }
-  });
-}
- 
-function addAppenderToAllLoggers(appender) {
-  for (const logger in loggers) {
-    if (hasLogger(logger)) {
-      loggers[logger].addListener('log', appender);
-    }
-  }
-}
- 
-function addAppenderToCategory(appender, category) {
-  if (!appenders[category]) {
-    appenders[category] = [];
-  }
-  appenders[category].push(appender);
-}
- 
-function clearAppenders() {
-  // if we're calling clearAppenders, we're probably getting ready to write
-  // so turn log writes back on, just in case this is after a shutdown
-  loggerModule.enableAllLogWrites();
-  appenders = {};
-  for (const logger in loggers) {
-    if (hasLogger(logger)) {
-      loggers[logger].removeAllListeners('log');
-    }
-  }
-}
- 
-function configureAppenders(appenderList, options) {
-  clearAppenders();
-  Eif (appenderList) {
-    appenderList.forEach((appenderConfig) => {
-      loadAppender(appenderConfig.type);
-      let appender;
-      appenderConfig.makers = appenderMakers;
-      try {
-        appender = appenderMakers[appenderConfig.type](appenderConfig, options);
-        addAppender(appender, appenderConfig.category);
-      } catch (e) {
-        throw new Error(`log4js configuration problem for ${util.inspect(appenderConfig)}`, e);
-      }
-    });
-  }
-}
- 
-function configureLevels(_levels) {
-  levels.config = _levels; // Keep it so we can create loggers later using this cfg
-  Iif (_levels) {
-    const keys = Object.keys(levels.config).sort();
- 
-    /* eslint-disable guard-for-in */
-    for (const idx in keys) {
-      const category = keys[idx];
-      if (category === ALL_CATEGORIES) {
-        setGlobalLogLevel(_levels[category]);
-      }
- 
-      for (const loggerCategory in loggers) {
-        if (doesLevelEntryContainsLogger(category, loggerCategory)) {
-          loggers[loggerCategory].setLevel(_levels[category]);
-        }
-      }
-    }
-  }
-}
- 
-function setGlobalLogLevel(level) {
-  Logger.prototype.level = levels.toLevel(level, levels.TRACE);
-}
- 
-/**
- * Get the default logger instance.
- * @return {Logger} instance of default logger
- * @static
- */
-function getDefaultLogger() {
-  return getLogger(Logger.DEFAULT_CATEGORY);
-}
- 
-const configState = {};
- 
-function loadConfigurationFile(filename) {
-  Iif (filename) {
-    return JSON.parse(fs.readFileSync(filename, 'utf8'));
-  }
-  return undefined;
-}
- 
-function configureOnceOff(config, options) {
-  Eif (config) {
-    try {
-      restoreConsole();
-      configureLevels(config.levels);
-      configureAppenders(config.appenders, options);
- 
-      Iif (config.replaceConsole) {
-        replaceConsole();
-      }
-    } catch (e) {
-      throw new Error(
-        `Problem reading log4js config ${util.inspect(config)}. Error was '${e.message}' (${e.stack})`
-      );
-    }
-  }
-}
- 
-function reloadConfiguration(options) {
-  const mtime = getMTime(configState.filename);
-  if (!mtime) return;
- 
-  if (configState.lastMTime && (mtime.getTime() > configState.lastMTime.getTime())) {
-    configureOnceOff(loadConfigurationFile(configState.filename), options);
-  }
-  configState.lastMTime = mtime;
-}
- 
-function getMTime(filename) {
-  let mtime;
-  try {
-    mtime = fs.statSync(configState.filename).mtime;
-  } catch (e) {
-    getLogger('log4js').warn(`Failed to load configuration file ${filename}`);
-  }
-  return mtime;
-}
- 
-function initReloadConfiguration(filename, options) {
-  if (configState.timerId) {
-    clearInterval(configState.timerId);
-    delete configState.timerId;
-  }
-  configState.filename = filename;
-  configState.lastMTime = getMTime(filename);
-  configState.timerId = setInterval(reloadConfiguration, options.reloadSecs * 1000, options);
-}
- 
-function configure(configurationFileOrObject, options) {
-  let config = configurationFileOrObject;
-  config = config || process.env.LOG4JS_CONFIG;
-  options = options || {};
- 
-  if (config === undefined || config === null || typeof config === 'string') {
-    Iif (options.reloadSecs) {
-      initReloadConfiguration(config, options);
-    }
-    config = loadConfigurationFile(config) || defaultConfig;
-  } else {
-    Iif (options.reloadSecs) { // eslint-disable-line
-      getLogger('log4js').warn(
-        'Ignoring configuration reload parameter for "object" configuration.'
-      );
-    }
-  }
-  configureOnceOff(config, options);
-}
- 
-const originalConsoleFunctions = {
-  log: console.log,
-  debug: console.debug,
-  info: console.info,
-  warn: console.warn,
-  error: console.error
-};
- 
-function replaceConsole(logger) {
-  function replaceWith(fn) {
-    return function () {
-      /* eslint prefer-rest-params:0 */
-      // todo: once node v4 support dropped, use rest parameter instead
-      fn.apply(logger, Array.from(arguments));
-    };
-  }
- 
-  logger = logger || getLogger('console');
- 
-  ['log', 'debug', 'info', 'warn', 'error'].forEach((item) => {
-    console[item] = replaceWith(item === 'log' ? logger.info : logger[item]);
-  });
-}
- 
-function restoreConsole() {
-  ['log', 'debug', 'info', 'warn', 'error'].forEach((item) => {
-    console[item] = originalConsoleFunctions[item];
-  });
-}
- 
-/* eslint global-require:0 */
-/**
- * Load an appenderModule based on the provided appender filepath. Will first
- * check if the appender path is a subpath of the log4js 'lib/appenders' directory.
- * If not, it will attempt to load the the appender as complete path.
- *
- * @param {string} appender The filepath for the appender.
- * @returns {Object|null} The required appender or null if appender could not be loaded.
- * @private
- */
-function requireAppender(appender) {
-  let appenderModule;
-  try {
-    appenderModule = require(`./appenders/${appender}`); // eslint-disable-line
-  } catch (e) {
-    appenderModule = require(appender); // eslint-disable-line
-  }
-  return appenderModule;
-}
- 
-/**
- * Load an appender. Provided the appender path to be loaded. If appenderModule is defined,
- * it will be used in place of requiring the appender module.
- *
- * @param {string} appender The path to the appender module.
- * @param {Object|void} [appenderModule] The pre-required appender module. When provided,
- * instead of requiring the appender by its path, this object will be used.
- * @returns {void}
- * @private
- */
-function loadAppender(appender, appenderModule) {
-  appenderModule = appenderModule || requireAppender(appender);
- 
-  Iif (!appenderModule) {
-    throw new Error(`Invalid log4js appender: ${util.inspect(appender)}`);
-  }
- 
-  log4js.appenders[appender] = appenderModule.appender.bind(appenderModule);
-  if (appenderModule.shutdown) {
-    appenderShutdowns[appender] = appenderModule.shutdown.bind(appenderModule);
-  }
-  appenderMakers[appender] = appenderModule.configure.bind(appenderModule);
-}
- 
-/**
- * Shutdown all log appenders. This will first disable all writing to appenders
- * and then call the shutdown function each appender.
- *
- * @params {Function} cb - The callback to be invoked once all appenders have
- *  shutdown. If an error occurs, the callback will be given the error object
- *  as the first argument.
- */
-function shutdown(cb) {
-  // First, disable all writing to appenders. This prevents appenders from
-  // not being able to be drained because of run-away log writes.
-  loggerModule.disableAllLogWrites();
- 
-  // turn off config reloading
-  Iif (configState.timerId) {
-    clearInterval(configState.timerId);
-  }
- 
-  // Call each of the shutdown functions in parallel
-  let completed = 0;
-  let error;
-  const shutdownFunctions = [];
- 
-  function complete(err) {
-    error = error || err;
-    completed++;
-    Eif (completed >= shutdownFunctions.length) {
-      cb(error);
-    }
-  }
- 
-  for (const category in appenderShutdowns) {
-    Eif (appenderShutdowns.hasOwnProperty(category)) {
-      shutdownFunctions.push(appenderShutdowns[category]);
-    }
-  }
- 
-  Iif (!shutdownFunctions.length) {
-    return cb();
-  }
- 
-  shutdownFunctions.forEach((shutdownFct) => {
-    shutdownFct(complete);
-  });
- 
-  return null;
-}
- 
-/**
- * @name log4js
- * @namespace Log4js
- * @property getBufferedLogger
- * @property getLogger
- * @property getDefaultLogger
- * @property hasLogger
- * @property addAppender
- * @property loadAppender
- * @property clearAppenders
- * @property configure
- * @property shutdown
- * @property replaceConsole
- * @property restoreConsole
- * @property levels
- * @property setGlobalLogLevel
- * @property layouts
- * @property appenders
- * @property appenderMakers
- * @property connectLogger
- */
-const log4js = {
-  getBufferedLogger,
-  getLogger,
-  getDefaultLogger,
-  hasLogger,
- 
-  addAppender,
-  loadAppender,
-  clearAppenders,
-  configure,
-  shutdown,
- 
-  replaceConsole,
-  restoreConsole,
- 
-  levels,
-  setGlobalLogLevel,
- 
-  layouts,
-  appenders: {},
-  appenderMakers,
-  connectLogger
-};
- 
-module.exports = log4js;
- 
-// set ourselves up
-configure();
- 
-
-
- - - - - - - diff --git a/node_modules/log4js/coverage/lcov-report/lib/logger.js.html b/node_modules/log4js/coverage/lcov-report/lib/logger.js.html deleted file mode 100644 index 9dc2351..0000000 --- a/node_modules/log4js/coverage/lcov-report/lib/logger.js.html +++ /dev/null @@ -1,461 +0,0 @@ - - - - Code coverage report for lib/logger.js - - - - - - - -
-
-

- All files / lib logger.js -

-
-
- 79.55% - Statements - 35/44 -
-
- 25% - Branches - 3/12 -
-
- 61.54% - Functions - 8/13 -
-
- 81.4% - Lines - 35/43 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133  -  -  -  -2x -2x -  -2x -  -2x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -3x -3x -3x -3x -3x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -1x -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -3x -3x -3x -  -  -3x -  -  -  -3x -  -  -  -3x -3x -  -  -  -2x -2x -  -2x -  -  -14x -  -14x -14x -14x -  -14x -  -  -  -14x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -2x -  -  -  -  -  -  -  -4x -  -  -2x -2x -2x -2x -2x - 
/* eslint no-underscore-dangle:0 */
- 
-'use strict';
- 
-const levels = require('./levels');
-const EventEmitter = require('events');
- 
-const DEFAULT_CATEGORY = '[default]';
- 
-let logWritesEnabled = true;
- 
-/**
- * @name LoggingEvent
- * @namespace Log4js
- */
-class LoggingEvent {
-  /**
-   * Models a logging event.
-   * @constructor
-   * @param {String} categoryName name of category
-   * @param {Log4js.Level} level level of message
-   * @param {Array} data objects to log
-   * @param {Logger} logger the associated logger
-   * @author Seth Chisamore
-   */
-  constructor(categoryName, level, data, logger) {
-    this.startTime = new Date();
-    this.categoryName = categoryName;
-    this.data = data;
-    this.level = level;
-    this.logger = logger;
-  }
-}
- 
-/**
- * Logger to log messages.
- * use {@see log4js#getLogger(String)} to get an instance.
- *
- * @name Logger
- * @namespace Log4js
- * @param name name of category to log to
- * @param level
- *
- * @author Stephan Strittmatter
- */
-class Logger extends EventEmitter {
-  constructor(name, level) {
-    super();
- 
-    this.category = name || DEFAULT_CATEGORY;
- 
-    Iif (level) {
-      this.setLevel(level);
-    }
-  }
- 
-  setLevel(level) {
-    this.level = levels.toLevel(level, this.level || levels.TRACE);
-  }
- 
-  removeLevel() {
-    delete this.level;
-  }
- 
-  log() {
-    /* eslint prefer-rest-params:0 */
-    // todo: once node v4 support dropped, use rest parameter instead
-    const args = Array.from(arguments);
-    const logLevel = levels.toLevel(args[0], levels.INFO);
-    Iif (!this.isLevelEnabled(logLevel)) {
-      return;
-    }
-    this._log(logLevel, args.slice(1));
-  }
- 
-  isLevelEnabled(otherLevel) {
-    return this.level.isLessThanOrEqualTo(otherLevel);
-  }
- 
-  _log(level, data) {
-    const loggingEvent = new LoggingEvent(this.category, level, data, this);
-    this.emit('log', loggingEvent);
-  }
-}
- 
-Logger.DEFAULT_CATEGORY = DEFAULT_CATEGORY;
-Logger.prototype.level = levels.TRACE;
- 
-['Trace', 'Debug', 'Info', 'Warn', 'Error', 'Fatal', 'Mark'].forEach(addLevelMethods);
- 
-function addLevelMethods(target) {
-  const level = levels.toLevel(target);
- 
-  const levelStrLower = level.toString().toLowerCase();
-  const levelMethod = levelStrLower.replace(/_([a-z])/g, g => g[1].toUpperCase());
-  const isLevelMethod = levelMethod[0].toUpperCase() + levelMethod.slice(1);
- 
-  Logger.prototype[`is${isLevelMethod}Enabled`] = function () {
-    return this.isLevelEnabled(level.toString());
-  };
- 
-  Logger.prototype[levelMethod] = function () {
-    /* eslint prefer-rest-params:0 */
-    // todo: once node v4 support dropped, use rest parameter instead
-    const args = Array.from(arguments);
-    if (logWritesEnabled && this.isLevelEnabled(level)) {
-      this._log(level, args);
-    }
-  };
-}
- 
-/**
- * Disable all log writes.
- * @returns {void}
- */
-function disableAllLogWrites() {
-  logWritesEnabled = false;
-}
- 
-/**
- * Enable log writes.
- * @returns {void}
- */
-function enableAllLogWrites() {
-  logWritesEnabled = true;
-}
- 
-module.exports.LoggingEvent = LoggingEvent;
-module.exports.Logger = Logger;
-module.exports.disableAllLogWrites = disableAllLogWrites;
-module.exports.enableAllLogWrites = enableAllLogWrites;
-module.exports.addLevelMethods = addLevelMethods;
- 
-
-
- - - - - - - diff --git a/node_modules/log4js/coverage/lcov-report/prettify.css b/node_modules/log4js/coverage/lcov-report/prettify.css deleted file mode 100644 index b317a7c..0000000 --- a/node_modules/log4js/coverage/lcov-report/prettify.css +++ /dev/null @@ -1 +0,0 @@ -.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/node_modules/log4js/coverage/lcov-report/prettify.js b/node_modules/log4js/coverage/lcov-report/prettify.js deleted file mode 100644 index ef51e03..0000000 --- a/node_modules/log4js/coverage/lcov-report/prettify.js +++ /dev/null @@ -1 +0,0 @@ -window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/node_modules/log4js/coverage/lcov-report/sort-arrow-sprite.png b/node_modules/log4js/coverage/lcov-report/sort-arrow-sprite.png deleted file mode 100644 index 03f704a..0000000 Binary files a/node_modules/log4js/coverage/lcov-report/sort-arrow-sprite.png and /dev/null differ diff --git a/node_modules/log4js/coverage/lcov-report/sorter.js b/node_modules/log4js/coverage/lcov-report/sorter.js deleted file mode 100644 index 6c5034e..0000000 --- a/node_modules/log4js/coverage/lcov-report/sorter.js +++ /dev/null @@ -1,158 +0,0 @@ -var addSorting = (function () { - "use strict"; - var cols, - currentSort = { - index: 0, - desc: false - }; - - // returns the summary table element - function getTable() { return document.querySelector('.coverage-summary'); } - // returns the thead element of the summary table - function getTableHeader() { return getTable().querySelector('thead tr'); } - // returns the tbody element of the summary table - function getTableBody() { return getTable().querySelector('tbody'); } - // returns the th element for nth column - function getNthColumn(n) { return getTableHeader().querySelectorAll('th')[n]; } - - // loads all columns - function loadColumns() { - var colNodes = getTableHeader().querySelectorAll('th'), - colNode, - cols = [], - col, - i; - - for (i = 0; i < colNodes.length; i += 1) { - colNode = colNodes[i]; - col = { - key: colNode.getAttribute('data-col'), - sortable: !colNode.getAttribute('data-nosort'), - type: colNode.getAttribute('data-type') || 'string' - }; - cols.push(col); - if (col.sortable) { - col.defaultDescSort = col.type === 'number'; - colNode.innerHTML = colNode.innerHTML + ''; - } - } - return cols; - } - // attaches a data attribute to every tr element with an object - // of data values keyed by column name - function loadRowData(tableRow) { - var tableCols = tableRow.querySelectorAll('td'), - colNode, - col, - data = {}, - i, - val; - for (i = 0; i < tableCols.length; i += 1) { - colNode = tableCols[i]; - col = cols[i]; - val = colNode.getAttribute('data-value'); - if (col.type === 'number') { - val = Number(val); - } - data[col.key] = val; - } - return data; - } - // loads all row data - function loadData() { - var rows = getTableBody().querySelectorAll('tr'), - i; - - for (i = 0; i < rows.length; i += 1) { - rows[i].data = loadRowData(rows[i]); - } - } - // sorts the table using the data for the ith column - function sortByIndex(index, desc) { - var key = cols[index].key, - sorter = function (a, b) { - a = a.data[key]; - b = b.data[key]; - return a < b ? -1 : a > b ? 1 : 0; - }, - finalSorter = sorter, - tableBody = document.querySelector('.coverage-summary tbody'), - rowNodes = tableBody.querySelectorAll('tr'), - rows = [], - i; - - if (desc) { - finalSorter = function (a, b) { - return -1 * sorter(a, b); - }; - } - - for (i = 0; i < rowNodes.length; i += 1) { - rows.push(rowNodes[i]); - tableBody.removeChild(rowNodes[i]); - } - - rows.sort(finalSorter); - - for (i = 0; i < rows.length; i += 1) { - tableBody.appendChild(rows[i]); - } - } - // removes sort indicators for current column being sorted - function removeSortIndicators() { - var col = getNthColumn(currentSort.index), - cls = col.className; - - cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); - col.className = cls; - } - // adds sort indicators for current column being sorted - function addSortIndicators() { - getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted'; - } - // adds event listeners for all sorter widgets - function enableUI() { - var i, - el, - ithSorter = function ithSorter(i) { - var col = cols[i]; - - return function () { - var desc = col.defaultDescSort; - - if (currentSort.index === i) { - desc = !currentSort.desc; - } - sortByIndex(i, desc); - removeSortIndicators(); - currentSort.index = i; - currentSort.desc = desc; - addSortIndicators(); - }; - }; - for (i =0 ; i < cols.length; i += 1) { - if (cols[i].sortable) { - // add the click event handler on the th so users - // dont have to click on those tiny arrows - el = getNthColumn(i).querySelector('.sorter').parentElement; - if (el.addEventListener) { - el.addEventListener('click', ithSorter(i)); - } else { - el.attachEvent('onclick', ithSorter(i)); - } - } - } - } - // adds sorting functionality to the UI - return function () { - if (!getTable()) { - return; - } - cols = loadColumns(); - loadData(cols); - addSortIndicators(); - enableUI(); - }; -})(); - -window.addEventListener('load', addSorting); diff --git a/node_modules/log4js/coverage/lcov.info b/node_modules/log4js/coverage/lcov.info deleted file mode 100644 index 9336232..0000000 --- a/node_modules/log4js/coverage/lcov.info +++ /dev/null @@ -1,1221 +0,0 @@ -TN: -SF:/Users/garethjones/stuff/log4js-node/lib/connect-logger.js -FN:40,getLogger -FN:55,(anonymous_1) -FN:70,(anonymous_2) -FN:88,(anonymous_3) -FN:101,(anonymous_4) -FN:125,assembleTokens -FN:126,(anonymous_6) -FN:176,(anonymous_7) -FN:182,(anonymous_8) -FN:202,getUrl -FN:214,format -FN:248,createNoLogCondition -FN:262,(anonymous_12) -FNF:13 -FNH:0 -FNDA:0,getLogger -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,assembleTokens -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,getUrl -FNDA:0,format -FNDA:0,createNoLogCondition -FNDA:0,(anonymous_12) -DA:5,2 -DA:7,2 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:47,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:55,0 -DA:57,0 -DA:60,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:67,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:74,0 -DA:75,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:83,0 -DA:88,0 -DA:89,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:94,0 -DA:97,0 -DA:98,0 -DA:100,0 -DA:101,0 -DA:102,0 -DA:104,0 -DA:111,0 -DA:126,0 -DA:127,0 -DA:128,0 -DA:129,0 -DA:132,0 -DA:133,0 -DA:137,0 -DA:140,0 -DA:141,0 -DA:142,0 -DA:143,0 -DA:144,0 -DA:145,0 -DA:146,0 -DA:147,0 -DA:148,0 -DA:152,0 -DA:156,0 -DA:167,0 -DA:168,0 -DA:174,0 -DA:177,0 -DA:180,0 -DA:183,0 -DA:189,0 -DA:203,0 -DA:215,0 -DA:216,0 -DA:218,0 -DA:249,0 -DA:251,0 -DA:252,0 -DA:253,0 -DA:256,0 -DA:257,0 -DA:260,0 -DA:262,0 -DA:263,0 -DA:267,0 -DA:270,2 -LF:81 -LH:3 -BRDA:42,0,0,0 -BRDA:42,0,1,0 -BRDA:43,1,0,0 -BRDA:43,1,1,0 -BRDA:44,2,0,0 -BRDA:44,2,1,0 -BRDA:52,3,0,0 -BRDA:52,3,1,0 -BRDA:53,4,0,0 -BRDA:53,4,1,0 -BRDA:57,5,0,0 -BRDA:57,5,1,0 -BRDA:60,6,0,0 -BRDA:60,6,1,0 -BRDA:60,7,0,0 -BRDA:60,7,1,0 -BRDA:62,8,0,0 -BRDA:62,8,1,0 -BRDA:62,9,0,0 -BRDA:62,9,1,0 -BRDA:75,10,0,0 -BRDA:75,10,1,0 -BRDA:78,11,0,0 -BRDA:78,11,1,0 -BRDA:80,12,0,0 -BRDA:80,12,1,0 -BRDA:81,13,0,0 -BRDA:81,13,1,0 -BRDA:91,14,0,0 -BRDA:91,14,1,0 -BRDA:91,15,0,0 -BRDA:91,15,1,0 -BRDA:93,16,0,0 -BRDA:93,16,1,0 -BRDA:94,17,0,0 -BRDA:94,17,1,0 -BRDA:97,18,0,0 -BRDA:97,18,1,0 -BRDA:98,19,0,0 -BRDA:98,19,1,0 -BRDA:100,20,0,0 -BRDA:100,20,1,0 -BRDA:102,21,0,0 -BRDA:102,21,1,0 -BRDA:132,22,0,0 -BRDA:132,22,1,0 -BRDA:145,23,0,0 -BRDA:145,23,1,0 -BRDA:150,24,0,0 -BRDA:150,24,1,0 -BRDA:150,24,2,0 -BRDA:158,25,0,0 -BRDA:158,25,1,0 -BRDA:158,25,2,0 -BRDA:158,25,3,0 -BRDA:158,25,4,0 -BRDA:158,25,5,0 -BRDA:158,25,6,0 -BRDA:170,26,0,0 -BRDA:170,26,1,0 -BRDA:170,26,2,0 -BRDA:170,26,3,0 -BRDA:170,26,4,0 -BRDA:183,27,0,0 -BRDA:183,27,1,0 -BRDA:184,28,0,0 -BRDA:184,28,1,0 -BRDA:185,29,0,0 -BRDA:185,29,1,0 -BRDA:203,30,0,0 -BRDA:203,30,1,0 -BRDA:251,31,0,0 -BRDA:251,31,1,0 -BRDA:252,32,0,0 -BRDA:252,32,1,0 -BRDA:256,33,0,0 -BRDA:256,33,1,0 -BRDA:260,34,0,0 -BRDA:260,34,1,0 -BRDA:262,35,0,0 -BRDA:262,35,1,0 -BRF:81 -BRH:0 -end_of_record -TN: -SF:/Users/garethjones/stuff/log4js-node/lib/date_format.js -FN:8,padWithZeros -FN:16,addZero -FN:25,offset -FN:39,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,padWithZeros -FNDA:0,addZero -FNDA:0,offset -FNDA:0,(anonymous_3) -DA:3,4 -DA:4,4 -DA:5,4 -DA:6,4 -DA:9,0 -DA:10,0 -DA:11,0 -DA:13,0 -DA:17,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:33,0 -DA:34,0 -DA:36,0 -DA:39,4 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:46,0 -DA:47,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:71,0 -LF:38 -LH:5 -BRDA:30,0,0,0 -BRDA:30,0,1,0 -BRDA:33,1,0,0 -BRDA:33,1,1,0 -BRDA:36,2,0,0 -BRDA:36,2,1,0 -BRDA:40,3,0,0 -BRDA:40,3,1,0 -BRDA:46,4,0,0 -BRDA:46,4,1,0 -BRDA:55,5,0,0 -BRDA:55,5,1,0 -BRF:12 -BRH:0 -end_of_record -TN: -SF:/Users/garethjones/stuff/log4js-node/lib/layouts.js -FN:9,(anonymous_0) -FN:12,(anonymous_1) -FN:15,(anonymous_2) -FN:18,(anonymous_3) -FN:21,(anonymous_4) -FN:24,(anonymous_5) -FN:40,wrapErrorsWithInspect -FN:41,(anonymous_7) -FN:44,(anonymous_8) -FN:55,formatLogData -FN:86,colorizeStart -FN:90,colorizeEnd -FN:97,colorize -FN:101,timestampLevelAndCategory -FN:122,basicLayout -FN:134,colouredLayout -FN:142,messagePassThroughLayout -FN:146,dummyLayout -FN:182,patternLayout -FN:188,categoryName -FN:200,formatAsDate -FN:219,hostname -FN:223,formatMessage -FN:227,endOfLine -FN:231,logLevel -FN:235,startTime -FN:239,startColour -FN:243,endColour -FN:247,percent -FN:251,pid -FN:255,clusterInfo -FN:268,userDefined -FN:293,replaceToken -FN:297,truncate -FN:307,pad -FN:327,truncateAndPad -FN:334,(anonymous_36) -FN:370,(anonymous_37) -FN:373,(anonymous_38) -FNF:39 -FNH:4 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:8,wrapErrorsWithInspect -FNDA:14,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:8,formatLogData -FNDA:0,colorizeStart -FNDA:0,colorizeEnd -FNDA:0,colorize -FNDA:0,timestampLevelAndCategory -FNDA:0,basicLayout -FNDA:0,colouredLayout -FNDA:8,messagePassThroughLayout -FNDA:0,dummyLayout -FNDA:0,patternLayout -FNDA:0,categoryName -FNDA:0,formatAsDate -FNDA:0,hostname -FNDA:0,formatMessage -FNDA:0,endOfLine -FNDA:0,logLevel -FNDA:0,startTime -FNDA:0,startColour -FNDA:0,endColour -FNDA:0,percent -FNDA:0,pid -FNDA:0,clusterInfo -FNDA:0,userDefined -FNDA:0,replaceToken -FNDA:0,truncate -FNDA:0,pad -FNDA:0,truncateAndPad -FNDA:0,(anonymous_36) -FNDA:0,(anonymous_37) -FNDA:0,(anonymous_38) -DA:3,4 -DA:4,4 -DA:5,4 -DA:7,4 -DA:8,4 -DA:10,0 -DA:13,0 -DA:16,0 -DA:19,0 -DA:22,0 -DA:25,0 -DA:28,4 -DA:38,4 -DA:41,8 -DA:42,14 -DA:43,0 -DA:45,0 -DA:49,14 -DA:56,8 -DA:57,8 -DA:58,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:64,8 -DA:67,4 -DA:87,0 -DA:91,0 -DA:98,0 -DA:102,0 -DA:123,0 -DA:135,0 -DA:143,8 -DA:147,0 -DA:183,0 -DA:184,0 -DA:186,0 -DA:189,0 -DA:190,0 -DA:191,0 -DA:192,0 -DA:193,0 -DA:194,0 -DA:197,0 -DA:201,0 -DA:202,0 -DA:203,0 -DA:205,0 -DA:206,0 -DA:207,0 -DA:208,0 -DA:209,0 -DA:210,0 -DA:211,0 -DA:212,0 -DA:216,0 -DA:220,0 -DA:224,0 -DA:228,0 -DA:232,0 -DA:236,0 -DA:240,0 -DA:244,0 -DA:248,0 -DA:252,0 -DA:256,0 -DA:257,0 -DA:261,0 -DA:262,0 -DA:265,0 -DA:269,0 -DA:270,0 -DA:273,0 -DA:277,0 -DA:294,0 -DA:299,0 -DA:300,0 -DA:301,0 -DA:304,0 -DA:309,0 -DA:310,0 -DA:311,0 -DA:313,0 -DA:314,0 -DA:317,0 -DA:319,0 -DA:320,0 -DA:324,0 -DA:328,0 -DA:329,0 -DA:330,0 -DA:331,0 -DA:334,0 -DA:335,0 -DA:337,0 -DA:340,0 -DA:342,0 -DA:343,0 -DA:344,0 -DA:345,0 -DA:346,0 -DA:349,0 -DA:350,0 -DA:354,0 -DA:355,0 -DA:357,0 -DA:359,0 -DA:363,4 -DA:371,0 -DA:374,0 -LF:110 -LH:16 -BRDA:7,0,0,4 -BRDA:7,0,1,0 -BRDA:22,1,0,0 -BRDA:22,1,1,0 -BRDA:22,2,0,0 -BRDA:22,2,1,0 -BRDA:42,3,0,0 -BRDA:42,3,1,14 -BRDA:42,4,0,14 -BRDA:42,4,1,0 -BRDA:45,5,0,0 -BRDA:45,5,1,0 -BRDA:57,6,0,0 -BRDA:57,6,1,8 -BRDA:87,7,0,0 -BRDA:87,7,1,0 -BRDA:91,8,0,0 -BRDA:91,8,1,0 -BRDA:186,9,0,0 -BRDA:186,9,1,0 -BRDA:190,10,0,0 -BRDA:190,10,1,0 -BRDA:193,11,0,0 -BRDA:193,11,1,0 -BRDA:202,12,0,0 -BRDA:202,12,1,0 -BRDA:205,13,0,0 -BRDA:205,13,1,0 -BRDA:207,14,0,0 -BRDA:207,14,1,0 -BRDA:209,15,0,0 -BRDA:209,15,1,0 -BRDA:211,16,0,0 -BRDA:211,16,1,0 -BRDA:252,17,0,0 -BRDA:252,17,1,0 -BRDA:252,18,0,0 -BRDA:252,18,1,0 -BRDA:256,19,0,0 -BRDA:256,19,1,0 -BRDA:256,20,0,0 -BRDA:256,20,1,0 -BRDA:261,21,0,0 -BRDA:261,21,1,0 -BRDA:269,22,0,0 -BRDA:269,22,1,0 -BRDA:270,23,0,0 -BRDA:270,23,1,0 -BRDA:299,24,0,0 -BRDA:299,24,1,0 -BRDA:309,25,0,0 -BRDA:309,25,1,0 -BRDA:310,26,0,0 -BRDA:310,26,1,0 -BRDA:349,27,0,0 -BRDA:349,27,1,0 -BRDA:374,28,0,0 -BRDA:374,28,1,0 -BRF:58 -BRH:4 -end_of_record -TN: -SF:/Users/garethjones/stuff/log4js-node/lib/levels.js -FN:8,(anonymous_0) -FN:13,(anonymous_1) -FN:17,(anonymous_2) -FN:24,(anonymous_3) -FN:31,(anonymous_4) -FN:46,toLevel -FN:63,getLevel -FNF:7 -FNH:4 -FNDA:18,(anonymous_0) -FNDA:14,(anonymous_1) -FNDA:3,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:17,toLevel -FNDA:0,getLevel -DA:9,18 -DA:10,18 -DA:14,14 -DA:18,3 -DA:19,0 -DA:21,3 -DA:25,0 -DA:26,0 -DA:28,0 -DA:32,0 -DA:33,0 -DA:35,0 -DA:47,17 -DA:48,0 -DA:51,17 -DA:52,0 -DA:53,0 -DA:56,17 -DA:57,17 -DA:60,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:69,0 -DA:72,2 -LF:25 -LH:10 -BRDA:18,0,0,0 -BRDA:18,0,1,3 -BRDA:25,1,0,0 -BRDA:25,1,1,0 -BRDA:32,2,0,0 -BRDA:32,2,1,0 -BRDA:47,3,0,0 -BRDA:47,3,1,17 -BRDA:51,4,0,0 -BRDA:51,4,1,17 -BRDA:56,5,0,17 -BRDA:56,5,1,0 -BRDA:57,6,0,17 -BRDA:57,6,1,0 -BRDA:65,7,0,0 -BRDA:65,7,1,0 -BRF:16 -BRH:5 -end_of_record -TN: -SF:/Users/garethjones/stuff/log4js-node/lib/log4js.js -FN:57,hasLogger -FN:62,(anonymous_1) -FN:72,getBufferedLogger -FN:77,(anonymous_3) -FN:84,(anonymous_4) -FN:87,(anonymous_5) -FN:90,(anonymous_6) -FN:93,(anonymous_7) -FN:96,(anonymous_8) -FN:99,(anonymous_9) -FN:106,normalizeCategory -FN:110,doesLevelEntryContainsLogger -FN:116,doesAppenderContainsLogger -FN:128,getLogger -FN:161,(anonymous_14) -FN:170,(anonymous_15) -FN:182,addAppender -FN:200,(anonymous_17) -FN:215,addAppenderToAllLoggers -FN:223,addAppenderToCategory -FN:230,clearAppenders -FN:242,configureAppenders -FN:245,(anonymous_22) -FN:259,configureLevels -FN:280,setGlobalLogLevel -FN:289,getDefaultLogger -FN:295,loadConfigurationFile -FN:302,configureOnceOff -FN:320,reloadConfiguration -FN:330,getMTime -FN:340,initReloadConfiguration -FN:350,configure -FN:378,replaceConsole -FN:379,replaceWith -FN:380,(anonymous_34) -FN:389,(anonymous_35) -FN:394,restoreConsole -FN:395,(anonymous_37) -FN:410,requireAppender -FN:430,loadAppender -FN:452,shutdown -FN:467,complete -FN:485,(anonymous_42) -FNF:43 -FNH:23 -FNDA:3,hasLogger -FNDA:0,(anonymous_1) -FNDA:0,getBufferedLogger -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:6,normalizeCategory -FNDA:0,doesLevelEntryContainsLogger -FNDA:3,doesAppenderContainsLogger -FNDA:3,getLogger -FNDA:1,(anonymous_14) -FNDA:0,(anonymous_15) -FNDA:6,addAppender -FNDA:6,(anonymous_17) -FNDA:3,addAppenderToAllLoggers -FNDA:6,addAppenderToCategory -FNDA:4,clearAppenders -FNDA:3,configureAppenders -FNDA:3,(anonymous_22) -FNDA:3,configureLevels -FNDA:0,setGlobalLogLevel -FNDA:0,getDefaultLogger -FNDA:2,loadConfigurationFile -FNDA:3,configureOnceOff -FNDA:0,reloadConfiguration -FNDA:0,getMTime -FNDA:0,initReloadConfiguration -FNDA:3,configure -FNDA:0,replaceConsole -FNDA:0,replaceWith -FNDA:0,(anonymous_34) -FNDA:0,(anonymous_35) -FNDA:3,restoreConsole -FNDA:15,(anonymous_37) -FNDA:4,requireAppender -FNDA:4,loadAppender -FNDA:2,shutdown -FNDA:2,complete -FNDA:2,(anonymous_42) -DA:35,2 -DA:36,2 -DA:37,2 -DA:38,2 -DA:39,2 -DA:40,2 -DA:42,2 -DA:44,2 -DA:45,2 -DA:46,2 -DA:47,2 -DA:48,2 -DA:55,2 -DA:58,3 -DA:62,2 -DA:64,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:69,0 -DA:73,0 -DA:74,0 -DA:75,0 -DA:76,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:84,0 -DA:85,0 -DA:87,0 -DA:88,0 -DA:90,0 -DA:91,0 -DA:93,0 -DA:94,0 -DA:96,0 -DA:97,0 -DA:99,0 -DA:100,0 -DA:103,0 -DA:107,6 -DA:111,0 -DA:112,0 -DA:113,0 -DA:117,3 -DA:118,3 -DA:119,3 -DA:130,3 -DA:131,0 -DA:134,3 -DA:139,1 -DA:142,0 -DA:143,0 -DA:144,0 -DA:145,0 -DA:147,0 -DA:154,1 -DA:158,1 -DA:159,1 -DA:160,1 -DA:161,1 -DA:162,1 -DA:168,1 -DA:169,0 -DA:170,0 -DA:171,0 -DA:176,3 -DA:185,6 -DA:186,6 -DA:188,6 -DA:189,3 -DA:192,6 -DA:193,3 -DA:196,6 -DA:197,0 -DA:200,6 -DA:201,6 -DA:203,6 -DA:204,3 -DA:206,3 -DA:207,2 -DA:208,2 -DA:216,3 -DA:217,0 -DA:218,0 -DA:224,6 -DA:225,4 -DA:227,6 -DA:233,4 -DA:234,4 -DA:235,4 -DA:236,0 -DA:237,0 -DA:243,3 -DA:244,3 -DA:245,3 -DA:246,3 -DA:248,3 -DA:249,3 -DA:250,3 -DA:251,3 -DA:253,0 -DA:260,3 -DA:261,3 -DA:262,0 -DA:265,0 -DA:266,0 -DA:267,0 -DA:268,0 -DA:271,0 -DA:272,0 -DA:273,0 -DA:281,0 -DA:290,0 -DA:293,2 -DA:296,2 -DA:297,0 -DA:299,2 -DA:303,3 -DA:304,3 -DA:305,3 -DA:306,3 -DA:307,3 -DA:309,3 -DA:310,0 -DA:313,0 -DA:321,0 -DA:322,0 -DA:324,0 -DA:325,0 -DA:327,0 -DA:332,0 -DA:333,0 -DA:335,0 -DA:337,0 -DA:341,0 -DA:342,0 -DA:343,0 -DA:345,0 -DA:346,0 -DA:347,0 -DA:351,3 -DA:352,3 -DA:353,3 -DA:355,3 -DA:356,2 -DA:357,0 -DA:359,2 -DA:361,1 -DA:362,0 -DA:367,3 -DA:370,2 -DA:380,0 -DA:383,0 -DA:387,0 -DA:389,0 -DA:390,0 -DA:395,3 -DA:396,15 -DA:412,4 -DA:413,4 -DA:415,0 -DA:417,4 -DA:431,4 -DA:433,4 -DA:434,0 -DA:437,4 -DA:438,4 -DA:439,1 -DA:441,4 -DA:455,2 -DA:458,2 -DA:459,0 -DA:463,2 -DA:465,2 -DA:468,2 -DA:469,2 -DA:470,2 -DA:471,2 -DA:475,2 -DA:476,2 -DA:477,2 -DA:481,2 -DA:482,0 -DA:485,2 -DA:486,2 -DA:489,2 -DA:513,2 -DA:537,2 -DA:540,2 -LF:192 -LH:108 -BRDA:64,0,0,0 -BRDA:64,0,1,0 -BRDA:64,1,0,0 -BRDA:64,1,1,0 -BRDA:130,2,0,0 -BRDA:130,2,1,3 -BRDA:134,3,0,1 -BRDA:134,3,1,2 -BRDA:139,4,0,0 -BRDA:139,4,1,1 -BRDA:145,5,0,0 -BRDA:145,5,1,0 -BRDA:159,6,0,1 -BRDA:159,6,1,0 -BRDA:168,7,0,0 -BRDA:168,7,1,1 -BRDA:188,8,0,3 -BRDA:188,8,1,3 -BRDA:188,9,0,6 -BRDA:188,9,1,6 -BRDA:192,10,0,3 -BRDA:192,10,1,3 -BRDA:192,11,0,6 -BRDA:192,11,1,6 -BRDA:196,12,0,0 -BRDA:196,12,1,6 -BRDA:203,13,0,3 -BRDA:203,13,1,3 -BRDA:207,14,0,2 -BRDA:207,14,1,0 -BRDA:217,15,0,0 -BRDA:217,15,1,0 -BRDA:224,16,0,4 -BRDA:224,16,1,2 -BRDA:236,17,0,0 -BRDA:236,17,1,0 -BRDA:244,18,0,3 -BRDA:244,18,1,0 -BRDA:261,19,0,0 -BRDA:261,19,1,3 -BRDA:267,20,0,0 -BRDA:267,20,1,0 -BRDA:272,21,0,0 -BRDA:272,21,1,0 -BRDA:296,22,0,0 -BRDA:296,22,1,2 -BRDA:303,23,0,3 -BRDA:303,23,1,0 -BRDA:309,24,0,0 -BRDA:309,24,1,3 -BRDA:322,25,0,0 -BRDA:322,25,1,0 -BRDA:324,26,0,0 -BRDA:324,26,1,0 -BRDA:324,27,0,0 -BRDA:324,27,1,0 -BRDA:341,28,0,0 -BRDA:341,28,1,0 -BRDA:352,29,0,3 -BRDA:352,29,1,2 -BRDA:353,30,0,3 -BRDA:353,30,1,3 -BRDA:355,31,0,2 -BRDA:355,31,1,1 -BRDA:355,32,0,3 -BRDA:355,32,1,1 -BRDA:355,32,2,1 -BRDA:356,33,0,0 -BRDA:356,33,1,2 -BRDA:359,34,0,2 -BRDA:359,34,1,2 -BRDA:361,35,0,0 -BRDA:361,35,1,1 -BRDA:387,36,0,0 -BRDA:387,36,1,0 -BRDA:390,37,0,0 -BRDA:390,37,1,0 -BRDA:431,38,0,4 -BRDA:431,38,1,4 -BRDA:433,39,0,0 -BRDA:433,39,1,4 -BRDA:438,40,0,1 -BRDA:438,40,1,3 -BRDA:458,41,0,0 -BRDA:458,41,1,2 -BRDA:468,42,0,2 -BRDA:468,42,1,2 -BRDA:470,43,0,2 -BRDA:470,43,1,0 -BRDA:476,44,0,2 -BRDA:476,44,1,0 -BRDA:481,45,0,0 -BRDA:481,45,1,2 -BRF:93 -BRH:49 -end_of_record -TN: -SF:/Users/garethjones/stuff/log4js-node/lib/logger.js -FN:26,(anonymous_0) -FN:47,(anonymous_1) -FN:57,(anonymous_2) -FN:61,(anonymous_3) -FN:65,(anonymous_4) -FN:76,(anonymous_5) -FN:80,(anonymous_6) -FN:91,addLevelMethods -FN:95,(anonymous_8) -FN:98,(anonymous_9) -FN:102,(anonymous_10) -FN:116,disableAllLogWrites -FN:124,enableAllLogWrites -FNF:13 -FNH:8 -FNDA:3,(anonymous_0) -FNDA:1,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:3,(anonymous_4) -FNDA:3,(anonymous_5) -FNDA:3,(anonymous_6) -FNDA:14,addLevelMethods -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -FNDA:2,disableAllLogWrites -FNDA:4,enableAllLogWrites -DA:5,2 -DA:6,2 -DA:8,2 -DA:10,2 -DA:27,3 -DA:28,3 -DA:29,3 -DA:30,3 -DA:31,3 -DA:48,1 -DA:50,1 -DA:52,1 -DA:53,0 -DA:58,0 -DA:62,0 -DA:68,3 -DA:69,3 -DA:70,3 -DA:71,0 -DA:73,3 -DA:77,3 -DA:81,3 -DA:82,3 -DA:86,2 -DA:87,2 -DA:89,2 -DA:92,14 -DA:94,14 -DA:95,14 -DA:96,14 -DA:98,14 -DA:99,0 -DA:102,14 -DA:105,0 -DA:106,0 -DA:107,0 -DA:117,2 -DA:125,4 -DA:128,2 -DA:129,2 -DA:130,2 -DA:131,2 -DA:132,2 -LF:43 -LH:35 -BRDA:50,0,0,1 -BRDA:50,0,1,0 -BRDA:52,1,0,0 -BRDA:52,1,1,1 -BRDA:58,2,0,0 -BRDA:58,2,1,0 -BRDA:70,3,0,0 -BRDA:70,3,1,3 -BRDA:106,4,0,0 -BRDA:106,4,1,0 -BRDA:106,5,0,0 -BRDA:106,5,1,0 -BRF:12 -BRH:3 -end_of_record -TN: -SF:/Users/garethjones/stuff/log4js-node/lib/appenders/multiprocess.js -FN:14,logServer -FN:19,deserializeLoggingEvent -FN:44,serverCreated -FN:48,logTheMessage -FN:54,chunkReceived -FN:70,(anonymous_5) -FN:79,workerAppender -FN:84,write -FN:95,emptyBuffer -FN:104,createSocket -FN:106,(anonymous_10) -FN:117,log -FN:126,createAppender -FN:134,configure -FN:144,shutdown -FN:146,(anonymous_15) -FN:147,(anonymous_16) -FNF:17 -FNH:7 -FNDA:1,logServer -FNDA:0,deserializeLoggingEvent -FNDA:0,serverCreated -FNDA:0,logTheMessage -FNDA:0,chunkReceived -FNDA:1,(anonymous_5) -FNDA:0,workerAppender -FNDA:0,write -FNDA:0,emptyBuffer -FNDA:0,createSocket -FNDA:0,(anonymous_10) -FNDA:0,log -FNDA:1,createAppender -FNDA:1,configure -FNDA:1,shutdown -FNDA:1,(anonymous_15) -FNDA:1,(anonymous_16) -DA:3,1 -DA:4,1 -DA:6,1 -DA:7,1 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:27,0 -DA:35,0 -DA:36,0 -DA:38,0 -DA:41,1 -DA:44,1 -DA:45,0 -DA:46,0 -DA:49,0 -DA:50,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:62,0 -DA:66,0 -DA:67,0 -DA:70,1 -DA:71,1 -DA:73,1 -DA:76,1 -DA:80,0 -DA:81,0 -DA:88,0 -DA:89,0 -DA:91,0 -DA:92,0 -DA:99,0 -DA:100,0 -DA:105,0 -DA:106,0 -DA:107,0 -DA:108,0 -DA:110,0 -DA:112,0 -DA:115,0 -DA:117,0 -DA:118,0 -DA:119,0 -DA:121,0 -DA:127,1 -DA:128,1 -DA:131,0 -DA:136,1 -DA:137,1 -DA:138,1 -DA:139,1 -DA:141,1 -DA:145,1 -DA:146,1 -DA:147,1 -DA:148,1 -DA:149,1 -DA:150,1 -DA:156,1 -DA:157,1 -DA:158,1 -LF:66 -LH:26 -BRDA:49,0,0,0 -BRDA:49,0,1,0 -BRDA:56,1,0,0 -BRDA:56,1,1,0 -BRDA:57,2,0,0 -BRDA:57,2,1,0 -BRDA:60,3,0,0 -BRDA:60,3,1,0 -BRDA:70,4,0,1 -BRDA:70,4,1,0 -BRDA:70,5,0,1 -BRDA:70,5,1,1 -BRDA:88,6,0,0 -BRDA:88,6,1,0 -BRDA:88,7,0,0 -BRDA:88,7,1,0 -BRDA:88,7,2,0 -BRDA:105,8,0,0 -BRDA:105,8,1,0 -BRDA:105,9,0,0 -BRDA:105,9,1,0 -BRDA:118,10,0,0 -BRDA:118,10,1,0 -BRDA:127,11,0,1 -BRDA:127,11,1,0 -BRDA:136,12,0,1 -BRDA:136,12,1,0 -BRDA:136,13,0,1 -BRDA:136,13,1,1 -BRDA:149,14,0,1 -BRDA:149,14,1,0 -BRF:31 -BRH:8 -end_of_record -TN: -SF:/Users/garethjones/stuff/log4js-node/lib/appenders/stdout.js -FN:5,stdoutAppender -FN:7,(anonymous_1) -FN:12,configure -FNF:3 -FNH:2 -FNDA:3,stdoutAppender -FNDA:0,(anonymous_1) -FNDA:3,configure -DA:3,2 -DA:6,3 -DA:7,3 -DA:8,0 -DA:14,3 -DA:15,0 -DA:17,3 -DA:20,2 -DA:21,2 -LF:9 -LH:7 -BRDA:6,0,0,3 -BRDA:6,0,1,3 -BRDA:14,1,0,0 -BRDA:14,1,1,3 -BRF:4 -BRH:3 -end_of_record diff --git a/node_modules/log4js/examples/example-connect-logger.js b/node_modules/log4js/examples/example-connect-logger.js deleted file mode 100644 index ed7b013..0000000 --- a/node_modules/log4js/examples/example-connect-logger.js +++ /dev/null @@ -1,46 +0,0 @@ -//The connect/express logger was added to log4js by danbell. This allows connect/express servers to log using log4js. -//https://github.com/nomiddlename/log4js-node/wiki/Connect-Logger - -// load modules -var log4js = require('log4js'); -var express = require("express"); -var app = express(); - -//config -log4js.configure({ - appenders: [ - { type: 'console' }, - { type: 'file', filename: 'logs/log4jsconnect.log', category: 'log4jslog' } - ] -}); - -//define logger -var logger = log4js.getLogger('log4jslog'); - -// set at which time msg is logged print like: only on error & above -// logger.setLevel('ERROR'); - -//express app -app.configure(function() { - app.use(express.favicon('')); - // app.use(log4js.connectLogger(logger, { level: log4js.levels.INFO })); - // app.use(log4js.connectLogger(logger, { level: 'auto', format: ':method :url :status' })); - - //### AUTO LEVEL DETECTION - //http responses 3xx, level = WARN - //http responses 4xx & 5xx, level = ERROR - //else.level = INFO - app.use(log4js.connectLogger(logger, { level: 'auto' })); -}); - -//route -app.get('/', function(req,res) { - res.send('hello world'); -}); - -//start app -app.listen(5000); - -console.log('server runing at localhost:5000'); -console.log('Simulation of normal response: goto localhost:5000'); -console.log('Simulation of error response: goto localhost:5000/xxx'); diff --git a/node_modules/log4js/examples/example-socket.js b/node_modules/log4js/examples/example-socket.js deleted file mode 100644 index 31bb5ab..0000000 --- a/node_modules/log4js/examples/example-socket.js +++ /dev/null @@ -1,45 +0,0 @@ -var log4js = require('./lib/log4js') -, cluster = require('cluster') -, numCPUs = require('os').cpus().length -, i = 0; - -if (cluster.isMaster) { - log4js.configure({ - appenders: [ - { - type: "multiprocess", - mode: "master", - appender: { - type: "console" - } - } - ] - }); - - console.info("Master creating %d workers", numCPUs); - for (i=0; i < numCPUs; i++) { - cluster.fork(); - } - - cluster.on('death', function(worker) { - console.info("Worker %d died.", worker.pid); - }); -} else { - log4js.configure({ - appenders: [ - { - type: "multiprocess", - mode: "worker" - } - ] - }); - var logger = log4js.getLogger('example-socket'); - - console.info("Worker %d started.", process.pid); - for (i=0; i < 1000; i++) { - logger.info("Worker %d - logging something %d", process.pid, i); - } -} - - - diff --git a/node_modules/log4js/examples/example.js b/node_modules/log4js/examples/example.js deleted file mode 100644 index 8879a23..0000000 --- a/node_modules/log4js/examples/example.js +++ /dev/null @@ -1,58 +0,0 @@ -"use strict"; -var log4js = require('../lib/log4js'); -//log the cheese logger messages to a file, and the console ones as well. -log4js.configure({ - appenders: [ - { - type: "file", - filename: "cheese.log", - category: [ 'cheese','console' ] - }, - { - type: "console" - } - ], - replaceConsole: true -}); - -//to add an appender programmatically, and without clearing other appenders -//loadAppender is only necessary if you haven't already configured an appender of this type -log4js.loadAppender('file'); -log4js.addAppender(log4js.appenders.file('pants.log'), 'pants'); -//a custom logger outside of the log4js/lib/appenders directory can be accessed like so -//log4js.loadAppender('what/you/would/put/in/require'); -//log4js.addAppender(log4js.appenders['what/you/would/put/in/require'](args)); -//or through configure as: -//log4js.configure({ -// appenders: [ { type: 'what/you/would/put/in/require', otherArgs: 'blah' } ] -//}); - -var logger = log4js.getLogger('cheese'); -//only errors and above get logged. -//you can also set this log level in the config object -//via the levels field. -logger.setLevel('ERROR'); - -//console logging methods have been replaced with log4js ones. -//so this will get coloured output on console, and appear in cheese.log -console.error("AAArgh! Something went wrong", { some: "otherObject", useful_for: "debug purposes" }); -console.log("This should appear as info output"); - -//these will not appear (logging level beneath error) -logger.trace('Entering cheese testing'); -logger.debug('Got cheese.'); -logger.info('Cheese is Gouda.'); -logger.log('Something funny about cheese.'); -logger.warn('Cheese is quite smelly.'); -//these end up on the console and in cheese.log -logger.error('Cheese %s is too ripe!', "gouda"); -logger.fatal('Cheese was breeding ground for listeria.'); - -//these don't end up in cheese.log, but will appear on the console -var anotherLogger = log4js.getLogger('another'); -anotherLogger.debug("Just checking"); - -//one for pants.log -//will also go to console, since that's configured for all categories -var pantsLog = log4js.getLogger('pants'); -pantsLog.debug("Something for pants"); diff --git a/node_modules/log4js/examples/flush-on-exit.js b/node_modules/log4js/examples/flush-on-exit.js deleted file mode 100644 index 19c661c..0000000 --- a/node_modules/log4js/examples/flush-on-exit.js +++ /dev/null @@ -1,27 +0,0 @@ -/** - * run this, then "ab -c 10 -n 100 localhost:4444/" to test (in - * another shell) - */ -var log4js = require('../lib/log4js'); -log4js.configure({ - appenders: [ - { type: 'file', filename: 'cheese.log', category: 'cheese' }, - { type: 'console'} - ] -}); - -var logger = log4js.getLogger('cheese'); -logger.setLevel('INFO'); - -var http=require('http'); - -var server = http.createServer(function(request, response){ - response.writeHead(200, {'Content-Type': 'text/plain'}); - var rd = Math.random() * 50; - logger.info("hello " + rd); - response.write('hello '); - if (Math.floor(rd) == 30){ - log4js.shutdown(function() { process.exit(1); }); - } - response.end(); -}).listen(4444); diff --git a/node_modules/log4js/examples/fromreadme.js b/node_modules/log4js/examples/fromreadme.js deleted file mode 100644 index 8d837f4..0000000 --- a/node_modules/log4js/examples/fromreadme.js +++ /dev/null @@ -1,19 +0,0 @@ -//remember to change the require to just 'log4js' if you've npm install'ed it -var log4js = require('../lib/log4js'); -//by default the console appender is loaded -//log4js.loadAppender('console'); -//you'd only need to add the console appender if you -//had previously called log4js.clearAppenders(); -//log4js.addAppender(log4js.appenders.console()); -log4js.loadAppender('file'); -log4js.addAppender(log4js.appenders.file('cheese.log'), 'cheese'); - -var logger = log4js.getLogger('cheese'); -logger.setLevel('ERROR'); - -logger.trace('Entering cheese testing'); -logger.debug('Got cheese.'); -logger.info('Cheese is Gouda.'); -logger.warn('Cheese is quite smelly.'); -logger.error('Cheese is too ripe!'); -logger.fatal('Cheese was breeding ground for listeria.'); diff --git a/node_modules/log4js/examples/hipchat-appender.js b/node_modules/log4js/examples/hipchat-appender.js deleted file mode 100644 index 1cdf674..0000000 --- a/node_modules/log4js/examples/hipchat-appender.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * !!! The hipchat-appender requires `hipchat-notifier` from npm, e.g. - * - list as a dependency in your application's package.json || - * - npm install hipchat-notifier - */ - -var log4js = require('../lib/log4js'); - -log4js.configure({ - "appenders": [ - { - "type" : "hipchat", - "hipchat_token": process.env.HIPCHAT_TOKEN || '< User token with Notification Privileges >', - "hipchat_room": process.env.HIPCHAT_ROOM || '< Room ID or Name >' - } - ] -}); - -var logger = log4js.getLogger("hipchat"); -logger.warn("Test Warn message"); -logger.info("Test Info message"); -logger.debug("Test Debug Message"); -logger.trace("Test Trace Message"); -logger.fatal("Test Fatal Message"); -logger.error("Test Error Message"); - - -// alternative configuration demonstrating callback + custom layout -/////////////////////////////////////////////////////////////////// - -// use a custom layout function (in this case, the provided basicLayout) -// format: [TIMESTAMP][LEVEL][category] - [message] -var customLayout = require('../lib/layouts').basicLayout; - -log4js.configure({ - "appenders": [ - { - "type" : "hipchat", - "hipchat_token": process.env.HIPCHAT_TOKEN || '< User token with Notification Privileges >', - "hipchat_room": process.env.HIPCHAT_ROOM || '< Room ID or Name >', - "hipchat_from": "Mr. Semantics", - "hipchat_notify": false, - "hipchat_response_callback": function(err, response, body){ - if(err || response.statusCode > 300){ - throw new Error('hipchat-notifier failed'); - } - console.log('mr semantics callback success'); - }, - "layout": customLayout - } - ] -}); - -logger.info("Test customLayout from Mr. Semantics"); diff --git a/node_modules/log4js/examples/log-rolling.js b/node_modules/log4js/examples/log-rolling.js deleted file mode 100644 index 7519c5f..0000000 --- a/node_modules/log4js/examples/log-rolling.js +++ /dev/null @@ -1,27 +0,0 @@ -var log4js = require('../lib/log4js') -, log -, i = 0; -log4js.configure({ - "appenders": [ - { - type: "console" - , category: "console" - }, - { - "type": "file", - "filename": "tmp-test.log", - "maxLogSize": 1024, - "backups": 3, - "category": "test" - } - ] -}); -log = log4js.getLogger("test"); - -function doTheLogging(x) { - log.info("Logging something %d", x); -} - -for ( ; i < 5000; i++) { - doTheLogging(i); -} \ No newline at end of file diff --git a/node_modules/log4js/examples/log-to-files.js b/node_modules/log4js/examples/log-to-files.js deleted file mode 100644 index 6f140da..0000000 --- a/node_modules/log4js/examples/log-to-files.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -var path = require('path') -, log4js = require('../lib/log4js'); - -log4js.configure( - { - appenders: [ - { - type: "file", - filename: "important-things.log", - maxLogSize: 10*1024*1024, // = 10Mb - numBackups: 5, // keep five backup files - compress: true, // compress the backups - encoding: 'utf-8', - mode: parseInt('0640', 8), - flags: 'w+' - }, - { - type: "dateFile", - filename: "more-important-things.log", - pattern: "yyyy-MM-dd-hh", - compress: true - }, - { - type: "stdout" - } - ] - } -); - -var logger = log4js.getLogger('things'); -logger.debug("This little thing went to market"); -logger.info("This little thing stayed at home"); -logger.error("This little thing had roast beef"); -logger.fatal("This little thing had none"); -logger.trace("and this little thing went wee, wee, wee, all the way home."); diff --git a/node_modules/log4js/examples/logFaces-appender.js b/node_modules/log4js/examples/logFaces-appender.js deleted file mode 100644 index 2f398f0..0000000 --- a/node_modules/log4js/examples/logFaces-appender.js +++ /dev/null @@ -1,24 +0,0 @@ -var log4js = require('../lib/log4js'); - -/* - logFaces server configured with UDP receiver, using JSON format, - listening on port 55201 will receive the logs from the appender below. -*/ - -log4js.configure({ - "appenders": [ - { - "type": "logFacesAppender", // (mandatory) appender type - "application": "MY-NODEJS", // (optional) name of the application (domain) - "remoteHost": "localhost", // (optional) logFaces server host or IP address - "port": 55201, // (optional) logFaces UDP receiver port (must use JSON format) - "layout": { // (optional) the layout to use for messages - "type": "pattern", - "pattern": "%m" - } - } - ] -}); - -var logger = log4js.getLogger("myLogger"); -logger.info("Testing message %s", "arg1"); diff --git a/node_modules/log4js/examples/loggly-appender.js b/node_modules/log4js/examples/loggly-appender.js deleted file mode 100644 index 1465c92..0000000 --- a/node_modules/log4js/examples/loggly-appender.js +++ /dev/null @@ -1,24 +0,0 @@ -//Note that loggly appender needs node-loggly to work. -//If you haven't got node-loggly installed, you'll get cryptic -//"cannot find module" errors when using the loggly appender -var log4js = require('../lib/log4js'); - -log4js.configure({ - "appenders": [ - { - type: "console", - category: "test" - }, - { - "type" : "loggly", - "token" : "12345678901234567890", - "subdomain": "your-subdomain", - "tags" : ["test"], - "category" : "loggly" - } - ] -}); - -var logger = log4js.getLogger("loggly"); -logger.info("Test log message"); -//logger.debug("Test log message"); \ No newline at end of file diff --git a/node_modules/log4js/examples/logstashUDP.js b/node_modules/log4js/examples/logstashUDP.js deleted file mode 100644 index 871f157..0000000 --- a/node_modules/log4js/examples/logstashUDP.js +++ /dev/null @@ -1,39 +0,0 @@ -var log4js = require('../lib/log4js'); - -/* - Sample logstash config: - udp { - codec => json - port => 10001 - queue_size => 2 - workers => 2 - type => myAppType - } -*/ - -log4js.configure({ - "appenders": [ - { - type: "console", - category: "myLogger" - }, - { - "host": "127.0.0.1", - "port": 10001, - "type": "logstashUDP", - "logType": "myAppType", // Optional, defaults to 'category' - "fields": { // Optional, will be added to the 'fields' object in logstash - "field1": "value1", - "field2": "value2" - }, - "layout": { - "type": "pattern", - "pattern": "%m" - }, - "category": "myLogger" - } - ] -}); - -var logger = log4js.getLogger("myLogger"); -logger.info("Test log message %s", "arg1", "arg2"); diff --git a/node_modules/log4js/examples/memory-test.js b/node_modules/log4js/examples/memory-test.js deleted file mode 100644 index 4cc6f2d..0000000 --- a/node_modules/log4js/examples/memory-test.js +++ /dev/null @@ -1,37 +0,0 @@ -var log4js = require('../lib/log4js') -, logger -, usage -, i; - -log4js.configure( - { - appenders: [ - { - category: "memory-test" - , type: "file" - , filename: "memory-test.log" - }, - { - type: "console" - , category: "memory-usage" - }, - { - type: "file" - , filename: "memory-usage.log" - , category: "memory-usage" - , layout: { - type: "messagePassThrough" - } - } - ] - } -); -logger = log4js.getLogger("memory-test"); -usage = log4js.getLogger("memory-usage"); - -for (i=0; i < 1000000; i++) { - if ( (i % 5000) === 0) { - usage.info("%d %d", i, process.memoryUsage().rss); - } - logger.info("Doing something."); -} diff --git a/node_modules/log4js/examples/patternLayout-tokens.js b/node_modules/log4js/examples/patternLayout-tokens.js deleted file mode 100644 index 84b171c..0000000 --- a/node_modules/log4js/examples/patternLayout-tokens.js +++ /dev/null @@ -1,21 +0,0 @@ -var log4js = require('./lib/log4js'); - -var config = { - "appenders": [ - { - "type": "console", - "layout": { - "type": "pattern", - "pattern": "%[%r (%x{pid}) %p %c -%] %m%n", - "tokens": { - "pid" : function() { return process.pid; } - } - } - } - ] - }; - -log4js.configure(config, {}); - -var logger = log4js.getLogger("app"); -logger.info("Test log message"); \ No newline at end of file diff --git a/node_modules/log4js/examples/reload.js b/node_modules/log4js/examples/reload.js deleted file mode 100644 index a8ede43..0000000 --- a/node_modules/log4js/examples/reload.js +++ /dev/null @@ -1,14 +0,0 @@ -"use strict"; -var path = require('path') -, log4js = require('../lib/log4js'); - -log4js.configure( - // config reloading only works with file-based config (obvs) - path.join(__dirname, '../test/tape/test-config.json'), - { reloadSecs: 10 } -); - -log4js.getLogger('testing').info("Just testing"); -log4js.shutdown(function() { - //callback gets you notified when log4js has finished shutting down. -}); diff --git a/node_modules/log4js/examples/slack-appender.js b/node_modules/log4js/examples/slack-appender.js deleted file mode 100644 index eb8d419..0000000 --- a/node_modules/log4js/examples/slack-appender.js +++ /dev/null @@ -1,24 +0,0 @@ -//Note that slack appender needs slack-node package to work. -var log4js = require('../lib/log4js'); - -log4js.configure({ - "appenders": [ - { - "type" : "slack", - "token": 'TOKEN', - "channel_id": "#CHANNEL", - "username": "USERNAME", - "format": "text", - "category" : "slack", - "icon_url" : "ICON_URL" - } - ] -}); - -var logger = log4js.getLogger("slack"); -logger.warn("Test Warn message"); -logger.info("Test Info message"); -logger.debug("Test Debug Message"); -logger.trace("Test Trace Message"); -logger.fatal("Test Fatal Message"); -logger.error("Test Error Message"); diff --git a/node_modules/log4js/examples/smtp-appender.js b/node_modules/log4js/examples/smtp-appender.js deleted file mode 100644 index 134ce90..0000000 --- a/node_modules/log4js/examples/smtp-appender.js +++ /dev/null @@ -1,43 +0,0 @@ -//Note that smtp appender needs nodemailer to work. -//If you haven't got nodemailer installed, you'll get cryptic -//"cannot find module" errors when using the smtp appender -var log4js = require('../lib/log4js') -, log -, logmailer -, i = 0; -log4js.configure({ - "appenders": [ - { - type: "console", - category: "test" - }, - { - "type": "smtp", - "recipients": "logfilerecipient@logging.com", - "sendInterval": 5, - "transport": "SMTP", - "SMTP": { - "host": "smtp.gmail.com", - "secureConnection": true, - "port": 465, - "auth": { - "user": "someone@gmail", - "pass": "********************" - }, - "debug": true - }, - "category": "mailer" - } - ] -}); -log = log4js.getLogger("test"); -logmailer = log4js.getLogger("mailer"); - -function doTheLogging(x) { - log.info("Logging something %d", x); - logmailer.info("Logging something %d", x); -} - -for ( ; i < 500; i++) { - doTheLogging(i); -} diff --git a/node_modules/log4js/lib/appenders/categoryFilter.js b/node_modules/log4js/lib/appenders/categoryFilter.js deleted file mode 100644 index c51dbfc..0000000 --- a/node_modules/log4js/lib/appenders/categoryFilter.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; -var log4js = require('../log4js'); - -function categoryFilter (excludes, appender) { - if (typeof(excludes) === 'string') excludes = [excludes]; - return function(logEvent) { - if (excludes.indexOf(logEvent.categoryName) === -1) { - appender(logEvent); - } - }; -} - -function configure(config, options) { - log4js.loadAppender(config.appender.type); - var appender = log4js.appenderMakers[config.appender.type](config.appender, options); - return categoryFilter(config.exclude, appender); -} - -exports.appender = categoryFilter; -exports.configure = configure; diff --git a/node_modules/log4js/lib/appenders/clustered.js b/node_modules/log4js/lib/appenders/clustered.js deleted file mode 100755 index 3af1eca..0000000 --- a/node_modules/log4js/lib/appenders/clustered.js +++ /dev/null @@ -1,153 +0,0 @@ -"use strict"; - -var cluster = require('cluster'); -var log4js = require('../log4js'); - -/** - * Takes a loggingEvent object, returns string representation of it. - */ -function serializeLoggingEvent(loggingEvent) { - // JSON.stringify(new Error('test')) returns {}, which is not really useful for us. - // The following allows us to serialize errors correctly. - for (var i = 0; i < loggingEvent.data.length; i++) { - var item = loggingEvent.data[i]; - // Validate that we really are in this case - if (item && item.stack && JSON.stringify(item) === '{}') { - loggingEvent.data[i] = {stack : item.stack}; - } - } - return JSON.stringify(loggingEvent); -} - -/** - * Takes a string, returns an object with - * the correct log properties. - * - * This method has been "borrowed" from the `multiprocess` appender - * by `nomiddlename` - * (https://github.com/nomiddlename/log4js-node/blob/master/lib/appenders/multiprocess.js) - * - * Apparently, node.js serializes everything to strings when using `process.send()`, - * so we need smart deserialization that will recreate log date and level for further - * processing by log4js internals. - */ -function deserializeLoggingEvent(loggingEventString) { - - var loggingEvent; - - try { - - loggingEvent = JSON.parse(loggingEventString); - loggingEvent.startTime = new Date(loggingEvent.startTime); - loggingEvent.level = log4js.levels.toLevel(loggingEvent.level.levelStr); - // Unwrap serialized errors - for (var i = 0; i < loggingEvent.data.length; i++) { - var item = loggingEvent.data[i]; - if (item && item.stack) { - loggingEvent.data[i] = item.stack; - } - } - - } catch (e) { - - // JSON.parse failed, just log the contents probably a naughty. - loggingEvent = { - startTime: new Date(), - categoryName: 'log4js', - level: log4js.levels.ERROR, - data: [ 'Unable to parse log:', loggingEventString ] - }; - } - return loggingEvent; -} - -/** - * Creates an appender. - * - * If the current process is a master (`cluster.isMaster`), then this will be a "master appender". - * Otherwise this will be a worker appender, that just sends loggingEvents to the master process. - * - * If you are using this method directly, make sure to provide it with `config.actualAppenders` - * array of actual appender instances. - * - * Or better use `configure(config, options)` - */ -function createAppender(config) { - - if (cluster.isMaster) { - - var masterAppender = function(loggingEvent) { - - if (config.actualAppenders) { - var size = config.actualAppenders.length; - for(var i = 0; i < size; i++) { - if ( - !config.appenders[i].category || - config.appenders[i].category === loggingEvent.categoryName - ) { - // Relying on the index is not a good practice but otherwise - // the change would have been bigger. - config.actualAppenders[i](loggingEvent); - } - } - } - }; - - // Listen on new workers - cluster.on('fork', function(worker) { - - worker.on('message', function(message) { - if (message.type && message.type === '::log-message') { - var loggingEvent = deserializeLoggingEvent(message.event); - - // Adding PID metadata - loggingEvent.pid = worker.process.pid; - loggingEvent.cluster = { - master: process.pid, - worker: worker.process.pid, - workerId: worker.id - }; - - masterAppender(loggingEvent); - } - }); - - }); - - return masterAppender; - - } else { - - return function(loggingEvent) { - // If inside the worker process, then send the logger event to master. - if (cluster.isWorker) { - // console.log("worker " + cluster.worker.id + " is sending message"); - process.send({ type: '::log-message', event: serializeLoggingEvent(loggingEvent)}); - } - }; - } -} - -function configure(config, options) { - - if (config.appenders && cluster.isMaster) { - - var size = config.appenders.length; - config.actualAppenders = new Array(size); - - for(var i = 0; i < size; i++) { - - log4js.loadAppender(config.appenders[i].type); - config.actualAppenders[i] = log4js.appenderMakers[config.appenders[i].type]( - config.appenders[i], - options - ); - - } - } - - return createAppender(config); -} - -exports.appender = createAppender; -exports.configure = configure; diff --git a/node_modules/log4js/lib/appenders/console.js b/node_modules/log4js/lib/appenders/console.js deleted file mode 100644 index 20f80b1..0000000 --- a/node_modules/log4js/lib/appenders/console.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; -var layouts = require('../layouts') -, consoleLog = console.log.bind(console); - -function consoleAppender (layout, timezoneOffset) { - layout = layout || layouts.colouredLayout; - return function(loggingEvent) { - consoleLog(layout(loggingEvent, timezoneOffset)); - }; -} - -function configure(config) { - var layout; - if (config.layout) { - layout = layouts.layout(config.layout.type, config.layout); - } - return consoleAppender(layout, config.timezoneOffset); -} - -exports.appender = consoleAppender; -exports.configure = configure; diff --git a/node_modules/log4js/lib/appenders/dateFile.js b/node_modules/log4js/lib/appenders/dateFile.js deleted file mode 100644 index 5451d15..0000000 --- a/node_modules/log4js/lib/appenders/dateFile.js +++ /dev/null @@ -1,90 +0,0 @@ -"use strict"; -var streams = require('streamroller') -, layouts = require('../layouts') -, path = require('path') -, os = require('os') -, eol = os.EOL || '\n' -, openFiles = []; - -//close open files on process exit. -process.on('exit', function() { - openFiles.forEach(function (file) { - file.end(); - }); -}); - -/** - * File appender that rolls files according to a date pattern. - * @filename base filename. - * @pattern the format that will be added to the end of filename when rolling, - * also used to check when to roll files - defaults to '.yyyy-MM-dd' - * @layout layout function for log messages - defaults to basicLayout - * @timezoneOffset optional timezone offset in minutes - defaults to system local - */ -function appender(filename, pattern, layout, options, timezoneOffset) { - layout = layout || layouts.basicLayout; - - var logFile = new streams.DateRollingFileStream( - filename, - pattern, - options - ); - openFiles.push(logFile); - - return function(logEvent) { - logFile.write(layout(logEvent, timezoneOffset) + eol, "utf8"); - }; - -} - -function configure(config, options) { - var layout; - - if (config.layout) { - layout = layouts.layout(config.layout.type, config.layout); - } - - if (!config.alwaysIncludePattern) { - config.alwaysIncludePattern = false; - } - - if (options && options.cwd && !config.absolute) { - config.filename = path.join(options.cwd, config.filename); - } - - return appender( - config.filename, - config.pattern, - layout, - config, - config.timezoneOffset - ); -} - -function shutdown(cb) { - var completed = 0; - var error; - var complete = function(err) { - error = error || err; - completed++; - if (completed >= openFiles.length) { - cb(error); - } - }; - if (!openFiles.length) { - return cb(); - } - openFiles.forEach(function(file) { - if (!file.write(eol, "utf-8")) { - file.once('drain', function() { - file.end(complete); - }); - } else { - file.end(complete); - } - }); -} - -exports.appender = appender; -exports.configure = configure; -exports.shutdown = shutdown; diff --git a/node_modules/log4js/lib/appenders/file.js b/node_modules/log4js/lib/appenders/file.js deleted file mode 100644 index 021f261..0000000 --- a/node_modules/log4js/lib/appenders/file.js +++ /dev/null @@ -1,129 +0,0 @@ -"use strict"; -var debug = require('debug')('log4js:file') -, layouts = require('../layouts') -, path = require('path') -, fs = require('fs') -, streams = require('streamroller') -, os = require('os') -, eol = os.EOL || '\n' -, openFiles = [] -, levels = require('../levels'); - -//close open files on process exit. -process.on('exit', function() { - debug('Exit handler called.'); - openFiles.forEach(function (file) { - file.end(); - }); -}); - -// On SIGHUP, close and reopen all files. This allows this appender to work with -// logrotate. Note that if you are using logrotate, you should not set -// `logSize`. -process.on('SIGHUP', function() { - debug('SIGHUP handler called.'); - openFiles.forEach(function(writer) { - writer.closeTheStream(writer.openTheStream.bind(writer)); - }); -}); - -/** - * File Appender writing the logs to a text file. Supports rolling of logs by size. - * - * @param file file log messages will be written to - * @param layout a function that takes a logevent and returns a string - * (defaults to basicLayout). - * @param logSize - the maximum size (in bytes) for a log file, - * if not provided then logs won't be rotated. - * @param numBackups - the number of log files to keep after logSize - * has been reached (default 5) - * @param options - options to be passed to the underlying stream - * @param timezoneOffset - optional timezone offset in minutes (default system local) - */ -function fileAppender (file, layout, logSize, numBackups, options, timezoneOffset) { - file = path.normalize(file); - layout = layout || layouts.basicLayout; - numBackups = numBackups === undefined ? 5 : numBackups; - //there has to be at least one backup if logSize has been specified - numBackups = numBackups === 0 ? 1 : numBackups; - - debug("Creating file appender (", - file, ", ", - logSize, ", ", - numBackups, ", ", - options, ", ", - timezoneOffset, ")" - ); - var writer = openTheStream(file, logSize, numBackups, options); - - // push file to the stack of open handlers - openFiles.push(writer); - - return function(loggingEvent) { - writer.write(layout(loggingEvent, timezoneOffset) + eol, "utf8"); - }; - -} - -function openTheStream(file, fileSize, numFiles, options) { - var stream = new streams.RollingFileStream( - file, - fileSize, - numFiles, - options - ); - stream.on("error", function (err) { - console.error("log4js.fileAppender - Writing to file %s, error happened ", file, err); - }); - return stream; -} - - -function configure(config, options) { - var layout; - if (config.layout) { - layout = layouts.layout(config.layout.type, config.layout); - } - - if (options && options.cwd && !config.absolute) { - config.filename = path.join(options.cwd, config.filename); - } - - return fileAppender( - config.filename, - layout, - config.maxLogSize, - config.backups, - config, - config.timezoneOffset - ); -} - -function shutdown(cb) { - var completed = 0; - var error; - var complete = function(err) { - error = error || err; - completed++; - if (completed >= openFiles.length) { - cb(error); - } - }; - if (!openFiles.length) { - return cb(); - } - openFiles.forEach(function(file) { - var stream = file; - if (!stream.write(eol, "utf-8")) { - stream.once('drain', function() { - stream.end(complete); - }); - } else { - stream.end(complete); - } - }); -} - -exports.appender = fileAppender; -exports.configure = configure; -exports.shutdown = shutdown; diff --git a/node_modules/log4js/lib/appenders/fileSync.js b/node_modules/log4js/lib/appenders/fileSync.js deleted file mode 100755 index ef4bfbb..0000000 --- a/node_modules/log4js/lib/appenders/fileSync.js +++ /dev/null @@ -1,194 +0,0 @@ -"use strict"; -var debug = require('debug')('log4js:fileSync') -, layouts = require('../layouts') -, path = require('path') -, fs = require('fs') -, os = require('os') -, eol = os.EOL || '\n' -; - -function RollingFileSync (filename, size, backups, options) { - debug("In RollingFileStream"); - - function throwErrorIfArgumentsAreNotValid() { - if (!filename || !size || size <= 0) { - throw new Error("You must specify a filename and file size"); - } - } - - throwErrorIfArgumentsAreNotValid(); - - this.filename = filename; - this.size = size; - this.backups = backups || 1; - this.options = options || { encoding: 'utf8', mode: parseInt('0644', 8), flags: 'a' }; - this.currentSize = 0; - - function currentFileSize(file) { - var fileSize = 0; - try { - fileSize = fs.statSync(file).size; - } catch (e) { - // file does not exist - fs.appendFileSync(filename, ''); - } - return fileSize; - } - - this.currentSize = currentFileSize(this.filename); -} - -RollingFileSync.prototype.shouldRoll = function() { - debug("should roll with current size %d, and max size %d", this.currentSize, this.size); - return this.currentSize >= this.size; -}; - -RollingFileSync.prototype.roll = function(filename) { - var that = this, - nameMatcher = new RegExp('^' + path.basename(filename)); - - function justTheseFiles (item) { - return nameMatcher.test(item); - } - - function index(filename_) { - return parseInt(filename_.substring((path.basename(filename) + '.').length), 10) || 0; - } - - function byIndex(a, b) { - if (index(a) > index(b)) { - return 1; - } else if (index(a) < index(b) ) { - return -1; - } else { - return 0; - } - } - - function increaseFileIndex (fileToRename) { - var idx = index(fileToRename); - debug('Index of ' + fileToRename + ' is ' + idx); - if (idx < that.backups) { - //on windows, you can get a EEXIST error if you rename a file to an existing file - //so, we'll try to delete the file we're renaming to first - try { - fs.unlinkSync(filename + '.' + (idx+1)); - } catch(e) { - //ignore err: if we could not delete, it's most likely that it doesn't exist - } - - debug('Renaming ' + fileToRename + ' -> ' + filename + '.' + (idx+1)); - fs.renameSync(path.join(path.dirname(filename), fileToRename), filename + '.' + (idx + 1)); - } - } - - function renameTheFiles() { - //roll the backups (rename file.n to file.n+1, where n <= numBackups) - debug("Renaming the old files"); - - var files = fs.readdirSync(path.dirname(filename)); - files.filter(justTheseFiles).sort(byIndex).reverse().forEach(increaseFileIndex); - } - - debug("Rolling, rolling, rolling"); - renameTheFiles(); -}; - -RollingFileSync.prototype.write = function(chunk, encoding) { - var that = this; - - - function writeTheChunk() { - debug("writing the chunk to the file"); - that.currentSize += chunk.length; - fs.appendFileSync(that.filename, chunk); - } - - debug("in write"); - - - if (this.shouldRoll()) { - this.currentSize = 0; - this.roll(this.filename); - } - - writeTheChunk(); -}; - - -/** - * File Appender writing the logs to a text file. Supports rolling of logs by size. - * - * @param file file log messages will be written to - * @param layout a function that takes a logevent and returns a string - * (defaults to basicLayout). - * @param logSize - the maximum size (in bytes) for a log file, - * if not provided then logs won't be rotated. - * @param numBackups - the number of log files to keep after logSize - * has been reached (default 5) - * @param timezoneOffset - optional timezone offset in minutes - * (default system local) - */ -function fileAppender (file, layout, logSize, numBackups, timezoneOffset) { - debug("fileSync appender created"); - var bytesWritten = 0; - file = path.normalize(file); - layout = layout || layouts.basicLayout; - numBackups = numBackups === undefined ? 5 : numBackups; - //there has to be at least one backup if logSize has been specified - numBackups = numBackups === 0 ? 1 : numBackups; - - function openTheStream(file, fileSize, numFiles) { - var stream; - - if (fileSize) { - stream = new RollingFileSync( - file, - fileSize, - numFiles - ); - } else { - stream = (function(f) { - // create file if it doesn't exist - if (!fs.existsSync(f)) - fs.appendFileSync(f, ''); - - return { - write: function(data) { - fs.appendFileSync(f, data); - } - }; - })(file); - } - - return stream; - } - - var logFile = openTheStream(file, logSize, numBackups); - - return function(loggingEvent) { - logFile.write(layout(loggingEvent, timezoneOffset) + eol); - }; -} - -function configure(config, options) { - var layout; - if (config.layout) { - layout = layouts.layout(config.layout.type, config.layout); - } - - if (options && options.cwd && !config.absolute) { - config.filename = path.join(options.cwd, config.filename); - } - - return fileAppender( - config.filename, - layout, - config.maxLogSize, - config.backups, - config.timezoneOffset - ); -} - -exports.appender = fileAppender; -exports.configure = configure; diff --git a/node_modules/log4js/lib/appenders/gelf.js b/node_modules/log4js/lib/appenders/gelf.js deleted file mode 100644 index 4f4093d..0000000 --- a/node_modules/log4js/lib/appenders/gelf.js +++ /dev/null @@ -1,155 +0,0 @@ -"use strict"; -var zlib = require('zlib'); -var layouts = require('../layouts'); -var levels = require('../levels'); -var dgram = require('dgram'); -var util = require('util'); -var debug = require('debug')('log4js:gelf'); - -var LOG_EMERG=0; // system is unusable -var LOG_ALERT=1; // action must be taken immediately -var LOG_CRIT=2; // critical conditions -var LOG_ERR=3; // error conditions -var LOG_ERROR=3; // because people WILL typo -var LOG_WARNING=4; // warning conditions -var LOG_NOTICE=5; // normal, but significant, condition -var LOG_INFO=6; // informational message -var LOG_DEBUG=7; // debug-level message - -var levelMapping = {}; -levelMapping[levels.ALL] = LOG_DEBUG; -levelMapping[levels.TRACE] = LOG_DEBUG; -levelMapping[levels.DEBUG] = LOG_DEBUG; -levelMapping[levels.INFO] = LOG_INFO; -levelMapping[levels.WARN] = LOG_WARNING; -levelMapping[levels.ERROR] = LOG_ERR; -levelMapping[levels.FATAL] = LOG_CRIT; - -var client; - -/** - * GELF appender that supports sending UDP packets to a GELF compatible server such as Graylog - * - * @param layout a function that takes a logevent and returns a string (defaults to none). - * @param host - host to which to send logs (default:localhost) - * @param port - port at which to send logs to (default:12201) - * @param hostname - hostname of the current host (default:os hostname) - * @param facility - facility to log to (default:nodejs-server) - */ - /* jshint maxstatements:21 */ -function gelfAppender (layout, host, port, hostname, facility) { - var config, customFields; - if (typeof(host) === 'object') { - config = host; - host = config.host; - port = config.port; - hostname = config.hostname; - facility = config.facility; - customFields = config.customFields; - } - - host = host || 'localhost'; - port = port || 12201; - hostname = hostname || require('os').hostname(); - layout = layout || layouts.messagePassThroughLayout; - - var defaultCustomFields = customFields || {}; - - if(facility) { - defaultCustomFields._facility = facility; - } - - client = dgram.createSocket("udp4"); - - process.on('exit', function() { - if (client) client.close(); - }); - - /** - * Add custom fields (start with underscore ) - * - if the first object passed to the logger contains 'GELF' field, - * copy the underscore fields to the message - * @param loggingEvent - * @param msg - */ - function addCustomFields(loggingEvent, msg){ - - /* append defaultCustomFields firsts */ - Object.keys(defaultCustomFields).forEach(function(key) { - // skip _id field for graylog2, skip keys not starts with UNDERSCORE - if (key.match(/^_/) && key !== "_id") { - msg[key] = defaultCustomFields[key]; - } - }); - - /* append custom fields per message */ - var data = loggingEvent.data; - if (!Array.isArray(data) || data.length === 0) return; - var firstData = data[0]; - - if (!firstData.GELF) return; // identify with GELF field defined - // Remove the GELF key, some gelf supported logging systems drop the message with it - delete firstData.GELF; - Object.keys(firstData).forEach(function(key) { - // skip _id field for graylog2, skip keys not starts with UNDERSCORE - if (key.match(/^_/) || key !== "_id") { - msg[key] = firstData[key]; - } - }); - - /* the custom field object should be removed, so it will not be looged by the later appenders */ - loggingEvent.data.shift(); - } - - function preparePacket(loggingEvent) { - var msg = {}; - addCustomFields(loggingEvent, msg); - msg.short_message = layout(loggingEvent); - - msg.version="1.1"; - msg.timestamp = msg.timestamp || new Date().getTime() / 1000; // log should use millisecond - msg.host = hostname; - msg.level = levelMapping[loggingEvent.level || levels.DEBUG]; - return msg; - } - - function sendPacket(packet) { - client.send(packet, 0, packet.length, port, host, function(err) { - if (err) { console.error(err); } - }); - } - - return function(loggingEvent) { - var message = preparePacket(loggingEvent); - zlib.gzip(new Buffer(JSON.stringify(message)), function(err, packet) { - if (err) { - console.error(err.stack); - } else { - if (packet.length > 8192) { - debug("Message packet length (" + packet.length + ") is larger than 8k. Not sending"); - } else { - sendPacket(packet); - } - } - }); - }; -} - -function configure(config) { - var layout; - if (config.layout) { - layout = layouts.layout(config.layout.type, config.layout); - } - return gelfAppender(layout, config); -} - -function shutdown(cb) { - if (client) { - client.close(cb); - client = null; - } -} - -exports.appender = gelfAppender; -exports.configure = configure; -exports.shutdown = shutdown; diff --git a/node_modules/log4js/lib/appenders/hipchat.js b/node_modules/log4js/lib/appenders/hipchat.js deleted file mode 100644 index 3fd65df..0000000 --- a/node_modules/log4js/lib/appenders/hipchat.js +++ /dev/null @@ -1,90 +0,0 @@ -"use strict"; - -var hipchat = require('hipchat-notifier'); -var layouts = require('../layouts'); - -exports.name = 'hipchat'; -exports.appender = hipchatAppender; -exports.configure = hipchatConfigure; - -/** - @invoke as - - log4js.configure({ - "appenders": [ - { - "type" : "hipchat", - "hipchat_token": "< User token with Notification Privileges >", - "hipchat_room": "< Room ID or Name >", - // optionl - "hipchat_from": "[ additional from label ]", - "hipchat_notify": "[ notify boolean to bug people ]", - "hipchat_host" : "api.hipchat.com" - } - ] - }); - - var logger = log4js.getLogger("hipchat"); - logger.warn("Test Warn message"); - - @invoke - */ - -function hipchatNotifierResponseCallback(err, response, body){ - if(err) { - throw err; - } -} - -function hipchatAppender(config) { - - var notifier = hipchat.make(config.hipchat_room, config.hipchat_token); - - // @lint W074 This function's cyclomatic complexity is too high. (10) - return function(loggingEvent){ - - var notifierFn; - - notifier.setRoom(config.hipchat_room); - notifier.setFrom(config.hipchat_from || ''); - notifier.setNotify(config.hipchat_notify || false); - - if(config.hipchat_host) { - notifier.setHost(config.hipchat_host); - } - - switch (loggingEvent.level.toString()) { - case "TRACE": - case "DEBUG": - notifierFn = "info"; - break; - case "WARN": - notifierFn = "warning"; - break; - case "ERROR": - case "FATAL": - notifierFn = "failure"; - break; - default: - notifierFn = "success"; - } - - // @TODO, re-work in timezoneOffset ? - var layoutMessage = config.layout(loggingEvent); - - // dispatch hipchat api request, do not return anything - // [overide hipchatNotifierResponseCallback] - notifier[notifierFn](layoutMessage, config.hipchat_response_callback || - hipchatNotifierResponseCallback); - }; -} - -function hipchatConfigure(config) { - var layout; - - if (!config.layout) { - config.layout = layouts.messagePassThroughLayout; - } - - return hipchatAppender(config, layout); -} diff --git a/node_modules/log4js/lib/appenders/logFacesAppender.js b/node_modules/log4js/lib/appenders/logFacesAppender.js deleted file mode 100644 index efe6858..0000000 --- a/node_modules/log4js/lib/appenders/logFacesAppender.js +++ /dev/null @@ -1,125 +0,0 @@ -/** -* logFaces appender sends JSON formatted log events to logFaces receivers. -* There are two types of receivers supported - raw UDP sockets (for server side apps), -* and HTTP (for client side apps). Depending on the usage, this appender -* requires either of the two: -* -* For UDP require 'dgram', see 'https://nodejs.org/api/dgram.html' -* For HTTP require 'axios', see 'https://www.npmjs.com/package/axios' -* -* Make sure your project have relevant dependancy installed before using this appender. -*/ - -"use strict"; -var util = require('util'); -var context = {}; - -function datagram(config){ - var sock = require('dgram').createSocket('udp4'); - var host = config.remoteHost || "127.0.0.1"; - var port = config.port || 55201; - - return function(event){ - var buff = new Buffer(JSON.stringify(event)); - sock.send(buff, 0, buff.length, port, host, function(err, bytes) { - if(err){ - console.error("log4js.logFacesAppender failed to %s:%d, error: %s", - host, port, err); - } - }); - }; -} - -function servlet(config){ - var axios = require('axios').create(); - axios.defaults.baseURL = config.url; - axios.defaults.timeout = config.timeout || 5000; - axios.defaults.headers = {'Content-Type': 'application/json'}; - axios.defaults.withCredentials = true; - - return function(lfsEvent){ - axios.post("", lfsEvent) - .then(function(response){ - if(response.status != 200){ - console.error("log4js.logFacesAppender post to %s failed: %d", - config.url, response.status); - } - }) - .catch(function(response){ - console.error("log4js.logFacesAppender post to %s excepted: %s", - config.url, response.status); - }); - }; -} - -/** -* For UDP (node.js) use the following configuration params: -* { -* "type": "logFacesAppender", // must be present for instantiation -* "application": "LFS-TEST", // name of the application (domain) -* "remoteHost": "127.0.0.1", // logFaces server address (hostname) -* "port": 55201 // UDP receiver listening port -* } -* -* For HTTP (browsers or node.js) use the following configuration params: -* { -* "type": "logFacesAppender", // must be present for instantiation -* "application": "LFS-TEST", // name of the application (domain) -* "url": "http://lfs-server/logs", // logFaces receiver servlet URL -* } -*/ -function logFacesAppender(config) { - var send = config.send; - if(send === undefined){ - send = (config.url === undefined) ? datagram(config) : servlet(config); - } - - return function log(event) { - // convert to logFaces compact json format - var lfsEvent = { - a: config.application || "", // application name - t: event.startTime.getTime(), // time stamp - p: event.level.levelStr, // level (priority) - g: event.categoryName, // logger name - m: format(event.data) // message text - }; - - // add context variables if exist - Object.keys(context).forEach(function(key) { - lfsEvent['p_' + key] = context[key]; - }); - - // send to server - send(lfsEvent); - }; -} - -function configure(config) { - return logFacesAppender(config); -} - -function setContext(key, value){ - context[key] = value; -} - -function format(logData) { - var data = Array.isArray(logData) ? - logData : Array.prototype.slice.call(arguments); - return util.format.apply(util, wrapErrorsWithInspect(data)); -} - -function wrapErrorsWithInspect(items) { - return items.map(function(item) { - if ((item instanceof Error) && item.stack) { - return { inspect: function() { - return util.format(item) + '\n' + item.stack; - }}; - } else { - return item; - } - }); -} - -exports.appender = logFacesAppender; -exports.configure = configure; -exports.setContext = setContext; diff --git a/node_modules/log4js/lib/appenders/logLevelFilter.js b/node_modules/log4js/lib/appenders/logLevelFilter.js deleted file mode 100644 index cdd273f..0000000 --- a/node_modules/log4js/lib/appenders/logLevelFilter.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -var levels = require('../levels') -, log4js = require('../log4js'); - -function logLevelFilter (minLevelString, maxLevelString, appender) { - var minLevel = levels.toLevel(minLevelString); - var maxLevel = levels.toLevel(maxLevelString, levels.FATAL); - return function(logEvent) { - var eventLevel = logEvent.level; - if (eventLevel.isGreaterThanOrEqualTo(minLevel) && eventLevel.isLessThanOrEqualTo(maxLevel)) { - appender(logEvent); - } - }; -} - -function configure(config, options) { - log4js.loadAppender(config.appender.type); - var appender = log4js.appenderMakers[config.appender.type](config.appender, options); - return logLevelFilter(config.level, config.maxLevel, appender); -} - -exports.appender = logLevelFilter; -exports.configure = configure; diff --git a/node_modules/log4js/lib/appenders/loggly.js b/node_modules/log4js/lib/appenders/loggly.js deleted file mode 100644 index b2da578..0000000 --- a/node_modules/log4js/lib/appenders/loggly.js +++ /dev/null @@ -1,114 +0,0 @@ -'use strict'; -var layouts = require('../layouts') -, loggly = require('loggly') -, os = require('os') -, passThrough = layouts.messagePassThroughLayout -, openRequests = 0 -, shutdownCB; - -function isAnyObject(value) { - return value !== null && (typeof value === 'object' || typeof value === 'function'); -} - -function numKeys(o) { - var res = 0; - for (var k in o) { - if (o.hasOwnProperty(k)) res++; - } - return res; -} - -/** - * @param msg - array of args for logging. - * @returns { deTaggedMsg: [], additionalTags: [] } - */ -function processTags(msgListArgs) { - var msgList = (msgListArgs.length === 1 ? [msgListArgs[0]] : Array.apply(null, msgListArgs)); - - return msgList.reduce(function (accum, element, currentIndex, array) { - if (isAnyObject(element) && Array.isArray(element.tags) && numKeys(element) == 1) { - accum.additionalTags = accum.additionalTags.concat(element.tags); - } else { - accum.deTaggedData.push(element); - } - return accum; - }, { deTaggedData: [], additionalTags: [] }); -} - -/** - * Loggly Appender. Sends logging events to Loggly using node-loggly, optionally adding tags. - * - * This appender will scan the msg from the logging event, and pull out any argument of the - * shape `{ tags: [] }` so that it's possibleto add tags in a normal logging call. - * - * For example: - * - * logger.info({ tags: ['my-tag-1', 'my-tag-2'] }, 'Some message', someObj, ...) - * - * And then this appender will remove the tags param and append it to the config.tags. - * - * @param config object with loggly configuration data - * { - * token: 'your-really-long-input-token', - * subdomain: 'your-subdomain', - * tags: ['loggly-tag1', 'loggly-tag2', .., 'loggly-tagn'] - * } - * @param layout a function that takes a logevent and returns a string (defaults to objectLayout). - */ -function logglyAppender(config, layout) { - var client = loggly.createClient(config); - if(!layout) layout = passThrough; - - return function(loggingEvent) { - var result = processTags(loggingEvent.data); - var deTaggedData = result.deTaggedData; - var additionalTags = result.additionalTags; - - // Replace the data property with the deTaggedData - loggingEvent.data = deTaggedData; - - var msg = layout(loggingEvent); - - openRequests++; - - client.log({ - msg: msg, - level: loggingEvent.level.levelStr, - category: loggingEvent.categoryName, - hostname: os.hostname().toString(), - }, additionalTags, function (error, result) { - if (error) { - console.error("log4js.logglyAppender - error occurred: ", error); - } - - openRequests--; - - if (shutdownCB && openRequests === 0) { - shutdownCB(); - - shutdownCB = undefined; - } - }); - }; -} - -function configure(config) { - var layout; - if (config.layout) { - layout = layouts.layout(config.layout.type, config.layout); - } - return logglyAppender(config, layout); -} - -function shutdown (cb) { - if (openRequests === 0) { - cb(); - } else { - shutdownCB = cb; - } -} - -exports.name = 'loggly'; -exports.appender = logglyAppender; -exports.configure = configure; -exports.shutdown = shutdown; diff --git a/node_modules/log4js/lib/appenders/logstashUDP.js b/node_modules/log4js/lib/appenders/logstashUDP.js deleted file mode 100644 index a0e3df2..0000000 --- a/node_modules/log4js/lib/appenders/logstashUDP.js +++ /dev/null @@ -1,69 +0,0 @@ -"use strict"; -var layouts = require('../layouts') -, dgram = require('dgram') -, util = require('util'); - -function logstashUDP (config, layout) { - var udp = dgram.createSocket('udp4'); - var type = config.logType ? config.logType : config.category; - layout = layout || layouts.dummyLayout; - if(!config.fields) { - config.fields = {}; - } - return function log(loggingEvent) { - - /* - https://gist.github.com/jordansissel/2996677 - { - "message" => "hello world", - "@version" => "1", - "@timestamp" => "2014-04-22T23:03:14.111Z", - "type" => "stdin", - "host" => "hello.local" - } - @timestamp is the ISO8601 high-precision timestamp for the event. - @version is the version number of this json schema - Every other field is valid and fine. - */ - - if (loggingEvent.data.length > 1) { - var secondEvData = loggingEvent.data[1]; - for (var k in secondEvData) { - config.fields[k] = secondEvData[k]; - } - } - config.fields.level = loggingEvent.level.levelStr; - config.fields.category = loggingEvent.categoryName; - - var logObject = { - "@version" : "1", - "@timestamp" : (new Date(loggingEvent.startTime)).toISOString(), - "type" : config.logType ? config.logType : config.category, - "message" : layout(loggingEvent), - "fields" : config.fields - }; - sendLog(udp, config.host, config.port, logObject); - }; -} - -function sendLog(udp, host, port, logObject) { - var buffer = new Buffer(JSON.stringify(logObject)); - udp.send(buffer, 0, buffer.length, port, host, function(err, bytes) { - if(err) { - console.error( - "log4js.logstashUDP - %s:%p Error: %s", host, port, util.inspect(err) - ); - } - }); -} - -function configure(config) { - var layout; - if (config.layout) { - layout = layouts.layout(config.layout.type, config.layout); - } - return logstashUDP(config, layout); -} - -exports.appender = logstashUDP; -exports.configure = configure; diff --git a/node_modules/log4js/lib/appenders/mailgun.js b/node_modules/log4js/lib/appenders/mailgun.js deleted file mode 100644 index c2f3f56..0000000 --- a/node_modules/log4js/lib/appenders/mailgun.js +++ /dev/null @@ -1,43 +0,0 @@ -"use strict"; -var layouts = require('../layouts'); -var layout; -var config; -var mailgun; - -function mailgunAppender(_config, _layout) { - - config = _config; - layout = _layout || layouts.basicLayout; - - return function (loggingEvent) { - - var data = { - from: _config.from, - to: _config.to, - subject: _config.subject, - text: layout(loggingEvent, config.timezoneOffset) - }; - - mailgun.messages().send(data, function (error, body) { - if (error !== null) console.error("log4js.mailgunAppender - Error happened", error); - }); - }; -} - -function configure(_config) { - config = _config; - - if (_config.layout) { - layout = layouts.layout(_config.layout.type, _config.layout); - } - - mailgun = require('mailgun-js')({ - apiKey: _config.apikey, - domain: _config.domain - }); - - return mailgunAppender(_config, layout); -} - -exports.appender = mailgunAppender; -exports.configure = configure; diff --git a/node_modules/log4js/lib/appenders/multiprocess.js b/node_modules/log4js/lib/appenders/multiprocess.js deleted file mode 100644 index 0250378..0000000 --- a/node_modules/log4js/lib/appenders/multiprocess.js +++ /dev/null @@ -1,157 +0,0 @@ -"use strict"; -var log4js = require('../log4js') -, debug = require('debug')('log4js:multiprocess') -, net = require('net') -, END_MSG = '__LOG4JS__' -, servers = []; - -/** - * Creates a server, listening on config.loggerPort, config.loggerHost. - * Output goes to config.actualAppender (config.appender is used to - * set up that appender). - */ -function logServer(config) { - - /** - * Takes a utf-8 string, returns an object with - * the correct log properties. - */ - function deserializeLoggingEvent(clientSocket, msg) { - var loggingEvent; - try { - loggingEvent = JSON.parse(msg); - loggingEvent.startTime = new Date(loggingEvent.startTime); - loggingEvent.level = log4js.levels.toLevel(loggingEvent.level.levelStr); - } catch (e) { - // JSON.parse failed, just log the contents probably a naughty. - loggingEvent = { - startTime: new Date(), - categoryName: 'log4js', - level: log4js.levels.ERROR, - data: [ 'Unable to parse log:', msg ] - }; - } - - loggingEvent.remoteAddress = clientSocket.remoteAddress; - loggingEvent.remotePort = clientSocket.remotePort; - - return loggingEvent; - } - - var actualAppender = config.actualAppender, - server = net.createServer(function serverCreated(clientSocket) { - clientSocket.setEncoding('utf8'); - var logMessage = ''; - - function logTheMessage(msg) { - if (logMessage.length > 0) { - actualAppender(deserializeLoggingEvent(clientSocket, msg)); - } - } - - function chunkReceived(chunk) { - var event; - logMessage += chunk || ''; - if (logMessage.indexOf(END_MSG) > -1) { - event = logMessage.substring(0, logMessage.indexOf(END_MSG)); - logTheMessage(event); - logMessage = logMessage.substring(event.length + END_MSG.length) || ''; - //check for more, maybe it was a big chunk - chunkReceived(); - } - } - - clientSocket.on('data', chunkReceived); - clientSocket.on('end', chunkReceived); - }); - - server.listen(config.loggerPort || 5000, config.loggerHost || 'localhost', function() { - servers.push(server); - //allow the process to exit, if this is the only socket active - server.unref(); - }); - - return actualAppender; -} - -function workerAppender(config) { - var canWrite = false, - buffer = [], - socket; - - createSocket(); - - function createSocket() { - socket = net.createConnection(config.loggerPort || 5000, config.loggerHost || 'localhost'); - socket.on('connect', function() { - emptyBuffer(); - canWrite = true; - }); - socket.on('timeout', socket.end.bind(socket)); - //don't bother listening for 'error', 'close' gets called after that anyway - socket.on('close', createSocket); - } - - function emptyBuffer() { - var evt; - while ((evt = buffer.shift())) { - write(evt); - } - } - - function write(loggingEvent) { - // JSON.stringify(new Error('test')) returns {}, which is not really useful for us. - // The following allows us to serialize errors correctly. - // Validate that we really are in this case - if (loggingEvent && loggingEvent.stack && JSON.stringify(loggingEvent) === '{}') { - loggingEvent = {stack : loggingEvent.stack}; - } - socket.write(JSON.stringify(loggingEvent), 'utf8'); - socket.write(END_MSG, 'utf8'); - } - - return function log(loggingEvent) { - if (canWrite) { - write(loggingEvent); - } else { - buffer.push(loggingEvent); - } - }; -} - -function createAppender(config) { - if (config.mode === 'master') { - return logServer(config); - } else { - return workerAppender(config); - } -} - -function configure(config, options) { - var actualAppender; - if (config.appender && config.mode === 'master') { - log4js.loadAppender(config.appender.type); - actualAppender = log4js.appenderMakers[config.appender.type](config.appender, options); - config.actualAppender = actualAppender; - } - return createAppender(config); -} - -function shutdown(done) { - var toBeClosed = servers.length; - debug("multiprocess shutdown with ", toBeClosed, " servers to close."); - servers.forEach(function(server) { - server.close(function() { - debug("server closed."); - toBeClosed--; - if (toBeClosed < 1) { - debug("all servers closed."); - done(); - } - }); - }); -} - -exports.appender = createAppender; -exports.configure = configure; -exports.shutdown = shutdown; diff --git a/node_modules/log4js/lib/appenders/slack.js b/node_modules/log4js/lib/appenders/slack.js deleted file mode 100644 index da8a2c1..0000000 --- a/node_modules/log4js/lib/appenders/slack.js +++ /dev/null @@ -1,44 +0,0 @@ -"use strict"; -var Slack = require('slack-node'); -var layouts = require('../layouts'); -var layout; - -var slack, config; - -function slackAppender(_config, _layout) { - - layout = _layout || layouts.basicLayout; - - return function (loggingEvent) { - - var data = { - channel_id: _config.channel_id, - text: layout(loggingEvent, _config.timezoneOffset), - icon_url: _config.icon_url, - username: _config.username - }; - - slack.api('chat.postMessage', { - channel: data.channel_id, - text: data.text, - icon_url: data.icon_url,username: data.username}, function (err, response) { - if (err) { throw err; } - }); - - }; -} - -function configure(_config) { - - if (_config.layout) { - layout = layouts.layout(_config.layout.type, _config.layout); - } - - slack = new Slack(_config.token); - - return slackAppender(_config, layout); -} - -exports.name = 'slack'; -exports.appender = slackAppender; -exports.configure = configure; diff --git a/node_modules/log4js/lib/appenders/smtp.js b/node_modules/log4js/lib/appenders/smtp.js deleted file mode 100644 index 161e72c..0000000 --- a/node_modules/log4js/lib/appenders/smtp.js +++ /dev/null @@ -1,152 +0,0 @@ -"use strict"; - -var layouts = require("../layouts"); -var mailer = require("nodemailer"); -var os = require('os'); - -var logEventBuffer = []; -var subjectLayout; -var layout; - -var unsentCount = 0; -var shutdownTimeout; - -var sendInterval; -var sendTimer; - -var config; - -function sendBuffer() { - if (logEventBuffer.length > 0) { - - var transportOpts = getTransportOptions(config); - var transport = mailer.createTransport(transportOpts); - var firstEvent = logEventBuffer[0]; - var body = ""; - var count = logEventBuffer.length; - while (logEventBuffer.length > 0) { - body += layout(logEventBuffer.shift(), config.timezoneOffset) + "\n"; - } - - var msg = { - to: config.recipients, - subject: config.subject || subjectLayout(firstEvent), - headers: {"Hostname": os.hostname()} - }; - - if (true === config.attachment.enable) { - msg[config.html ? "html" : "text"] = config.attachment.message; - msg.attachments = [ - { - filename: config.attachment.filename, - contentType: 'text/x-log', - content: body - } - ]; - } else { - msg[config.html ? "html" : "text"] = body; - } - - if (config.sender) { - msg.from = config.sender; - } - transport.sendMail(msg, function (error) { - if (error) { - console.error("log4js.smtpAppender - Error happened", error); - } - transport.close(); - unsentCount -= count; - }); - } -} - -function getTransportOptions() { - var transportOpts = null; - if (config.SMTP) { - transportOpts = config.SMTP; - } else if (config.transport) { - var plugin = config.transport.plugin || 'smtp'; - var transportModule = 'nodemailer-' + plugin + '-transport'; - var transporter = require(transportModule); - transportOpts = transporter(config.transport.options); - } - - return transportOpts; -} - -function scheduleSend() { - if (!sendTimer) { - sendTimer = setTimeout(function () { - sendTimer = null; - sendBuffer(); - }, sendInterval); - } -} - -/** - * SMTP Appender. Sends logging events using SMTP protocol. - * It can either send an email on each event or group several - * logging events gathered during specified interval. - * - * @param _config appender configuration data - * config.sendInterval time between log emails (in seconds), if 0 - * then every event sends an email - * config.shutdownTimeout time to give up remaining emails (in seconds; defaults to 5). - * @param _layout a function that takes a logevent and returns a string (defaults to basicLayout). - */ -function smtpAppender(_config, _layout) { - config = _config; - - if (!config.attachment) { - config.attachment = {}; - } - - config.attachment.enable = !!config.attachment.enable; - config.attachment.message = config.attachment.message || "See logs as attachment"; - config.attachment.filename = config.attachment.filename || "default.log"; - layout = _layout || layouts.basicLayout; - subjectLayout = layouts.messagePassThroughLayout; - sendInterval = config.sendInterval * 1000 || 0; - - shutdownTimeout = ('shutdownTimeout' in config ? config.shutdownTimeout : 5) * 1000; - - return function (loggingEvent) { - unsentCount++; - logEventBuffer.push(loggingEvent); - if (sendInterval > 0) { - scheduleSend(); - } else { - sendBuffer(); - } - }; -} - -function configure(_config) { - config = _config; - if (_config.layout) { - layout = layouts.layout(_config.layout.type, _config.layout); - } - return smtpAppender(_config, layout); -} - -function shutdown(cb) { - if (shutdownTimeout > 0) { - setTimeout(function () { - if (sendTimer) - clearTimeout(sendTimer); - sendBuffer(); - }, shutdownTimeout); - } - (function checkDone() { - if (unsentCount > 0) { - setTimeout(checkDone, 100); - } else { - cb(); - } - })(); -} - -exports.name = "smtp"; -exports.appender = smtpAppender; -exports.configure = configure; -exports.shutdown = shutdown; diff --git a/node_modules/log4js/lib/appenders/stderr.js b/node_modules/log4js/lib/appenders/stderr.js deleted file mode 100644 index c733865..0000000 --- a/node_modules/log4js/lib/appenders/stderr.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; - -var layouts = require('../layouts'); - -function stderrAppender(layout, timezoneOffset) { - layout = layout || layouts.colouredLayout; - return function(loggingEvent) { - process.stderr.write(layout(loggingEvent, timezoneOffset) + '\n'); - }; -} - -function configure(config) { - var layout; - if (config.layout) { - layout = layouts.layout(config.layout.type, config.layout); - } - return stderrAppender(layout, config.timezoneOffset); -} - -exports.appender = stderrAppender; -exports.configure = configure; diff --git a/node_modules/log4js/lib/appenders/stdout.js b/node_modules/log4js/lib/appenders/stdout.js deleted file mode 100644 index 888b916..0000000 --- a/node_modules/log4js/lib/appenders/stdout.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; - -var layouts = require('../layouts'); - -function stdoutAppender(layout, timezoneOffset) { - layout = layout || layouts.colouredLayout; - return function(loggingEvent) { - process.stdout.write(layout(loggingEvent, timezoneOffset) + '\n'); - }; -} - -function configure(config) { - var layout; - if (config.layout) { - layout = layouts.layout(config.layout.type, config.layout); - } - return stdoutAppender(layout, config.timezoneOffset); -} - -exports.appender = stdoutAppender; -exports.configure = configure; diff --git a/node_modules/log4js/lib/connect-logger.js b/node_modules/log4js/lib/connect-logger.js deleted file mode 100755 index 2bded77..0000000 --- a/node_modules/log4js/lib/connect-logger.js +++ /dev/null @@ -1,262 +0,0 @@ -"use strict"; -var levels = require("./levels"); -var DEFAULT_FORMAT = ':remote-addr - -' + - ' ":method :url HTTP/:http-version"' + - ' :status :content-length ":referrer"' + - ' ":user-agent"'; -/** - * Log requests with the given `options` or a `format` string. - * - * Options: - * - * - `format` Format string, see below for tokens - * - `level` A log4js levels instance. Supports also 'auto' - * - * Tokens: - * - * - `:req[header]` ex: `:req[Accept]` - * - `:res[header]` ex: `:res[Content-Length]` - * - `:http-version` - * - `:response-time` - * - `:remote-addr` - * - `:date` - * - `:method` - * - `:url` - * - `:referrer` - * - `:user-agent` - * - `:status` - * - * @param {String|Function|Object} format or options - * @return {Function} - * @api public - */ - -function getLogger(logger4js, options) { - if ('object' == typeof options) { - options = options || {}; - } else if (options) { - options = { format: options }; - } else { - options = {}; - } - - var thislogger = logger4js - , level = levels.toLevel(options.level, levels.INFO) - , fmt = options.format || DEFAULT_FORMAT - , nolog = options.nolog ? createNoLogCondition(options.nolog) : null; - - return function (req, res, next) { - // mount safety - if (req._logging) return next(); - - // nologs - if (nolog && nolog.test(req.originalUrl)) return next(); - if (thislogger.isLevelEnabled(level) || options.level === 'auto') { - - var start = new Date() - , statusCode - , writeHead = res.writeHead - , url = req.originalUrl; - - // flag as logging - req._logging = true; - - // proxy for statusCode. - res.writeHead = function(code, headers){ - res.writeHead = writeHead; - res.writeHead(code, headers); - res.__statusCode = statusCode = code; - res.__headers = headers || {}; - - //status code response level handling - if(options.level === 'auto'){ - level = levels.INFO; - if(code >= 300) level = levels.WARN; - if(code >= 400) level = levels.ERROR; - } else { - level = levels.toLevel(options.level, levels.INFO); - } - }; - - //hook on end request to emit the log entry of the HTTP request. - res.on('finish', function() { - res.responseTime = new Date() - start; - //status code response level handling - if(res.statusCode && options.level === 'auto'){ - level = levels.INFO; - if(res.statusCode >= 300) level = levels.WARN; - if(res.statusCode >= 400) level = levels.ERROR; - } - if (thislogger.isLevelEnabled(level)) { - var combined_tokens = assemble_tokens(req, res, options.tokens || []); - if (typeof fmt === 'function') { - var line = fmt(req, res, function(str){ return format(str, combined_tokens); }); - if (line) thislogger.log(level, line); - } else { - thislogger.log(level, format(fmt, combined_tokens)); - } - } - }); - } - - //ensure next gets always called - next(); - }; -} - -/** - * Adds custom {token, replacement} objects to defaults, - * overwriting the defaults if any tokens clash - * - * @param {IncomingMessage} req - * @param {ServerResponse} res - * @param {Array} custom_tokens - * [{ token: string-or-regexp, replacement: string-or-replace-function }] - * @return {Array} - */ -function assemble_tokens(req, res, custom_tokens) { - var array_unique_tokens = function(array) { - var a = array.concat(); - for(var i=0; i -1 ? vYearLong : vYearShort); - var vHour = addZero(date.getUTCHours()); - var vMinute = addZero(date.getUTCMinutes()); - var vSecond = addZero(date.getUTCSeconds()); - var vMillisecond = padWithZeros(date.getUTCMilliseconds(), 3); - var vTimeZone = offset(timezoneOffset); - date.setUTCMinutes(date.getUTCMinutes() + timezoneOffset); - var formatted = format - .replace(/dd/g, vDay) - .replace(/MM/g, vMonth) - .replace(/y{1,4}/g, vYear) - .replace(/hh/g, vHour) - .replace(/mm/g, vMinute) - .replace(/ss/g, vSecond) - .replace(/SSS/g, vMillisecond) - .replace(/O/g, vTimeZone); - return formatted; - -}; -/*jshint +W071 */ diff --git a/node_modules/log4js/lib/layouts.js b/node_modules/log4js/lib/layouts.js deleted file mode 100644 index e44eef6..0000000 --- a/node_modules/log4js/lib/layouts.js +++ /dev/null @@ -1,372 +0,0 @@ -"use strict"; -var dateFormat = require('./date_format') -, os = require('os') -, eol = os.EOL || '\n' -, util = require('util') -, semver = require('semver') -, replacementRegExp = /%[sdj]/g -, layoutMakers = { - "messagePassThrough": function() { return messagePassThroughLayout; }, - "basic": function() { return basicLayout; }, - "colored": function() { return colouredLayout; }, - "coloured": function() { return colouredLayout; }, - "pattern": function (config) { - return patternLayout(config && config.pattern, config && config.tokens); - }, - "dummy": function() { return dummyLayout; } -} -, colours = { - ALL: "grey", - TRACE: "blue", - DEBUG: "cyan", - INFO: "green", - WARN: "yellow", - ERROR: "red", - FATAL: "magenta", - OFF: "grey" -}; - -function wrapErrorsWithInspect(items) { - return items.map(function(item) { - if ((item instanceof Error) && item.stack) { - return { inspect: function() { - if (semver.satisfies(process.version, '>=6')) { - return util.format(item); - } else { - return util.format(item) + '\n' + item.stack; - } - } }; - } else { - return item; - } - }); -} - -function formatLogData(logData) { - var data = logData; - if (!Array.isArray(data)) { - var numArgs = arguments.length; - data = new Array(numArgs); - for (var i = 0; i < numArgs; i++) { - data[i] = arguments[i]; - } - } - return util.format.apply(util, wrapErrorsWithInspect(data)); -} - -var styles = { - //styles - 'bold' : [1, 22], - 'italic' : [3, 23], - 'underline' : [4, 24], - 'inverse' : [7, 27], - //grayscale - 'white' : [37, 39], - 'grey' : [90, 39], - 'black' : [90, 39], - //colors - 'blue' : [34, 39], - 'cyan' : [36, 39], - 'green' : [32, 39], - 'magenta' : [35, 39], - 'red' : [31, 39], - 'yellow' : [33, 39] -}; - -function colorizeStart(style) { - return style ? '\x1B[' + styles[style][0] + 'm' : ''; -} -function colorizeEnd(style) { - return style ? '\x1B[' + styles[style][1] + 'm' : ''; -} -/** - * Taken from masylum's fork (https://github.com/masylum/log4js-node) - */ -function colorize (str, style) { - return colorizeStart(style) + str + colorizeEnd(style); -} - -function timestampLevelAndCategory(loggingEvent, colour, timezoneOffest) { - var output = colorize( - formatLogData( - '[%s] [%s] %s - ' - , dateFormat.asString(loggingEvent.startTime, timezoneOffest) - , loggingEvent.level - , loggingEvent.categoryName - ) - , colour - ); - return output; -} - -/** - * BasicLayout is a simple layout for storing the logs. The logs are stored - * in following format: - *
- * [startTime] [logLevel] categoryName - message\n
- * 
- * - * @author Stephan Strittmatter - */ -function basicLayout (loggingEvent, timezoneOffset) { - return timestampLevelAndCategory( - loggingEvent, - undefined, - timezoneOffset - ) + formatLogData(loggingEvent.data); -} - -/** - * colouredLayout - taken from masylum's fork. - * same as basicLayout, but with colours. - */ -function colouredLayout (loggingEvent, timezoneOffset) { - return timestampLevelAndCategory( - loggingEvent, - colours[loggingEvent.level.toString()], - timezoneOffset - ) + formatLogData(loggingEvent.data); -} - -function messagePassThroughLayout (loggingEvent) { - return formatLogData(loggingEvent.data); -} - -function dummyLayout(loggingEvent) { - return loggingEvent.data[0]; -} - -/** - * PatternLayout - * Format for specifiers is %[padding].[truncation][field]{[format]} - * e.g. %5.10p - left pad the log level by 5 characters, up to a max of 10 - * Fields can be any of: - * - %r time in toLocaleTimeString format - * - %p log level - * - %c log category - * - %h hostname - * - %m log data - * - %d date in various formats - * - %% % - * - %n newline - * - %z pid - * - %x{} add dynamic tokens to your log. Tokens are specified in the tokens parameter - * You can use %[ and %] to define a colored block. - * - * Tokens are specified as simple key:value objects. - * The key represents the token name whereas the value can be a string or function - * which is called to extract the value to put in the log message. If token is not - * found, it doesn't replace the field. - * - * A sample token would be: { "pid" : function() { return process.pid; } } - * - * Takes a pattern string, array of tokens and returns a layout function. - * @param {String} Log format pattern String - * @param {object} map object of different tokens - * @param {number} timezone offset in minutes - * @return {Function} - * @author Stephan Strittmatter - * @author Jan Schmidle - */ -function patternLayout (pattern, tokens, timezoneOffset) { - // jshint maxstatements:22 - var TTCC_CONVERSION_PATTERN = "%r %p %c - %m%n"; - var regex = /%(-?[0-9]+)?(\.?[0-9]+)?([\[\]cdhmnprzxy%])(\{([^\}]+)\})?|([^%]+)/; - - pattern = pattern || TTCC_CONVERSION_PATTERN; - - function categoryName(loggingEvent, specifier) { - var loggerName = loggingEvent.categoryName; - if (specifier) { - var precision = parseInt(specifier, 10); - var loggerNameBits = loggerName.split("."); - if (precision < loggerNameBits.length) { - loggerName = loggerNameBits.slice(loggerNameBits.length - precision).join("."); - } - } - return loggerName; - } - - function formatAsDate(loggingEvent, specifier) { - var format = dateFormat.ISO8601_FORMAT; - if (specifier) { - format = specifier; - // Pick up special cases - if (format == "ISO8601") { - format = dateFormat.ISO8601_FORMAT; - } else if (format == "ISO8601_WITH_TZ_OFFSET") { - format = dateFormat.ISO8601_WITH_TZ_OFFSET_FORMAT; - } else if (format == "ABSOLUTE") { - format = dateFormat.ABSOLUTETIME_FORMAT; - } else if (format == "DATE") { - format = dateFormat.DATETIME_FORMAT; - } - } - // Format the date - return dateFormat.asString(format, loggingEvent.startTime, timezoneOffset); - } - - function hostname() { - return os.hostname().toString(); - } - - function formatMessage(loggingEvent) { - return formatLogData(loggingEvent.data); - } - - function endOfLine() { - return eol; - } - - function logLevel(loggingEvent) { - return loggingEvent.level.toString(); - } - - function startTime(loggingEvent) { - return dateFormat.asString('hh:mm:ss', loggingEvent.startTime, timezoneOffset); - } - - function startColour(loggingEvent) { - return colorizeStart(colours[loggingEvent.level.toString()]); - } - - function endColour(loggingEvent) { - return colorizeEnd(colours[loggingEvent.level.toString()]); - } - - function percent() { - return '%'; - } - - function pid(loggingEvent) { - if (loggingEvent && loggingEvent.pid) { - return loggingEvent.pid; - } else { - return process.pid; - } - } - - function clusterInfo(loggingEvent, specifier) { - if (loggingEvent.cluster && specifier) { - return specifier - .replace('%m', loggingEvent.cluster.master) - .replace('%w', loggingEvent.cluster.worker) - .replace('%i', loggingEvent.cluster.workerId); - } else if (loggingEvent.cluster) { - return loggingEvent.cluster.worker+'@'+loggingEvent.cluster.master; - } else { - return pid(); - } - } - - function userDefined(loggingEvent, specifier) { - if (typeof(tokens[specifier]) !== 'undefined') { - if (typeof(tokens[specifier]) === 'function') { - return tokens[specifier](loggingEvent); - } else { - return tokens[specifier]; - } - } - return null; - } - - var replacers = { - 'c': categoryName, - 'd': formatAsDate, - 'h': hostname, - 'm': formatMessage, - 'n': endOfLine, - 'p': logLevel, - 'r': startTime, - '[': startColour, - ']': endColour, - 'y': clusterInfo, - 'z': pid, - '%': percent, - 'x': userDefined - }; - - function replaceToken(conversionCharacter, loggingEvent, specifier) { - return replacers[conversionCharacter](loggingEvent, specifier); - } - - function truncate(truncation, toTruncate) { - var len; - if (truncation) { - len = parseInt(truncation.substr(1), 10); - return toTruncate.substring(0, len); - } - - return toTruncate; - } - - function pad(padding, toPad) { - var len; - if (padding) { - if (padding.charAt(0) == "-") { - len = parseInt(padding.substr(1), 10); - // Right pad with spaces - while (toPad.length < len) { - toPad += " "; - } - } else { - len = parseInt(padding, 10); - // Left pad with spaces - while (toPad.length < len) { - toPad = " " + toPad; - } - } - } - return toPad; - } - - function truncateAndPad(toTruncAndPad, truncation, padding) { - var replacement = toTruncAndPad; - replacement = truncate(truncation, replacement); - replacement = pad(padding, replacement); - return replacement; - } - - return function(loggingEvent) { - var formattedString = ""; - var result; - var searchString = pattern; - - while ((result = regex.exec(searchString))) { - var matchedString = result[0]; - var padding = result[1]; - var truncation = result[2]; - var conversionCharacter = result[3]; - var specifier = result[5]; - var text = result[6]; - - // Check if the pattern matched was just normal text - if (text) { - formattedString += "" + text; - } else { - // Create a raw replacement string based on the conversion - // character and specifier - var replacement = replaceToken(conversionCharacter, loggingEvent, specifier); - formattedString += truncateAndPad(replacement, truncation, padding); - } - searchString = searchString.substr(result.index + result[0].length); - } - return formattedString; - }; - -} - -module.exports = { - basicLayout: basicLayout, - messagePassThroughLayout: messagePassThroughLayout, - patternLayout: patternLayout, - colouredLayout: colouredLayout, - coloredLayout: colouredLayout, - dummyLayout: dummyLayout, - addLayout: function(name, serializerGenerator) { - layoutMakers[name] = serializerGenerator; - }, - layout: function(name, config) { - return layoutMakers[name] && layoutMakers[name](config); - } -}; diff --git a/node_modules/log4js/lib/levels.js b/node_modules/log4js/lib/levels.js deleted file mode 100644 index cb9243a..0000000 --- a/node_modules/log4js/lib/levels.js +++ /dev/null @@ -1,66 +0,0 @@ -"use strict"; - -function Level(level, levelStr) { - this.level = level; - this.levelStr = levelStr; -} - -/** - * converts given String to corresponding Level - * @param {String} sArg String value of Level OR Log4js.Level - * @param {Log4js.Level} defaultLevel default Level, if no String representation - * @return Level object - * @type Log4js.Level - */ -function toLevel(sArg, defaultLevel) { - if (!sArg) { - return defaultLevel; - } - if (sArg instanceof Level) { - module.exports[sArg.toString()] = sArg; - return sArg; - } - if (typeof sArg === "string") { - return module.exports[sArg.toUpperCase()] || defaultLevel; - } - return toLevel(sArg.toString()); -} - -Level.prototype.toString = function() { - return this.levelStr; -}; - -Level.prototype.isLessThanOrEqualTo = function(otherLevel) { - if (typeof otherLevel === "string") { - otherLevel = toLevel(otherLevel); - } - return this.level <= otherLevel.level; -}; - -Level.prototype.isGreaterThanOrEqualTo = function(otherLevel) { - if (typeof otherLevel === "string") { - otherLevel = toLevel(otherLevel); - } - return this.level >= otherLevel.level; -}; - -Level.prototype.isEqualTo = function(otherLevel) { - if (typeof otherLevel === "string") { - otherLevel = toLevel(otherLevel); - } - return this.level === otherLevel.level; -}; - -module.exports = { - ALL: new Level(Number.MIN_VALUE, "ALL"), - TRACE: new Level(5000, "TRACE"), - DEBUG: new Level(10000, "DEBUG"), - INFO: new Level(20000, "INFO"), - WARN: new Level(30000, "WARN"), - ERROR: new Level(40000, "ERROR"), - FATAL: new Level(50000, "FATAL"), - MARK: new Level(9007199254740992, "MARK"), // 2^53 - OFF: new Level(Number.MAX_VALUE, "OFF"), - toLevel: toLevel, - Level: Level -}; diff --git a/node_modules/log4js/lib/log4js.js b/node_modules/log4js/lib/log4js.js deleted file mode 100644 index 25e89a2..0000000 --- a/node_modules/log4js/lib/log4js.js +++ /dev/null @@ -1,514 +0,0 @@ -"use strict"; -/* - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @fileoverview log4js is a library to log in JavaScript in similar manner - * than in log4j for Java. The API should be nearly the same. - * - *

Example:

- *
- *  var logging = require('log4js');
- *  //add an appender that logs all messages to stdout.
- *  logging.addAppender(logging.consoleAppender());
- *  //add an appender that logs "some-category" to a file
- *  logging.addAppender(logging.fileAppender("file.log"), "some-category");
- *  //get a logger
- *  var log = logging.getLogger("some-category");
- *  log.setLevel(logging.levels.TRACE); //set the Level
- *
- *  ...
- *
- *  //call the log
- *  log.trace("trace me" );
- * 
- * - * NOTE: the authors below are the original browser-based log4js authors - * don't try to contact them about bugs in this version :) - * @version 1.0 - * @author Stephan Strittmatter - http://jroller.com/page/stritti - * @author Seth Chisamore - http://www.chisamore.com - * @since 2005-05-20 - * @static - * Website: http://log4js.berlios.de - */ -var events = require('events') -, fs = require('fs') -, path = require('path') -, util = require('util') -, layouts = require('./layouts') -, levels = require('./levels') -, loggerModule = require('./logger') -, LoggingEvent = loggerModule.LoggingEvent -, Logger = loggerModule.Logger -, ALL_CATEGORIES = '[all]' -, appenders = {} -, loggers = {} -, appenderMakers = {} -, appenderShutdowns = {} -, defaultConfig = { - appenders: [ - { type: "stdout" } - ], - replaceConsole: false -}; - -function hasLogger(logger) { - return loggers.hasOwnProperty(logger); -} - -levels.forName = function(levelStr, levelVal) { - var level; - if (typeof levelStr === "string" && typeof levelVal === "number") { - var levelUpper = levelStr.toUpperCase(); - level = new levels.Level(levelVal, levelUpper); - loggerModule.addLevelMethods(level); - } - return level; -}; - -levels.getLevel = function(levelStr) { - var level; - if (typeof levelStr === "string") { - var levelUpper = levelStr.toUpperCase(); - level = levels.toLevel(levelStr); - } - return level; -}; - -function getBufferedLogger(categoryName) { - var base_logger = getLogger(categoryName); - var logger = {}; - logger.temp = []; - logger.target = base_logger; - logger.flush = function () { - for (var i = 0; i < logger.temp.length; i++) { - var log = logger.temp[i]; - logger.target[log.level](log.message); - delete logger.temp[i]; - } - }; - logger.trace = function (message) { logger.temp.push({level: 'trace', message: message}); }; - logger.debug = function (message) { logger.temp.push({level: 'debug', message: message}); }; - logger.info = function (message) { logger.temp.push({level: 'info', message: message}); }; - logger.warn = function (message) { logger.temp.push({level: 'warn', message: message}); }; - logger.error = function (message) { logger.temp.push({level: 'error', message: message}); }; - logger.fatal = function (message) { logger.temp.push({level: 'fatal', message: message}); }; - - return logger; -} - -function normalizeCategory (category) { - return category + '.'; -} - -function doesLevelEntryContainsLogger (levelCategory, loggerCategory) { - var normalizedLevelCategory = normalizeCategory(levelCategory); - var normalizedLoggerCategory = normalizeCategory(loggerCategory); - return normalizedLoggerCategory.substring(0, normalizedLevelCategory.length) == normalizedLevelCategory; //jshint ignore:line -} - -function doesAppenderContainsLogger (appenderCategory, loggerCategory) { - var normalizedAppenderCategory = normalizeCategory(appenderCategory); - var normalizedLoggerCategory = normalizeCategory(loggerCategory); - return normalizedLoggerCategory.substring(0, normalizedAppenderCategory.length) == normalizedAppenderCategory; //jshint ignore:line -} - - -/** - * Get a logger instance. Instance is cached on categoryName level. - * @param {String} categoryName name of category to log to. - * @return {Logger} instance of logger for the category - * @static - */ -function getLogger (loggerCategoryName) { - - // Use default logger if categoryName is not specified or invalid - if (typeof loggerCategoryName !== "string") { - loggerCategoryName = Logger.DEFAULT_CATEGORY; - } - - if (!hasLogger(loggerCategoryName)) { - - var level; - - /* jshint -W073 */ - // If there's a "levels" entry in the configuration - if (levels.config) { - // Goes through the categories in the levels configuration entry, - // starting with the "higher" ones. - var keys = Object.keys(levels.config).sort(); - for (var idx = 0; idx < keys.length; idx++) { - var levelCategory = keys[idx]; - if (doesLevelEntryContainsLogger(levelCategory, loggerCategoryName)) { - // level for the logger - level = levels.config[levelCategory]; - } - } - } - /* jshint +W073 */ - - // Create the logger for this name if it doesn't already exist - loggers[loggerCategoryName] = new Logger(loggerCategoryName, level); - - /* jshint -W083 */ - var appenderList; - for(var appenderCategory in appenders) { - if (doesAppenderContainsLogger(appenderCategory, loggerCategoryName)) { - appenderList = appenders[appenderCategory]; - appenderList.forEach(function(appender) { - loggers[loggerCategoryName].addListener("log", appender); - }); - } - } - /* jshint +W083 */ - - if (appenders[ALL_CATEGORIES]) { - appenderList = appenders[ALL_CATEGORIES]; - appenderList.forEach(function(appender) { - loggers[loggerCategoryName].addListener("log", appender); - }); - } - } - - return loggers[loggerCategoryName]; -} - -/** - * args are appender, optional shutdown function, then zero or more categories - */ -function addAppender () { - var args = Array.prototype.slice.call(arguments); - var appender = args.shift(); - //check for a shutdown fn - if (args.length > 0 && typeof args[0] === 'function') { - appenderShutdowns[appender] = args.shift(); - } - - if (args.length === 0 || args[0] === undefined) { - args = [ ALL_CATEGORIES ]; - } - //argument may already be an array - if (Array.isArray(args[0])) { - args = args[0]; - } - - args.forEach(function(appenderCategory) { - addAppenderToCategory(appender, appenderCategory); - - if (appenderCategory === ALL_CATEGORIES) { - addAppenderToAllLoggers(appender); - } else { - - for(var loggerCategory in loggers) { - if (doesAppenderContainsLogger(appenderCategory,loggerCategory)) { - loggers[loggerCategory].addListener("log", appender); - } - } - - } - }); -} - -function addAppenderToAllLoggers(appender) { - for (var logger in loggers) { - if (hasLogger(logger)) { - loggers[logger].addListener("log", appender); - } - } -} - -function addAppenderToCategory(appender, category) { - if (!appenders[category]) { - appenders[category] = []; - } - appenders[category].push(appender); -} - -function clearAppenders () { - //if we're calling clearAppenders, we're probably getting ready to write - //so turn log writes back on, just in case this is after a shutdown - loggerModule.enableAllLogWrites(); - appenders = {}; - for (var logger in loggers) { - if (hasLogger(logger)) { - loggers[logger].removeAllListeners("log"); - } - } -} - -function configureAppenders(appenderList, options) { - clearAppenders(); - if (appenderList) { - appenderList.forEach(function(appenderConfig) { - loadAppender(appenderConfig.type); - var appender; - appenderConfig.makers = appenderMakers; - try { - appender = appenderMakers[appenderConfig.type](appenderConfig, options); - addAppender(appender, appenderConfig.category); - } catch(e) { - throw new Error("log4js configuration problem for " + util.inspect(appenderConfig), e); - } - }); - } -} - -function configureLevels(_levels) { - levels.config = _levels; // Keep it so we can create loggers later using this cfg - if (_levels) { - var keys = Object.keys(levels.config).sort(); - for (var idx in keys) { - var category = keys[idx]; - if(category === ALL_CATEGORIES) { - setGlobalLogLevel(_levels[category]); - } - /* jshint -W073 */ - for(var loggerCategory in loggers) { - if (doesLevelEntryContainsLogger(category, loggerCategory)) { - loggers[loggerCategory].setLevel(_levels[category]); - } - } - /* jshint +W073 */ - } - } -} - -function setGlobalLogLevel(level) { - Logger.prototype.level = levels.toLevel(level, levels.TRACE); -} - -/** - * Get the default logger instance. - * @return {Logger} instance of default logger - * @static - */ -function getDefaultLogger () { - return getLogger(Logger.DEFAULT_CATEGORY); -} - -var configState = {}; - -function loadConfigurationFile(filename) { - if (filename) { - return JSON.parse(fs.readFileSync(filename, "utf8")); - } - return undefined; -} - -function configureOnceOff(config, options) { - if (config) { - try { - restoreConsole(); - configureLevels(config.levels); - configureAppenders(config.appenders, options); - - if (config.replaceConsole) { - replaceConsole(); - } - } catch (e) { - throw new Error( - "Problem reading log4js config " + util.inspect(config) + - ". Error was \"" + e.message + "\" (" + e.stack + ")" - ); - } - } -} - -function reloadConfiguration(options) { - var mtime = getMTime(configState.filename); - if (!mtime) return; - - if (configState.lastMTime && (mtime.getTime() > configState.lastMTime.getTime())) { - configureOnceOff(loadConfigurationFile(configState.filename), options); - } - configState.lastMTime = mtime; -} - -function getMTime(filename) { - var mtime; - try { - mtime = fs.statSync(configState.filename).mtime; - } catch (e) { - getLogger('log4js').warn('Failed to load configuration file ' + filename); - } - return mtime; -} - -function initReloadConfiguration(filename, options) { - if (configState.timerId) { - clearInterval(configState.timerId); - delete configState.timerId; - } - configState.filename = filename; - configState.lastMTime = getMTime(filename); - configState.timerId = setInterval(reloadConfiguration, options.reloadSecs*1000, options); -} - -function configure(configurationFileOrObject, options) { - var config = configurationFileOrObject; - config = config || process.env.LOG4JS_CONFIG; - options = options || {}; - - if (config === undefined || config === null || typeof(config) === 'string') { - if (options.reloadSecs) { - initReloadConfiguration(config, options); - } - config = loadConfigurationFile(config) || defaultConfig; - } else { - if (options.reloadSecs) { - getLogger('log4js').warn( - 'Ignoring configuration reload parameter for "object" configuration.' - ); - } - } - configureOnceOff(config, options); -} - -var originalConsoleFunctions = { - log: console.log, - debug: console.debug, - info: console.info, - warn: console.warn, - error: console.error -}; - -function replaceConsole(logger) { - function replaceWith(fn) { - return function() { - fn.apply(logger, arguments); - }; - } - logger = logger || getLogger("console"); - ['log','debug','info','warn','error'].forEach(function (item) { - console[item] = replaceWith(item === 'log' ? logger.info : logger[item]); - }); -} - -function restoreConsole() { - ['log', 'debug', 'info', 'warn', 'error'].forEach(function (item) { - console[item] = originalConsoleFunctions[item]; - }); -} - -/** - * Load an appenderModule based on the provided appender filepath. Will first - * check if the appender path is a subpath of the log4js "lib/appenders" directory. - * If not, it will attempt to load the the appender as complete path. - * - * @param {string} appender The filepath for the appender. - * @returns {Object|null} The required appender or null if appender could not be loaded. - * @private - */ -function requireAppender(appender) { - var appenderModule; - try { - appenderModule = require('./appenders/' + appender); - } catch (e) { - appenderModule = require(appender); - } - return appenderModule; -} - -/** - * Load an appender. Provided the appender path to be loaded. If appenderModule is defined, - * it will be used in place of requiring the appender module. - * - * @param {string} appender The path to the appender module. - * @param {Object|void} [appenderModule] The pre-required appender module. When provided, - * instead of requiring the appender by its path, this object will be used. - * @returns {void} - * @private - */ -function loadAppender(appender, appenderModule) { - appenderModule = appenderModule || requireAppender(appender); - - if (!appenderModule) { - throw new Error("Invalid log4js appender: " + util.inspect(appender)); - } - - module.exports.appenders[appender] = appenderModule.appender.bind(appenderModule); - if (appenderModule.shutdown) { - appenderShutdowns[appender] = appenderModule.shutdown.bind(appenderModule); - } - appenderMakers[appender] = appenderModule.configure.bind(appenderModule); -} - -/** - * Shutdown all log appenders. This will first disable all writing to appenders - * and then call the shutdown function each appender. - * - * @params {Function} cb - The callback to be invoked once all appenders have - * shutdown. If an error occurs, the callback will be given the error object - * as the first argument. - * @returns {void} - */ -function shutdown(cb) { - // First, disable all writing to appenders. This prevents appenders from - // not being able to be drained because of run-away log writes. - loggerModule.disableAllLogWrites(); - - //turn off config reloading - if (configState.timerId) { - clearInterval(configState.timerId); - } - - // Call each of the shutdown functions in parallel - var completed = 0; - var error; - var shutdownFcts = []; - var complete = function(err) { - error = error || err; - completed++; - if (completed >= shutdownFcts.length) { - cb(error); - } - }; - for (var category in appenderShutdowns) { - if (appenderShutdowns.hasOwnProperty(category)) { - shutdownFcts.push(appenderShutdowns[category]); - } - } - if (!shutdownFcts.length) { - return cb(); - } - shutdownFcts.forEach(function(shutdownFct) { shutdownFct(complete); }); -} - -module.exports = { - getBufferedLogger: getBufferedLogger, - getLogger: getLogger, - getDefaultLogger: getDefaultLogger, - hasLogger: hasLogger, - - addAppender: addAppender, - loadAppender: loadAppender, - clearAppenders: clearAppenders, - configure: configure, - shutdown: shutdown, - - replaceConsole: replaceConsole, - restoreConsole: restoreConsole, - - levels: levels, - setGlobalLogLevel: setGlobalLogLevel, - - layouts: layouts, - appenders: {}, - appenderMakers: appenderMakers, - connectLogger: require('./connect-logger').connectLogger -}; - -//set ourselves up -configure(); diff --git a/node_modules/log4js/lib/logger.js b/node_modules/log4js/lib/logger.js deleted file mode 100644 index c596ba0..0000000 --- a/node_modules/log4js/lib/logger.js +++ /dev/null @@ -1,119 +0,0 @@ -"use strict"; -var levels = require('./levels') -, util = require('util') -, events = require('events') -, DEFAULT_CATEGORY = '[default]'; - -var logWritesEnabled = true; - -/** - * Models a logging event. - * @constructor - * @param {String} categoryName name of category - * @param {Log4js.Level} level level of message - * @param {Array} data objects to log - * @param {Log4js.Logger} logger the associated logger - * @author Seth Chisamore - */ -function LoggingEvent (categoryName, level, data, logger) { - this.startTime = new Date(); - this.categoryName = categoryName; - this.data = data; - this.level = level; - this.logger = logger; -} - -/** - * Logger to log messages. - * use {@see Log4js#getLogger(String)} to get an instance. - * @constructor - * @param name name of category to log to - * @author Stephan Strittmatter - */ -function Logger (name, level) { - this.category = name || DEFAULT_CATEGORY; - - if (level) { - this.setLevel(level); - } -} -util.inherits(Logger, events.EventEmitter); -Logger.DEFAULT_CATEGORY = DEFAULT_CATEGORY; -Logger.prototype.level = levels.TRACE; - -Logger.prototype.setLevel = function(level) { - this.level = levels.toLevel(level, this.level || levels.TRACE); -}; - -Logger.prototype.removeLevel = function() { - delete this.level; -}; - -Logger.prototype.log = function() { - var logLevel = levels.toLevel(arguments[0], levels.INFO); - if (!this.isLevelEnabled(logLevel)) { - return; - } - var numArgs = arguments.length - 1; - var args = new Array(numArgs); - for (var i = 0; i < numArgs; i++) { - args[i] = arguments[i + 1]; - } - this._log(logLevel, args); -}; - -Logger.prototype.isLevelEnabled = function(otherLevel) { - return this.level.isLessThanOrEqualTo(otherLevel); -}; - -['Trace','Debug','Info','Warn','Error','Fatal', 'Mark'].forEach(addLevelMethods); - -function addLevelMethods(level) { - level = levels.toLevel(level); - - var levelStrLower = level.toString().toLowerCase(); - var levelMethod = levelStrLower.replace(/_([a-z])/g, function(g) { return g[1].toUpperCase(); } ); - var isLevelMethod = levelMethod[0].toUpperCase() + levelMethod.slice(1); - - Logger.prototype['is'+isLevelMethod+'Enabled'] = function() { - return this.isLevelEnabled(level); - }; - - Logger.prototype[levelMethod] = function () { - if (logWritesEnabled && this.isLevelEnabled(level)) { - var numArgs = arguments.length; - var args = new Array(numArgs); - for (var i = 0; i < numArgs; i++) { - args[i] = arguments[i]; - } - this._log(level, args); - } - }; -} - -Logger.prototype._log = function(level, data) { - var loggingEvent = new LoggingEvent(this.category, level, data, this); - this.emit('log', loggingEvent); -}; - -/** - * Disable all log writes. - * @returns {void} - */ -function disableAllLogWrites() { - logWritesEnabled = false; -} - -/** - * Enable log writes. - * @returns {void} - */ -function enableAllLogWrites() { - logWritesEnabled = true; -} - -exports.LoggingEvent = LoggingEvent; -exports.Logger = Logger; -exports.disableAllLogWrites = disableAllLogWrites; -exports.enableAllLogWrites = enableAllLogWrites; -exports.addLevelMethods = addLevelMethods; diff --git a/node_modules/log4js/package.json b/node_modules/log4js/package.json deleted file mode 100644 index 27577ec..0000000 --- a/node_modules/log4js/package.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "log4js@^1.1.1", - "scope": null, - "escapedName": "log4js", - "name": "log4js", - "rawSpec": "^1.1.1", - "spec": ">=1.1.1 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket" - ] - ], - "_from": "log4js@>=1.1.1 <2.0.0", - "_id": "log4js@1.1.1", - "_inCache": true, - "_installable": true, - "_location": "/log4js", - "_nodeVersion": "6.9.4", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/log4js-1.1.1.tgz_1488423516669_0.827328409999609" - }, - "_npmUser": { - "name": "csausdev", - "email": "gareth.nomiddlename@gmail.com" - }, - "_npmVersion": "3.10.10", - "_phantomChildren": {}, - "_requested": { - "raw": "log4js@^1.1.1", - "scope": null, - "escapedName": "log4js", - "name": "log4js", - "rawSpec": "^1.1.1", - "spec": ">=1.1.1 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/" - ], - "_resolved": "http://registry.npmjs.org/log4js/-/log4js-1.1.1.tgz", - "_shasum": "c21d29c7604089e4f255833e7f94b3461de1ff43", - "_shrinkwrap": null, - "_spec": "log4js@^1.1.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket", - "author": { - "name": "Gareth Jones", - "email": "gareth.nomiddlename@gmail.com" - }, - "browser": { - "os": false - }, - "bugs": { - "url": "http://github.com/nomiddlename/log4js-node/issues" - }, - "dependencies": { - "debug": "^2.2.0", - "semver": "^5.3.0", - "streamroller": "^0.4.0" - }, - "description": "Port of Log4js to work with node.", - "devDependencies": { - "jshint": "^2.9.2", - "sandboxed-module": "0.1.3", - "tape": "^4.6.2", - "vows": "0.7.0" - }, - "directories": { - "test": "test", - "lib": "lib" - }, - "dist": { - "shasum": "c21d29c7604089e4f255833e7f94b3461de1ff43", - "tarball": "https://registry.npmjs.org/log4js/-/log4js-1.1.1.tgz" - }, - "engines": { - "node": ">=0.12" - }, - "gitHead": "1fb4f2f8723e6837dc3269970841184684238f74", - "homepage": "https://github.com/nomiddlename/log4js-node#readme", - "keywords": [ - "logging", - "log", - "log4j", - "node" - ], - "license": "Apache-2.0", - "main": "./lib/log4js", - "maintainers": [ - { - "name": "csausdev", - "email": "gareth.jones@sensis.com.au" - } - ], - "name": "log4js", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/nomiddlename/log4js-node.git" - }, - "scripts": { - "pretest": "jshint lib/ test/", - "test": "tape 'test/tape/**/*.js' && vows test/vows/*.js" - }, - "version": "1.1.1" -} diff --git a/node_modules/log4js/test/tape/default-settings-test.js b/node_modules/log4js/test/tape/default-settings-test.js deleted file mode 100644 index 81f61f7..0000000 --- a/node_modules/log4js/test/tape/default-settings-test.js +++ /dev/null @@ -1,33 +0,0 @@ -"use strict"; -var test = require('tape') -, sandbox = require('sandboxed-module'); - -test('default settings', function(t) { - var output = [] - , log4js = sandbox.require( - '../../lib/log4js', - { - requires: { - './appenders/stdout': { - 'name': 'stdout', - 'appender': function () { - return function(evt) { - output.push(evt); - }; - }, - 'configure': function (config) { - return this.appender(); - } - } - } - } - ) - , logger = log4js.getLogger("default-settings"); - - logger.info("This should go to stdout."); - - t.plan(2); - t.equal(output.length, 1, "It should log to stdout."); - t.equal(output[0].data[0], "This should go to stdout.", "It should log the message."); - t.end(); -}); diff --git a/node_modules/log4js/test/tape/file-sighup-test.js b/node_modules/log4js/test/tape/file-sighup-test.js deleted file mode 100644 index b6e107c..0000000 --- a/node_modules/log4js/test/tape/file-sighup-test.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -var test = require('tape') -, sandbox = require('sandboxed-module'); - -test('file appender SIGHUP', function(t) { - var closeCalled = 0 - , openCalled = 0 - , appender = sandbox.require( - '../../lib/appenders/file', - { - 'requires': { - 'streamroller': { - 'RollingFileStream': function() { - this.openTheStream = function() { - openCalled++; - }; - - this.closeTheStream = function(cb) { - closeCalled++; - cb(); - }; - - this.on = function() {}; - } - } - } - } - ).appender('sighup-test-file'); - - process.kill(process.pid, 'SIGHUP'); - t.plan(2); - setTimeout(function() { - t.equal(openCalled, 1, 'open should be called once'); - t.equal(closeCalled, 1, 'close should be called once'); - t.end(); - }, 10); -}); diff --git a/node_modules/log4js/test/tape/multiprocess-shutdown-test.js b/node_modules/log4js/test/tape/multiprocess-shutdown-test.js deleted file mode 100644 index 9e831e0..0000000 --- a/node_modules/log4js/test/tape/multiprocess-shutdown-test.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -var test = require('tape') -, log4js = require('../../lib/log4js') -, net = require('net'); - -test('multiprocess appender shutdown (master)', function(t) { - log4js.configure({ - appenders: [ - { - type: "multiprocess", - mode: "master", - loggerPort: 12345, - appender: { type: "stdout" } - } - ] - }); - - t.timeoutAfter(1000, "shutdown did not happen within 1000ms"); - setTimeout(function() { - log4js.shutdown(function() { - var connection = net.connect({ port: 12345 }, function() { - t.fail("connection should not still work"); - t.end(); - }).on('error', function(err) { - t.ok(err, 'we got a connection error'); - t.end(); - }); - }); - }, 500); -}); diff --git a/node_modules/log4js/test/tape/reload-shutdown-test.js b/node_modules/log4js/test/tape/reload-shutdown-test.js deleted file mode 100644 index 7b26fca..0000000 --- a/node_modules/log4js/test/tape/reload-shutdown-test.js +++ /dev/null @@ -1,33 +0,0 @@ -"use strict"; -var test = require('tape') -, path = require('path') -, sandbox = require('sandboxed-module'); - -test('Reload configuration shutdown hook', function(t) { - var timerId - , log4js = sandbox.require( - '../../lib/log4js', - { - globals: { - clearInterval: function(id) { - timerId = id; - }, - setInterval: function(fn, time) { - return "1234"; - } - } - } - ); - - log4js.configure( - path.join(__dirname, 'test-config.json'), - { reloadSecs: 30 } - ); - - t.plan(1); - log4js.shutdown(function() { - t.equal(timerId, "1234", "Shutdown should clear the reload timer"); - t.end(); - }); - -}); diff --git a/node_modules/log4js/test/tape/stderrAppender-test.js b/node_modules/log4js/test/tape/stderrAppender-test.js deleted file mode 100644 index 1c949e3..0000000 --- a/node_modules/log4js/test/tape/stderrAppender-test.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -var test = require('tape') -, layouts = require('../../lib/layouts') -, sandbox = require('sandboxed-module'); - -test('stderr appender', function(t) { - var output = [] - , appender = sandbox.require( - '../../lib/appenders/stderr', - { - globals: { - process: { stderr: { write : function(data) { output.push(data); } } } - } - } - ).appender(layouts.messagePassThroughLayout); - - appender({ data: ["biscuits"] }); - t.plan(2); - t.equal(output.length, 1, 'There should be one message.'); - t.equal(output[0], 'biscuits\n', 'The message should be biscuits.'); - t.end(); -}); diff --git a/node_modules/log4js/test/tape/stdoutAppender-test.js b/node_modules/log4js/test/tape/stdoutAppender-test.js deleted file mode 100644 index 32c9b83..0000000 --- a/node_modules/log4js/test/tape/stdoutAppender-test.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -var test = require('tape') -, layouts = require('../../lib/layouts') -, sandbox = require('sandboxed-module'); - -test('stdout appender', function(t) { - var output = [] - , appender = sandbox.require( - '../../lib/appenders/stdout', - { - globals: { - process: { stdout: { write : function(data) { output.push(data); } } } - } - } - ).appender(layouts.messagePassThroughLayout); - - appender({ data: ["cheese"] }); - t.plan(2); - t.equal(output.length, 1, 'There should be one message.'); - t.equal(output[0], 'cheese\n', 'The message should be cheese.'); - t.end(); -}); diff --git a/node_modules/log4js/test/tape/test-config.json b/node_modules/log4js/test/tape/test-config.json deleted file mode 100644 index 2a69651..0000000 --- a/node_modules/log4js/test/tape/test-config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "appenders": [ - { "type": "stdout" } - ] -} diff --git a/node_modules/log4js/test/vows/categoryFilter-test.js b/node_modules/log4js/test/vows/categoryFilter-test.js deleted file mode 100644 index 4a4c4ff..0000000 --- a/node_modules/log4js/test/vows/categoryFilter-test.js +++ /dev/null @@ -1,84 +0,0 @@ -'use strict'; - -var vows = require('vows') -, fs = require('fs') -, assert = require('assert') -, EOL = require('os').EOL || '\n'; - -function remove(filename) { - try { - fs.unlinkSync(filename); - } catch (e) { - //doesn't really matter if it failed - } -} - -vows.describe('log4js categoryFilter').addBatch({ - 'appender': { - topic: function() { - - var log4js = require('../../lib/log4js'), logEvents = [], webLogger, appLogger; - log4js.clearAppenders(); - var appender = require('../../lib/appenders/categoryFilter') - .appender( - ['app'], - function(evt) { logEvents.push(evt); } - ); - log4js.addAppender(appender, ["app","web"]); - - webLogger = log4js.getLogger("web"); - appLogger = log4js.getLogger("app"); - - webLogger.debug('This should get logged'); - appLogger.debug('This should not'); - webLogger.debug('Hello again'); - log4js.getLogger('db').debug('This shouldn\'t be included by the appender anyway'); - - return logEvents; - }, - 'should only pass matching category' : function(logEvents) { - assert.equal(logEvents.length, 2); - assert.equal(logEvents[0].data[0], 'This should get logged'); - assert.equal(logEvents[1].data[0], 'Hello again'); - } - }, - - 'configure': { - topic: function() { - var log4js = require('../../lib/log4js') - , logger, weblogger; - - remove(__dirname + '/categoryFilter-web.log'); - remove(__dirname + '/categoryFilter-noweb.log'); - - log4js.configure('test/vows/with-categoryFilter.json'); - logger = log4js.getLogger("app"); - weblogger = log4js.getLogger("web"); - - logger.info('Loading app'); - logger.debug('Initialising indexes'); - weblogger.info('00:00:00 GET / 200'); - weblogger.warn('00:00:00 GET / 500'); - //wait for the file system to catch up - setTimeout(this.callback, 500); - }, - 'tmp-tests.log': { - topic: function() { - fs.readFile(__dirname + '/categoryFilter-noweb.log', 'utf8', this.callback); - }, - 'should contain all log messages': function(contents) { - var messages = contents.trim().split(EOL); - assert.deepEqual(messages, ['Loading app','Initialising indexes']); - } - }, - 'tmp-tests-web.log': { - topic: function() { - fs.readFile(__dirname + '/categoryFilter-web.log','utf8',this.callback); - }, - 'should contain only error and warning log messages': function(contents) { - var messages = contents.trim().split(EOL); - assert.deepEqual(messages, ['00:00:00 GET / 200','00:00:00 GET / 500']); - } - } - } -}).export(module); diff --git a/node_modules/log4js/test/vows/clusteredAppender-test.js b/node_modules/log4js/test/vows/clusteredAppender-test.js deleted file mode 100644 index 5de0e4a..0000000 --- a/node_modules/log4js/test/vows/clusteredAppender-test.js +++ /dev/null @@ -1,166 +0,0 @@ -"use strict"; -var assert = require('assert'); -var vows = require('vows'); -var layouts = require('../../lib/layouts'); -var sandbox = require('sandboxed-module'); -var LoggingEvent = require('../../lib/logger').LoggingEvent; -var cluster = require('cluster'); - -vows.describe('log4js cluster appender').addBatch({ - 'when in master mode': { - topic: function() { - - var registeredClusterEvents = []; - var loggingEvents = []; - var onChildProcessForked; - var onMasterReceiveChildMessage; - - // Fake cluster module, so no real cluster listeners be really added - var fakeCluster = { - - on: function(event, callback) { - registeredClusterEvents.push(event); - onChildProcessForked = callback; - }, - - isMaster: true, - isWorker: false, - - }; - var fakeWorker = { - on: function(event, callback) { - onMasterReceiveChildMessage = callback; - }, - process: { - pid: 123 - }, - id: 'workerid' - }; - - var fakeActualAppender = function(loggingEvent) { - loggingEvents.push(loggingEvent); - }; - - // Load appender and fake modules in it - var appenderModule = sandbox.require('../../lib/appenders/clustered', { - requires: { - 'cluster': fakeCluster, - } - }); - - var masterAppender = appenderModule.appender({ - actualAppenders: [fakeActualAppender, fakeActualAppender, fakeActualAppender], - appenders: [{}, {category: "test"}, {category: "wovs"}] - }); - - // Actual test - log message using masterAppender - masterAppender(new LoggingEvent('wovs', 'Info', ['masterAppender test'])); - - // Simulate a 'fork' event to register the master's message handler on our fake worker. - onChildProcessForked(fakeWorker); - // Simulate a cluster message received by the masterAppender. - var simulatedLoggingEvent = new LoggingEvent( - 'wovs', - 'Error', - [ - 'message deserialization test', - {stack: 'my wrapped stack'} - ] - ); - onMasterReceiveChildMessage({ - type : '::log-message', - event : JSON.stringify(simulatedLoggingEvent) - }); - - var returnValue = { - registeredClusterEvents: registeredClusterEvents, - loggingEvents: loggingEvents, - }; - - return returnValue; - }, - - "should register 'fork' event listener on 'cluster'": function(topic) { - assert.equal(topic.registeredClusterEvents[0], 'fork'); - }, - - "should log using actual appender": function(topic) { - assert.equal(topic.loggingEvents.length, 4); - assert.equal(topic.loggingEvents[0].data[0], 'masterAppender test'); - assert.equal(topic.loggingEvents[1].data[0], 'masterAppender test'); - assert.equal(topic.loggingEvents[2].data[0], 'message deserialization test'); - assert.equal(topic.loggingEvents[2].data[1], 'my wrapped stack'); - assert.equal(topic.loggingEvents[3].data[0], 'message deserialization test'); - assert.equal(topic.loggingEvents[3].data[1], 'my wrapped stack'); - }, - - }, - - 'when in worker mode': { - - topic: function() { - - var registeredProcessEvents = []; - - // Fake cluster module, to fake we're inside a worker process - var fakeCluster = { - - isMaster: false, - isWorker: true, - - }; - - var fakeProcess = { - - send: function(data) { - registeredProcessEvents.push(data); - }, - - }; - - // Load appender and fake modules in it - var appenderModule = sandbox.require('../../lib/appenders/clustered', { - requires: { - 'cluster': fakeCluster, - }, - globals: { - 'process': fakeProcess, - } - }); - - var workerAppender = appenderModule.appender(); - - // Actual test - log message using masterAppender - workerAppender(new LoggingEvent('wovs', 'Info', ['workerAppender test'])); - workerAppender(new LoggingEvent('wovs', 'Info', [new Error('Error test')])); - - var returnValue = { - registeredProcessEvents: registeredProcessEvents, - }; - - return returnValue; - - }, - - "worker appender should call process.send" : function(topic) { - assert.equal(topic.registeredProcessEvents[0].type, '::log-message'); - assert.equal( - JSON.parse(topic.registeredProcessEvents[0].event).data[0], - "workerAppender test" - ); - }, - - "worker should serialize an Error correctly" : function(topic) { - assert.equal(topic.registeredProcessEvents[1].type, '::log-message'); - assert(JSON.parse(topic.registeredProcessEvents[1].event).data[0].stack); - var actual = JSON.parse(topic.registeredProcessEvents[1].event).data[0].stack; - var expectedRegex = /^Error: Error test/; - assert( - actual.match(expectedRegex), - "Expected: \n\n " + actual + "\n\n to match " + expectedRegex - ); - } - - } - -}).exportTo(module); diff --git a/node_modules/log4js/test/vows/configuration-test.js b/node_modules/log4js/test/vows/configuration-test.js deleted file mode 100644 index aa22f26..0000000 --- a/node_modules/log4js/test/vows/configuration-test.js +++ /dev/null @@ -1,149 +0,0 @@ -"use strict"; -var assert = require('assert') -, vows = require('vows') -, sandbox = require('sandboxed-module'); - -function makeTestAppender() { - return { - configure: function(config, options) { - this.configureCalled = true; - this.config = config; - this.options = options; - return this.appender(); - }, - appender: function() { - var self = this; - return function(logEvt) { self.logEvt = logEvt; }; - } - }; -} - -vows.describe('log4js configure').addBatch({ - 'appenders': { - 'when specified by type': { - topic: function() { - var testAppender = makeTestAppender(), - log4js = sandbox.require( - '../../lib/log4js', - { - requires: { - './appenders/cheese': testAppender - } - } - ); - log4js.configure( - { - appenders: [ - { type: "cheese", flavour: "gouda" } - ] - }, - { pants: "yes" } - ); - return testAppender; - }, - 'should load appender': function(testAppender) { - assert.ok(testAppender.configureCalled); - }, - 'should pass config to appender': function(testAppender) { - assert.equal(testAppender.config.flavour, 'gouda'); - }, - 'should pass log4js options to appender': function(testAppender) { - assert.equal(testAppender.options.pants, 'yes'); - } - }, - 'when core appender loaded via loadAppender': { - topic: function() { - var testAppender = makeTestAppender(), - log4js = sandbox.require( - '../../lib/log4js', - { requires: { './appenders/cheese': testAppender } } - ); - - log4js.loadAppender('cheese'); - return log4js; - }, - 'should load appender from ../../lib/appenders': function(log4js) { - assert.ok(log4js.appenders.cheese); - }, - 'should add appender configure function to appenderMakers' : function(log4js) { - assert.isFunction(log4js.appenderMakers.cheese); - } - }, - 'when appender in node_modules loaded via loadAppender': { - topic: function() { - var testAppender = makeTestAppender(), - log4js = sandbox.require( - '../../lib/log4js', - { requires: { 'some/other/external': testAppender } } - ); - log4js.loadAppender('some/other/external'); - return log4js; - }, - 'should load appender via require': function(log4js) { - assert.ok(log4js.appenders['some/other/external']); - }, - 'should add appender configure function to appenderMakers': function(log4js) { - assert.isFunction(log4js.appenderMakers['some/other/external']); - } - }, - 'when appender object loaded via loadAppender': { - topic: function() { - var testAppender = makeTestAppender(), - log4js = sandbox.require('../../lib/log4js'); - - log4js.loadAppender('some/other/external', testAppender); - return log4js; - }, - 'should load appender with provided object': function(log4js) { - assert.ok(log4js.appenders['some/other/external']); - }, - 'should add appender configure function to appenderMakers': function(log4js) { - assert.isFunction(log4js.appenderMakers['some/other/external']); - } - }, - 'when configuration file loaded via LOG4JS_CONFIG environment variable': { - topic: function() { - process.env.LOG4JS_CONFIG = 'some/path/to/mylog4js.json'; - var fileRead = 0, - modulePath = 'some/path/to/mylog4js.json', - pathsChecked = [], - mtime = new Date(), - fakeFS = { - config: { appenders: [ { type: 'console', layout: { type: 'messagePassThrough' } } ], - levels: { 'a-test' : 'INFO' } }, - readdirSync: function(dir) { - return require('fs').readdirSync(dir); - }, - readFileSync: function (file, encoding) { - fileRead += 1; - assert.isString(file); - assert.equal(file, modulePath); - assert.equal(encoding, 'utf8'); - return JSON.stringify(fakeFS.config); - }, - statSync: function (path) { - pathsChecked.push(path); - if (path === modulePath) { - return { mtime: mtime }; - } else { - throw new Error("no such file"); - } - } - }, - log4js = sandbox.require( - '../../lib/log4js', - { - requires: { - 'fs': fakeFS, - } - } - ); - delete process.env.LOG4JS_CONFIG; - return fileRead; - }, - 'should load the specified local configuration file' : function(fileRead) { - assert.equal(fileRead, 1); - } - } - } -}).exportTo(module); diff --git a/node_modules/log4js/test/vows/configureNoLevels-test.js b/node_modules/log4js/test/vows/configureNoLevels-test.js deleted file mode 100644 index 2c63e2f..0000000 --- a/node_modules/log4js/test/vows/configureNoLevels-test.js +++ /dev/null @@ -1,173 +0,0 @@ -"use strict"; -// This test shows unexpected behaviour for log4js.configure() in log4js-node@0.4.3 and earlier: -// 1) log4js.configure(), log4js.configure(null), -// log4js.configure({}), log4js.configure() -// all set all loggers levels to trace, even if they were previously set to something else. -// 2) log4js.configure({levels:{}}), log4js.configure({levels: {foo: -// bar}}) leaves previously set logger levels intact. -// - -// Basic set up -var vows = require('vows'); -var assert = require('assert'); -var toLevel = require('../../lib/levels').toLevel; - -// uncomment one or other of the following to see progress (or not) while running the tests -// var showProgress = console.log; -var showProgress = function() {}; - - -// Define the array of levels as string to iterate over. -var strLevels= ['Trace','Debug','Info','Warn','Error','Fatal']; - -// setup the configurations we want to test -var configs = { - 'nop': 'nop', // special case where the iterating vows generator will not call log4js.configure - 'is undefined': undefined, - 'is null': null, - 'is empty': {}, - 'has no levels': {foo: 'bar'}, - 'has null levels': {levels: null}, - 'has empty levels': {levels: {}}, - 'has random levels': {levels: {foo: 'bar'}}, - 'has some valid levels': {levels: {A: 'INFO'}} -}; - -// Set up the basic vows batches for this test -var batches = []; - - -function getLoggerName(level) { - return level+'-logger'; -} - -// the common vows top-level context, whether log4js.configure is called or not -// just making sure that the code is common, -// so that there are no spurious errors in the tests themselves. -function getTopLevelContext(nop, configToTest, name) { - return { - topic: function() { - var log4js = require('../../lib/log4js'); - // create loggers for each level, - // keeping the level in the logger's name for traceability - strLevels.forEach(function(l) { - log4js.getLogger(getLoggerName(l)).setLevel(l); - }); - - if (!nop) { - showProgress('** Configuring log4js with', configToTest); - log4js.configure(configToTest); - } - else { - showProgress('** Not configuring log4js'); - } - return log4js; - } - }; -} - -showProgress('Populating batch object...'); - -function checkForMismatch(topic) { - var er = topic.log4js.levels.toLevel(topic.baseLevel) - .isLessThanOrEqualTo(topic.log4js.levels.toLevel(topic.comparisonLevel)); - - assert.equal( - er, - topic.expectedResult, - 'Mismatch: for setLevel(' + topic.baseLevel + - ') was expecting a comparison with ' + topic.comparisonLevel + - ' to be ' + topic.expectedResult - ); -} - -function checkExpectedResult(topic) { - var result = topic.log4js - .getLogger(getLoggerName(topic.baseLevel)) - .isLevelEnabled(topic.log4js.levels.toLevel(topic.comparisonLevel)); - - assert.equal( - result, - topic.expectedResult, - 'Failed: ' + getLoggerName(topic.baseLevel) + - '.isLevelEnabled( ' + topic.comparisonLevel + ' ) returned ' + result - ); -} - -function setupBaseLevelAndCompareToOtherLevels(baseLevel) { - var baseLevelSubContext = 'and checking the logger whose level was set to '+baseLevel ; - var subContext = { topic: baseLevel }; - batch[context][baseLevelSubContext] = subContext; - - // each logging level has strLevels sub-contexts, - // to exhaustively test all the combinations of - // setLevel(baseLevel) and isLevelEnabled(comparisonLevel) per config - strLevels.forEach(compareToOtherLevels(subContext)); -} - -function compareToOtherLevels(subContext) { - var baseLevel = subContext.topic; - - return function (comparisonLevel) { - var comparisonLevelSubContext = 'with isLevelEnabled('+comparisonLevel+')'; - - // calculate this independently of log4js, but we'll add a vow - // later on to check that we're not mismatched with log4js - var expectedResult = strLevels.indexOf(baseLevel) <= strLevels.indexOf(comparisonLevel); - - // the topic simply gathers all the parameters for the vow - // into an object, to simplify the vow's work. - subContext[comparisonLevelSubContext] = { - topic: function(baseLevel, log4js) { - return { - comparisonLevel: comparisonLevel, - baseLevel: baseLevel, - log4js: log4js, - expectedResult: expectedResult - }; - } - }; - - var vow = 'should return '+expectedResult; - subContext[comparisonLevelSubContext][vow] = checkExpectedResult; - - // the extra vow to check the comparison between baseLevel and - // comparisonLevel we performed earlier matches log4js' - // comparison too - var subSubContext = subContext[comparisonLevelSubContext]; - subSubContext['finally checking for comparison mismatch with log4js'] = checkForMismatch; - }; -} - -// Populating the batches programmatically, as there are -// (configs.length x strLevels.length x strLevels.length) = 324 -// possible test combinations -for (var cfg in configs) { - var configToTest = configs[cfg]; - var nop = configToTest === 'nop'; - var context; - if (nop) { - context = 'Setting up loggers with initial levels, then NOT setting a configuration,'; - } - else { - context = 'Setting up loggers with initial levels, then setting a configuration which '+cfg+','; - } - - showProgress('Setting up the vows batch and context for '+context); - // each config to be tested has its own vows batch with a single top-level context - var batch={}; - batch[context]= getTopLevelContext(nop, configToTest, context); - batches.push(batch); - - // each top-level context has strLevels sub-contexts, one per logger - // which has set to a specific level in the top-level context's topic - strLevels.forEach(setupBaseLevelAndCompareToOtherLevels); -} - -showProgress('Running tests'); -var v = vows.describe('log4js.configure(), with or without a "levels" property'); - -batches.forEach(function(batch) {v=v.addBatch(batch);}); - -v.export(module); - diff --git a/node_modules/log4js/test/vows/connect-logger-test.js b/node_modules/log4js/test/vows/connect-logger-test.js deleted file mode 100644 index c81d550..0000000 --- a/node_modules/log4js/test/vows/connect-logger-test.js +++ /dev/null @@ -1,303 +0,0 @@ -/* jshint maxparams:7 */ -"use strict"; -var vows = require('vows') -, assert = require('assert') -, util = require('util') -, EE = require('events').EventEmitter -, levels = require('../../lib/levels'); - -function MockLogger() { - - var that = this; - this.messages = []; - - this.log = function(level, message, exception) { - that.messages.push({ level: level, message: message }); - }; - - this.isLevelEnabled = function(level) { - return level.isGreaterThanOrEqualTo(that.level); - }; - - this.level = levels.TRACE; - -} - -function MockRequest(remoteAddr, method, originalUrl, headers) { - - this.socket = { remoteAddress: remoteAddr }; - this.originalUrl = originalUrl; - this.method = method; - this.httpVersionMajor = '5'; - this.httpVersionMinor = '0'; - this.headers = headers || {}; - - var self = this; - Object.keys(this.headers).forEach(function(key) { - self.headers[key.toLowerCase()] = self.headers[key]; - }); -} - -function MockResponse() { - var r = this; - this.end = function(chunk, encoding) { - r.emit('finish'); - }; - - this.writeHead = function(code, headers) { - this.statusCode = code; - this._headers = headers; - }; -} - -util.inherits(MockResponse, EE); - -function request(cl, method, url, code, reqHeaders, resHeaders) { - var req = new MockRequest('my.remote.addr', method, url, reqHeaders); - var res = new MockResponse(); - cl(req, res, function() {}); - res.writeHead(code, resHeaders); - res.end('chunk','encoding'); -} - -vows.describe('log4js connect logger').addBatch({ - 'getConnectLoggerModule': { - topic: function() { - var clm = require('../../lib/connect-logger'); - return clm; - }, - - 'should return a "connect logger" factory' : function(clm) { - assert.isObject(clm); - }, - - 'take a log4js logger and return a "connect logger"' : { - topic: function(clm) { - var ml = new MockLogger(); - var cl = clm.connectLogger(ml); - return cl; - }, - - 'should return a "connect logger"': function(cl) { - assert.isFunction(cl); - } - }, - - 'log events' : { - topic: function(clm) { - var ml = new MockLogger(); - var cl = clm.connectLogger(ml); - var cb = this.callback; - request(cl, 'GET', 'http://url', 200); - setTimeout(function() { - cb(null, ml.messages); - },10); - }, - - 'check message': function(messages) { - assert.isArray(messages); - assert.equal(messages.length, 1); - assert.ok(levels.INFO.isEqualTo(messages[0].level)); - assert.include(messages[0].message, 'GET'); - assert.include(messages[0].message, 'http://url'); - assert.include(messages[0].message, 'my.remote.addr'); - assert.include(messages[0].message, '200'); - } - }, - - 'log events with level below logging level' : { - topic: function(clm) { - var ml = new MockLogger(); - ml.level = levels.FATAL; - var cl = clm.connectLogger(ml); - request(cl, 'GET', 'http://url', 200); - return ml.messages; - }, - - 'check message': function(messages) { - assert.isArray(messages); - assert.isEmpty(messages); - } - }, - - 'log events with non-default level and custom format' : { - topic: function(clm) { - var ml = new MockLogger(); - var cb = this.callback; - ml.level = levels.INFO; - var cl = clm.connectLogger(ml, { level: levels.INFO, format: ':method :url' } ); - request(cl, 'GET', 'http://url', 200); - setTimeout(function() { - cb(null, ml.messages); - },10); }, - - 'check message': function(messages) { - assert.isArray(messages); - assert.equal(messages.length, 1); - assert.ok(levels.INFO.isEqualTo(messages[0].level)); - assert.equal(messages[0].message, 'GET http://url'); - } - }, - - 'logger with options as string': { - topic: function(clm) { - var ml = new MockLogger(); - var cb = this.callback; - ml.level = levels.INFO; - var cl = clm.connectLogger(ml, ':method :url'); - request(cl, 'POST', 'http://meh', 200); - setTimeout(function() { - cb(null, ml.messages); - },10); - }, - 'should use the passed in format': function(messages) { - assert.equal(messages[0].message, 'POST http://meh'); - } - }, - - 'auto log levels': { - topic: function(clm) { - var ml = new MockLogger(); - var cb = this.callback; - ml.level = levels.INFO; - var cl = clm.connectLogger(ml, { level: 'auto', format: ':method :url' }); - request(cl, 'GET', 'http://meh', 200); - request(cl, 'GET', 'http://meh', 201); - request(cl, 'GET', 'http://meh', 302); - request(cl, 'GET', 'http://meh', 404); - request(cl, 'GET', 'http://meh', 500); - setTimeout(function() { - cb(null, ml.messages); - },10); - }, - - 'should use INFO for 2xx': function(messages) { - assert.ok(levels.INFO.isEqualTo(messages[0].level)); - assert.ok(levels.INFO.isEqualTo(messages[1].level)); - }, - - 'should use WARN for 3xx': function(messages) { - assert.ok(levels.WARN.isEqualTo(messages[2].level)); - }, - - 'should use ERROR for 4xx': function(messages) { - assert.ok(levels.ERROR.isEqualTo(messages[3].level)); - }, - - 'should use ERROR for 5xx': function(messages) { - assert.ok(levels.ERROR.isEqualTo(messages[4].level)); - } - }, - - 'format using a function': { - topic: function(clm) { - var ml = new MockLogger(); - var cb = this.callback; - ml.level = levels.INFO; - var cl = clm.connectLogger(ml, function(req, res, formatFn) { return "I was called"; }); - request(cl, 'GET', 'http://blah', 200); - setTimeout(function() { - cb(null, ml.messages); - },10); - }, - - 'should call the format function': function(messages) { - assert.equal(messages[0].message, 'I was called'); - } - }, - - 'format that includes request headers': { - topic: function(clm) { - var ml = new MockLogger(); - var cb = this.callback; - ml.level = levels.INFO; - var cl = clm.connectLogger(ml, ':req[Content-Type]'); - request( - cl, - 'GET', 'http://blah', 200, - { 'Content-Type': 'application/json' } - ); - setTimeout(function() { - cb(null, ml.messages); - },10); - }, - 'should output the request header': function(messages) { - assert.equal(messages[0].message, 'application/json'); - } - }, - - 'format that includes response headers': { - topic: function(clm) { - var ml = new MockLogger(); - var cb = this.callback; - ml.level = levels.INFO; - var cl = clm.connectLogger(ml, ':res[Content-Type]'); - request( - cl, - 'GET', 'http://blah', 200, - null, - { 'Content-Type': 'application/cheese' } - ); - setTimeout(function() { - cb(null, ml.messages); - },10); - }, - - 'should output the response header': function(messages) { - assert.equal(messages[0].message, 'application/cheese'); - } - }, - - 'log events with custom token' : { - topic: function(clm) { - var ml = new MockLogger(); - var cb = this.callback; - ml.level = levels.INFO; - var cl = clm.connectLogger(ml, { - level: levels.INFO, - format: ':method :url :custom_string', - tokens: [{ - token: ':custom_string', replacement: 'fooBAR' - }] - }); - request(cl, 'GET', 'http://url', 200); - setTimeout(function() { - cb(null, ml.messages); - },10); - }, - - 'check message': function(messages) { - assert.isArray(messages); - assert.equal(messages.length, 1); - assert.ok(levels.INFO.isEqualTo(messages[0].level)); - assert.equal(messages[0].message, 'GET http://url fooBAR'); - } - }, - - 'log events with custom override token' : { - topic: function(clm) { - var ml = new MockLogger(); - var cb = this.callback; - ml.level = levels.INFO; - var cl = clm.connectLogger(ml, { - level: levels.INFO, - format: ':method :url :date', - tokens: [{ - token: ':date', replacement: "20150310" - }] - }); - request(cl, 'GET', 'http://url', 200); - setTimeout(function() { - cb(null, ml.messages); - },10); - }, - - 'check message': function(messages) { - assert.isArray(messages); - assert.equal(messages.length, 1); - assert.ok(levels.INFO.isEqualTo(messages[0].level)); - assert.equal(messages[0].message, 'GET http://url 20150310'); - } - } - } -}).export(module); diff --git a/node_modules/log4js/test/vows/consoleAppender-test.js b/node_modules/log4js/test/vows/consoleAppender-test.js deleted file mode 100644 index 9ac24c4..0000000 --- a/node_modules/log4js/test/vows/consoleAppender-test.js +++ /dev/null @@ -1,33 +0,0 @@ -"use strict"; -var assert = require('assert') -, vows = require('vows') -, layouts = require('../../lib/layouts') -, sandbox = require('sandboxed-module'); - -vows.describe('../../lib/appenders/console').addBatch({ - 'appender': { - topic: function() { - var messages = [] - , fakeConsole = { - log: function(msg) { messages.push(msg); } - } - , appenderModule = sandbox.require( - '../../lib/appenders/console', - { - globals: { - 'console': fakeConsole - } - } - ) - , appender = appenderModule.appender(layouts.messagePassThroughLayout); - - appender({ data: ["blah"] }); - return messages; - }, - - 'should output to console': function(messages) { - assert.equal(messages[0], 'blah'); - } - } - -}).exportTo(module); diff --git a/node_modules/log4js/test/vows/dateFileAppender-test.js b/node_modules/log4js/test/vows/dateFileAppender-test.js deleted file mode 100644 index 5bea92e..0000000 --- a/node_modules/log4js/test/vows/dateFileAppender-test.js +++ /dev/null @@ -1,223 +0,0 @@ -"use strict"; -var vows = require('vows') -, assert = require('assert') -, path = require('path') -, fs = require('fs') -, sandbox = require('sandboxed-module') -, log4js = require('../../lib/log4js') -, EOL = require('os').EOL || '\n'; - -function removeFile(filename) { - return function() { - fs.unlink(path.join(__dirname, filename), function(err) { - if (err) { - console.log("Could not delete ", filename, err); - } - }); - }; -} - -vows.describe('../../lib/appenders/dateFile').addBatch({ - 'appender': { - 'adding multiple dateFileAppenders': { - topic: function () { - var listenersCount = process.listeners('exit').length, - dateFileAppender = require('../../lib/appenders/dateFile'), - count = 5, - logfile; - - while (count--) { - logfile = path.join(__dirname, 'datefa-default-test' + count + '.log'); - log4js.addAppender(dateFileAppender.appender(logfile)); - } - - return listenersCount; - }, - teardown: function() { - removeFile('datefa-default-test0.log')(); - removeFile('datefa-default-test1.log')(); - removeFile('datefa-default-test2.log')(); - removeFile('datefa-default-test3.log')(); - removeFile('datefa-default-test4.log')(); - }, - - 'should only add one `exit` listener': function (initialCount) { - assert.equal(process.listeners('exit').length, initialCount + 1); - }, - - }, - - 'exit listener': { - topic: function() { - var exitListener - , openedFiles = [] - , dateFileAppender = sandbox.require( - '../../lib/appenders/dateFile', - { - globals: { - process: { - on: function(evt, listener) { - exitListener = listener; - } - } - }, - requires: { - 'streamroller': { - DateRollingFileStream: function(filename) { - openedFiles.push(filename); - - this.end = function() { - openedFiles.shift(); - }; - } - } - } - } - ); - for (var i=0; i < 5; i += 1) { - dateFileAppender.appender('test' + i); - } - assert.isNotEmpty(openedFiles); - exitListener(); - return openedFiles; - }, - 'should close all open files': function(openedFiles) { - assert.isEmpty(openedFiles); - } - }, - - 'with default settings': { - topic: function() { - var that = this, - testFile = path.join(__dirname, 'date-appender-default.log'), - appender = require('../../lib/appenders/dateFile').appender(testFile), - logger = log4js.getLogger('default-settings'); - log4js.clearAppenders(); - log4js.addAppender(appender, 'default-settings'); - - logger.info("This should be in the file."); - - setTimeout(function() { - fs.readFile(testFile, "utf8", that.callback); - }, 100); - - }, - teardown: removeFile('date-appender-default.log'), - - 'should write to the file': function(contents) { - assert.include(contents, 'This should be in the file'); - }, - - 'should use the basic layout': function(contents) { - assert.match( - contents, - /\[\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\.\d{3}\] \[INFO\] default-settings - / - ); - } - } - - } -}).addBatch({ - 'configure': { - 'with dateFileAppender': { - topic: function() { - var log4js = require('../../lib/log4js') - , logger; - //this config file defines one file appender (to ./date-file-test.log) - //and sets the log level for "tests" to WARN - log4js.configure('test/vows/with-dateFile.json'); - logger = log4js.getLogger('tests'); - logger.info('this should not be written to the file'); - logger.warn('this should be written to the file'); - - fs.readFile(path.join(__dirname, 'date-file-test.log'), 'utf8', this.callback); - }, - teardown: removeFile('date-file-test.log'), - - 'should load appender configuration from a json file': function(err, contents) { - if (err) { - throw err; - } - assert.include(contents, 'this should be written to the file' + EOL); - assert.equal(contents.indexOf('this should not be written to the file'), -1); - } - }, - 'with options.alwaysIncludePattern': { - topic: function() { - var self = this - , log4js = require('../../lib/log4js') - , format = require('../../lib/date_format') - , logger - , options = { - "appenders": [ - { - "category": "tests", - "type": "dateFile", - "filename": "test/vows/date-file-test", - "pattern": "-from-MM-dd.log", - "alwaysIncludePattern": true, - "layout": { - "type": "messagePassThrough" - } - } - ] - } - , thisTime = format.asString(options.appenders[0].pattern, new Date()); - fs.writeFileSync( - path.join(__dirname, 'date-file-test' + thisTime), - "this is existing data" + EOL, - 'utf8' - ); - log4js.clearAppenders(); - log4js.configure(options); - logger = log4js.getLogger('tests'); - logger.warn('this should be written to the file with the appended date'); - this.teardown = removeFile('date-file-test' + thisTime); - //wait for filesystem to catch up - setTimeout(function() { - fs.readFile(path.join(__dirname, 'date-file-test' + thisTime), 'utf8', self.callback); - }, 100); - }, - 'should create file with the correct pattern': function(contents) { - assert.include(contents, 'this should be written to the file with the appended date'); - }, - 'should not overwrite the file on open (bug found in issue #132)': function(contents) { - assert.include(contents, 'this is existing data'); - } - }, - 'with cwd option': { - topic: function () { - var fileOpened, - appender = sandbox.require( - '../../lib/appenders/dateFile', - { requires: - { 'streamroller': - { DateRollingFileStream: - function(file) { - fileOpened = file; - return { - on: function() {}, - end: function() {} - }; - } - } - } - } - ); - appender.configure( - { - filename: "whatever.log", - maxLogSize: 10 - }, - { cwd: '/absolute/path/to' } - ); - return fileOpened; - }, - 'should prepend options.cwd to config.filename': function (fileOpened) { - var expected = path.sep + path.join("absolute", "path", "to", "whatever.log"); - assert.equal(fileOpened, expected); - } - } - - } -}).exportTo(module); diff --git a/node_modules/log4js/test/vows/date_format-test.js b/node_modules/log4js/test/vows/date_format-test.js deleted file mode 100644 index a6fe52e..0000000 --- a/node_modules/log4js/test/vows/date_format-test.js +++ /dev/null @@ -1,58 +0,0 @@ -"use strict"; -var vows = require('vows') -, assert = require('assert') -, dateFormat = require('../../lib/date_format'); - -function createFixedDate() { - return new Date(2010, 0, 11, 14, 31, 30, 5); -} - -vows.describe('date_format').addBatch({ - 'Date extensions': { - topic: createFixedDate, - 'should format a date as string using a pattern': function(date) { - assert.equal( - dateFormat.asString(dateFormat.DATETIME_FORMAT, date), - "11 01 2010 14:31:30.005" - ); - }, - 'should default to the ISO8601 format': function(date) { - assert.equal( - dateFormat.asString(date), - '2010-01-11 14:31:30.005' - ); - }, - 'should provide a ISO8601 with timezone offset format': function() { - var date = createFixedDate(); - date.setMinutes(date.getMinutes() - date.getTimezoneOffset() - 660); - date.getTimezoneOffset = function() { return -660; }; - assert.equal( - dateFormat.asString(dateFormat.ISO8601_WITH_TZ_OFFSET_FORMAT, date), - "2010-01-11T14:31:30.005+1100" - ); - date = createFixedDate(); - date.setMinutes(date.getMinutes() - date.getTimezoneOffset() + 120); - date.getTimezoneOffset = function() { return 120; }; - assert.equal( - dateFormat.asString(dateFormat.ISO8601_WITH_TZ_OFFSET_FORMAT, date), - "2010-01-11T14:31:30.005-0200" - ); - - }, - 'should provide a just-the-time format': function(date) { - assert.equal( - dateFormat.asString(dateFormat.ABSOLUTETIME_FORMAT, date), - '14:31:30.005' - ); - }, - 'should provide a custom format': function() { - var date = createFixedDate(); - date.setMinutes(date.getMinutes() - date.getTimezoneOffset() + 120); - date.getTimezoneOffset = function() { return 120; }; - assert.equal( - dateFormat.asString("O.SSS.ss.mm.hh.dd.MM.yy", date), - '-0200.005.30.31.14.11.01.10' - ); - } - } -}).export(module); diff --git a/node_modules/log4js/test/vows/fileAppender-test.js b/node_modules/log4js/test/vows/fileAppender-test.js deleted file mode 100644 index 8f45c7e..0000000 --- a/node_modules/log4js/test/vows/fileAppender-test.js +++ /dev/null @@ -1,450 +0,0 @@ -"use strict"; -var vows = require('vows') -, fs = require('fs') -, path = require('path') -, sandbox = require('sandboxed-module') -, log4js = require('../../lib/log4js') -, assert = require('assert') -, zlib = require('zlib') -, EOL = require('os').EOL || '\n'; - -log4js.clearAppenders(); - -function remove(filename) { - try { - fs.unlinkSync(filename); - } catch (e) { - //doesn't really matter if it failed - } -} - -vows.describe('log4js fileAppender').addBatch({ - 'adding multiple fileAppenders': { - topic: function () { - var listenersCount = process.listeners('exit').length - , logger = log4js.getLogger('default-settings') - , count = 5, logfile; - - while (count--) { - logfile = path.join(__dirname, 'fa-default-test' + count + '.log'); - log4js.addAppender( - require('../../lib/appenders/file').appender(logfile), - 'default-settings' - ); - } - - return listenersCount; - }, - - 'does not add more than one `exit` listener': function (initialCount) { - assert.equal(initialCount + 1, process.listeners('exit').length); - } - }, - - 'exit listener': { - topic: function() { - var exitListener - , openedFiles = [] - , fileAppender = sandbox.require( - '../../lib/appenders/file', - { - globals: { - process: { - on: function(evt, listener) { - if (evt == 'exit') { - exitListener = listener; - } - } - } - }, - requires: { - 'streamroller': { - RollingFileStream: function(filename) { - openedFiles.push(filename); - - this.end = function() { - openedFiles.shift(); - }; - - this.on = function() {}; - } - } - } - } - ); - for (var i=0; i < 5; i += 1) { - fileAppender.appender('test' + i, null, 100); - } - assert.isNotEmpty(openedFiles); - exitListener(); - return openedFiles; - }, - 'should close all open files': function(openedFiles) { - assert.isEmpty(openedFiles); - } - }, - - 'with default fileAppender settings': { - topic: function() { - var that = this - , testFile = path.join(__dirname, 'fa-default-test.log') - , logger = log4js.getLogger('default-settings'); - remove(testFile); - - log4js.clearAppenders(); - log4js.addAppender( - require('../../lib/appenders/file').appender(testFile), - 'default-settings' - ); - - logger.info("This should be in the file."); - - setTimeout(function() { - fs.readFile(testFile, "utf8", that.callback); - }, 100); - }, - 'should write log messages to the file': function (err, fileContents) { - assert.include(fileContents, "This should be in the file." + EOL); - }, - 'log messages should be in the basic layout format': function(err, fileContents) { - assert.match( - fileContents, - /\[\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\.\d{3}\] \[INFO\] default-settings - / - ); - } - }, - 'fileAppender subcategories': { - topic: function() { - var that = this; - - log4js.clearAppenders(); - - function addAppender(cat) { - var testFile = path.join( - __dirname, - 'fa-subcategories-test-'+cat.join('-').replace(/\./g, "_")+'.log' - ); - remove(testFile); - log4js.addAppender(require('../../lib/appenders/file').appender(testFile), cat); - return testFile; - } - - var file_sub1 = addAppender([ 'sub1']); - - var file_sub1_sub12$sub1_sub13 = addAppender([ 'sub1.sub12', 'sub1.sub13' ]); - - var file_sub1_sub12 = addAppender([ 'sub1.sub12' ]); - - - var logger_sub1_sub12_sub123 = log4js.getLogger('sub1.sub12.sub123'); - - var logger_sub1_sub13_sub133 = log4js.getLogger('sub1.sub13.sub133'); - - var logger_sub1_sub14 = log4js.getLogger('sub1.sub14'); - - var logger_sub2 = log4js.getLogger('sub2'); - - - logger_sub1_sub12_sub123.info('sub1_sub12_sub123'); - - logger_sub1_sub13_sub133.info('sub1_sub13_sub133'); - - logger_sub1_sub14.info('sub1_sub14'); - - logger_sub2.info('sub2'); - - - setTimeout(function() { - that.callback(null, { - file_sub1: fs.readFileSync(file_sub1).toString(), - file_sub1_sub12$sub1_sub13: fs.readFileSync(file_sub1_sub12$sub1_sub13).toString(), - file_sub1_sub12: fs.readFileSync(file_sub1_sub12).toString() - }); - }, 3000); - }, - 'check file contents': function (err, fileContents) { - - // everything but category 'sub2' - assert.match( - fileContents.file_sub1, - /^(\[\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\.\d{3}\] \[INFO\] (sub1.sub12.sub123 - sub1_sub12_sub123|sub1.sub13.sub133 - sub1_sub13_sub133|sub1.sub14 - sub1_sub14)[\s\S]){3}$/ // jshint ignore:line - ); - assert.ok( - fileContents.file_sub1.match(/sub123/) && - fileContents.file_sub1.match(/sub133/) && - fileContents.file_sub1.match(/sub14/) - ); - assert.ok(!fileContents.file_sub1.match(/sub2/)); - - // only catgories starting with 'sub1.sub12' and 'sub1.sub13' - assert.match( - fileContents.file_sub1_sub12$sub1_sub13, - /^(\[\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\.\d{3}\] \[INFO\] (sub1.sub12.sub123 - sub1_sub12_sub123|sub1.sub13.sub133 - sub1_sub13_sub133)[\s\S]){2}$/ //jshint ignore:line - ); - assert.ok( - fileContents.file_sub1_sub12$sub1_sub13.match(/sub123/) && - fileContents.file_sub1_sub12$sub1_sub13.match(/sub133/) - ); - assert.ok(!fileContents.file_sub1_sub12$sub1_sub13.match(/sub14|sub2/)); - - // only catgories starting with 'sub1.sub12' - assert.match( - fileContents.file_sub1_sub12, - /^(\[\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\.\d{3}\] \[INFO\] (sub1.sub12.sub123 - sub1_sub12_sub123)[\s\S]){1}$/ //jshint ignore:line - ); - assert.ok(!fileContents.file_sub1_sub12.match(/sub14|sub2|sub13/)); - - } - }, - 'with a max file size and no backups': { - topic: function() { - var testFile = path.join(__dirname, 'fa-maxFileSize-test.log') - , logger = log4js.getLogger('max-file-size') - , that = this; - remove(testFile); - remove(testFile + '.1'); - //log file of 100 bytes maximum, no backups - log4js.clearAppenders(); - log4js.addAppender( - require('../../lib/appenders/file').appender(testFile, log4js.layouts.basicLayout, 100, 0), - 'max-file-size' - ); - logger.info("This is the first log message."); - logger.info("This is an intermediate log message."); - logger.info("This is the second log message."); - //wait for the file system to catch up - setTimeout(function() { - fs.readFile(testFile, "utf8", that.callback); - }, 100); - }, - 'log file should only contain the second message': function(err, fileContents) { - assert.include(fileContents, "This is the second log message."); - assert.equal(fileContents.indexOf("This is the first log message."), -1); - }, - 'the number of files': { - topic: function() { - fs.readdir(__dirname, this.callback); - }, - 'starting with the test file name should be two': function(err, files) { - //there will always be one backup if you've specified a max log size - var logFiles = files.filter( - function(file) { return file.indexOf('fa-maxFileSize-test.log') > -1; } - ); - assert.equal(logFiles.length, 2); - } - } - }, - 'with a max file size and 2 backups': { - topic: function() { - var testFile = path.join(__dirname, 'fa-maxFileSize-with-backups-test.log') - , logger = log4js.getLogger('max-file-size-backups'); - remove(testFile); - remove(testFile+'.1'); - remove(testFile+'.2'); - - //log file of 50 bytes maximum, 2 backups - log4js.clearAppenders(); - log4js.addAppender( - require('../../lib/appenders/file').appender(testFile, log4js.layouts.basicLayout, 50, 2), - 'max-file-size-backups' - ); - logger.info("This is the first log message."); - logger.info("This is the second log message."); - logger.info("This is the third log message."); - logger.info("This is the fourth log message."); - var that = this; - //give the system a chance to open the stream - setTimeout(function() { - fs.readdir(__dirname, function(err, files) { - if (files) { - that.callback(null, files.sort()); - } else { - that.callback(err, files); - } - }); - }, 200); - }, - 'the log files': { - topic: function(files) { - var logFiles = files.filter( - function(file) { return file.indexOf('fa-maxFileSize-with-backups-test.log') > -1; } - ); - return logFiles; - }, - 'should be 3': function (files) { - assert.equal(files.length, 3); - }, - 'should be named in sequence': function (files) { - assert.deepEqual(files, [ - 'fa-maxFileSize-with-backups-test.log', - 'fa-maxFileSize-with-backups-test.log.1', - 'fa-maxFileSize-with-backups-test.log.2' - ]); - }, - 'and the contents of the first file': { - topic: function(logFiles) { - fs.readFile(path.join(__dirname, logFiles[0]), "utf8", this.callback); - }, - 'should be the last log message': function(contents) { - assert.include(contents, 'This is the fourth log message.'); - } - }, - 'and the contents of the second file': { - topic: function(logFiles) { - fs.readFile(path.join(__dirname, logFiles[1]), "utf8", this.callback); - }, - 'should be the third log message': function(contents) { - assert.include(contents, 'This is the third log message.'); - } - }, - 'and the contents of the third file': { - topic: function(logFiles) { - fs.readFile(path.join(__dirname, logFiles[2]), "utf8", this.callback); - }, - 'should be the second log message': function(contents) { - assert.include(contents, 'This is the second log message.'); - } - } - } - }, - 'with a max file size and 2 compressed backups': { - topic: function() { - var testFile = path.join(__dirname, 'fa-maxFileSize-with-backups-compressed-test.log') - , logger = log4js.getLogger('max-file-size-backups'); - remove(testFile); - remove(testFile+'.1.gz'); - remove(testFile+'.2.gz'); - - //log file of 50 bytes maximum, 2 backups - log4js.clearAppenders(); - log4js.addAppender( - require('../../lib/appenders/file').appender( - testFile, log4js.layouts.basicLayout, 50, 2, { compress: true } - ), - 'max-file-size-backups' - ); - logger.info("This is the first log message."); - logger.info("This is the second log message."); - logger.info("This is the third log message."); - logger.info("This is the fourth log message."); - var that = this; - //give the system a chance to open the stream - setTimeout(function() { - fs.readdir(__dirname, function(err, files) { - if (files) { - that.callback(null, files.sort()); - } else { - that.callback(err, files); - } - }); - }, 1000); - }, - 'the log files': { - topic: function(files) { - var logFiles = files.filter( - function(file) { - return file.indexOf('fa-maxFileSize-with-backups-compressed-test.log') > -1; - } - ); - return logFiles; - }, - 'should be 3': function (files) { - assert.equal(files.length, 3); - }, - 'should be named in sequence': function (files) { - assert.deepEqual(files, [ - 'fa-maxFileSize-with-backups-compressed-test.log', - 'fa-maxFileSize-with-backups-compressed-test.log.1.gz', - 'fa-maxFileSize-with-backups-compressed-test.log.2.gz' - ]); - }, - 'and the contents of the first file': { - topic: function(logFiles) { - fs.readFile(path.join(__dirname, logFiles[0]), "utf8", this.callback); - }, - 'should be the last log message': function(contents) { - assert.include(contents, 'This is the fourth log message.'); - } - }, - 'and the contents of the second file': { - topic: function(logFiles) { - zlib.gunzip(fs.readFileSync(path.join(__dirname, logFiles[1])), this.callback); - }, - 'should be the third log message': function(contents) { - assert.include(contents.toString('utf8'), 'This is the third log message.'); - } - }, - 'and the contents of the third file': { - topic: function(logFiles) { - zlib.gunzip(fs.readFileSync(path.join(__dirname, logFiles[2])), this.callback); - }, - 'should be the second log message': function(contents) { - assert.include(contents.toString('utf8'), 'This is the second log message.'); - } - } - } - } -}).addBatch({ - 'configure' : { - 'with fileAppender': { - topic: function() { - var log4js = require('../../lib/log4js') - , logger; - //this config file defines one file appender (to ./tmp-tests.log) - //and sets the log level for "tests" to WARN - log4js.configure('./test/vows/log4js.json'); - logger = log4js.getLogger('tests'); - logger.info('this should not be written to the file'); - logger.warn('this should be written to the file'); - - fs.readFile('tmp-tests.log', 'utf8', this.callback); - }, - 'should load appender configuration from a json file': function (err, contents) { - assert.include(contents, 'this should be written to the file' + EOL); - assert.equal(contents.indexOf('this should not be written to the file'), -1); - } - } - } -}).addBatch({ - 'when underlying stream errors': { - topic: function() { - var consoleArgs - , errorHandler - , fileAppender = sandbox.require( - '../../lib/appenders/file', - { - globals: { - console: { - error: function() { - consoleArgs = Array.prototype.slice.call(arguments); - } - } - }, - requires: { - 'streamroller': { - RollingFileStream: function(filename) { - - this.end = function() {}; - this.on = function(evt, cb) { - if (evt === 'error') { - errorHandler = cb; - } - }; - } - } - } - } - ); - fileAppender.appender('test1.log', null, 100); - errorHandler({ error: 'aargh' }); - return consoleArgs; - }, - 'should log the error to console.error': function(consoleArgs) { - assert.isNotEmpty(consoleArgs); - assert.equal(consoleArgs[0], 'log4js.fileAppender - Writing to file %s, error happened '); - assert.equal(consoleArgs[1], 'test1.log'); - assert.equal(consoleArgs[2].error, 'aargh'); - } - } - -}).export(module); diff --git a/node_modules/log4js/test/vows/fileSyncAppender-test.js b/node_modules/log4js/test/vows/fileSyncAppender-test.js deleted file mode 100644 index 1a32240..0000000 --- a/node_modules/log4js/test/vows/fileSyncAppender-test.js +++ /dev/null @@ -1,197 +0,0 @@ -"use strict"; -var vows = require('vows') -, fs = require('fs') -, path = require('path') -, sandbox = require('sandboxed-module') -, log4js = require('../../lib/log4js') -, assert = require('assert') -, EOL = require('os').EOL || '\n'; - -log4js.clearAppenders(); - -function remove(filename) { - try { - fs.unlinkSync(filename); - } catch (e) { - //doesn't really matter if it failed - } -} - -vows.describe('log4js fileSyncAppender').addBatch({ - 'with default fileSyncAppender settings': { - topic: function() { - var that = this - , testFile = path.join(__dirname, '/fa-default-sync-test.log') - , logger = log4js.getLogger('default-settings'); - remove(testFile); - - log4js.clearAppenders(); - log4js.addAppender( - require('../../lib/appenders/fileSync').appender(testFile), - 'default-settings' - ); - - logger.info("This should be in the file."); - - fs.readFile(testFile, "utf8", that.callback); - }, - 'should write log messages to the file': function (err, fileContents) { - assert.include(fileContents, "This should be in the file." + EOL); - }, - 'log messages should be in the basic layout format': function(err, fileContents) { - assert.match( - fileContents, - /\[\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\.\d{3}\] \[INFO\] default-settings - / - ); - } - }, - 'with a max file size and no backups': { - topic: function() { - var testFile = path.join(__dirname, '/fa-maxFileSize-sync-test.log') - , logger = log4js.getLogger('max-file-size') - , that = this; - remove(testFile); - remove(testFile + '.1'); - //log file of 100 bytes maximum, no backups - log4js.clearAppenders(); - log4js.addAppender( - require( - '../../lib/appenders/fileSync' - ).appender( - testFile, - log4js.layouts.basicLayout, - 100, - 0 - ), - 'max-file-size' - ); - logger.info("This is the first log message."); - logger.info("This is an intermediate log message."); - logger.info("This is the second log message."); - - fs.readFile(testFile, "utf8", that.callback); - }, - 'log file should only contain the second message': function (err, fileContents) { - assert.include(fileContents, "This is the second log message." + EOL); - assert.equal(fileContents.indexOf("This is the first log message."), -1); - }, - 'the number of files': { - topic: function() { - fs.readdir(__dirname, this.callback); - }, - 'starting with the test file name should be two': function(err, files) { - //there will always be one backup if you've specified a max log size - var logFiles = files.filter( - function(file) { return file.indexOf('fa-maxFileSize-sync-test.log') > -1; } - ); - assert.equal(logFiles.length, 2); - } - } - }, - 'with a max file size and 2 backups': { - topic: function() { - var testFile = path.join(__dirname, '/fa-maxFileSize-with-backups-sync-test.log') - , logger = log4js.getLogger('max-file-size-backups'); - remove(testFile); - remove(testFile+'.1'); - remove(testFile+'.2'); - - //log file of 50 bytes maximum, 2 backups - log4js.clearAppenders(); - log4js.addAppender( - require('../../lib/appenders/fileSync').appender( - testFile, - log4js.layouts.basicLayout, - 50, - 2 - ), - 'max-file-size-backups' - ); - logger.info("This is the first log message."); - logger.info("This is the second log message."); - logger.info("This is the third log message."); - logger.info("This is the fourth log message."); - var that = this; - - fs.readdir(__dirname, function(err, files) { - if (files) { - that.callback(null, files.sort()); - } else { - that.callback(err, files); - } - }); - }, - 'the log files': { - topic: function(files) { - var logFiles = files.filter( - function(file) { return file.indexOf('fa-maxFileSize-with-backups-sync-test.log') > -1; } - ); - return logFiles; - }, - 'should be 3': function (files) { - assert.equal(files.length, 3); - }, - 'should be named in sequence': function (files) { - assert.deepEqual(files, [ - 'fa-maxFileSize-with-backups-sync-test.log', - 'fa-maxFileSize-with-backups-sync-test.log.1', - 'fa-maxFileSize-with-backups-sync-test.log.2' - ]); - }, - 'and the contents of the first file': { - topic: function(logFiles) { - fs.readFile(path.join(__dirname, logFiles[0]), "utf8", this.callback); - }, - 'should be the last log message': function(contents) { - assert.include(contents, 'This is the fourth log message.'); - } - }, - 'and the contents of the second file': { - topic: function(logFiles) { - fs.readFile(path.join(__dirname, logFiles[1]), "utf8", this.callback); - }, - 'should be the third log message': function(contents) { - assert.include(contents, 'This is the third log message.'); - } - }, - 'and the contents of the third file': { - topic: function(logFiles) { - fs.readFile(path.join(__dirname, logFiles[2]), "utf8", this.callback); - }, - 'should be the second log message': function(contents) { - assert.include(contents, 'This is the second log message.'); - } - } - } - } -}).addBatch({ - 'configure' : { - 'with fileSyncAppender': { - topic: function() { - var log4js = require('../../lib/log4js') - , logger; - //this config defines one file appender (to ./tmp-sync-tests.log) - //and sets the log level for "tests" to WARN - log4js.configure({ - appenders: [{ - category: "tests", - type: "file", - filename: "tmp-sync-tests.log", - layout: { type: "messagePassThrough" } - }], - - levels: { tests: "WARN" } - }); - logger = log4js.getLogger('tests'); - logger.info('this should not be written to the file'); - logger.warn('this should be written to the file'); - - fs.readFile('tmp-sync-tests.log', 'utf8', this.callback); - }, - 'should load appender configuration from a json file': function(err, contents) { - assert.include(contents, 'this should be written to the file' + EOL); - assert.equal(contents.indexOf('this should not be written to the file'), -1); - } - } - } -}).export(module); diff --git a/node_modules/log4js/test/vows/gelfAppender-test.js b/node_modules/log4js/test/vows/gelfAppender-test.js deleted file mode 100644 index 0ee79bb..0000000 --- a/node_modules/log4js/test/vows/gelfAppender-test.js +++ /dev/null @@ -1,257 +0,0 @@ -"use strict"; -var vows = require('vows') -, assert = require('assert') -, sandbox = require('sandboxed-module') -, log4js = require('../../lib/log4js') -, realLayouts = require('../../lib/layouts') -, setupLogging = function(options, category, compressedLength) { - var fakeDgram = { - sent: false, - socket: { - packetLength: 0, - closed: false, - close: function() { - this.closed = true; - }, - send: function(pkt, offset, pktLength, port, host) { - fakeDgram.sent = true; - this.packet = pkt; - this.offset = offset; - this.packetLength = pktLength; - this.port = port; - this.host = host; - } - }, - createSocket: function(type) { - this.type = type; - return this.socket; - } - } - , fakeZlib = { - gzip: function(objectToCompress, callback) { - fakeZlib.uncompressed = objectToCompress; - if (this.shouldError) { - callback({ stack: "oh noes" }); - return; - } - - if (compressedLength) { - callback(null, { length: compressedLength }); - } else { - callback(null, "I've been compressed"); - } - } - } - , exitHandler - , fakeConsole = { - error: function(message) { - this.message = message; - } - } - , fakeLayouts = { - layout: function(type, options) { - this.type = type; - this.options = options; - return realLayouts.messagePassThroughLayout; - }, - messagePassThroughLayout: realLayouts.messagePassThroughLayout - } - , appender = sandbox.require('../../lib/appenders/gelf', { - requires: { - dgram: fakeDgram, - zlib: fakeZlib, - '../layouts': fakeLayouts - }, - globals: { - process: { - on: function(evt, handler) { - if (evt === 'exit') { - exitHandler = handler; - } - } - }, - console: fakeConsole - } - }); - - log4js.clearAppenders(); - log4js.addAppender(appender.configure(options || {}), category || "gelf-test"); - return { - dgram: fakeDgram, - compress: fakeZlib, - exitHandler: exitHandler, - console: fakeConsole, - layouts: fakeLayouts, - logger: log4js.getLogger(category || "gelf-test") - }; -}; - -vows.describe('log4js gelfAppender').addBatch({ - - 'with default gelfAppender settings': { - topic: function() { - var setup = setupLogging(); - setup.logger.info("This is a test"); - return setup; - }, - 'the dgram packet': { - topic: function(setup) { - return setup.dgram; - }, - 'should be sent via udp to the localhost gelf server': function(dgram) { - assert.equal(dgram.type, "udp4"); - assert.equal(dgram.socket.host, "localhost"); - assert.equal(dgram.socket.port, 12201); - assert.equal(dgram.socket.offset, 0); - assert.ok(dgram.socket.packetLength > 0, "Received blank message"); - }, - 'should be compressed': function(dgram) { - assert.equal(dgram.socket.packet, "I've been compressed"); - } - }, - 'the uncompressed log message': { - topic: function(setup) { - var message = JSON.parse(setup.compress.uncompressed); - return message; - }, - 'should be in the gelf format': function(message) { - assert.equal(message.version, '1.1'); - assert.equal(message.host, require('os').hostname()); - assert.equal(message.level, 6); //INFO - assert.equal(message.short_message, 'This is a test'); - } - } - }, - 'with a message longer than 8k': { - topic: function() { - var setup = setupLogging(undefined, undefined, 10240); - setup.logger.info("Blah."); - return setup; - }, - 'the dgram packet': { - topic: function(setup) { - return setup.dgram; - }, - 'should not be sent': function(dgram) { - assert.equal(dgram.sent, false); - } - } - }, - 'with non-default options': { - topic: function() { - var setup = setupLogging({ - host: 'somewhere', - port: 12345, - hostname: 'cheese', - facility: 'nonsense' - }); - setup.logger.debug("Just testing."); - return setup; - }, - 'the dgram packet': { - topic: function(setup) { - return setup.dgram; - }, - 'should pick up the options': function(dgram) { - assert.equal(dgram.socket.host, 'somewhere'); - assert.equal(dgram.socket.port, 12345); - } - }, - 'the uncompressed packet': { - topic: function(setup) { - var message = JSON.parse(setup.compress.uncompressed); - return message; - }, - 'should pick up the options': function(message) { - assert.equal(message.host, 'cheese'); - assert.equal(message._facility, 'nonsense'); - } - } - }, - - 'on process.exit': { - topic: function() { - var setup = setupLogging(); - setup.exitHandler(); - return setup; - }, - 'should close open sockets': function(setup) { - assert.isTrue(setup.dgram.socket.closed); - } - }, - - 'on zlib error': { - topic: function() { - var setup = setupLogging(); - setup.compress.shouldError = true; - setup.logger.info('whatever'); - return setup; - }, - 'should output to console.error': function(setup) { - assert.equal(setup.console.message, 'oh noes'); - } - }, - - 'with layout in configuration': { - topic: function() { - var setup = setupLogging({ - layout: { - type: 'madeuplayout', - earlgrey: 'yes, please' - } - }); - return setup; - }, - 'should pass options to layout': function(setup) { - assert.equal(setup.layouts.type, 'madeuplayout'); - assert.equal(setup.layouts.options.earlgrey, 'yes, please'); - } - }, - - 'with custom fields options': { - topic: function() { - var setup = setupLogging({ - host: 'somewhere', - port: 12345, - hostname: 'cheese', - facility: 'nonsense', - customFields: { - _every1: 'Hello every one', - _every2: 'Hello every two' - } - }); - var myFields = { - GELF: true, - _every2: 'Overwritten!', - _myField: 'This is my field!' - }; - setup.logger.debug(myFields, "Just testing."); - return setup; - }, - 'the dgram packet': { - topic: function(setup) { - return setup.dgram; - }, - 'should pick up the options': function(dgram) { - assert.equal(dgram.socket.host, 'somewhere'); - assert.equal(dgram.socket.port, 12345); - } - }, - 'the uncompressed packet': { - topic: function(setup) { - var message = JSON.parse(setup.compress.uncompressed); - return message; - }, - 'should pick up the options': function(message) { - assert.equal(message.host, 'cheese'); - assert.isUndefined(message.GELF); // make sure flag was removed - assert.equal(message._facility, 'nonsense'); - assert.equal(message._every1, 'Hello every one'); // the default value - assert.equal(message._every2, 'Overwritten!'); // the overwritten value - assert.equal(message._myField, 'This is my field!'); // the value for this message only - assert.equal(message.short_message, 'Just testing.'); // skip the field object - } - } - } - -}).export(module); diff --git a/node_modules/log4js/test/vows/global-log-level-test.js b/node_modules/log4js/test/vows/global-log-level-test.js deleted file mode 100644 index b432ca1..0000000 --- a/node_modules/log4js/test/vows/global-log-level-test.js +++ /dev/null @@ -1,121 +0,0 @@ -"use strict"; -var vows = require('vows') -, assert = require('assert'); - -vows.describe('log4js global loglevel').addBatch({ - 'global loglevel' : { - topic: function() { - var log4js = require('../../lib/log4js'); - return log4js; - }, - - 'set global loglevel on creation': function(log4js) { - var log1 = log4js.getLogger('log1'); - var level = 'OFF'; - if (log1.level.toString() == level) { - level = 'TRACE'; - } - assert.notEqual(log1.level.toString(), level); - - log4js.setGlobalLogLevel(level); - assert.equal(log1.level.toString(), level); - - var log2 = log4js.getLogger('log2'); - assert.equal(log2.level.toString(), level); - }, - - 'global change loglevel': function(log4js) { - var log1 = log4js.getLogger('log1'); - var log2 = log4js.getLogger('log2'); - var level = 'OFF'; - if (log1.level.toString() == level) { - level = 'TRACE'; - } - assert.notEqual(log1.level.toString(), level); - - log4js.setGlobalLogLevel(level); - assert.equal(log1.level.toString(), level); - assert.equal(log2.level.toString(), level); - }, - - 'override loglevel': function(log4js) { - var log1 = log4js.getLogger('log1'); - var log2 = log4js.getLogger('log2'); - var level = 'OFF'; - if (log1.level.toString() == level) { - level = 'TRACE'; - } - assert.notEqual(log1.level.toString(), level); - - var oldLevel = log1.level.toString(); - assert.equal(log2.level.toString(), oldLevel); - - log2.setLevel(level); - assert.equal(log1.level.toString(), oldLevel); - assert.equal(log2.level.toString(), level); - assert.notEqual(oldLevel, level); - - log2.removeLevel(); - assert.equal(log1.level.toString(), oldLevel); - assert.equal(log2.level.toString(), oldLevel); - }, - - 'preload loglevel': function(log4js) { - var log1 = log4js.getLogger('log1'); - var level = 'OFF'; - if (log1.level.toString() == level) { - level = 'TRACE'; - } - assert.notEqual(log1.level.toString(), level); - - var oldLevel = log1.level.toString(); - log4js.getLogger('log2').setLevel(level); - - assert.equal(log1.level.toString(), oldLevel); - - // get again same logger but as different variable - var log2 = log4js.getLogger('log2'); - assert.equal(log2.level.toString(), level); - assert.notEqual(oldLevel, level); - - log2.removeLevel(); - assert.equal(log1.level.toString(), oldLevel); - assert.equal(log2.level.toString(), oldLevel); - }, - - 'set level on all categories': function(log4js) { - // Get 2 loggers - var log1 = log4js.getLogger('log1'); - var log2 = log4js.getLogger('log2'); - - // First a test with 2 categories with different levels - var config = { - 'levels': { - 'log1': 'ERROR', - 'log2': 'WARN' - } - }; - log4js.configure(config); - - // Check if the levels are set correctly - assert.equal('ERROR', log1.level.toString()); - assert.equal('WARN', log2.level.toString()); - - log1.removeLevel(); - log2.removeLevel(); - - // Almost identical test, but now we set - // level on all categories - var config2 = { - 'levels': { - '[all]': 'DEBUG' - } - }; - log4js.configure(config2); - - // Check if the loggers got the DEBUG level - assert.equal('DEBUG', log1.level.toString()); - assert.equal('DEBUG', log2.level.toString()); - } - } -}).export(module); diff --git a/node_modules/log4js/test/vows/hipchatAppender-test.js b/node_modules/log4js/test/vows/hipchatAppender-test.js deleted file mode 100644 index a514caa..0000000 --- a/node_modules/log4js/test/vows/hipchatAppender-test.js +++ /dev/null @@ -1,112 +0,0 @@ -"use strict"; -var vows = require('vows'), - assert = require('assert'), - log4js = require('../../lib/log4js'), - sandbox = require('sandboxed-module'); - -function setupLogging(category, options) { - var lastRequest = {}; - - var fakeRequest = function(args, level){ - lastRequest.notifier = this; - lastRequest.body = args[0]; - lastRequest.callback = args[1]; - lastRequest.level = level; - }; - - var fakeHipchatNotifier = { - 'make': function(room, token, from, host, notify){ - return { - 'room': room, - 'token': token, - 'from': from || '', - 'host': host || 'api.hipchat.com', - 'notify': notify || false, - 'setRoom': function(val){ this.room = val; }, - 'setFrom': function(val){ this.from = val; }, - 'setHost': function(val){ this.host = val; }, - 'setNotify': function(val){ this.notify = val; }, - 'info': function(){ fakeRequest.call(this, arguments, 'info'); }, - 'warning': function(){ fakeRequest.call(this, arguments, 'warning'); }, - 'failure': function(){ fakeRequest.call(this, arguments, 'failure'); }, - 'success': function(){ fakeRequest.call(this, arguments, 'success'); } - }; - } - }; - - var hipchatModule = sandbox.require('../../lib/appenders/hipchat', { - requires: { - 'hipchat-notifier': fakeHipchatNotifier - } - }); - log4js.clearAppenders(); - log4js.addAppender(hipchatModule.configure(options), category); - - return { - logger: log4js.getLogger(category), - lastRequest: lastRequest - }; -} - -vows.describe('HipChat appender').addBatch({ - 'when logging to HipChat v2 API': { - topic: function() { - var customCallback = function(err, res, body){ return 'works'; }; - - var setup = setupLogging('myCategory', { - "type": "hipchat", - "hipchat_token": "User_Token_With_Notification_Privs", - "hipchat_room": "Room_ID_Or_Name", - "hipchat_from": "Log4js_Test", - "hipchat_notify": true, - "hipchat_host": "hipchat.your-company.tld", - "hipchat_response_callback": customCallback - }); - setup.logger.warn('Log event #1'); - return setup; - }, - 'a request to hipchat_host should be sent': function (topic) { - assert.equal(topic.lastRequest.notifier.host, "hipchat.your-company.tld"); - assert.equal(topic.lastRequest.notifier.notify, true); - assert.equal(topic.lastRequest.body, 'Log event #1'); - assert.equal(topic.lastRequest.level, 'warning'); - }, - 'a custom callback to the HipChat response is supported': function(topic) { - assert.equal(topic.lastRequest.callback(), 'works'); - } - }, - 'when missing options': { - topic: function() { - var setup = setupLogging('myLogger', { - "type": "hipchat", - }); - setup.logger.error('Log event #2'); - return setup; - }, - 'it sets some defaults': function (topic) { - assert.equal(topic.lastRequest.notifier.host, "api.hipchat.com"); - assert.equal(topic.lastRequest.notifier.notify, false); - assert.equal(topic.lastRequest.body, 'Log event #2'); - assert.equal(topic.lastRequest.level, 'failure'); - } - }, - 'when basicLayout is provided': { - topic: function() { - var setup = setupLogging('myLogger', { - "type": "hipchat", - "layout": log4js.layouts.basicLayout - }); - setup.logger.debug('Log event #3'); - return setup; - }, - 'it should include the timestamp': function (topic) { - - // basicLayout adds [TIMESTAMP] [LEVEL] category - message - // e.g. [2016-06-10 11:50:53.819] [DEBUG] myLogger - Log event #23 - - assert.match(topic.lastRequest.body, /^\[[^\]]+\] \[[^\]]+\].*Log event \#3$/); - assert.equal(topic.lastRequest.level, 'info'); - } - } - -}).export(module); diff --git a/node_modules/log4js/test/vows/layouts-test.js b/node_modules/log4js/test/vows/layouts-test.js deleted file mode 100644 index 84971a5..0000000 --- a/node_modules/log4js/test/vows/layouts-test.js +++ /dev/null @@ -1,338 +0,0 @@ -"use strict"; -var vows = require('vows') -, assert = require('assert') -, os = require('os') -, semver = require('semver') -, EOL = os.EOL || '\n'; - -//used for patternLayout tests. -function test(args, pattern, value) { - var layout = args[0] - , event = args[1] - , tokens = args[2]; - - assert.equal(layout(pattern, tokens)(event), value); -} - -vows.describe('log4js layouts').addBatch({ - 'colouredLayout': { - topic: function() { - return require('../../lib/layouts').colouredLayout; - }, - - 'should apply level colour codes to output': function(layout) { - var output = layout({ - data: ["nonsense"], - startTime: new Date(2010, 11, 5, 14, 18, 30, 45), - categoryName: "cheese", - level: { - toString: function() { return "ERROR"; } - } - }); - assert.equal(output, '\x1B[31m[2010-12-05 14:18:30.045] [ERROR] cheese - \x1B[39mnonsense'); - }, - 'should support the console.log format for the message': function(layout) { - var output = layout({ - data: ["thing %d", 2], - startTime: new Date(2010, 11, 5, 14, 18, 30, 45), - categoryName: "cheese", - level: { - toString: function() { return "ERROR"; } - } - }); - assert.equal(output, '\x1B[31m[2010-12-05 14:18:30.045] [ERROR] cheese - \x1B[39mthing 2'); - } - }, - - 'messagePassThroughLayout': { - topic: function() { - return require('../../lib/layouts').messagePassThroughLayout; - }, - 'should take a logevent and output only the message' : function(layout) { - assert.equal(layout({ - data: ["nonsense"], - startTime: new Date(2010, 11, 5, 14, 18, 30, 45), - categoryName: "cheese", - level: { - colour: "green", - toString: function() { return "ERROR"; } - } - }), "nonsense"); - }, - 'should support the console.log format for the message' : function(layout) { - assert.equal(layout({ - data: ["thing %d", 1, "cheese"], - startTime: new Date(2010, 11, 5, 14, 18, 30, 45), - categoryName: "cheese", - level : { - colour: "green", - toString: function() { return "ERROR"; } - } - }), "thing 1 cheese"); - }, - 'should output the first item even if it is not a string': function(layout) { - assert.equal(layout({ - data: [ { thing: 1} ], - startTime: new Date(2010, 11, 5, 14, 18, 30, 45), - categoryName: "cheese", - level: { - colour: "green", - toString: function() { return "ERROR"; } - } - }), "{ thing: 1 }"); - }, - 'should print the stacks of a passed error objects': function(layout) { - assert.isArray( - layout({ - data: [ new Error() ], - startTime: new Date(2010, 11, 5, 14, 18, 30, 45), - categoryName: "cheese", - level: { - colour: "green", - toString: function() { return "ERROR"; } - } - }).match( - new RegExp('' + - /Error\s+at Object\..*\s+/.source + - /\((.*)test[\\\/]vows[\\\/]layouts-test\.js/.source + - /\:\d+\:\d+\)\s+at runTest/.source - ) - ), - 'regexp did not return a match' - ); - }, - 'with passed augmented errors': { - topic: function(layout){ - var e = new Error("My Unique Error Message"); - e.augmented = "My Unique attribute value"; - e.augObj = { at1: "at2" }; - return layout({ - data: [ e ], - startTime: new Date(2010, 11, 5, 14, 18, 30, 45), - categoryName: "cheese", - level: { - colour: "green", - toString: function() { return "ERROR"; } - } - }); - }, - 'should print error the contained error message': function(layoutOutput) { - var m = layoutOutput.match(/Error: My Unique Error Message/); - assert.isArray(m); - }, - 'should print error augmented string attributes': function(layoutOutput) { - var m = layoutOutput.match(/augmented:\s'My Unique attribute value'/); - assert.isArray(m); - }, - 'should print error augmented object attributes': function(layoutOutput) { - var m = layoutOutput.match(/augObj:\s\{ at1: 'at2' \}/); - assert.isArray(m); - } - } - - - }, - - 'basicLayout': { - topic: function() { - var layout = require('../../lib/layouts').basicLayout, - event = { - data: ['this is a test'], - startTime: new Date(2010, 11, 5, 14, 18, 30, 45), - categoryName: "tests", - level: { - toString: function() { return "DEBUG"; } - } - }; - return [layout, event]; - }, - 'should take a logevent and output a formatted string': function(args) { - var layout = args[0], event = args[1]; - assert.equal(layout(event), "[2010-12-05 14:18:30.045] [DEBUG] tests - this is a test"); - }, - 'should output a stacktrace, message if the event has an error attached': function(args) { - var i, layout = args[0], event = args[1], output, lines, - error = new Error("Some made-up error"), - stack = error.stack.split(/\n/); - - event.data = ['this is a test', error]; - output = layout(event); - lines = output.split(/\n/); - - if (semver.satisfies(process.version, '>=6')) { - assert.equal(lines.length, stack.length); - assert.equal( - lines[0], - "[2010-12-05 14:18:30.045] [DEBUG] tests - this is a test Error: Some made-up error" - ); - for (i = 1; i < stack.length; i++) { - assert.equal(lines[i], stack[i]); - } - } else { - assert.equal(lines.length - 1, stack.length); - assert.equal( - lines[0], - "[2010-12-05 14:18:30.045] [DEBUG] tests - this is a test [Error: Some made-up error]" - ); - for (i = 1; i < stack.length; i++) { - assert.equal(lines[i+2], stack[i+1]); - } - } - - }, - 'should output any extra data in the log event as util.inspect strings': function(args) { - var layout = args[0], event = args[1], output, lines; - event.data = ['this is a test', { - name: 'Cheese', - message: 'Gorgonzola smells.' - }]; - output = layout(event); - assert.equal( - output, - "[2010-12-05 14:18:30.045] [DEBUG] tests - this is a test " + - "{ name: 'Cheese', message: 'Gorgonzola smells.' }" - ); - } - }, - - 'patternLayout': { - topic: function() { - var event = { - data: ['this is a test'], - startTime: new Date('2010-12-05T14:18:30.045Z'), //new Date(2010, 11, 5, 14, 18, 30, 45), - categoryName: "multiple.levels.of.tests", - level: { - toString: function() { return "DEBUG"; } - } - }, layout = require('../../lib/layouts').patternLayout - , tokens = { - testString: 'testStringToken', - testFunction: function() { return 'testFunctionToken'; }, - fnThatUsesLogEvent: function(logEvent) { return logEvent.level.toString(); } - }; - - //override getTimezoneOffset - event.startTime.getTimezoneOffset = function() { return 0; }; - return [layout, event, tokens]; - }, - - 'should default to "time logLevel loggerName - message"': function(args) { - test(args, null, "14:18:30 DEBUG multiple.levels.of.tests - this is a test" + EOL); - }, - '%r should output time only': function(args) { - test(args, '%r', '14:18:30'); - }, - '%p should output the log level': function(args) { - test(args, '%p', 'DEBUG'); - }, - '%c should output the log category': function(args) { - test(args, '%c', 'multiple.levels.of.tests'); - }, - '%m should output the log data': function(args) { - test(args, '%m', 'this is a test'); - }, - '%n should output a new line': function(args) { - test(args, '%n', EOL); - }, - '%h should output hostname' : function(args) { - test(args, '%h', os.hostname().toString()); - }, - '%z should output pid' : function(args) { - test(args, '%z', process.pid); - }, - '%c should handle category names like java-style package names': function(args) { - test(args, '%c{1}', 'tests'); - test(args, '%c{2}', 'of.tests'); - test(args, '%c{3}', 'levels.of.tests'); - test(args, '%c{4}', 'multiple.levels.of.tests'); - test(args, '%c{5}', 'multiple.levels.of.tests'); - test(args, '%c{99}', 'multiple.levels.of.tests'); - }, - '%d should output the date in ISO8601 format': function(args) { - test(args, '%d', '2010-12-05 14:18:30.045'); - }, - '%d should allow for format specification': function(args) { - test(args, '%d{ISO8601_WITH_TZ_OFFSET}', '2010-12-05T14:18:30.045-0000'); - test(args, '%d{ISO8601}', '2010-12-05 14:18:30.045'); - test(args, '%d{ABSOLUTE}', '14:18:30.045'); - test(args, '%d{DATE}', '05 12 2010 14:18:30.045'); - test(args, '%d{yy MM dd hh mm ss}', '10 12 05 14 18 30'); - test(args, '%d{yyyy MM dd}', '2010 12 05'); - test(args, '%d{yyyy MM dd hh mm ss SSS}', '2010 12 05 14 18 30 045'); - }, - '%% should output %': function(args) { - test(args, '%%', '%'); - }, - 'should output anything not preceded by % as literal': function(args) { - test(args, 'blah blah blah', 'blah blah blah'); - }, - 'should output the original string if no replacer matches the token': function(args) { - test(args, '%a{3}', 'a{3}'); - }, - 'should handle complicated patterns': function(args) { - test(args, - '%m%n %c{2} at %d{ABSOLUTE} cheese %p%n', - 'this is a test'+ EOL +' of.tests at 14:18:30.045 cheese DEBUG' + EOL - ); - }, - 'should truncate fields if specified': function(args) { - test(args, '%.4m', 'this'); - test(args, '%.7m', 'this is'); - test(args, '%.9m', 'this is a'); - test(args, '%.14m', 'this is a test'); - test(args, '%.2919102m', 'this is a test'); - }, - 'should pad fields if specified': function(args) { - test(args, '%10p', ' DEBUG'); - test(args, '%8p', ' DEBUG'); - test(args, '%6p', ' DEBUG'); - test(args, '%4p', 'DEBUG'); - test(args, '%-4p', 'DEBUG'); - test(args, '%-6p', 'DEBUG '); - test(args, '%-8p', 'DEBUG '); - test(args, '%-10p', 'DEBUG '); - }, - '%[%r%] should output colored time': function(args) { - test(args, '%[%r%]', '\x1B[36m14:18:30\x1B[39m'); - }, - '%x{testString} should output the string stored in tokens': function(args) { - test(args, '%x{testString}', 'testStringToken'); - }, - '%x{testFunction} should output the result of the function stored in tokens': function(args) { - test(args, '%x{testFunction}', 'testFunctionToken'); - }, - '%x{doesNotExist} should output the string stored in tokens': function(args) { - test(args, '%x{doesNotExist}', 'null'); - }, - '%x{fnThatUsesLogEvent} should be able to use the logEvent': function(args) { - test(args, '%x{fnThatUsesLogEvent}', 'DEBUG'); - }, - '%x should output the string stored in tokens': function(args) { - test(args, '%x', 'null'); - } - }, - 'layout makers': { - topic: require('../../lib/layouts'), - 'should have a maker for each layout': function(layouts) { - assert.ok(layouts.layout("messagePassThrough")); - assert.ok(layouts.layout("basic")); - assert.ok(layouts.layout("colored")); - assert.ok(layouts.layout("coloured")); - assert.ok(layouts.layout("pattern")); - } - }, - 'add layout': { - topic: require('../../lib/layouts'), - 'should be able to add a layout': function(layouts) { - layouts.addLayout('test_layout', function(config){ - assert.equal(config, 'test_config'); - return function(logEvent) { - return "TEST LAYOUT >"+logEvent.data; - }; - }); - var serializer = layouts.layout('test_layout', 'test_config'); - assert.ok(serializer); - assert.equal(serializer({data: "INPUT"}), "TEST LAYOUT >INPUT"); - } - } -}).export(module); diff --git a/node_modules/log4js/test/vows/levels-test.js b/node_modules/log4js/test/vows/levels-test.js deleted file mode 100644 index 0933076..0000000 --- a/node_modules/log4js/test/vows/levels-test.js +++ /dev/null @@ -1,464 +0,0 @@ -"use strict"; -var vows = require('vows') -, assert = require('assert') -, levels = require('../../lib/levels'); - -function assertThat(level) { - function assertForEach(assertion, test, otherLevels) { - otherLevels.forEach(function(other) { - assertion.call(assert, test.call(level, other)); - }); - } - - return { - isLessThanOrEqualTo: function(levels) { - assertForEach(assert.isTrue, level.isLessThanOrEqualTo, levels); - }, - isNotLessThanOrEqualTo: function(levels) { - assertForEach(assert.isFalse, level.isLessThanOrEqualTo, levels); - }, - isGreaterThanOrEqualTo: function(levels) { - assertForEach(assert.isTrue, level.isGreaterThanOrEqualTo, levels); - }, - isNotGreaterThanOrEqualTo: function(levels) { - assertForEach(assert.isFalse, level.isGreaterThanOrEqualTo, levels); - }, - isEqualTo: function(levels) { - assertForEach(assert.isTrue, level.isEqualTo, levels); - }, - isNotEqualTo: function(levels) { - assertForEach(assert.isFalse, level.isEqualTo, levels); - } - }; -} - -vows.describe('levels').addBatch({ - 'values': { - topic: levels, - 'should define some levels': function(levels) { - assert.isNotNull(levels.ALL); - assert.isNotNull(levels.TRACE); - assert.isNotNull(levels.DEBUG); - assert.isNotNull(levels.INFO); - assert.isNotNull(levels.WARN); - assert.isNotNull(levels.ERROR); - assert.isNotNull(levels.FATAL); - assert.isNotNull(levels.MARK); - assert.isNotNull(levels.OFF); - }, - 'ALL': { - topic: levels.ALL, - 'should be less than the other levels': function(all) { - assertThat(all).isLessThanOrEqualTo( - [ - levels.ALL, - levels.TRACE, - levels.DEBUG, - levels.INFO, - levels.WARN, - levels.ERROR, - levels.FATAL, - levels.MARK, - levels.OFF - ] - ); - }, - 'should be greater than no levels': function(all) { - assertThat(all).isNotGreaterThanOrEqualTo( - [ - levels.TRACE, - levels.DEBUG, - levels.INFO, - levels.WARN, - levels.ERROR, - levels.FATAL, - levels.MARK, - levels.OFF - ] - ); - }, - 'should only be equal to ALL': function(all) { - assertThat(all).isEqualTo([levels.toLevel("ALL")]); - assertThat(all).isNotEqualTo( - [ - levels.TRACE, - levels.DEBUG, - levels.INFO, - levels.WARN, - levels.ERROR, - levels.FATAL, - levels.MARK, - levels.OFF - ] - ); - } - }, - 'TRACE': { - topic: levels.TRACE, - 'should be less than DEBUG': function(trace) { - assertThat(trace).isLessThanOrEqualTo( - [ - levels.DEBUG, - levels.INFO, - levels.WARN, - levels.ERROR, - levels.FATAL, - levels.MARK, - levels.OFF - ] - ); - assertThat(trace).isNotLessThanOrEqualTo([levels.ALL]); - }, - 'should be greater than ALL': function(trace) { - assertThat(trace).isGreaterThanOrEqualTo([levels.ALL, levels.TRACE]); - assertThat(trace).isNotGreaterThanOrEqualTo( - [ - levels.DEBUG, - levels.INFO, - levels.WARN, - levels.ERROR, - levels.FATAL, - levels.MARK, - levels.OFF - ] - ); - }, - 'should only be equal to TRACE': function(trace) { - assertThat(trace).isEqualTo([levels.toLevel("TRACE")]); - assertThat(trace).isNotEqualTo( - [ - levels.ALL, - levels.DEBUG, - levels.INFO, - levels.WARN, - levels.ERROR, - levels.FATAL, - levels.MARK, - levels.OFF - ] - ); - } - }, - 'DEBUG': { - topic: levels.DEBUG, - 'should be less than INFO': function(debug) { - assertThat(debug).isLessThanOrEqualTo( - [ - levels.INFO, - levels.WARN, - levels.ERROR, - levels.FATAL, - levels.MARK, - levels.OFF - ] - ); - assertThat(debug).isNotLessThanOrEqualTo([levels.ALL, levels.TRACE]); - }, - 'should be greater than TRACE': function(debug) { - assertThat(debug).isGreaterThanOrEqualTo([levels.ALL, levels.TRACE]); - assertThat(debug).isNotGreaterThanOrEqualTo( - [ - levels.INFO, - levels.WARN, - levels.ERROR, - levels.FATAL, - levels.MARK, - levels.OFF - ] - ); - }, - 'should only be equal to DEBUG': function(trace) { - assertThat(trace).isEqualTo([levels.toLevel("DEBUG")]); - assertThat(trace).isNotEqualTo( - [ - levels.ALL, - levels.TRACE, - levels.INFO, - levels.WARN, - levels.ERROR, - levels.FATAL, - levels.MARK, - levels.OFF - ] - ); - } - }, - 'INFO': { - topic: levels.INFO, - 'should be less than WARN': function(info) { - assertThat(info).isLessThanOrEqualTo([ - levels.WARN, - levels.ERROR, - levels.FATAL, - levels.MARK, - levels.OFF - ]); - assertThat(info).isNotLessThanOrEqualTo([levels.ALL, levels.TRACE, levels.DEBUG]); - }, - 'should be greater than DEBUG': function(info) { - assertThat(info).isGreaterThanOrEqualTo([levels.ALL, levels.TRACE, levels.DEBUG]); - assertThat(info).isNotGreaterThanOrEqualTo([ - levels.WARN, - levels.ERROR, - levels.FATAL, - levels.MARK, - levels.OFF - ]); - }, - 'should only be equal to INFO': function(trace) { - assertThat(trace).isEqualTo([levels.toLevel("INFO")]); - assertThat(trace).isNotEqualTo([ - levels.ALL, - levels.TRACE, - levels.DEBUG, - levels.WARN, - levels.ERROR, - levels.FATAL, - levels.MARK, - levels.OFF - ]); - } - }, - 'WARN': { - topic: levels.WARN, - 'should be less than ERROR': function(warn) { - assertThat(warn).isLessThanOrEqualTo([levels.ERROR, levels.FATAL, levels.MARK, levels.OFF]); - assertThat(warn).isNotLessThanOrEqualTo([ - levels.ALL, - levels.TRACE, - levels.DEBUG, - levels.INFO - ]); - }, - 'should be greater than INFO': function(warn) { - assertThat(warn).isGreaterThanOrEqualTo([ - levels.ALL, - levels.TRACE, - levels.DEBUG, - levels.INFO - ]); - assertThat(warn).isNotGreaterThanOrEqualTo([ - levels.ERROR, levels.FATAL, levels.MARK, levels.OFF - ]); - }, - 'should only be equal to WARN': function(trace) { - assertThat(trace).isEqualTo([levels.toLevel("WARN")]); - assertThat(trace).isNotEqualTo([ - levels.ALL, - levels.TRACE, - levels.DEBUG, - levels.INFO, - levels.ERROR, - levels.FATAL, - levels.OFF - ]); - } - }, - 'ERROR': { - topic: levels.ERROR, - 'should be less than FATAL': function(error) { - assertThat(error).isLessThanOrEqualTo([levels.FATAL, levels.MARK, levels.OFF]); - assertThat(error).isNotLessThanOrEqualTo([ - levels.ALL, - levels.TRACE, - levels.DEBUG, - levels.INFO, - levels.WARN - ]); - }, - 'should be greater than WARN': function(error) { - assertThat(error).isGreaterThanOrEqualTo([ - levels.ALL, - levels.TRACE, - levels.DEBUG, - levels.INFO, - levels.WARN - ]); - assertThat(error).isNotGreaterThanOrEqualTo([levels.FATAL, levels.MARK, levels.OFF]); - }, - 'should only be equal to ERROR': function(trace) { - assertThat(trace).isEqualTo([levels.toLevel("ERROR")]); - assertThat(trace).isNotEqualTo([ - levels.ALL, - levels.TRACE, - levels.DEBUG, - levels.INFO, - levels.WARN, - levels.FATAL, - levels.MARK, - levels.OFF - ]); - } - }, - 'FATAL': { - topic: levels.FATAL, - 'should be less than OFF': function(fatal) { - assertThat(fatal).isLessThanOrEqualTo([levels.MARK, levels.OFF]); - assertThat(fatal).isNotLessThanOrEqualTo([ - levels.ALL, - levels.TRACE, - levels.DEBUG, - levels.INFO, - levels.WARN, - levels.ERROR - ]); - }, - 'should be greater than ERROR': function(fatal) { - assertThat(fatal).isGreaterThanOrEqualTo([ - levels.ALL, - levels.TRACE, - levels.DEBUG, - levels.INFO, - levels.WARN, - levels.ERROR - ]); - assertThat(fatal).isNotGreaterThanOrEqualTo([levels.MARK, levels.OFF]); - }, - 'should only be equal to FATAL': function(fatal) { - assertThat(fatal).isEqualTo([levels.toLevel("FATAL")]); - assertThat(fatal).isNotEqualTo([ - levels.ALL, - levels.TRACE, - levels.DEBUG, - levels.INFO, - levels.WARN, - levels.ERROR, - levels.MARK, - levels.OFF - ]); - } - }, - 'MARK': { - topic: levels.MARK, - 'should be less than OFF': function(mark) { - assertThat(mark).isLessThanOrEqualTo([levels.OFF]); - assertThat(mark).isNotLessThanOrEqualTo([ - levels.ALL, - levels.TRACE, - levels.DEBUG, - levels.INFO, - levels.WARN, - levels.FATAL, - levels.ERROR - ]); - }, - 'should be greater than FATAL': function(mark) { - assertThat(mark).isGreaterThanOrEqualTo([ - levels.ALL, - levels.TRACE, - levels.DEBUG, - levels.INFO, - levels.WARN, - levels.ERROR, - levels.FATAL - ]); - assertThat(mark).isNotGreaterThanOrEqualTo([levels.OFF]); - }, - 'should only be equal to MARK': function(mark) { - assertThat(mark).isEqualTo([levels.toLevel("MARK")]); - assertThat(mark).isNotEqualTo([ - levels.ALL, - levels.TRACE, - levels.DEBUG, - levels.INFO, - levels.WARN, - levels.ERROR, - levels.FATAL, - levels.OFF - ]); - } - }, - 'OFF': { - topic: levels.OFF, - 'should not be less than anything': function(off) { - assertThat(off).isNotLessThanOrEqualTo([ - levels.ALL, - levels.TRACE, - levels.DEBUG, - levels.INFO, - levels.WARN, - levels.ERROR, - levels.FATAL, - levels.MARK - ]); - }, - 'should be greater than everything': function(off) { - assertThat(off).isGreaterThanOrEqualTo([ - levels.ALL, - levels.TRACE, - levels.DEBUG, - levels.INFO, - levels.WARN, - levels.ERROR, - levels.FATAL, - levels.MARK - ]); - }, - 'should only be equal to OFF': function(off) { - assertThat(off).isEqualTo([levels.toLevel("OFF")]); - assertThat(off).isNotEqualTo([ - levels.ALL, - levels.TRACE, - levels.DEBUG, - levels.INFO, - levels.WARN, - levels.ERROR, - levels.FATAL, - levels.MARK - ]); - } - } - }, - 'isGreaterThanOrEqualTo': { - topic: levels.INFO, - 'should handle string arguments': function(info) { - assertThat(info).isGreaterThanOrEqualTo(["all", "trace", "debug"]); - assertThat(info).isNotGreaterThanOrEqualTo(['warn', 'ERROR', 'Fatal', 'MARK', 'off']); - } - }, - 'isLessThanOrEqualTo': { - topic: levels.INFO, - 'should handle string arguments': function(info) { - assertThat(info).isNotLessThanOrEqualTo(["all", "trace", "debug"]); - assertThat(info).isLessThanOrEqualTo(['warn', 'ERROR', 'Fatal', 'MARK', 'off']); - } - }, - 'isEqualTo': { - topic: levels.INFO, - 'should handle string arguments': function(info) { - assertThat(info).isEqualTo(["info", "INFO", "iNfO"]); - } - }, - 'toLevel': { - 'with lowercase argument': { - topic: levels.toLevel("debug"), - 'should take the string and return the corresponding level': function(level) { - assert.equal(level, levels.DEBUG); - } - }, - 'with uppercase argument': { - topic: levels.toLevel("DEBUG"), - 'should take the string and return the corresponding level': function(level) { - assert.equal(level, levels.DEBUG); - } - }, - 'with varying case': { - topic: levels.toLevel("DeBuG"), - 'should take the string and return the corresponding level': function(level) { - assert.equal(level, levels.DEBUG); - } - }, - 'with unrecognised argument': { - topic: levels.toLevel("cheese"), - 'should return undefined': function(level) { - assert.isUndefined(level); - } - }, - 'with unrecognised argument and default value': { - topic: levels.toLevel("cheese", levels.DEBUG), - 'should return default value': function(level) { - assert.equal(level, levels.DEBUG); - } - } - } -}).export(module); diff --git a/node_modules/log4js/test/vows/log-abspath-test.js b/node_modules/log4js/test/vows/log-abspath-test.js deleted file mode 100644 index db45a0a..0000000 --- a/node_modules/log4js/test/vows/log-abspath-test.js +++ /dev/null @@ -1,77 +0,0 @@ -"use strict"; -var vows = require('vows') -, assert = require('assert') -, path = require('path') -, sandbox = require('sandboxed-module'); - -vows.describe('log4js-abspath').addBatch({ - 'options': { - topic: function() { - var appenderOptions, - log4js = sandbox.require( - '../../lib/log4js', - { requires: - { './appenders/fake': - { name: "fake", - appender: function() {}, - configure: function(configuration, options) { - appenderOptions = options; - return function() {}; - } - } - } - } - ), - config = { - "appenders": [ - { - "type" : "fake", - "filename" : "cheesy-wotsits.log" - } - ] - }; - - log4js.configure(config, { - cwd: '/absolute/path/to' - }); - return appenderOptions; - }, - 'should be passed to appenders during configuration': function(options) { - assert.equal(options.cwd, '/absolute/path/to'); - } - }, - - 'file appender': { - topic: function() { - var fileOpened, - fileAppender = sandbox.require( - '../../lib/appenders/file', - { requires: - { 'streamroller': - { RollingFileStream: - function(file) { - fileOpened = file; - return { - on: function() {}, - end: function() {} - }; - } - } - } - } - ); - fileAppender.configure( - { - filename: "whatever.log", - maxLogSize: 10 - }, - { cwd: '/absolute/path/to' } - ); - return fileOpened; - }, - 'should prepend options.cwd to config.filename': function(fileOpened) { - var expected = path.sep + path.join("absolute", "path", "to", "whatever.log"); - assert.equal(fileOpened, expected); - } - }, -}).export(module); diff --git a/node_modules/log4js/test/vows/log4js.json b/node_modules/log4js/test/vows/log4js.json deleted file mode 100644 index 3a4e54a..0000000 --- a/node_modules/log4js/test/vows/log4js.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "appenders": [ - { - "category": "tests", - "type": "file", - "filename": "tmp-tests.log", - "layout": { - "type": "messagePassThrough" - } - } - ], - - "levels": { - "tests": "WARN" - } -} diff --git a/node_modules/log4js/test/vows/logFacesAppender-test.js b/node_modules/log4js/test/vows/logFacesAppender-test.js deleted file mode 100644 index 2ef1877..0000000 --- a/node_modules/log4js/test/vows/logFacesAppender-test.js +++ /dev/null @@ -1,92 +0,0 @@ -"use strict"; -var vows = require('vows'), -assert = require('assert'), -log4js = require('../../lib/log4js'), -sandbox = require('sandboxed-module'); - -var log = log4js.getLogger('lfstest'); - -function setupLogging(category, options) { - var sent = {}; - - function fake(event){ - Object.keys(event).forEach(function(key) { - sent[key] = event[key]; - }); - } - - var lfsModule = require('../../lib/appenders/logFacesAppender'); - options.send = fake; - log4js.clearAppenders(); - log4js.addAppender(lfsModule.configure(options), category); - lfsModule.setContext("foo", "bar"); - lfsModule.setContext("bar", "foo"); - - return { - logger: log4js.getLogger(category), - results: sent - }; -} - -vows.describe('logFaces appender').addBatch({ - 'when using HTTP receivers': { - topic: function() { - var setup = setupLogging('myCategory', { - "type": "logFacesAppender", - "application": "LFS-HTTP", - "url": "http://localhost/receivers/rx1" - }); - - setup.logger.warn('Log event #1'); - return setup; - }, - 'an event should be sent': function (topic) { - var event = topic.results; - assert.equal(event.a, 'LFS-HTTP'); - assert.equal(event.m, 'Log event #1'); - assert.equal(event.g, 'myCategory'); - assert.equal(event.p, 'WARN'); - assert.equal(event.p_foo, 'bar'); - assert.equal(event.p_bar, 'foo'); - - // Assert timestamp, up to hours resolution. - var date = new Date(event.t); - assert.equal( - date.toISOString().substring(0, 14), - new Date().toISOString().substring(0, 14) - ); - } - }, - - 'when using UDP receivers': { - topic: function() { - var setup = setupLogging('udpCategory', { - "type": "logFacesAppender", - "application": "LFS-UDP", - "remoteHost": "127.0.0.1", - "port": 55201 - }); - - setup.logger.error('Log event #2'); - return setup; - }, - 'an event should be sent': function (topic) { - var event = topic.results; - assert.equal(event.a, 'LFS-UDP'); - assert.equal(event.m, 'Log event #2'); - assert.equal(event.g, 'udpCategory'); - assert.equal(event.p, 'ERROR'); - assert.equal(event.p_foo, 'bar'); - assert.equal(event.p_bar, 'foo'); - - // Assert timestamp, up to hours resolution. - var date = new Date(event.t); - assert.equal( - date.toISOString().substring(0, 14), - new Date().toISOString().substring(0, 14) - ); - } - } - - -}).export(module); diff --git a/node_modules/log4js/test/vows/logLevelFilter-test.js b/node_modules/log4js/test/vows/logLevelFilter-test.js deleted file mode 100644 index 18a9f0f..0000000 --- a/node_modules/log4js/test/vows/logLevelFilter-test.js +++ /dev/null @@ -1,93 +0,0 @@ -"use strict"; -var vows = require('vows') -, fs = require('fs') -, assert = require('assert') -, os = require('os') -, EOL = require('os').EOL || '\n'; - -function remove(filename) { - try { - fs.unlinkSync(filename); - } catch (e) { - //doesn't really matter if it failed - } -} - -vows.describe('log4js logLevelFilter').addBatch({ - 'appender': { - topic: function() { - var log4js = require('../../lib/log4js'), logEvents = [], logger; - log4js.clearAppenders(); - log4js.addAppender( - require('../../lib/appenders/logLevelFilter') - .appender( - 'ERROR', - undefined, - function(evt) { logEvents.push(evt); } - ), - "logLevelTest" - ); - - logger = log4js.getLogger("logLevelTest"); - logger.debug('this should not trigger an event'); - logger.warn('neither should this'); - logger.error('this should, though'); - logger.fatal('so should this'); - return logEvents; - }, - 'should only pass log events greater than or equal to its own level' : function(logEvents) { - assert.equal(logEvents.length, 2); - assert.equal(logEvents[0].data[0], 'this should, though'); - assert.equal(logEvents[1].data[0], 'so should this'); - } - }, - - 'configure': { - topic: function() { - var log4js = require('../../lib/log4js') - , logger; - - remove(__dirname + '/logLevelFilter.log'); - remove(__dirname + '/logLevelFilter-warnings.log'); - remove(__dirname + '/logLevelFilter-debugs.log'); - - log4js.configure('test/vows/with-logLevelFilter.json'); - logger = log4js.getLogger("tests"); - logger.debug('debug'); - logger.info('info'); - logger.error('error'); - logger.warn('warn'); - logger.debug('debug'); - logger.trace('trace'); - //wait for the file system to catch up - setTimeout(this.callback, 500); - }, - 'tmp-tests.log': { - topic: function() { - fs.readFile(__dirname + '/logLevelFilter.log', 'utf8', this.callback); - }, - 'should contain all log messages': function (contents) { - var messages = contents.trim().split(EOL); - assert.deepEqual(messages, ['debug','info','error','warn','debug','trace']); - } - }, - 'tmp-tests-warnings.log': { - topic: function() { - fs.readFile(__dirname + '/logLevelFilter-warnings.log','utf8',this.callback); - }, - 'should contain only error and warning log messages': function(contents) { - var messages = contents.trim().split(EOL); - assert.deepEqual(messages, ['error','warn']); - } - }, - 'tmp-tests-debugs.log': { - topic: function() { - fs.readFile(__dirname + '/logLevelFilter-debugs.log','utf8',this.callback); - }, - 'should contain only trace and debug log messages': function(contents) { - var messages = contents.trim().split(EOL); - assert.deepEqual(messages, ['debug','debug','trace']); - } - } - } -}).export(module); diff --git a/node_modules/log4js/test/vows/logger-test.js b/node_modules/log4js/test/vows/logger-test.js deleted file mode 100644 index 976cb47..0000000 --- a/node_modules/log4js/test/vows/logger-test.js +++ /dev/null @@ -1,81 +0,0 @@ -"use strict"; -var vows = require('vows') -, assert = require('assert') -, levels = require('../../lib/levels') -, loggerModule = require('../../lib/logger') -, Logger = loggerModule.Logger; - -vows.describe('../../lib/logger').addBatch({ - 'constructor with no parameters': { - topic: new Logger(), - 'should use default category': function(logger) { - assert.equal(logger.category, Logger.DEFAULT_CATEGORY); - }, - 'should use TRACE log level': function(logger) { - assert.equal(logger.level, levels.TRACE); - } - }, - - 'constructor with category': { - topic: new Logger('cheese'), - 'should use category': function(logger) { - assert.equal(logger.category, 'cheese'); - }, - 'should use TRACE log level': function(logger) { - assert.equal(logger.level, levels.TRACE); - } - }, - - 'constructor with category and level': { - topic: new Logger('cheese', 'debug'), - 'should use category': function(logger) { - assert.equal(logger.category, 'cheese'); - }, - 'should use level': function(logger) { - assert.equal(logger.level, levels.DEBUG); - } - }, - - 'isLevelEnabled': { - topic: new Logger('cheese', 'info'), - 'should provide a level enabled function for all levels': function(logger) { - assert.isFunction(logger.isTraceEnabled); - assert.isFunction(logger.isDebugEnabled); - assert.isFunction(logger.isInfoEnabled); - assert.isFunction(logger.isWarnEnabled); - assert.isFunction(logger.isErrorEnabled); - assert.isFunction(logger.isFatalEnabled); - }, - 'should return the right values': function(logger) { - assert.isFalse(logger.isTraceEnabled()); - assert.isFalse(logger.isDebugEnabled()); - assert.isTrue(logger.isInfoEnabled()); - assert.isTrue(logger.isWarnEnabled()); - assert.isTrue(logger.isErrorEnabled()); - assert.isTrue(logger.isFatalEnabled()); - } - }, - - 'should emit log events': { - topic: function() { - var events = [], - logger = new Logger(); - logger.addListener('log', function (logEvent) { events.push(logEvent); }); - logger.debug('Event 1'); - loggerModule.disableAllLogWrites(); - logger.debug('Event 2'); - loggerModule.enableAllLogWrites(); - logger.debug('Event 3'); - return events; - }, - - 'when log writes are enabled': function(events) { - assert.equal(events[0].data[0], 'Event 1'); - }, - - 'but not when log writes are disabled': function(events) { - assert.equal(events.length, 2); - assert.equal(events[1].data[0], 'Event 3'); - } - } -}).exportTo(module); diff --git a/node_modules/log4js/test/vows/logging-test.js b/node_modules/log4js/test/vows/logging-test.js deleted file mode 100644 index b3f9309..0000000 --- a/node_modules/log4js/test/vows/logging-test.js +++ /dev/null @@ -1,636 +0,0 @@ -"use strict"; -var vows = require('vows') -, assert = require('assert') -, sandbox = require('sandboxed-module'); - -function setupConsoleTest() { - var fakeConsole = {} - , logEvents = [] - , log4js; - - ['trace','debug','log','info','warn','error'].forEach(function(fn) { - fakeConsole[fn] = function() { - throw new Error("this should not be called."); - }; - }); - - log4js = sandbox.require( - '../../lib/log4js', - { - globals: { - console: fakeConsole - } - } - ); - - log4js.clearAppenders(); - log4js.addAppender(function(evt) { - logEvents.push(evt); - }); - - return { log4js: log4js, logEvents: logEvents, fakeConsole: fakeConsole }; -} - -vows.describe('log4js').addBatch({ - - 'getBufferedLogger': { - topic: function () { - var log4js = require('../../lib/log4js'); - log4js.clearAppenders(); - var logger = log4js.getBufferedLogger('tests'); - return logger; - }, - - 'should take a category and return a logger': function (logger) { - assert.equal(logger.target.category, 'tests'); - assert.isFunction(logger.flush); - assert.isFunction(logger.trace); - assert.isFunction(logger.debug); - assert.isFunction(logger.info); - assert.isFunction(logger.warn); - assert.isFunction(logger.error); - assert.isFunction(logger.fatal); - }, - - 'cache events': { - topic: function () { - var log4js = require('../../lib/log4js'); - log4js.clearAppenders(); - var logger = log4js.getBufferedLogger('tests1'); - var events = []; - logger.target.addListener("log", function (logEvent) { events.push(logEvent); }); - logger.debug("Debug event"); - logger.trace("Trace event 1"); - logger.trace("Trace event 2"); - logger.warn("Warning event"); - logger.error("Aargh!", new Error("Pants are on fire!")); - logger.error( - "Simulated CouchDB problem", - { err: 127, cause: "incendiary underwear" } - ); - return events; - }, - - 'should not emit log events if .flush() is not called.': function (events) { - assert.equal(events.length, 0); - } - }, - - 'log events after flush() is called': { - topic: function () { - var log4js = require('../../lib/log4js'); - log4js.clearAppenders(); - var logger = log4js.getBufferedLogger('tests2'); - logger.target.setLevel("TRACE"); - var events = []; - logger.target.addListener("log", function (logEvent) { events.push(logEvent); }); - logger.debug("Debug event"); - logger.trace("Trace event 1"); - logger.trace("Trace event 2"); - logger.warn("Warning event"); - logger.error("Aargh!", new Error("Pants are on fire!")); - logger.error( - "Simulated CouchDB problem", - { err: 127, cause: "incendiary underwear" } - ); - logger.flush(); - return events; - }, - - 'should emit log events when .flush() is called.': function (events) { - assert.equal(events.length, 6); - } - } - }, - - - 'getLogger': { - topic: function() { - var log4js = require('../../lib/log4js'); - log4js.clearAppenders(); - var logger = log4js.getLogger('tests'); - logger.setLevel("DEBUG"); - return logger; - }, - - 'should take a category and return a logger': function(logger) { - assert.equal(logger.category, 'tests'); - assert.equal(logger.level.toString(), "DEBUG"); - assert.isFunction(logger.debug); - assert.isFunction(logger.info); - assert.isFunction(logger.warn); - assert.isFunction(logger.error); - assert.isFunction(logger.fatal); - }, - - 'log events' : { - topic: function(logger) { - var events = []; - logger.addListener("log", function (logEvent) { events.push(logEvent); }); - logger.debug("Debug event"); - logger.trace("Trace event 1"); - logger.trace("Trace event 2"); - logger.warn("Warning event"); - logger.error("Aargh!", new Error("Pants are on fire!")); - logger.error("Simulated CouchDB problem", { err: 127, cause: "incendiary underwear" }); - return events; - }, - - 'should emit log events': function(events) { - assert.equal(events[0].level.toString(), 'DEBUG'); - assert.equal(events[0].data[0], 'Debug event'); - assert.instanceOf(events[0].startTime, Date); - }, - - 'should not emit events of a lower level': function(events) { - assert.equal(events.length, 4); - assert.equal(events[1].level.toString(), 'WARN'); - }, - - 'should include the error if passed in': function(events) { - assert.instanceOf(events[2].data[1], Error); - assert.equal(events[2].data[1].message, 'Pants are on fire!'); - } - } - }, - - 'when shutdown is called': { - topic: function() { - var callback = this.callback; - var events = { - appenderShutdownCalled: false, - shutdownCallbackCalled: false - }, - log4js = sandbox.require( - '../../lib/log4js', - { - requires: { - './appenders/file': - { - name: "file", - appender: function() {}, - configure: function(configuration) { - return function() {}; - }, - shutdown: function(cb) { - events.appenderShutdownCalled = true; - cb(); - } - } - } - } - ), - config = { appenders: - [ { "type" : "file", - "filename" : "cheesy-wotsits.log", - "maxLogSize" : 1024, - "backups" : 3 - } - ] - }; - - log4js.configure(config); - log4js.shutdown(function shutdownCallback() { - events.shutdownCallbackCalled = true; - // Re-enable log writing so other tests that use logger are not - // affected. - require('../../lib/logger').enableAllLogWrites(); - callback(null, events); - }); - }, - - 'should invoke appender shutdowns': function(events) { - assert.ok(events.appenderShutdownCalled); - }, - - 'should call callback': function(events) { - assert.ok(events.shutdownCallbackCalled); - } - }, - - 'invalid configuration': { - 'should throw an exception': function() { - assert.throws(function() { - require('log4js').configure({ "type": "invalid" }); - }); - } - }, - - 'configuration when passed as object': { - topic: function() { - var appenderConfig, - log4js = sandbox.require( - '../../lib/log4js', - { - requires: { - './appenders/file': - { - name: "file", - appender: function() {}, - configure: function(configuration) { - appenderConfig = configuration; - return function() {}; - } - } - } - } - ), - config = { appenders: - [ { "type" : "file", - "filename" : "cheesy-wotsits.log", - "maxLogSize" : 1024, - "backups" : 3 - } - ] - }; - log4js.configure(config); - return appenderConfig; - }, - 'should be passed to appender config': function(configuration) { - assert.equal(configuration.filename, 'cheesy-wotsits.log'); - } - }, - - 'configuration that causes an error': { - topic: function() { - var log4js = sandbox.require( - '../../lib/log4js', - { - requires: { - './appenders/file': - { - name: "file", - appender: function() {}, - configure: function(configuration) { - throw new Error("oh noes"); - } - } - } - } - ), - config = { appenders: - [ { "type" : "file", - "filename" : "cheesy-wotsits.log", - "maxLogSize" : 1024, - "backups" : 3 - } - ] - }; - try { - log4js.configure(config); - } catch (e) { - return e; - } - }, - 'should wrap error in a meaningful message': function(e) { - assert.ok(e.message.indexOf('log4js configuration problem for') > -1); - } - }, - - 'configuration when passed as filename': { - topic: function() { - var appenderConfig, - configFilename, - log4js = sandbox.require( - '../../lib/log4js', - { requires: - { 'fs': - { statSync: - function() { - return { mtime: Date.now() }; - }, - readFileSync: - function(filename) { - configFilename = filename; - return JSON.stringify({ - appenders: [ - { type: "file" - , filename: "whatever.log" - } - ] - }); - }, - readdirSync: - function() { - return ['file']; - } - }, - './appenders/file': - { name: "file", - appender: function() {}, - configure: function(configuration) { - appenderConfig = configuration; - return function() {}; - } - } - } - } - ); - log4js.configure("/path/to/cheese.json"); - return [ configFilename, appenderConfig ]; - }, - 'should read the config from a file': function(args) { - assert.equal(args[0], '/path/to/cheese.json'); - }, - 'should pass config to appender': function(args) { - assert.equal(args[1].filename, "whatever.log"); - } - }, - - 'with no appenders defined' : { - topic: function() { - var logger, - that = this, - fakeConsoleAppender = { - name: "console", - appender: function() { - return function(evt) { - that.callback(null, evt); - }; - }, - configure: function() { - return fakeConsoleAppender.appender(); - } - }, - log4js = sandbox.require( - '../../lib/log4js', - { - requires: { - './appenders/stdout': fakeConsoleAppender - } - } - ); - logger = log4js.getLogger("some-logger"); - logger.debug("This is a test"); - }, - 'should default to the stdout appender': function(evt) { - assert.equal(evt.data[0], "This is a test"); - } - }, - - 'addAppender' : { - topic: function() { - var log4js = require('../../lib/log4js'); - log4js.clearAppenders(); - return log4js; - }, - 'without a category': { - 'should register the function as a listener for all loggers': function (log4js) { - var appenderEvent, - appender = function(evt) { appenderEvent = evt; }, - logger = log4js.getLogger("tests"); - - log4js.addAppender(appender); - logger.debug("This is a test"); - assert.equal(appenderEvent.data[0], "This is a test"); - assert.equal(appenderEvent.categoryName, "tests"); - assert.equal(appenderEvent.level.toString(), "DEBUG"); - }, - 'if an appender for a category is defined': { - 'should register for that category': function (log4js) { - var otherEvent, - appenderEvent, - cheeseLogger; - - log4js.addAppender(function (evt) { appenderEvent = evt; }); - log4js.addAppender(function (evt) { otherEvent = evt; }, 'cheese'); - - cheeseLogger = log4js.getLogger('cheese'); - cheeseLogger.debug('This is a test'); - assert.deepEqual(appenderEvent, otherEvent); - assert.equal(otherEvent.data[0], 'This is a test'); - assert.equal(otherEvent.categoryName, 'cheese'); - - otherEvent = undefined; - appenderEvent = undefined; - log4js.getLogger('pants').debug("this should not be propagated to otherEvent"); - assert.isUndefined(otherEvent); - assert.equal(appenderEvent.data[0], "this should not be propagated to otherEvent"); - } - } - }, - - 'with a category': { - 'should only register the function as a listener for that category': function(log4js) { - var appenderEvent, - appender = function(evt) { appenderEvent = evt; }, - logger = log4js.getLogger("tests"); - - log4js.addAppender(appender, 'tests'); - logger.debug('this is a category test'); - assert.equal(appenderEvent.data[0], 'this is a category test'); - - appenderEvent = undefined; - log4js.getLogger('some other category').debug('Cheese'); - assert.isUndefined(appenderEvent); - } - }, - - 'with multiple categories': { - 'should register the function as a listener for all the categories': function(log4js) { - var appenderEvent, - appender = function(evt) { appenderEvent = evt; }, - logger = log4js.getLogger('tests'); - - log4js.addAppender(appender, 'tests', 'biscuits'); - - logger.debug('this is a test'); - assert.equal(appenderEvent.data[0], 'this is a test'); - appenderEvent = undefined; - - var otherLogger = log4js.getLogger('biscuits'); - otherLogger.debug("mmm... garibaldis"); - assert.equal(appenderEvent.data[0], "mmm... garibaldis"); - - appenderEvent = undefined; - - log4js.getLogger("something else").debug("pants"); - assert.isUndefined(appenderEvent); - }, - 'should register the function when the list of categories is an array': function(log4js) { - var appenderEvent, - appender = function(evt) { appenderEvent = evt; }; - - log4js.addAppender(appender, ['tests', 'pants']); - - log4js.getLogger('tests').debug('this is a test'); - assert.equal(appenderEvent.data[0], 'this is a test'); - - appenderEvent = undefined; - - log4js.getLogger('pants').debug("big pants"); - assert.equal(appenderEvent.data[0], "big pants"); - - appenderEvent = undefined; - - log4js.getLogger("something else").debug("pants"); - assert.isUndefined(appenderEvent); - } - } - }, - - 'default setup': { - topic: function() { - var appenderEvents = [], - fakeConsole = { - 'name': 'stdout', - 'appender': function () { - return function(evt) { - appenderEvents.push(evt); - }; - }, - 'configure': function (config) { - return fakeConsole.appender(); - } - }, - globalConsole = { - log: function() { } - }, - log4js = sandbox.require( - '../../lib/log4js', - { - requires: { - './appenders/stdout': fakeConsole - }, - globals: { - console: globalConsole - } - } - ), - logger = log4js.getLogger('a-test'); - - logger.debug("this is a test"); - globalConsole.log("this should not be logged"); - - return appenderEvents; - }, - - 'should configure a stdout appender': function(appenderEvents) { - assert.equal(appenderEvents[0].data[0], 'this is a test'); - }, - - 'should not replace console.log with log4js version': function(appenderEvents) { - assert.equal(appenderEvents.length, 1); - } - }, - - 'console' : { - topic: setupConsoleTest, - - 'when replaceConsole called': { - topic: function(test) { - test.log4js.replaceConsole(); - - test.fakeConsole.log("Some debug message someone put in a module"); - test.fakeConsole.debug("Some debug"); - test.fakeConsole.error("An error"); - test.fakeConsole.info("some info"); - test.fakeConsole.warn("a warning"); - - test.fakeConsole.log("cheese (%s) and biscuits (%s)", "gouda", "garibaldis"); - test.fakeConsole.log({ lumpy: "tapioca" }); - test.fakeConsole.log("count %d", 123); - test.fakeConsole.log("stringify %j", { lumpy: "tapioca" }); - - return test.logEvents; - }, - - 'should replace console.log methods with log4js ones': function(logEvents) { - assert.equal(logEvents.length, 9); - assert.equal(logEvents[0].data[0], "Some debug message someone put in a module"); - assert.equal(logEvents[0].level.toString(), "INFO"); - assert.equal(logEvents[1].data[0], "Some debug"); - assert.equal(logEvents[1].level.toString(), "DEBUG"); - assert.equal(logEvents[2].data[0], "An error"); - assert.equal(logEvents[2].level.toString(), "ERROR"); - assert.equal(logEvents[3].data[0], "some info"); - assert.equal(logEvents[3].level.toString(), "INFO"); - assert.equal(logEvents[4].data[0], "a warning"); - assert.equal(logEvents[4].level.toString(), "WARN"); - assert.equal(logEvents[5].data[0], "cheese (%s) and biscuits (%s)"); - assert.equal(logEvents[5].data[1], "gouda"); - assert.equal(logEvents[5].data[2], "garibaldis"); - } - }, - 'when turned off': { - topic: function(test) { - test.log4js.restoreConsole(); - try { - test.fakeConsole.log("This should cause the error described in the setup"); - } catch (e) { - return e; - } - }, - 'should call the original console methods': function (err) { - assert.instanceOf(err, Error); - assert.equal(err.message, "this should not be called."); - } - } - }, - 'console configuration': { - topic: setupConsoleTest, - 'when disabled': { - topic: function(test) { - test.log4js.replaceConsole(); - test.log4js.configure({ replaceConsole: false }); - try { - test.fakeConsole.log("This should cause the error described in the setup"); - } catch (e) { - return e; - } - }, - 'should allow for turning off console replacement': function (err) { - assert.instanceOf(err, Error); - assert.equal(err.message, 'this should not be called.'); - } - }, - 'when enabled': { - topic: function(test) { - test.log4js.restoreConsole(); - test.log4js.configure({ replaceConsole: true }); - //log4js.configure clears all appenders - test.log4js.addAppender(function(evt) { - test.logEvents.push(evt); - }); - - test.fakeConsole.debug("Some debug"); - return test.logEvents; - }, - - 'should allow for turning on console replacement': function (logEvents) { - assert.equal(logEvents.length, 1); - assert.equal(logEvents[0].level.toString(), "DEBUG"); - assert.equal(logEvents[0].data[0], "Some debug"); - } - } - }, - 'configuration persistence' : { - topic: function() { - var logEvent, - firstLog4js = require('../../lib/log4js'), - secondLog4js; - - firstLog4js.clearAppenders(); - firstLog4js.addAppender(function(evt) { logEvent = evt; }); - - secondLog4js = require('../../lib/log4js'); - secondLog4js.getLogger().info("This should go to the appender defined in firstLog4js"); - - return logEvent; - }, - 'should maintain appenders between requires': function (logEvent) { - assert.equal(logEvent.data[0], "This should go to the appender defined in firstLog4js"); - } - }, - - 'getDefaultLogger': { - topic: function() { - return require('../../lib/log4js').getDefaultLogger(); - }, - 'should return a logger': function(logger) { - assert.ok(logger.info); - assert.ok(logger.debug); - assert.ok(logger.error); - } - } -}).export(module); diff --git a/node_modules/log4js/test/vows/logglyAppender-test.js b/node_modules/log4js/test/vows/logglyAppender-test.js deleted file mode 100644 index ce7c6a6..0000000 --- a/node_modules/log4js/test/vows/logglyAppender-test.js +++ /dev/null @@ -1,141 +0,0 @@ -"use strict"; -var vows = require('vows') - , assert = require('assert') - , log4js = require('../../lib/log4js') - , sandbox = require('sandboxed-module') - ; - -function setupLogging(category, options) { - var msgs = []; - - var fakeLoggly = { - createClient: function(options) { - return { - config: options, - log: function(msg, tags, cb) { - msgs.push({ - msg: msg, - tags: tags, - cb: cb - }); - } - }; - } - }; - - var fakeLayouts = { - layout: function(type, config) { - this.type = type; - this.config = config; - return log4js.layouts.messagePassThroughLayout; - }, - basicLayout: log4js.layouts.basicLayout, - messagePassThroughLayout: log4js.layouts.messagePassThroughLayout - }; - - var fakeConsole = { - errors: [], - error: function(msg, value) { - this.errors.push({ msg: msg, value: value }); - } - }; - - var logglyModule = sandbox.require('../../lib/appenders/loggly', { - requires: { - 'loggly': fakeLoggly, - '../layouts': fakeLayouts - }, - globals: { - console: fakeConsole - } - }); - - log4js.addAppender( - logglyModule.configure(options), - logglyModule.shutdown, - category); - - return { - logger: log4js.getLogger(category), - loggly: fakeLoggly, - layouts: fakeLayouts, - console: fakeConsole, - results: msgs - }; -} - -log4js.clearAppenders(); - -function setupTaggedLogging() { - return setupLogging('loggly', { - token: 'your-really-long-input-token', - subdomain: 'your-subdomain', - tags: ['loggly-tag1', 'loggly-tag2', 'loggly-tagn'] - }); -} - -vows.describe('log4js logglyAppender').addBatch({ - 'with minimal config': { - topic: function() { - var setup = setupTaggedLogging(); - setup.logger.log('trace', 'Log event #1', 'Log 2', { tags: ['tag1', 'tag2'] }); - return setup; - }, - 'has a results.length of 1': function(topic) { - assert.equal(topic.results.length, 1); - }, - 'has a result msg with both args concatenated': function(topic) { - assert.equal(topic.results[0].msg.msg, 'Log event #1 Log 2'); - }, - 'has a result tags with the arg that contains tags': function(topic) { - assert.deepEqual(topic.results[0].tags, ['tag1', 'tag2']); - } - } -}).addBatch({ - 'config with object with tags and other keys': { - topic: function() { - var setup = setupTaggedLogging(); - - // ignore this tags object b/c there are 2 keys - setup.logger.log('trace', 'Log event #1', { other: 'other', tags: ['tag1', 'tag2'] }); - return setup; - }, - 'has a results.length of 1': function(topic) { - assert.equal(topic.results.length, 1); - }, - 'has a result msg with the args concatenated': function(topic) { - assert.equal(topic.results[0].msg.msg, - 'Log event #1 { other: \'other\', tags: [ \'tag1\', \'tag2\' ] }'); - }, - 'has a result tags with the arg that contains no tags': function(topic) { - assert.deepEqual(topic.results[0].tags, []); - } - } -}).addBatch({ - 'with shutdown callback': { - topic: function() { - var setup = setupTaggedLogging(); - - setup.logger.log('trace', 'Log event #1', 'Log 2', { - tags: ['tag1', 'tag2'] - }); - - return setup; - }, - 'after the last message has been sent': { - topic: function (topic) { - var that = this; - - log4js.shutdown(this.callback); - topic.results[0].cb(); - - // setTimeout(function() { - // that.callback(new Error('Shutdown callback has not been called')); - // }, 0); - }, - 'calls `log4js.shutdown`s callback function.': function(error, result) { - assert.equal(error, undefined); - } - } - } -}).export(module); diff --git a/node_modules/log4js/test/vows/logstashUDP-test.js b/node_modules/log4js/test/vows/logstashUDP-test.js deleted file mode 100644 index 0e2c050..0000000 --- a/node_modules/log4js/test/vows/logstashUDP-test.js +++ /dev/null @@ -1,135 +0,0 @@ -"use strict"; -var vows = require('vows') -, assert = require('assert') -, log4js = require('../../lib/log4js') -, sandbox = require('sandboxed-module') -; - -function setupLogging(category, options) { - var udpSent = {}; - - var fakeDgram = { - createSocket: function (type) { - return { - send: function(buffer, offset, length, port, host, callback) { - udpSent.date = new Date(); - udpSent.host = host; - udpSent.port = port; - udpSent.length = length; - udpSent.offset = 0; - udpSent.buffer = buffer; - callback(undefined, length); - } - }; - } - }; - - var logstashModule = sandbox.require('../../lib/appenders/logstashUDP', { - requires: { - 'dgram': fakeDgram - } - }); - log4js.clearAppenders(); - log4js.addAppender(logstashModule.configure(options), category); - - return { - logger: log4js.getLogger(category), - results: udpSent - }; -} - -vows.describe('logstashUDP appender').addBatch({ - 'when logging with logstash via UDP': { - topic: function() { - var setup = setupLogging('myCategory', { - "host": "127.0.0.1", - "port": 10001, - "type": "logstashUDP", - "logType": "myAppType", - "category": "myLogger", - "fields": { - "field1": "value1", - "field2": "value2" - }, - "layout": { - "type": "pattern", - "pattern": "%m" - } - }); - setup.logger.log('trace', 'Log event #1'); - return setup; - }, - 'an UDP packet should be sent': function (topic) { - assert.equal(topic.results.host, "127.0.0.1"); - assert.equal(topic.results.port, 10001); - assert.equal(topic.results.offset, 0); - var json = JSON.parse(topic.results.buffer.toString()); - assert.equal(json.type, 'myAppType'); - var fields = { - field1: 'value1', - field2: 'value2', - level: 'TRACE', - category: 'myCategory' - }; - assert.equal(JSON.stringify(json.fields), JSON.stringify(fields)); - assert.equal(json.message, 'Log event #1'); - // Assert timestamp, up to hours resolution. - var date = new Date(json['@timestamp']); - assert.equal( - date.toISOString().substring(0, 14), - topic.results.date.toISOString().substring(0, 14) - ); - } - }, - - 'when missing some options': { - topic: function() { - var setup = setupLogging('myLogger', { - "host": "127.0.0.1", - "port": 10001, - "type": "logstashUDP", - "category": "myLogger", - "layout": { - "type": "pattern", - "pattern": "%m" - } - }); - setup.logger.log('trace', 'Log event #1'); - return setup; - }, - 'it sets some defaults': function (topic) { - var json = JSON.parse(topic.results.buffer.toString()); - assert.equal(json.type, 'myLogger'); - assert.equal( - JSON.stringify(json.fields), - JSON.stringify({'level': 'TRACE', 'category': 'myLogger'}) - ); - } - }, - - 'when extra fields provided': { - topic: function() { - var setup = setupLogging('myLogger', { - "host": "127.0.0.1", - "port": 10001, - "type": "logstashUDP", - "category": "myLogger", - "layout": { - "type": "dummy" - } - }); - setup.logger.log('trace', 'Log event #1', {'extra1': 'value1', 'extra2': 'value2'}); - return setup; - },'they should be added to fields structure': function (topic) { - var json = JSON.parse(topic.results.buffer.toString()); - var fields = { - 'extra1': 'value1', - 'extra2': 'value2', - 'level': 'TRACE', - 'category': 'myLogger' - }; - assert.equal(JSON.stringify(json.fields), JSON.stringify(fields)); - } - } - -}).export(module); diff --git a/node_modules/log4js/test/vows/mailgunAppender-test.js b/node_modules/log4js/test/vows/mailgunAppender-test.js deleted file mode 100644 index 261fb1e..0000000 --- a/node_modules/log4js/test/vows/mailgunAppender-test.js +++ /dev/null @@ -1,190 +0,0 @@ -"use strict"; -var vows = require('vows'); -var assert = require('assert'); -var log4js = require('../../lib/log4js'); -var sandbox = require('sandboxed-module'); - -function setupLogging(category, options) { - var msgs = []; - - var mailgunCredentials = { - apiKey: options.apikey, - domain: options.domain - }; - - var fakeMailgun = function (conf) { - return { - messages: function () { - return { - config: options, - send: function (data, callback) { - msgs.push(data); - callback(false, {status:"OK"}); - } - }; - } - }; - }; - - var fakeLayouts = { - layout: function (type, config) { - this.type = type; - this.config = config; - return log4js.layouts.messagePassThroughLayout; - }, - basicLayout: log4js.layouts.basicLayout, - messagePassThroughLayout: log4js.layouts.messagePassThroughLayout - }; - - var fakeConsole = { - errors: [], - logs: [], - error: function (msg, value) { - this.errors.push({msg: msg, value: value}); - }, - log: function (msg, value) { - this.logs.push({msg: msg, value: value}); - } - }; - - - var mailgunModule = sandbox.require('../../lib/appenders/mailgun', { - requires: { - 'mailgun-js': fakeMailgun, - '../layouts': fakeLayouts - }, - globals: { - console: fakeConsole - } - }); - - - log4js.addAppender(mailgunModule.configure(options), category); - - return { - logger: log4js.getLogger(category), - mailer: fakeMailgun, - layouts: fakeLayouts, - console: fakeConsole, - mails: msgs, - credentials: mailgunCredentials - }; -} - -function checkMessages(result) { - for (var i = 0; i < result.mails.length; ++i) { - assert.equal(result.mails[i].from, 'sender@domain.com'); - assert.equal(result.mails[i].to, 'recepient@domain.com'); - assert.equal(result.mails[i].subject, 'This is subject'); - assert.ok(new RegExp('.+Log event #' + (i + 1)).test(result.mails[i].text)); - } -} - -log4js.clearAppenders(); - -vows.describe('log4js mailgunAppender').addBatch({ - 'mailgun setup': { - topic: setupLogging('mailgun setup', { - apikey: 'APIKEY', - domain: 'DOMAIN', - from: 'sender@domain.com', - to: 'recepient@domain.com', - subject: 'This is subject' - }), - 'mailgun credentials should match': function(result){ - assert.equal(result.credentials.apiKey, 'APIKEY'); - assert.equal(result.credentials.domain, 'DOMAIN'); - } - }, - - 'basic usage': { - topic: function(){ - var setup = setupLogging('basic usage', { - apikey: 'APIKEY', - domain: 'DOMAIN', - from: 'sender@domain.com', - to: 'recepient@domain.com', - subject: 'This is subject' - }); - - setup.logger.info("Log event #1"); - return setup; - }, - 'there should be one message only': function (result) { - assert.equal(result.mails.length, 1); - }, - 'message should contain proper data': function (result) { - checkMessages(result); - } - }, - 'config with layout': { - topic: function () { - var setup = setupLogging('config with layout', { - layout: { - type: "tester" - } - }); - return setup; - }, - 'should configure layout': function (result) { - assert.equal(result.layouts.type, 'tester'); - } - }, - 'error when sending email': { - topic: function () { - var setup = setupLogging('separate email for each event', { - apikey: 'APIKEY', - domain: 'DOMAIN', - from: 'sender@domain.com', - to: 'recepient@domain.com', - subject: 'This is subject' - }); - - setup.mailer.messages = function () { - return { - send: function (msg, cb) { - cb({msg: "log4js.mailgunAppender - Error happened"}, null); - } - }; - }; - - setup.logger.info("This will break"); - return setup.console; - }, - 'should be logged to console': function (cons) { - assert.equal(cons.errors.length, 1); - assert.equal(cons.errors[0].msg, 'log4js.mailgunAppender - Error happened'); - } - }, - 'separate email for each event': { - topic: function () { - var self = this; - var setup = setupLogging('separate email for each event', { - apikey: 'APIKEY', - domain: 'DOMAIN', - from: 'sender@domain.com', - to: 'recepient@domain.com', - subject: 'This is subject' - }); - setTimeout(function () { - setup.logger.info('Log event #1'); - }, 0); - setTimeout(function () { - setup.logger.info('Log event #2'); - }, 500); - setTimeout(function () { - setup.logger.info('Log event #3'); - }, 1100); - setTimeout(function () { - self.callback(null, setup); - }, 3000); - }, - 'there should be three messages': function (result) { - assert.equal(result.mails.length, 3); - }, - 'messages should contain proper data': function (result) { - checkMessages(result); - } - } - -}).export(module); diff --git a/node_modules/log4js/test/vows/multiprocess-test.js b/node_modules/log4js/test/vows/multiprocess-test.js deleted file mode 100644 index 2e8bffb..0000000 --- a/node_modules/log4js/test/vows/multiprocess-test.js +++ /dev/null @@ -1,317 +0,0 @@ -"use strict"; -var vows = require('vows') -, sandbox = require('sandboxed-module') -, assert = require('assert') -; - -function makeFakeNet() { - return { - logEvents: [], - data: [], - cbs: {}, - createConnectionCalled: 0, - fakeAppender: function(logEvent) { - this.logEvents.push(logEvent); - }, - createConnection: function(port, host) { - var fakeNet = this; - this.port = port; - this.host = host; - this.createConnectionCalled += 1; - return { - on: function(evt, cb) { - fakeNet.cbs[evt] = cb; - }, - write: function(data, encoding) { - fakeNet.data.push(data); - fakeNet.encoding = encoding; - }, - end: function() { - fakeNet.closeCalled = true; - } - }; - }, - createServer: function(cb) { - var fakeNet = this; - cb({ - remoteAddress: '1.2.3.4', - remotePort: '1234', - setEncoding: function(encoding) { - fakeNet.encoding = encoding; - }, - on: function(event, cb) { - fakeNet.cbs[event] = cb; - } - }); - - return { - listen: function(port, host) { - fakeNet.port = port; - fakeNet.host = host; - } - }; - } - }; -} - -vows.describe('Multiprocess Appender').addBatch({ - 'worker': { - topic: function() { - var fakeNet = makeFakeNet(), - appender = sandbox.require( - '../../lib/appenders/multiprocess', - { - requires: { - 'net': fakeNet - } - } - ).appender({ mode: 'worker', loggerPort: 1234, loggerHost: 'pants' }); - - //don't need a proper log event for the worker tests - appender('before connect'); - fakeNet.cbs.connect(); - appender('after connect'); - fakeNet.cbs.close(true); - appender('after error, before connect'); - fakeNet.cbs.connect(); - appender('after error, after connect'); - appender(new Error('Error test')); - - return fakeNet; - }, - 'should open a socket to the loggerPort and loggerHost': function(net) { - assert.equal(net.port, 1234); - assert.equal(net.host, 'pants'); - }, - 'should buffer messages written before socket is connected': function(net) { - assert.equal(net.data[0], JSON.stringify('before connect')); - }, - 'should write log messages to socket as json strings with a terminator string': function(net) { - assert.equal(net.data[0], JSON.stringify('before connect')); - assert.equal(net.data[1], '__LOG4JS__'); - assert.equal(net.data[2], JSON.stringify('after connect')); - assert.equal(net.data[3], '__LOG4JS__'); - assert.equal(net.encoding, 'utf8'); - }, - 'should attempt to re-open the socket on error': function(net) { - assert.equal(net.data[4], JSON.stringify('after error, before connect')); - assert.equal(net.data[5], '__LOG4JS__'); - assert.equal(net.data[6], JSON.stringify('after error, after connect')); - assert.equal(net.data[7], '__LOG4JS__'); - assert.equal(net.createConnectionCalled, 2); - }, - 'should serialize an Error correctly': function(net) { - assert( - JSON.parse(net.data[8]).stack, - "Expected:\n\n" + net.data[8] + "\n\n to have a 'stack' property" - ); - var actual = JSON.parse(net.data[8]).stack; - var expectedRegex = /^Error: Error test/; - assert( - actual.match(expectedRegex), - "Expected: \n\n " + actual + "\n\n to match " + expectedRegex - ); - - } - }, - 'worker with timeout': { - topic: function() { - var fakeNet = makeFakeNet(), - appender = sandbox.require( - '../../lib/appenders/multiprocess', - { - requires: { - 'net': fakeNet - } - } - ).appender({ mode: 'worker' }); - - //don't need a proper log event for the worker tests - appender('before connect'); - fakeNet.cbs.connect(); - appender('after connect'); - fakeNet.cbs.timeout(); - appender('after timeout, before close'); - fakeNet.cbs.close(); - appender('after close, before connect'); - fakeNet.cbs.connect(); - appender('after close, after connect'); - - return fakeNet; - }, - 'should attempt to re-open the socket': function(net) { - //skipping the __LOG4JS__ separators - assert.equal(net.data[0], JSON.stringify('before connect')); - assert.equal(net.data[2], JSON.stringify('after connect')); - assert.equal(net.data[4], JSON.stringify('after timeout, before close')); - assert.equal(net.data[6], JSON.stringify('after close, before connect')); - assert.equal(net.data[8], JSON.stringify('after close, after connect')); - assert.equal(net.createConnectionCalled, 2); - } - }, - 'worker defaults': { - topic: function() { - var fakeNet = makeFakeNet(), - appender = sandbox.require( - '../../lib/appenders/multiprocess', - { - requires: { - 'net': fakeNet - } - } - ).appender({ mode: 'worker' }); - - return fakeNet; - }, - 'should open a socket to localhost:5000': function(net) { - assert.equal(net.port, 5000); - assert.equal(net.host, 'localhost'); - } - }, - 'master': { - topic: function() { - var fakeNet = makeFakeNet(), - appender = sandbox.require( - '../../lib/appenders/multiprocess', - { - requires: { - 'net': fakeNet - } - } - ).appender({ mode: 'master', - loggerHost: 'server', - loggerPort: 1234, - actualAppender: fakeNet.fakeAppender.bind(fakeNet) - }); - - appender('this should be sent to the actual appender directly'); - - return fakeNet; - }, - 'should listen for log messages on loggerPort and loggerHost': function(net) { - assert.equal(net.port, 1234); - assert.equal(net.host, 'server'); - }, - 'should return the underlying appender': function(net) { - assert.equal(net.logEvents[0], 'this should be sent to the actual appender directly'); - }, - 'when a client connects': { - topic: function(net) { - var logString = JSON.stringify( - { level: { level: 10000, levelStr: 'DEBUG' } - , data: ['some debug']} - ) + '__LOG4JS__'; - - net.cbs.data( - JSON.stringify( - { level: { level: 40000, levelStr: 'ERROR' } - , data: ['an error message'] } - ) + '__LOG4JS__' - ); - net.cbs.data(logString.substring(0, 10)); - net.cbs.data(logString.substring(10)); - net.cbs.data(logString + logString + logString); - net.cbs.end( - JSON.stringify( - { level: { level: 50000, levelStr: 'FATAL' } - , data: ["that's all folks"] } - ) + '__LOG4JS__' - ); - net.cbs.data('bad message__LOG4JS__'); - return net; - }, - 'should parse log messages into log events and send to appender': function(net) { - assert.equal(net.logEvents[1].level.toString(), 'ERROR'); - assert.equal(net.logEvents[1].data[0], 'an error message'); - assert.equal(net.logEvents[1].remoteAddress, '1.2.3.4'); - assert.equal(net.logEvents[1].remotePort, '1234'); - }, - 'should parse log messages split into multiple chunks': function(net) { - assert.equal(net.logEvents[2].level.toString(), 'DEBUG'); - assert.equal(net.logEvents[2].data[0], 'some debug'); - assert.equal(net.logEvents[2].remoteAddress, '1.2.3.4'); - assert.equal(net.logEvents[2].remotePort, '1234'); - }, - 'should parse multiple log messages in a single chunk': function(net) { - assert.equal(net.logEvents[3].data[0], 'some debug'); - assert.equal(net.logEvents[4].data[0], 'some debug'); - assert.equal(net.logEvents[5].data[0], 'some debug'); - }, - 'should handle log messages sent as part of end event': function(net) { - assert.equal(net.logEvents[6].data[0], "that's all folks"); - }, - 'should handle unparseable log messages': function(net) { - assert.equal(net.logEvents[7].level.toString(), 'ERROR'); - assert.equal(net.logEvents[7].categoryName, 'log4js'); - assert.equal(net.logEvents[7].data[0], 'Unable to parse log:'); - assert.equal(net.logEvents[7].data[1], 'bad message'); - } - } - }, - 'master defaults': { - topic: function() { - var fakeNet = makeFakeNet(), - appender = sandbox.require( - '../../lib/appenders/multiprocess', - { - requires: { - 'net': fakeNet - } - } - ).appender({ mode: 'master' }); - - return fakeNet; - }, - 'should listen for log messages on localhost:5000': function(net) { - assert.equal(net.port, 5000); - assert.equal(net.host, 'localhost'); - } - } -}).addBatch({ - 'configure': { - topic: function() { - var results = {} - , fakeNet = makeFakeNet() - , appender = sandbox.require( - '../../lib/appenders/multiprocess', - { - requires: { - 'net': fakeNet, - '../log4js': { - loadAppender: function(app) { - results.appenderLoaded = app; - }, - appenderMakers: { - 'madeupappender': function(config, options) { - results.config = config; - results.options = options; - } - } - } - } - } - ).configure( - { - mode: 'master', - appender: { - type: 'madeupappender', - cheese: 'gouda' - } - }, - { crackers: 'jacobs' } - ); - - return results; - - }, - 'should load underlying appender for master': function(results) { - assert.equal(results.appenderLoaded, 'madeupappender'); - }, - 'should pass config to underlying appender': function(results) { - assert.equal(results.config.cheese, 'gouda'); - }, - 'should pass options to underlying appender': function(results) { - assert.equal(results.options.crackers, 'jacobs'); - } - } -}).exportTo(module); diff --git a/node_modules/log4js/test/vows/newLevel-test.js b/node_modules/log4js/test/vows/newLevel-test.js deleted file mode 100644 index c0c2487..0000000 --- a/node_modules/log4js/test/vows/newLevel-test.js +++ /dev/null @@ -1,138 +0,0 @@ -"use strict"; -var vows = require('vows') - , assert = require('assert') - , Level = require('../../lib/levels') - , log4js = require('../../lib/log4js') - , loggerModule = require('../../lib/logger') - , Logger = loggerModule.Logger; - -vows.describe('../../lib/logger').addBatch({ - 'creating a new log level': { - topic: function () { - Level.forName("DIAG", 6000); - return new Logger(); - }, - - 'should export new log level in levels module': function (logger) { - assert.isDefined(Level.DIAG); - assert.equal(Level.DIAG.levelStr, "DIAG"); - assert.equal(Level.DIAG.level, 6000); - }, - - 'should create named function on logger prototype': function(logger) { - assert.isFunction(logger.diag); - }, - - 'should create isLevelEnabled function on logger prototype': function(logger) { - assert.isFunction(logger.isDiagEnabled); - }, - }, - - 'creating a new log level with underscores': { - topic: function () { - Level.forName("NEW_LEVEL_OTHER", 6000); - return new Logger(); - }, - - 'should export new log level to levels module': function (logger) { - assert.isDefined(Level.NEW_LEVEL_OTHER); - assert.equal(Level.NEW_LEVEL_OTHER.levelStr, "NEW_LEVEL_OTHER"); - assert.equal(Level.NEW_LEVEL_OTHER.level, 6000); - }, - - 'should create named function on logger prototype in camel case': function(logger) { - assert.isFunction(logger.newLevelOther); - }, - - 'should create named isLevelEnabled function on logger prototype in camel case': - function(logger) { - assert.isFunction(logger.isNewLevelOtherEnabled); - } - }, - - 'creating log events containing newly created log level': { - topic: function() { - var events = [], - logger = new Logger(); - logger.addListener("log", function (logEvent) { events.push(logEvent); }); - - logger.log(Level.forName("LVL1", 6000), "Event 1"); - logger.log(Level.getLevel("LVL1"), "Event 2"); - logger.log("LVL1", "Event 3"); - logger.lvl1("Event 4"); - - logger.setLevel(Level.forName("LVL2", 7000)); - logger.lvl1("Event 5"); - - return events; - }, - - 'should show log events with new log level': function(events) { - assert.equal(events[0].level.toString(), "LVL1"); - assert.equal(events[0].data[0], "Event 1"); - - assert.equal(events[1].level.toString(), "LVL1"); - assert.equal(events[1].data[0], "Event 2"); - - assert.equal(events[2].level.toString(), "LVL1"); - assert.equal(events[2].data[0], "Event 3"); - - assert.equal(events[3].level.toString(), "LVL1"); - assert.equal(events[3].data[0], "Event 4"); - }, - - 'should not be present if min log level is greater than newly created level': - function(events) { - assert.equal(events.length, 4); - } - }, - - 'creating a new log level with incorrect parameters': { - topic: function() { - log4js.levels.forName(9000, "FAIL_LEVEL_1"); - log4js.levels.forName("FAIL_LEVEL_2"); - return new Logger(); - }, - - 'should fail to create the level': function(logger) { - assert.isUndefined(Level.FAIL_LEVEL_1); - assert.isUndefined(Level.FAIL_LEVEL_2); - } - }, - - 'calling log with an undefined log level': { - topic: function() { - var events = [], - logger = new Logger(); - logger.addListener("log", function (logEvent) { events.push(logEvent); }); - - logger.log("LEVEL_DOES_NEXT_EXIST", "Event 1"); - logger.log(Level.forName("LEVEL_DOES_NEXT_EXIST"), "Event 2"); - - return events; - }, - - 'should fallback to the default log level (INFO)': function(events) { - assert.equal(events[0].level.toString(), "INFO"); - assert.equal(events[1].level.toString(), "INFO"); - } - }, - - 'creating a new level with an existing level name': { - topic: function() { - var events = [], - logger = new Logger(); - logger.addListener("log", function (logEvent) { events.push(logEvent); }); - - logger.log(log4js.levels.forName("MY_LEVEL", 9000), "Event 1"); - logger.log(log4js.levels.forName("MY_LEVEL", 8000), "Event 1"); - - return events; - }, - - 'should override the existing log level': function(events) { - assert.equal(events[0].level.level, 9000); - assert.equal(events[1].level.level, 8000); - } - } -}).exportTo(module); \ No newline at end of file diff --git a/node_modules/log4js/test/vows/nolog-test.js b/node_modules/log4js/test/vows/nolog-test.js deleted file mode 100644 index 04776bf..0000000 --- a/node_modules/log4js/test/vows/nolog-test.js +++ /dev/null @@ -1,297 +0,0 @@ -"use strict"; -var vows = require('vows') -, assert = require('assert') -, util = require('util') -, EE = require('events').EventEmitter -, levels = require('../../lib/levels'); - -function MockLogger() { - - var that = this; - this.messages = []; - - this.log = function(level, message, exception) { - that.messages.push({ level: level, message: message }); - }; - - this.isLevelEnabled = function(level) { - return level.isGreaterThanOrEqualTo(that.level); - }; - - this.level = levels.TRACE; - -} - -function MockRequest(remoteAddr, method, originalUrl) { - - this.socket = { remoteAddress: remoteAddr }; - this.originalUrl = originalUrl; - this.method = method; - this.httpVersionMajor = '5'; - this.httpVersionMinor = '0'; - this.headers = {}; -} - -function MockResponse(statusCode) { - var r = this; - this.statusCode = statusCode; - - this.end = function(chunk, encoding) { - r.emit('finish'); - }; -} -util.inherits(MockResponse, EE); - -vows.describe('log4js connect logger').addBatch({ - 'getConnectLoggerModule': { - topic: function() { - var clm = require('../../lib/connect-logger'); - return clm; - }, - - 'should return a "connect logger" factory' : function(clm) { - assert.isObject(clm); - }, - - 'nolog String' : { - topic: function(clm) { - var ml = new MockLogger(); - var cl = clm.connectLogger(ml, { nolog: "\\.gif" }); - return {cl: cl, ml: ml}; - }, - - 'check unmatch url request': { - topic: function(d){ - var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.png'); // not gif - var res = new MockResponse(200); - var cb = this.callback; - d.cl(req, res, function() { }); - res.end('chunk', 'encoding'); - setTimeout(function() { - cb(null, d.ml.messages); - },10); - }, - 'check message': function(messages){ - assert.isArray(messages); - assert.equal(messages.length, 1); - assert.ok(levels.INFO.isEqualTo(messages[0].level)); - assert.include(messages[0].message, 'GET'); - assert.include(messages[0].message, 'http://url'); - assert.include(messages[0].message, 'my.remote.addr'); - assert.include(messages[0].message, '200'); - messages.pop(); - } - }, - - 'check match url request': { - topic: function(d) { - var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.gif'); // gif - var res = new MockResponse(200); - var cb = this.callback; - d.cl(req, res, function() { }); - res.end('chunk', 'encoding'); - setTimeout(function() { - cb(null, d.ml.messages); - },10); - }, - 'check message': function(messages) { - assert.isArray(messages); - assert.equal(messages.length, 0); - } - } - }, - - 'nolog Strings' : { - topic: function(clm) { - var ml = new MockLogger(); - var cl = clm.connectLogger(ml, {nolog: "\\.gif|\\.jpe?g"}); - return {cl: cl, ml: ml}; - }, - - 'check unmatch url request (png)': { - topic: function(d){ - var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.png'); // not gif - var res = new MockResponse(200); - var cb = this.callback; - d.cl(req, res, function() { }); - res.end('chunk', 'encoding'); - setTimeout(function() { - cb(null, d.ml.messages); - }, 10); - }, - 'check message': function(messages){ - assert.isArray(messages); - assert.equal(messages.length, 1); - assert.ok(levels.INFO.isEqualTo(messages[0].level)); - assert.include(messages[0].message, 'GET'); - assert.include(messages[0].message, 'http://url'); - assert.include(messages[0].message, 'my.remote.addr'); - assert.include(messages[0].message, '200'); - messages.pop(); - } - }, - - 'check match url request (gif)': { - topic: function(d) { - var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.gif'); // gif - var res = new MockResponse(200); - var cb = this.callback; - d.cl(req, res, function() { }); - res.end('chunk', 'encoding'); - setTimeout(function() { - cb(null, d.ml.messages); - }, 10); - }, - 'check message': function(messages) { - assert.isArray(messages); - assert.equal(messages.length, 0); - } - }, - 'check match url request (jpeg)': { - topic: function(d) { - var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.jpeg'); // gif - var res = new MockResponse(200); - var cb = this.callback; - d.cl(req, res, function() { }); - res.end('chunk', 'encoding'); - setTimeout(function() { - cb(null, d.ml.messages); - }, 10); - }, - 'check message': function(messages) { - assert.isArray(messages); - assert.equal(messages.length, 0); - } - } - }, - 'nolog Array' : { - topic: function(clm) { - var ml = new MockLogger(); - var cl = clm.connectLogger(ml, {nolog: ["\\.gif", "\\.jpe?g"]}); - return {cl: cl, ml: ml}; - }, - - 'check unmatch url request (png)': { - topic: function(d){ - var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.png'); // not gif - var res = new MockResponse(200); - var cb = this.callback; - d.cl(req, res, function() { }); - res.end('chunk', 'encoding'); - setTimeout(function() { - cb(null, d.ml.messages); - }, 10); - }, - 'check message': function(messages){ - assert.isArray(messages); - assert.equal(messages.length, 1); - assert.ok(levels.INFO.isEqualTo(messages[0].level)); - assert.include(messages[0].message, 'GET'); - assert.include(messages[0].message, 'http://url'); - assert.include(messages[0].message, 'my.remote.addr'); - assert.include(messages[0].message, '200'); - messages.pop(); - } - }, - - 'check match url request (gif)': { - topic: function(d) { - var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.gif'); // gif - var res = new MockResponse(200); - var cb = this.callback; - d.cl(req, res, function() { }); - res.end('chunk', 'encoding'); - setTimeout(function() { - cb(null, d.ml.messages); - }, 10); - }, - 'check message': function(messages) { - assert.isArray(messages); - assert.equal(messages.length, 0); - } - }, - - 'check match url request (jpeg)': { - topic: function(d) { - var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.jpeg'); // gif - var res = new MockResponse(200); - var cb = this.callback; - d.cl(req, res, function() { }); - res.end('chunk', 'encoding'); - setTimeout(function() { - cb(null, d.ml.messages); - }, 10); - }, - 'check message': function(messages) { - assert.isArray(messages); - assert.equal(messages.length, 0); - } - }, - }, - 'nolog RegExp' : { - topic: function(clm) { - var ml = new MockLogger(); - var cl = clm.connectLogger(ml, {nolog: /\.gif|\.jpe?g/}); - return {cl: cl, ml: ml}; - }, - - 'check unmatch url request (png)': { - topic: function(d){ - var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.png'); // not gif - var res = new MockResponse(200); - var cb = this.callback; - d.cl(req, res, function() { }); - res.end('chunk', 'encoding'); - setTimeout(function() { - cb(null, d.ml.messages); - }, 10); - }, - 'check message': function(messages){ - assert.isArray(messages); - assert.equal(messages.length, 1); - assert.ok(levels.INFO.isEqualTo(messages[0].level)); - assert.include(messages[0].message, 'GET'); - assert.include(messages[0].message, 'http://url'); - assert.include(messages[0].message, 'my.remote.addr'); - assert.include(messages[0].message, '200'); - messages.pop(); - } - }, - - 'check match url request (gif)': { - topic: function(d) { - var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.gif'); // gif - var res = new MockResponse(200); - var cb = this.callback; - d.cl(req, res, function() { }); - res.end('chunk', 'encoding'); - setTimeout(function() { - cb(null, d.ml.messages); - }, 10); - }, - 'check message': function(messages) { - assert.isArray(messages); - assert.equal(messages.length, 0); - } - }, - - 'check match url request (jpeg)': { - topic: function(d) { - var req = new MockRequest('my.remote.addr', 'GET', 'http://url/hoge.jpeg'); // gif - var res = new MockResponse(200); - var cb = this.callback; - d.cl(req, res, function() { }); - res.end('chunk', 'encoding'); - setTimeout(function() { - cb(null, d.ml.messages); - }, 10); - }, - 'check message': function(messages) { - assert.isArray(messages); - assert.equal(messages.length, 0); - } - } - } - } - -}).export(module); diff --git a/node_modules/log4js/test/vows/reloadConfiguration-test.js b/node_modules/log4js/test/vows/reloadConfiguration-test.js deleted file mode 100644 index 781f577..0000000 --- a/node_modules/log4js/test/vows/reloadConfiguration-test.js +++ /dev/null @@ -1,340 +0,0 @@ -"use strict"; -var vows = require('vows') -, assert = require('assert') -, sandbox = require('sandboxed-module'); - -function setupConsoleTest() { - var fakeConsole = {} - , logEvents = [] - , log4js; - - ['trace','debug','log','info','warn','error'].forEach(function(fn) { - fakeConsole[fn] = function() { - throw new Error("this should not be called."); - }; - }); - - log4js = sandbox.require( - '../../lib/log4js', - { - globals: { - console: fakeConsole - } - } - ); - - log4js.clearAppenders(); - log4js.addAppender(function(evt) { - logEvents.push(evt); - }); - - return { log4js: log4js, logEvents: logEvents, fakeConsole: fakeConsole }; -} - -vows.describe('reload configuration').addBatch({ - 'with config file changing' : { - topic: function() { - var pathsChecked = [], - logEvents = [], - logger, - modulePath = 'path/to/log4js.json', - fakeFS = { - lastMtime: Date.now(), - config: { - appenders: [ - { type: 'console', layout: { type: 'messagePassThrough' } } - ], - levels: { 'a-test' : 'INFO' } - }, - readFileSync: function (file, encoding) { - assert.equal(file, modulePath); - assert.equal(encoding, 'utf8'); - return JSON.stringify(fakeFS.config); - }, - statSync: function (path) { - pathsChecked.push(path); - if (path === modulePath) { - fakeFS.lastMtime += 1; - return { mtime: new Date(fakeFS.lastMtime) }; - } else { - throw new Error("no such file"); - } - } - }, - fakeConsole = { - 'name': 'console', - 'appender': function () { - return function(evt) { logEvents.push(evt); }; - }, - 'configure': function (config) { - return fakeConsole.appender(); - } - }, - setIntervalCallback, - fakeSetInterval = function(cb, timeout) { - setIntervalCallback = cb; - }, - log4js = sandbox.require( - '../../lib/log4js', - { - requires: { - 'fs': fakeFS, - './appenders/console': fakeConsole - }, - globals: { - 'console': fakeConsole, - 'setInterval' : fakeSetInterval, - } - } - ); - - log4js.configure('path/to/log4js.json', { reloadSecs: 30 }); - logger = log4js.getLogger('a-test'); - logger.info("info1"); - logger.debug("debug2 - should be ignored"); - fakeFS.config.levels['a-test'] = "DEBUG"; - setIntervalCallback(); - logger.info("info3"); - logger.debug("debug4"); - - return logEvents; - }, - 'should configure log4js from first log4js.json found': function(logEvents) { - assert.equal(logEvents[0].data[0], 'info1'); - assert.equal(logEvents[1].data[0], 'info3'); - assert.equal(logEvents[2].data[0], 'debug4'); - assert.equal(logEvents.length, 3); - } - }, - - 'with config file staying the same' : { - topic: function() { - var pathsChecked = [], - fileRead = 0, - logEvents = [], - logger, - modulePath = require('path').normalize(__dirname + '/../../lib/log4js.json'), - mtime = new Date(), - fakeFS = { - config: { - appenders: [ - { type: 'console', layout: { type: 'messagePassThrough' } } - ], - levels: { 'a-test' : 'INFO' } - }, - readFileSync: function (file, encoding) { - fileRead += 1; - assert.isString(file); - assert.equal(file, modulePath); - assert.equal(encoding, 'utf8'); - return JSON.stringify(fakeFS.config); - }, - statSync: function (path) { - pathsChecked.push(path); - if (path === modulePath) { - return { mtime: mtime }; - } else { - throw new Error("no such file"); - } - } - }, - fakeConsole = { - 'name': 'console', - 'appender': function () { - return function(evt) { logEvents.push(evt); }; - }, - 'configure': function (config) { - return fakeConsole.appender(); - } - }, - setIntervalCallback, - fakeSetInterval = function(cb, timeout) { - setIntervalCallback = cb; - }, - log4js = sandbox.require( - '../../lib/log4js', - { - requires: { - 'fs': fakeFS, - './appenders/console': fakeConsole - }, - globals: { - 'console': fakeConsole, - 'setInterval' : fakeSetInterval, - } - } - ); - - log4js.configure(modulePath, { reloadSecs: 3 }); - logger = log4js.getLogger('a-test'); - logger.info("info1"); - logger.debug("debug2 - should be ignored"); - setIntervalCallback(); - logger.info("info3"); - logger.debug("debug4"); - - return [ pathsChecked, logEvents, modulePath, fileRead ]; - }, - 'should only read the configuration file once': function(args) { - var fileRead = args[3]; - assert.equal(fileRead, 1); - }, - 'should configure log4js from first log4js.json found': function(args) { - var logEvents = args[1]; - assert.equal(logEvents.length, 2); - assert.equal(logEvents[0].data[0], 'info1'); - assert.equal(logEvents[1].data[0], 'info3'); - } - }, - - 'when config file is removed': { - topic: function() { - var pathsChecked = [], - fileRead = 0, - logEvents = [], - logger, - modulePath = require('path').normalize(__dirname + '/../../lib/log4js.json'), - mtime = new Date(), - fakeFS = { - config: { - appenders: [ - { type: 'console', layout: { type: 'messagePassThrough' } } - ], - levels: { 'a-test' : 'INFO' } - }, - readFileSync: function (file, encoding) { - fileRead += 1; - assert.isString(file); - assert.equal(file, modulePath); - assert.equal(encoding, 'utf8'); - return JSON.stringify(fakeFS.config); - }, - statSync: function (path) { - this.statSync = function() { - throw new Error("no such file"); - }; - return { mtime: new Date() }; - } - }, - fakeConsole = { - 'name': 'console', - 'appender': function () { - return function(evt) { logEvents.push(evt); }; - }, - 'configure': function (config) { - return fakeConsole.appender(); - } - }, - setIntervalCallback, - fakeSetInterval = function(cb, timeout) { - setIntervalCallback = cb; - }, - log4js = sandbox.require( - '../../lib/log4js', - { - requires: { - 'fs': fakeFS, - './appenders/console': fakeConsole - }, - globals: { - 'console': fakeConsole, - 'setInterval' : fakeSetInterval, - } - } - ); - - log4js.configure(modulePath, { reloadSecs: 3 }); - logger = log4js.getLogger('a-test'); - logger.info("info1"); - logger.debug("debug2 - should be ignored"); - setIntervalCallback(); - logger.info("info3"); - logger.debug("debug4"); - - return [ pathsChecked, logEvents, modulePath, fileRead ]; - }, - 'should only read the configuration file once': function(args) { - var fileRead = args[3]; - assert.equal(fileRead, 1); - }, - 'should not clear configuration when config file not found': function(args) { - var logEvents = args[1]; - assert.equal(logEvents.length, 3); - assert.equal(logEvents[0].data[0], 'info1'); - assert.equal(logEvents[1].level.toString(), 'WARN'); - assert.include(logEvents[1].data[0], 'Failed to load configuration file'); - assert.equal(logEvents[2].data[0], 'info3'); - } - }, - - 'when passed an object': { - topic: function() { - var test = setupConsoleTest(); - test.log4js.configure({}, { reloadSecs: 30 }); - return test.logEvents; - }, - 'should log a warning': function(events) { - assert.equal(events[0].level.toString(), 'WARN'); - assert.equal( - events[0].data[0], - 'Ignoring configuration reload parameter for "object" configuration.' - ); - } - }, - - 'when called twice with reload options': { - topic: function() { - var modulePath = require('path').normalize(__dirname + '/../../lib/log4js.json'), - fakeFS = { - readFileSync: function (file, encoding) { - return JSON.stringify({}); - }, - statSync: function (path) { - return { mtime: new Date() }; - } - }, - fakeConsole = { - 'name': 'console', - 'appender': function () { - return function(evt) { }; - }, - 'configure': function (config) { - return fakeConsole.appender(); - } - }, - setIntervalCallback, - intervalCleared = false, - clearedId, - fakeSetInterval = function(cb, timeout) { - setIntervalCallback = cb; - return 1234; - }, - log4js = sandbox.require( - '../../lib/log4js', - { - requires: { - 'fs': fakeFS, - './appenders/console': fakeConsole - }, - globals: { - 'console': fakeConsole, - 'setInterval' : fakeSetInterval, - 'clearInterval': function(interval) { - intervalCleared = true; - clearedId = interval; - } - } - } - ); - - log4js.configure(modulePath, { reloadSecs: 3 }); - log4js.configure(modulePath, { reloadSecs: 15 }); - - return { cleared: intervalCleared, id: clearedId }; - }, - 'should clear the previous interval': function(result) { - assert.isTrue(result.cleared); - assert.equal(result.id, 1234); - } - } -}).exportTo(module); diff --git a/node_modules/log4js/test/vows/setLevel-asymmetry-test.js b/node_modules/log4js/test/vows/setLevel-asymmetry-test.js deleted file mode 100644 index 149a929..0000000 --- a/node_modules/log4js/test/vows/setLevel-asymmetry-test.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict"; -/* jshint loopfunc: true */ -// This test shows an asymmetry between setLevel and isLevelEnabled -// (in log4js-node@0.4.3 and earlier): -// 1) setLevel("foo") works, but setLevel(log4js.levels.foo) silently -// does not (sets the level to TRACE). -// 2) isLevelEnabled("foo") works as does isLevelEnabled(log4js.levels.foo). -// - -// Basic set up -var vows = require('vows'); -var assert = require('assert'); -var log4js = require('../../lib/log4js'); -var logger = log4js.getLogger('test-setLevel-asymmetry'); - -// uncomment one or other of the following to see progress (or not) while running the tests -// var showProgress = console.log; -var showProgress = function() {}; - - -// Define the array of levels as string to iterate over. -var strLevels= ['Trace','Debug','Info','Warn','Error','Fatal']; - -var log4jsLevels =[]; -// populate an array with the log4js.levels that match the strLevels. -// Would be nice if we could iterate over log4js.levels instead, -// but log4js.levels.toLevel prevents that for now. -strLevels.forEach(function(l) { - log4jsLevels.push(log4js.levels.toLevel(l)); -}); - - -// We are going to iterate over this object's properties to define an exhaustive list of vows. -var levelTypes = { - 'string': strLevels, - 'log4js.levels.level': log4jsLevels, -}; - -// Set up the basic vows batch for this test -var batch = { - setLevel: { - } -}; - -showProgress('Populating batch object...'); - -// Populating the batch object programmatically, -// as I don't have the patience to manually populate it with -// the (strLevels.length x levelTypes.length) ^ 2 = 144 possible test combinations -for (var type in levelTypes) { - var context = 'is called with a '+type; - var levelsToTest = levelTypes[type]; - showProgress('Setting up the vows context for '+context); - - batch.setLevel[context]= {}; - levelsToTest.forEach( function(level) { - var subContext = 'of '+level; - var log4jsLevel=log4js.levels.toLevel(level.toString()); - - showProgress('Setting up the vows sub-context for '+subContext); - batch.setLevel[context][subContext] = {topic: level}; - for (var comparisonType in levelTypes) { - levelTypes[comparisonType].forEach(function(comparisonLevel) { - var t = type; - var ct = comparisonType; - var expectedResult = log4jsLevel.isLessThanOrEqualTo(comparisonLevel); - var vow = 'isLevelEnabled(' + comparisonLevel + - ') called with a ' + comparisonType + - ' should return ' + expectedResult; - showProgress('Setting up the vows vow for '+vow); - - batch.setLevel[context][subContext][vow] = function(levelToSet) { - logger.setLevel(levelToSet); - showProgress( - '*** Checking setLevel( ' + level + - ' ) of type ' + t + - ', and isLevelEnabled( ' + comparisonLevel + - ' ) of type ' + ct + '. Expecting: ' + expectedResult - ); - assert.equal( - logger.isLevelEnabled(comparisonLevel), - expectedResult, - 'Failed: calling setLevel( ' + level + - ' ) with type ' + type + - ', isLevelEnabled( ' + comparisonLevel + - ' ) of type ' + comparisonType + - ' did not return ' + expectedResult - ); - }; - }); - } - }); - -} - -showProgress('Running tests...'); - -vows.describe('log4js setLevel asymmetry fix').addBatch(batch).export(module); - - diff --git a/node_modules/log4js/test/vows/slackAppender-test.js b/node_modules/log4js/test/vows/slackAppender-test.js deleted file mode 100644 index a49ab78..0000000 --- a/node_modules/log4js/test/vows/slackAppender-test.js +++ /dev/null @@ -1,168 +0,0 @@ -"use strict"; -var vows = require('vows'); -var assert = require('assert'); -var log4js = require('../../lib/log4js'); -var sandbox = require('sandboxed-module'); - -function setupLogging(category, options) { - var msgs = []; - - var slackCredentials = { - token: options.token, - channel_id: options.channel_id, - username: options.username, - format: options.format, - icon_url: options.icon_url - }; - var fakeSlack = (function (key) { - function constructor() { - return { - options: key, - api: function (action, data, callback) { - msgs.push(data); - callback(false, {status: "sent"}); - } - }; - } - - return constructor(key); - }); - - var fakeLayouts = { - layout: function (type, config) { - this.type = type; - this.config = config; - return log4js.layouts.messagePassThroughLayout; - }, - basicLayout: log4js.layouts.basicLayout, - coloredLayout: log4js.layouts.coloredLayout, - messagePassThroughLayout: log4js.layouts.messagePassThroughLayout - }; - - var fakeConsole = { - errors: [], - logs: [], - error: function (msg, value) { - this.errors.push({msg: msg, value: value}); - }, - log: function (msg, value) { - this.logs.push({msg: msg, value: value}); - } - }; - - - var slackModule = sandbox.require('../../lib/appenders/slack', { - requires: { - 'slack-node': fakeSlack, - '../layouts': fakeLayouts - }, - globals: { - console: fakeConsole - } - }); - - - log4js.addAppender(slackModule.configure(options), category); - - return { - logger: log4js.getLogger(category), - mailer: fakeSlack, - layouts: fakeLayouts, - console: fakeConsole, - messages: msgs, - credentials: slackCredentials - }; -} - -function checkMessages(result) { - for (var i = 0; i < result.messages.length; ++i) { - assert.equal(result.messages[i].channel, '#CHANNEL'); - assert.equal(result.messages[i].username, 'USERNAME'); - assert.ok(new RegExp('.+Log event #' + (i + 1)).test(result.messages[i].text)); - } -} - -log4js.clearAppenders(); - -vows.describe('log4js slackAppender').addBatch({ - 'slack setup': { - topic: setupLogging('slack setup', { - token: 'TOKEN', - channel_id: "#CHANNEL", - username: "USERNAME", - format: "FORMAT", - icon_url: "ICON_URL" - }), - 'slack credentials should match': function (result) { - assert.equal(result.credentials.token, 'TOKEN'); - assert.equal(result.credentials.channel_id, '#CHANNEL'); - assert.equal(result.credentials.username, 'USERNAME'); - assert.equal(result.credentials.format, 'FORMAT'); - assert.equal(result.credentials.icon_url, 'ICON_URL'); - } - }, - - 'basic usage': { - topic: function () { - var setup = setupLogging('basic usage', { - token: 'TOKEN', - channel_id: "#CHANNEL", - username: "USERNAME", - format: "FORMAT", - icon_url: "ICON_URL", - }); - - setup.logger.info("Log event #1"); - return setup; - }, - 'there should be one message only': function (result) { - assert.equal(result.messages.length, 1); - }, - 'message should contain proper data': function (result) { - checkMessages(result); - } - }, - 'config with layout': { - topic: function () { - var setup = setupLogging('config with layout', { - layout: { - type: "tester" - } - }); - return setup; - }, - 'should configure layout': function (result) { - assert.equal(result.layouts.type, 'tester'); - } - }, - 'separate notification for each event': { - topic: function () { - var self = this; - var setup = setupLogging('separate notification for each event', { - token: 'TOKEN', - channel_id: "#CHANNEL", - username: "USERNAME", - format: "FORMAT", - icon_url: "ICON_URL", - }); - setTimeout(function () { - setup.logger.info('Log event #1'); - }, 0); - setTimeout(function () { - setup.logger.info('Log event #2'); - }, 500); - setTimeout(function () { - setup.logger.info('Log event #3'); - }, 1100); - setTimeout(function () { - self.callback(null, setup); - }, 3000); - }, - 'there should be three messages': function (result) { - assert.equal(result.messages.length, 3); - }, - 'messages should contain proper data': function (result) { - checkMessages(result); - } - } -}).export(module); diff --git a/node_modules/log4js/test/vows/smtpAppender-test.js b/node_modules/log4js/test/vows/smtpAppender-test.js deleted file mode 100644 index af5ccd9..0000000 --- a/node_modules/log4js/test/vows/smtpAppender-test.js +++ /dev/null @@ -1,318 +0,0 @@ -"use strict"; -var vows = require('vows'); -var assert = require('assert'); -var log4js = require('../../lib/log4js'); -var sandbox = require('sandboxed-module'); - -function setupLogging(category, options) { - var msgs = []; - - var fakeMailer = { - createTransport: function (name, options) { - return { - config: options, - sendMail: function (msg, callback) { - msgs.push(msg); - callback(null, true); - }, - close: function () { - } - }; - } - }; - - var fakeLayouts = { - layout: function (type, config) { - this.type = type; - this.config = config; - return log4js.layouts.messagePassThroughLayout; - }, - basicLayout: log4js.layouts.basicLayout, - messagePassThroughLayout: log4js.layouts.messagePassThroughLayout - }; - - var fakeConsole = { - errors: [], - error: function (msg, value) { - this.errors.push({msg: msg, value: value}); - } - }; - - var fakeTransportPlugin = function () { - }; - - var smtpModule = sandbox.require('../../lib/appenders/smtp', { - requires: { - 'nodemailer': fakeMailer, - 'nodemailer-sendmail-transport': fakeTransportPlugin, - 'nodemailer-smtp-transport': fakeTransportPlugin, - '../layouts': fakeLayouts - }, - globals: { - console: fakeConsole - } - }); - - log4js.addAppender(smtpModule.configure(options), category); - - return { - logger: log4js.getLogger(category), - mailer: fakeMailer, - layouts: fakeLayouts, - console: fakeConsole, - results: msgs - }; -} - -function checkMessages(result, sender, subject) { - for (var i = 0; i < result.results.length; ++i) { - assert.equal(result.results[i].from, sender); - assert.equal(result.results[i].to, 'recipient@domain.com'); - assert.equal(result.results[i].subject, subject ? subject : 'Log event #' + (i + 1)); - assert.ok(new RegExp('.+Log event #' + (i + 1) + '\n$').test(result.results[i].text)); - } -} - -log4js.clearAppenders(); -vows.describe('log4js smtpAppender').addBatch({ - 'minimal config': { - topic: function () { - var setup = setupLogging('minimal config', { - recipients: 'recipient@domain.com', - SMTP: { - port: 25, - auth: { - user: 'user@domain.com' - } - } - }); - setup.logger.info('Log event #1'); - return setup; - }, - 'there should be one message only': function (result) { - assert.equal(result.results.length, 1); - }, - 'message should contain proper data': function (result) { - checkMessages(result); - } - }, - 'fancy config': { - topic: function () { - var setup = setupLogging('fancy config', { - recipients: 'recipient@domain.com', - sender: 'sender@domain.com', - subject: 'This is subject', - SMTP: { - port: 25, - auth: { - user: 'user@domain.com' - } - } - }); - setup.logger.info('Log event #1'); - return setup; - }, - 'there should be one message only': function (result) { - assert.equal(result.results.length, 1); - }, - 'message should contain proper data': function (result) { - checkMessages(result, 'sender@domain.com', 'This is subject'); - } - }, - 'config with layout': { - topic: function () { - var setup = setupLogging('config with layout', { - layout: { - type: "tester" - } - }); - return setup; - }, - 'should configure layout': function (result) { - assert.equal(result.layouts.type, 'tester'); - } - }, - 'separate email for each event': { - topic: function () { - var self = this; - var setup = setupLogging('separate email for each event', { - recipients: 'recipient@domain.com', - SMTP: { - port: 25, - auth: { - user: 'user@domain.com' - } - } - }); - setTimeout(function () { - setup.logger.info('Log event #1'); - }, 0); - setTimeout(function () { - setup.logger.info('Log event #2'); - }, 500); - setTimeout(function () { - setup.logger.info('Log event #3'); - }, 1100); - setTimeout(function () { - self.callback(null, setup); - }, 3000); - }, - 'there should be three messages': function (result) { - assert.equal(result.results.length, 3); - }, - 'messages should contain proper data': function (result) { - checkMessages(result); - } - }, - 'multiple events in one email': { - topic: function () { - var self = this; - var setup = setupLogging('multiple events in one email', { - recipients: 'recipient@domain.com', - sendInterval: 1, - SMTP: { - port: 25, - auth: { - user: 'user@domain.com' - } - } - }); - setTimeout(function () { - setup.logger.info('Log event #1'); - }, 0); - setTimeout(function () { - setup.logger.info('Log event #2'); - }, 100); - setTimeout(function () { - setup.logger.info('Log event #3'); - }, 1500); - setTimeout(function () { - self.callback(null, setup); - }, 3000); - }, - 'there should be two messages': function (result) { - assert.equal(result.results.length, 2); - }, - 'messages should contain proper data': function (result) { - assert.equal(result.results[0].to, 'recipient@domain.com'); - assert.equal(result.results[0].subject, 'Log event #1'); - assert.equal( - result.results[0].text.match(new RegExp('.+Log event #[1-2]$', 'gm')).length, - 2 - ); - assert.equal(result.results[1].to, 'recipient@domain.com'); - assert.equal(result.results[1].subject, 'Log event #3'); - assert.ok(new RegExp('.+Log event #3\n$').test(result.results[1].text)); - } - }, - 'error when sending email': { - topic: function () { - var setup = setupLogging('error when sending email', { - recipients: 'recipient@domain.com', - sendInterval: 0, - SMTP: {port: 25, auth: {user: 'user@domain.com'}} - }); - - setup.mailer.createTransport = function () { - return { - sendMail: function (msg, cb) { - cb({message: "oh noes"}); - }, - close: function () { - } - }; - }; - - setup.logger.info("This will break"); - return setup.console; - }, - 'should be logged to console': function (cons) { - assert.equal(cons.errors.length, 1); - assert.equal(cons.errors[0].msg, "log4js.smtpAppender - Error happened"); - assert.equal(cons.errors[0].value.message, 'oh noes'); - } - }, - 'transport full config': { - topic: function () { - var setup = setupLogging('transport full config', { - recipients: 'recipient@domain.com', - transport: { - plugin: 'sendmail', - options: { - path: '/usr/sbin/sendmail' - } - } - }); - setup.logger.info('Log event #1'); - return setup; - }, - 'there should be one message only': function (result) { - assert.equal(result.results.length, 1); - }, - 'message should contain proper data': function (result) { - checkMessages(result); - } - }, - 'transport no-options config': { - topic: function () { - var setup = setupLogging('transport no-options config', { - recipients: 'recipient@domain.com', - transport: { - plugin: 'sendmail' - } - }); - setup.logger.info('Log event #1'); - return setup; - }, - 'there should be one message only': function (result) { - assert.equal(result.results.length, 1); - }, - 'message should contain proper data': function (result) { - checkMessages(result); - } - }, - 'transport no-plugin config': { - topic: function () { - var setup = setupLogging('transport no-plugin config', { - recipients: 'recipient@domain.com', - transport: { - } - }); - setup.logger.info('Log event #1'); - return setup; - }, - 'there should be one message only': function (result) { - assert.equal(result.results.length, 1); - }, - 'message should contain proper data': function (result) { - checkMessages(result); - } - }, - 'attachment config': { - topic: function () { - var setup = setupLogging('attachment config', { - recipients: 'recipient@domain.com', - attachment: { - enable: true - }, - SMTP: { - port: 25, - auth: { - user: 'user@domain.com' - } - } - }); - setup.logger.info('Log event #1'); - return setup; - }, - 'message should contain proper data': function (result) { - assert.equal(result.results.length, 1); - assert.equal(result.results[0].attachments.length, 1); - var attachment = result.results[0].attachments[0]; - assert.equal(result.results[0].text, "See logs as attachment"); - assert.equal(attachment.filename, "default.log"); - assert.equal(attachment.contentType, "text/x-log"); - assert.ok(new RegExp('.+Log event #' + 1 + '\n$').test(attachment.content)); - } - } -}).export(module); diff --git a/node_modules/log4js/test/vows/subcategories-test.js b/node_modules/log4js/test/vows/subcategories-test.js deleted file mode 100644 index f34c36b..0000000 --- a/node_modules/log4js/test/vows/subcategories-test.js +++ /dev/null @@ -1,86 +0,0 @@ -"use strict"; -var assert = require('assert') -, vows = require('vows') -, sandbox = require('sandboxed-module') -, log4js = require('../../lib/log4js') -, levels = require('../../lib/levels'); - -vows.describe('subcategories').addBatch({ - 'loggers created after levels configuration is loaded': { - topic: function() { - - log4js.configure({ - "levels": { - "sub1": "WARN", - "sub1.sub11": "TRACE", - "sub1.sub11.sub111": "WARN", - "sub1.sub12": "INFO" - } - }, { reloadSecs: 30 }); - - return { - "sub1": log4js.getLogger('sub1'), // WARN - "sub11": log4js.getLogger('sub1.sub11'), // TRACE - "sub111": log4js.getLogger('sub1.sub11.sub111'), // WARN - "sub12": log4js.getLogger('sub1.sub12'), // INFO - - "sub13": log4js.getLogger('sub1.sub13'), // Inherits sub1: WARN - "sub112": log4js.getLogger('sub1.sub11.sub112'), // Inherits sub1.sub11: TRACE - "sub121": log4js.getLogger('sub1.sub12.sub121'), // Inherits sub12: INFO - "sub0": log4js.getLogger('sub0') // Not defined, not inherited: TRACE - }; - }, - 'check logger levels': function(loggers) { - assert.equal(loggers.sub1.level, levels.WARN); - assert.equal(loggers.sub11.level, levels.TRACE); - assert.equal(loggers.sub111.level, levels.WARN); - assert.equal(loggers.sub12.level, levels.INFO); - - assert.equal(loggers.sub13.level, levels.WARN); - assert.equal(loggers.sub112.level, levels.TRACE); - assert.equal(loggers.sub121.level, levels.INFO); - assert.equal(loggers.sub0.level, levels.TRACE); - } - }, - 'loggers created before levels configuration is loaded': { - topic: function() { - - var loggers = { - "sub1": log4js.getLogger('sub1'), // WARN - "sub11": log4js.getLogger('sub1.sub11'), // TRACE - "sub111": log4js.getLogger('sub1.sub11.sub111'), // WARN - "sub12": log4js.getLogger('sub1.sub12'), // INFO - - "sub13": log4js.getLogger('sub1.sub13'), // Inherits sub1: WARN - "sub112": log4js.getLogger('sub1.sub11.sub112'), // Inherits sub1.sub11: TRACE - "sub121": log4js.getLogger('sub1.sub12.sub121'), // Inherits sub12: INFO - "sub0": log4js.getLogger('sub0') // Not defined, not inherited: TRACE - }; - - - log4js.configure({ - "levels": { - "sub1": "WARN", - "sub1.sub11": "TRACE", - "sub1.sub11.sub111": "WARN", - "sub1.sub12": "INFO" - } - }, { reloadSecs: 30 }); - - return loggers; - - - }, - 'check logger levels': function(loggers) { - assert.equal(loggers.sub1.level, levels.WARN); - assert.equal(loggers.sub11.level, levels.TRACE); - assert.equal(loggers.sub111.level, levels.WARN); - assert.equal(loggers.sub12.level, levels.INFO); - - assert.equal(loggers.sub13.level, levels.WARN); - assert.equal(loggers.sub112.level, levels.TRACE); - assert.equal(loggers.sub121.level, levels.INFO); - assert.equal(loggers.sub0.level, levels.TRACE); - } - } -}).exportTo(module); diff --git a/node_modules/log4js/test/vows/with-categoryFilter.json b/node_modules/log4js/test/vows/with-categoryFilter.json deleted file mode 100644 index 5cde0c6..0000000 --- a/node_modules/log4js/test/vows/with-categoryFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "appenders": [ - { - "type": "categoryFilter", - "exclude": "web", - "appender": { - "type": "file", - "filename": "test/vows/categoryFilter-noweb.log", - "layout": { - "type": "messagePassThrough" - } - } - }, - { - "category": "web", - "type": "file", - "filename": "test/vows/categoryFilter-web.log", - "layout": { - "type": "messagePassThrough" - } - } - ] -} diff --git a/node_modules/log4js/test/vows/with-dateFile.json b/node_modules/log4js/test/vows/with-dateFile.json deleted file mode 100644 index 4cc4381..0000000 --- a/node_modules/log4js/test/vows/with-dateFile.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "appenders": [ - { - "category": "tests", - "type": "dateFile", - "filename": "test/vows/date-file-test.log", - "pattern": "-from-MM-dd", - "layout": { - "type": "messagePassThrough" - } - } - ], - - "levels": { - "tests": "WARN" - } -} diff --git a/node_modules/log4js/test/vows/with-log-rolling.json b/node_modules/log4js/test/vows/with-log-rolling.json deleted file mode 100644 index e946f31..0000000 --- a/node_modules/log4js/test/vows/with-log-rolling.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "appenders": [ - { - "type": "file", - "filename": "tmp-test.log", - "maxLogSize": 1024, - "backups": 3 - } - ] -} diff --git a/node_modules/log4js/test/vows/with-logLevelFilter.json b/node_modules/log4js/test/vows/with-logLevelFilter.json deleted file mode 100644 index c80367d..0000000 --- a/node_modules/log4js/test/vows/with-logLevelFilter.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "appenders": [ - { - "category": "tests", - "type": "logLevelFilter", - "level": "WARN", - "appender": { - "type": "file", - "filename": "test/vows/logLevelFilter-warnings.log", - "layout": { - "type": "messagePassThrough" - } - } - }, - { - "category": "tests", - "type": "logLevelFilter", - "level": "TRACE", - "maxLevel": "DEBUG", - "appender": { - "type": "file", - "filename": "test/vows/logLevelFilter-debugs.log", - "layout": { - "type": "messagePassThrough" - } - } - }, - { - "category": "tests", - "type": "file", - "filename": "test/vows/logLevelFilter.log", - "layout": { - "type": "messagePassThrough" - } - } - ], - - "levels": { - "tests": "TRACE" - } -} diff --git a/node_modules/minimist/.travis.yml b/node_modules/minimist/.travis.yml deleted file mode 100644 index 74c57bf..0000000 --- a/node_modules/minimist/.travis.yml +++ /dev/null @@ -1,8 +0,0 @@ -language: node_js -node_js: - - "0.8" - - "0.10" - - "0.12" - - "iojs" -before_install: - - npm install -g npm@~1.4.6 diff --git a/node_modules/minimist/LICENSE b/node_modules/minimist/LICENSE deleted file mode 100644 index ee27ba4..0000000 --- a/node_modules/minimist/LICENSE +++ /dev/null @@ -1,18 +0,0 @@ -This software is released under the MIT license: - -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. diff --git a/node_modules/minimist/example/parse.js b/node_modules/minimist/example/parse.js deleted file mode 100644 index abff3e8..0000000 --- a/node_modules/minimist/example/parse.js +++ /dev/null @@ -1,2 +0,0 @@ -var argv = require('../')(process.argv.slice(2)); -console.dir(argv); diff --git a/node_modules/minimist/index.js b/node_modules/minimist/index.js deleted file mode 100644 index 6a0559d..0000000 --- a/node_modules/minimist/index.js +++ /dev/null @@ -1,236 +0,0 @@ -module.exports = function (args, opts) { - if (!opts) opts = {}; - - var flags = { bools : {}, strings : {}, unknownFn: null }; - - if (typeof opts['unknown'] === 'function') { - flags.unknownFn = opts['unknown']; - } - - if (typeof opts['boolean'] === 'boolean' && opts['boolean']) { - flags.allBools = true; - } else { - [].concat(opts['boolean']).filter(Boolean).forEach(function (key) { - flags.bools[key] = true; - }); - } - - var aliases = {}; - Object.keys(opts.alias || {}).forEach(function (key) { - aliases[key] = [].concat(opts.alias[key]); - aliases[key].forEach(function (x) { - aliases[x] = [key].concat(aliases[key].filter(function (y) { - return x !== y; - })); - }); - }); - - [].concat(opts.string).filter(Boolean).forEach(function (key) { - flags.strings[key] = true; - if (aliases[key]) { - flags.strings[aliases[key]] = true; - } - }); - - var defaults = opts['default'] || {}; - - var argv = { _ : [] }; - Object.keys(flags.bools).forEach(function (key) { - setArg(key, defaults[key] === undefined ? false : defaults[key]); - }); - - var notFlags = []; - - if (args.indexOf('--') !== -1) { - notFlags = args.slice(args.indexOf('--')+1); - args = args.slice(0, args.indexOf('--')); - } - - function argDefined(key, arg) { - return (flags.allBools && /^--[^=]+$/.test(arg)) || - flags.strings[key] || flags.bools[key] || aliases[key]; - } - - function setArg (key, val, arg) { - if (arg && flags.unknownFn && !argDefined(key, arg)) { - if (flags.unknownFn(arg) === false) return; - } - - var value = !flags.strings[key] && isNumber(val) - ? Number(val) : val - ; - setKey(argv, key.split('.'), value); - - (aliases[key] || []).forEach(function (x) { - setKey(argv, x.split('.'), value); - }); - } - - function setKey (obj, keys, value) { - var o = obj; - keys.slice(0,-1).forEach(function (key) { - if (o[key] === undefined) o[key] = {}; - o = o[key]; - }); - - var key = keys[keys.length - 1]; - if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') { - o[key] = value; - } - else if (Array.isArray(o[key])) { - o[key].push(value); - } - else { - o[key] = [ o[key], value ]; - } - } - - function aliasIsBoolean(key) { - return aliases[key].some(function (x) { - return flags.bools[x]; - }); - } - - for (var i = 0; i < args.length; i++) { - var arg = args[i]; - - if (/^--.+=/.test(arg)) { - // Using [\s\S] instead of . because js doesn't support the - // 'dotall' regex modifier. See: - // http://stackoverflow.com/a/1068308/13216 - var m = arg.match(/^--([^=]+)=([\s\S]*)$/); - var key = m[1]; - var value = m[2]; - if (flags.bools[key]) { - value = value !== 'false'; - } - setArg(key, value, arg); - } - else if (/^--no-.+/.test(arg)) { - var key = arg.match(/^--no-(.+)/)[1]; - setArg(key, false, arg); - } - else if (/^--.+/.test(arg)) { - var key = arg.match(/^--(.+)/)[1]; - var next = args[i + 1]; - if (next !== undefined && !/^-/.test(next) - && !flags.bools[key] - && !flags.allBools - && (aliases[key] ? !aliasIsBoolean(key) : true)) { - setArg(key, next, arg); - i++; - } - else if (/^(true|false)$/.test(next)) { - setArg(key, next === 'true', arg); - i++; - } - else { - setArg(key, flags.strings[key] ? '' : true, arg); - } - } - else if (/^-[^-]+/.test(arg)) { - var letters = arg.slice(1,-1).split(''); - - var broken = false; - for (var j = 0; j < letters.length; j++) { - var next = arg.slice(j+2); - - if (next === '-') { - setArg(letters[j], next, arg) - continue; - } - - if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) { - setArg(letters[j], next.split('=')[1], arg); - broken = true; - break; - } - - if (/[A-Za-z]/.test(letters[j]) - && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) { - setArg(letters[j], next, arg); - broken = true; - break; - } - - if (letters[j+1] && letters[j+1].match(/\W/)) { - setArg(letters[j], arg.slice(j+2), arg); - broken = true; - break; - } - else { - setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg); - } - } - - var key = arg.slice(-1)[0]; - if (!broken && key !== '-') { - if (args[i+1] && !/^(-|--)[^-]/.test(args[i+1]) - && !flags.bools[key] - && (aliases[key] ? !aliasIsBoolean(key) : true)) { - setArg(key, args[i+1], arg); - i++; - } - else if (args[i+1] && /true|false/.test(args[i+1])) { - setArg(key, args[i+1] === 'true', arg); - i++; - } - else { - setArg(key, flags.strings[key] ? '' : true, arg); - } - } - } - else { - if (!flags.unknownFn || flags.unknownFn(arg) !== false) { - argv._.push( - flags.strings['_'] || !isNumber(arg) ? arg : Number(arg) - ); - } - if (opts.stopEarly) { - argv._.push.apply(argv._, args.slice(i + 1)); - break; - } - } - } - - Object.keys(defaults).forEach(function (key) { - if (!hasKey(argv, key.split('.'))) { - setKey(argv, key.split('.'), defaults[key]); - - (aliases[key] || []).forEach(function (x) { - setKey(argv, x.split('.'), defaults[key]); - }); - } - }); - - if (opts['--']) { - argv['--'] = new Array(); - notFlags.forEach(function(key) { - argv['--'].push(key); - }); - } - else { - notFlags.forEach(function(key) { - argv._.push(key); - }); - } - - return argv; -}; - -function hasKey (obj, keys) { - var o = obj; - keys.slice(0,-1).forEach(function (key) { - o = (o[key] || {}); - }); - - var key = keys[keys.length - 1]; - return key in o; -} - -function isNumber (x) { - if (typeof x === 'number') return true; - if (/^0x[0-9a-f]+$/i.test(x)) return true; - return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x); -} - diff --git a/node_modules/minimist/package.json b/node_modules/minimist/package.json deleted file mode 100644 index 060eacd..0000000 --- a/node_modules/minimist/package.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "minimist@^1.2.0", - "scope": null, - "escapedName": "minimist", - "name": "minimist", - "rawSpec": "^1.2.0", - "spec": ">=1.2.0 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install" - ] - ], - "_from": "minimist@>=1.2.0 <2.0.0", - "_id": "minimist@1.2.0", - "_inCache": true, - "_installable": true, - "_location": "/minimist", - "_nodeVersion": "2.4.0", - "_npmUser": { - "name": "substack", - "email": "substack@gmail.com" - }, - "_npmVersion": "3.2.2", - "_phantomChildren": {}, - "_requested": { - "raw": "minimist@^1.2.0", - "scope": null, - "escapedName": "minimist", - "name": "minimist", - "rawSpec": "^1.2.0", - "spec": ">=1.2.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/prebuild-install", - "/rc" - ], - "_resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "_shasum": "a35008b20f41383eec1fb914f4cd5df79a264284", - "_shrinkwrap": null, - "_spec": "minimist@^1.2.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install", - "author": { - "name": "James Halliday", - "email": "mail@substack.net", - "url": "http://substack.net" - }, - "bugs": { - "url": "https://github.com/substack/minimist/issues" - }, - "dependencies": {}, - "description": "parse argument options", - "devDependencies": { - "covert": "^1.0.0", - "tap": "~0.4.0", - "tape": "^3.5.0" - }, - "directories": {}, - "dist": { - "shasum": "a35008b20f41383eec1fb914f4cd5df79a264284", - "tarball": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" - }, - "gitHead": "dc624482fcfec5bc669c68cdb861f00573ed4e64", - "homepage": "https://github.com/substack/minimist", - "keywords": [ - "argv", - "getopt", - "parser", - "optimist" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "substack", - "email": "mail@substack.net" - } - ], - "name": "minimist", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/substack/minimist.git" - }, - "scripts": { - "coverage": "covert test/*.js", - "test": "tap test/*.js" - }, - "testling": { - "files": "test/*.js", - "browsers": [ - "ie/6..latest", - "ff/5", - "firefox/latest", - "chrome/10", - "chrome/latest", - "safari/5.1", - "safari/latest", - "opera/12" - ] - }, - "version": "1.2.0" -} diff --git a/node_modules/minimist/readme.markdown b/node_modules/minimist/readme.markdown deleted file mode 100644 index 30a74cf..0000000 --- a/node_modules/minimist/readme.markdown +++ /dev/null @@ -1,91 +0,0 @@ -# minimist - -parse argument options - -This module is the guts of optimist's argument parser without all the -fanciful decoration. - -[![browser support](https://ci.testling.com/substack/minimist.png)](http://ci.testling.com/substack/minimist) - -[![build status](https://secure.travis-ci.org/substack/minimist.png)](http://travis-ci.org/substack/minimist) - -# example - -``` js -var argv = require('minimist')(process.argv.slice(2)); -console.dir(argv); -``` - -``` -$ node example/parse.js -a beep -b boop -{ _: [], a: 'beep', b: 'boop' } -``` - -``` -$ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz -{ _: [ 'foo', 'bar', 'baz' ], - x: 3, - y: 4, - n: 5, - a: true, - b: true, - c: true, - beep: 'boop' } -``` - -# methods - -``` js -var parseArgs = require('minimist') -``` - -## var argv = parseArgs(args, opts={}) - -Return an argument object `argv` populated with the array arguments from `args`. - -`argv._` contains all the arguments that didn't have an option associated with -them. - -Numeric-looking arguments will be returned as numbers unless `opts.string` or -`opts.boolean` is set for that argument name. - -Any arguments after `'--'` will not be parsed and will end up in `argv._`. - -options can be: - -* `opts.string` - a string or array of strings argument names to always treat as -strings -* `opts.boolean` - a boolean, string or array of strings to always treat as -booleans. if `true` will treat all double hyphenated arguments without equal signs -as boolean (e.g. affects `--foo`, not `-f` or `--foo=bar`) -* `opts.alias` - an object mapping string names to strings or arrays of string -argument names to use as aliases -* `opts.default` - an object mapping string argument names to default values -* `opts.stopEarly` - when true, populate `argv._` with everything after the -first non-option -* `opts['--']` - when true, populate `argv._` with everything before the `--` -and `argv['--']` with everything after the `--`. Here's an example: -* `opts.unknown` - a function which is invoked with a command line parameter not -defined in the `opts` configuration object. If the function returns `false`, the -unknown option is not added to `argv`. - -``` -> require('./')('one two three -- four five --six'.split(' '), { '--': true }) -{ _: [ 'one', 'two', 'three' ], - '--': [ 'four', 'five', '--six' ] } -``` - -Note that with `opts['--']` set, parsing for arguments still stops after the -`--`. - -# install - -With [npm](https://npmjs.org) do: - -``` -npm install minimist -``` - -# license - -MIT diff --git a/node_modules/minimist/test/all_bool.js b/node_modules/minimist/test/all_bool.js deleted file mode 100644 index ac83548..0000000 --- a/node_modules/minimist/test/all_bool.js +++ /dev/null @@ -1,32 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('flag boolean true (default all --args to boolean)', function (t) { - var argv = parse(['moo', '--honk', 'cow'], { - boolean: true - }); - - t.deepEqual(argv, { - honk: true, - _: ['moo', 'cow'] - }); - - t.deepEqual(typeof argv.honk, 'boolean'); - t.end(); -}); - -test('flag boolean true only affects double hyphen arguments without equals signs', function (t) { - var argv = parse(['moo', '--honk', 'cow', '-p', '55', '--tacos=good'], { - boolean: true - }); - - t.deepEqual(argv, { - honk: true, - tacos: 'good', - p: 55, - _: ['moo', 'cow'] - }); - - t.deepEqual(typeof argv.honk, 'boolean'); - t.end(); -}); diff --git a/node_modules/minimist/test/bool.js b/node_modules/minimist/test/bool.js deleted file mode 100644 index 14b0717..0000000 --- a/node_modules/minimist/test/bool.js +++ /dev/null @@ -1,166 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('flag boolean default false', function (t) { - var argv = parse(['moo'], { - boolean: ['t', 'verbose'], - default: { verbose: false, t: false } - }); - - t.deepEqual(argv, { - verbose: false, - t: false, - _: ['moo'] - }); - - t.deepEqual(typeof argv.verbose, 'boolean'); - t.deepEqual(typeof argv.t, 'boolean'); - t.end(); - -}); - -test('boolean groups', function (t) { - var argv = parse([ '-x', '-z', 'one', 'two', 'three' ], { - boolean: ['x','y','z'] - }); - - t.deepEqual(argv, { - x : true, - y : false, - z : true, - _ : [ 'one', 'two', 'three' ] - }); - - t.deepEqual(typeof argv.x, 'boolean'); - t.deepEqual(typeof argv.y, 'boolean'); - t.deepEqual(typeof argv.z, 'boolean'); - t.end(); -}); -test('boolean and alias with chainable api', function (t) { - var aliased = [ '-h', 'derp' ]; - var regular = [ '--herp', 'derp' ]; - var opts = { - herp: { alias: 'h', boolean: true } - }; - var aliasedArgv = parse(aliased, { - boolean: 'herp', - alias: { h: 'herp' } - }); - var propertyArgv = parse(regular, { - boolean: 'herp', - alias: { h: 'herp' } - }); - var expected = { - herp: true, - h: true, - '_': [ 'derp' ] - }; - - t.same(aliasedArgv, expected); - t.same(propertyArgv, expected); - t.end(); -}); - -test('boolean and alias with options hash', function (t) { - var aliased = [ '-h', 'derp' ]; - var regular = [ '--herp', 'derp' ]; - var opts = { - alias: { 'h': 'herp' }, - boolean: 'herp' - }; - var aliasedArgv = parse(aliased, opts); - var propertyArgv = parse(regular, opts); - var expected = { - herp: true, - h: true, - '_': [ 'derp' ] - }; - t.same(aliasedArgv, expected); - t.same(propertyArgv, expected); - t.end(); -}); - -test('boolean and alias array with options hash', function (t) { - var aliased = [ '-h', 'derp' ]; - var regular = [ '--herp', 'derp' ]; - var alt = [ '--harp', 'derp' ]; - var opts = { - alias: { 'h': ['herp', 'harp'] }, - boolean: 'h' - }; - var aliasedArgv = parse(aliased, opts); - var propertyArgv = parse(regular, opts); - var altPropertyArgv = parse(alt, opts); - var expected = { - harp: true, - herp: true, - h: true, - '_': [ 'derp' ] - }; - t.same(aliasedArgv, expected); - t.same(propertyArgv, expected); - t.same(altPropertyArgv, expected); - t.end(); -}); - -test('boolean and alias using explicit true', function (t) { - var aliased = [ '-h', 'true' ]; - var regular = [ '--herp', 'true' ]; - var opts = { - alias: { h: 'herp' }, - boolean: 'h' - }; - var aliasedArgv = parse(aliased, opts); - var propertyArgv = parse(regular, opts); - var expected = { - herp: true, - h: true, - '_': [ ] - }; - - t.same(aliasedArgv, expected); - t.same(propertyArgv, expected); - t.end(); -}); - -// regression, see https://github.com/substack/node-optimist/issues/71 -test('boolean and --x=true', function(t) { - var parsed = parse(['--boool', '--other=true'], { - boolean: 'boool' - }); - - t.same(parsed.boool, true); - t.same(parsed.other, 'true'); - - parsed = parse(['--boool', '--other=false'], { - boolean: 'boool' - }); - - t.same(parsed.boool, true); - t.same(parsed.other, 'false'); - t.end(); -}); - -test('boolean --boool=true', function (t) { - var parsed = parse(['--boool=true'], { - default: { - boool: false - }, - boolean: ['boool'] - }); - - t.same(parsed.boool, true); - t.end(); -}); - -test('boolean --boool=false', function (t) { - var parsed = parse(['--boool=false'], { - default: { - boool: true - }, - boolean: ['boool'] - }); - - t.same(parsed.boool, false); - t.end(); -}); diff --git a/node_modules/minimist/test/dash.js b/node_modules/minimist/test/dash.js deleted file mode 100644 index 5a4fa5b..0000000 --- a/node_modules/minimist/test/dash.js +++ /dev/null @@ -1,31 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('-', function (t) { - t.plan(5); - t.deepEqual(parse([ '-n', '-' ]), { n: '-', _: [] }); - t.deepEqual(parse([ '-' ]), { _: [ '-' ] }); - t.deepEqual(parse([ '-f-' ]), { f: '-', _: [] }); - t.deepEqual( - parse([ '-b', '-' ], { boolean: 'b' }), - { b: true, _: [ '-' ] } - ); - t.deepEqual( - parse([ '-s', '-' ], { string: 's' }), - { s: '-', _: [] } - ); -}); - -test('-a -- b', function (t) { - t.plan(3); - t.deepEqual(parse([ '-a', '--', 'b' ]), { a: true, _: [ 'b' ] }); - t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); - t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); -}); - -test('move arguments after the -- into their own `--` array', function(t) { - t.plan(1); - t.deepEqual( - parse([ '--name', 'John', 'before', '--', 'after' ], { '--': true }), - { name: 'John', _: [ 'before' ], '--': [ 'after' ] }); -}); diff --git a/node_modules/minimist/test/default_bool.js b/node_modules/minimist/test/default_bool.js deleted file mode 100644 index 780a311..0000000 --- a/node_modules/minimist/test/default_bool.js +++ /dev/null @@ -1,35 +0,0 @@ -var test = require('tape'); -var parse = require('../'); - -test('boolean default true', function (t) { - var argv = parse([], { - boolean: 'sometrue', - default: { sometrue: true } - }); - t.equal(argv.sometrue, true); - t.end(); -}); - -test('boolean default false', function (t) { - var argv = parse([], { - boolean: 'somefalse', - default: { somefalse: false } - }); - t.equal(argv.somefalse, false); - t.end(); -}); - -test('boolean default to null', function (t) { - var argv = parse([], { - boolean: 'maybe', - default: { maybe: null } - }); - t.equal(argv.maybe, null); - var argv = parse(['--maybe'], { - boolean: 'maybe', - default: { maybe: null } - }); - t.equal(argv.maybe, true); - t.end(); - -}) diff --git a/node_modules/minimist/test/dotted.js b/node_modules/minimist/test/dotted.js deleted file mode 100644 index d8b3e85..0000000 --- a/node_modules/minimist/test/dotted.js +++ /dev/null @@ -1,22 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('dotted alias', function (t) { - var argv = parse(['--a.b', '22'], {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); - t.equal(argv.a.b, 22); - t.equal(argv.aa.bb, 22); - t.end(); -}); - -test('dotted default', function (t) { - var argv = parse('', {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); - t.equal(argv.a.b, 11); - t.equal(argv.aa.bb, 11); - t.end(); -}); - -test('dotted default with no alias', function (t) { - var argv = parse('', {default: {'a.b': 11}}); - t.equal(argv.a.b, 11); - t.end(); -}); diff --git a/node_modules/minimist/test/kv_short.js b/node_modules/minimist/test/kv_short.js deleted file mode 100644 index f813b30..0000000 --- a/node_modules/minimist/test/kv_short.js +++ /dev/null @@ -1,16 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('short -k=v' , function (t) { - t.plan(1); - - var argv = parse([ '-b=123' ]); - t.deepEqual(argv, { b: 123, _: [] }); -}); - -test('multi short -k=v' , function (t) { - t.plan(1); - - var argv = parse([ '-a=whatever', '-b=robots' ]); - t.deepEqual(argv, { a: 'whatever', b: 'robots', _: [] }); -}); diff --git a/node_modules/minimist/test/long.js b/node_modules/minimist/test/long.js deleted file mode 100644 index 5d3a1e0..0000000 --- a/node_modules/minimist/test/long.js +++ /dev/null @@ -1,31 +0,0 @@ -var test = require('tape'); -var parse = require('../'); - -test('long opts', function (t) { - t.deepEqual( - parse([ '--bool' ]), - { bool : true, _ : [] }, - 'long boolean' - ); - t.deepEqual( - parse([ '--pow', 'xixxle' ]), - { pow : 'xixxle', _ : [] }, - 'long capture sp' - ); - t.deepEqual( - parse([ '--pow=xixxle' ]), - { pow : 'xixxle', _ : [] }, - 'long capture eq' - ); - t.deepEqual( - parse([ '--host', 'localhost', '--port', '555' ]), - { host : 'localhost', port : 555, _ : [] }, - 'long captures sp' - ); - t.deepEqual( - parse([ '--host=localhost', '--port=555' ]), - { host : 'localhost', port : 555, _ : [] }, - 'long captures eq' - ); - t.end(); -}); diff --git a/node_modules/minimist/test/num.js b/node_modules/minimist/test/num.js deleted file mode 100644 index 2cc77f4..0000000 --- a/node_modules/minimist/test/num.js +++ /dev/null @@ -1,36 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('nums', function (t) { - var argv = parse([ - '-x', '1234', - '-y', '5.67', - '-z', '1e7', - '-w', '10f', - '--hex', '0xdeadbeef', - '789' - ]); - t.deepEqual(argv, { - x : 1234, - y : 5.67, - z : 1e7, - w : '10f', - hex : 0xdeadbeef, - _ : [ 789 ] - }); - t.deepEqual(typeof argv.x, 'number'); - t.deepEqual(typeof argv.y, 'number'); - t.deepEqual(typeof argv.z, 'number'); - t.deepEqual(typeof argv.w, 'string'); - t.deepEqual(typeof argv.hex, 'number'); - t.deepEqual(typeof argv._[0], 'number'); - t.end(); -}); - -test('already a number', function (t) { - var argv = parse([ '-x', 1234, 789 ]); - t.deepEqual(argv, { x : 1234, _ : [ 789 ] }); - t.deepEqual(typeof argv.x, 'number'); - t.deepEqual(typeof argv._[0], 'number'); - t.end(); -}); diff --git a/node_modules/minimist/test/parse.js b/node_modules/minimist/test/parse.js deleted file mode 100644 index 7b4a2a1..0000000 --- a/node_modules/minimist/test/parse.js +++ /dev/null @@ -1,197 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('parse args', function (t) { - t.deepEqual( - parse([ '--no-moo' ]), - { moo : false, _ : [] }, - 'no' - ); - t.deepEqual( - parse([ '-v', 'a', '-v', 'b', '-v', 'c' ]), - { v : ['a','b','c'], _ : [] }, - 'multi' - ); - t.end(); -}); - -test('comprehensive', function (t) { - t.deepEqual( - parse([ - '--name=meowmers', 'bare', '-cats', 'woo', - '-h', 'awesome', '--multi=quux', - '--key', 'value', - '-b', '--bool', '--no-meep', '--multi=baz', - '--', '--not-a-flag', 'eek' - ]), - { - c : true, - a : true, - t : true, - s : 'woo', - h : 'awesome', - b : true, - bool : true, - key : 'value', - multi : [ 'quux', 'baz' ], - meep : false, - name : 'meowmers', - _ : [ 'bare', '--not-a-flag', 'eek' ] - } - ); - t.end(); -}); - -test('flag boolean', function (t) { - var argv = parse([ '-t', 'moo' ], { boolean: 't' }); - t.deepEqual(argv, { t : true, _ : [ 'moo' ] }); - t.deepEqual(typeof argv.t, 'boolean'); - t.end(); -}); - -test('flag boolean value', function (t) { - var argv = parse(['--verbose', 'false', 'moo', '-t', 'true'], { - boolean: [ 't', 'verbose' ], - default: { verbose: true } - }); - - t.deepEqual(argv, { - verbose: false, - t: true, - _: ['moo'] - }); - - t.deepEqual(typeof argv.verbose, 'boolean'); - t.deepEqual(typeof argv.t, 'boolean'); - t.end(); -}); - -test('newlines in params' , function (t) { - var args = parse([ '-s', "X\nX" ]) - t.deepEqual(args, { _ : [], s : "X\nX" }); - - // reproduce in bash: - // VALUE="new - // line" - // node program.js --s="$VALUE" - args = parse([ "--s=X\nX" ]) - t.deepEqual(args, { _ : [], s : "X\nX" }); - t.end(); -}); - -test('strings' , function (t) { - var s = parse([ '-s', '0001234' ], { string: 's' }).s; - t.equal(s, '0001234'); - t.equal(typeof s, 'string'); - - var x = parse([ '-x', '56' ], { string: 'x' }).x; - t.equal(x, '56'); - t.equal(typeof x, 'string'); - t.end(); -}); - -test('stringArgs', function (t) { - var s = parse([ ' ', ' ' ], { string: '_' })._; - t.same(s.length, 2); - t.same(typeof s[0], 'string'); - t.same(s[0], ' '); - t.same(typeof s[1], 'string'); - t.same(s[1], ' '); - t.end(); -}); - -test('empty strings', function(t) { - var s = parse([ '-s' ], { string: 's' }).s; - t.equal(s, ''); - t.equal(typeof s, 'string'); - - var str = parse([ '--str' ], { string: 'str' }).str; - t.equal(str, ''); - t.equal(typeof str, 'string'); - - var letters = parse([ '-art' ], { - string: [ 'a', 't' ] - }); - - t.equal(letters.a, ''); - t.equal(letters.r, true); - t.equal(letters.t, ''); - - t.end(); -}); - - -test('string and alias', function(t) { - var x = parse([ '--str', '000123' ], { - string: 's', - alias: { s: 'str' } - }); - - t.equal(x.str, '000123'); - t.equal(typeof x.str, 'string'); - t.equal(x.s, '000123'); - t.equal(typeof x.s, 'string'); - - var y = parse([ '-s', '000123' ], { - string: 'str', - alias: { str: 's' } - }); - - t.equal(y.str, '000123'); - t.equal(typeof y.str, 'string'); - t.equal(y.s, '000123'); - t.equal(typeof y.s, 'string'); - t.end(); -}); - -test('slashBreak', function (t) { - t.same( - parse([ '-I/foo/bar/baz' ]), - { I : '/foo/bar/baz', _ : [] } - ); - t.same( - parse([ '-xyz/foo/bar/baz' ]), - { x : true, y : true, z : '/foo/bar/baz', _ : [] } - ); - t.end(); -}); - -test('alias', function (t) { - var argv = parse([ '-f', '11', '--zoom', '55' ], { - alias: { z: 'zoom' } - }); - t.equal(argv.zoom, 55); - t.equal(argv.z, argv.zoom); - t.equal(argv.f, 11); - t.end(); -}); - -test('multiAlias', function (t) { - var argv = parse([ '-f', '11', '--zoom', '55' ], { - alias: { z: [ 'zm', 'zoom' ] } - }); - t.equal(argv.zoom, 55); - t.equal(argv.z, argv.zoom); - t.equal(argv.z, argv.zm); - t.equal(argv.f, 11); - t.end(); -}); - -test('nested dotted objects', function (t) { - var argv = parse([ - '--foo.bar', '3', '--foo.baz', '4', - '--foo.quux.quibble', '5', '--foo.quux.o_O', - '--beep.boop' - ]); - - t.same(argv.foo, { - bar : 3, - baz : 4, - quux : { - quibble : 5, - o_O : true - } - }); - t.same(argv.beep, { boop : true }); - t.end(); -}); diff --git a/node_modules/minimist/test/parse_modified.js b/node_modules/minimist/test/parse_modified.js deleted file mode 100644 index ab620dc..0000000 --- a/node_modules/minimist/test/parse_modified.js +++ /dev/null @@ -1,9 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('parse with modifier functions' , function (t) { - t.plan(1); - - var argv = parse([ '-b', '123' ], { boolean: 'b' }); - t.deepEqual(argv, { b: true, _: [123] }); -}); diff --git a/node_modules/minimist/test/short.js b/node_modules/minimist/test/short.js deleted file mode 100644 index d513a1c..0000000 --- a/node_modules/minimist/test/short.js +++ /dev/null @@ -1,67 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('numeric short args', function (t) { - t.plan(2); - t.deepEqual(parse([ '-n123' ]), { n: 123, _: [] }); - t.deepEqual( - parse([ '-123', '456' ]), - { 1: true, 2: true, 3: 456, _: [] } - ); -}); - -test('short', function (t) { - t.deepEqual( - parse([ '-b' ]), - { b : true, _ : [] }, - 'short boolean' - ); - t.deepEqual( - parse([ 'foo', 'bar', 'baz' ]), - { _ : [ 'foo', 'bar', 'baz' ] }, - 'bare' - ); - t.deepEqual( - parse([ '-cats' ]), - { c : true, a : true, t : true, s : true, _ : [] }, - 'group' - ); - t.deepEqual( - parse([ '-cats', 'meow' ]), - { c : true, a : true, t : true, s : 'meow', _ : [] }, - 'short group next' - ); - t.deepEqual( - parse([ '-h', 'localhost' ]), - { h : 'localhost', _ : [] }, - 'short capture' - ); - t.deepEqual( - parse([ '-h', 'localhost', '-p', '555' ]), - { h : 'localhost', p : 555, _ : [] }, - 'short captures' - ); - t.end(); -}); - -test('mixed short bool and capture', function (t) { - t.same( - parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), - { - f : true, p : 555, h : 'localhost', - _ : [ 'script.js' ] - } - ); - t.end(); -}); - -test('short and long', function (t) { - t.deepEqual( - parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), - { - f : true, p : 555, h : 'localhost', - _ : [ 'script.js' ] - } - ); - t.end(); -}); diff --git a/node_modules/minimist/test/stop_early.js b/node_modules/minimist/test/stop_early.js deleted file mode 100644 index bdf9fbc..0000000 --- a/node_modules/minimist/test/stop_early.js +++ /dev/null @@ -1,15 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('stops parsing on the first non-option when stopEarly is set', function (t) { - var argv = parse(['--aaa', 'bbb', 'ccc', '--ddd'], { - stopEarly: true - }); - - t.deepEqual(argv, { - aaa: 'bbb', - _: ['ccc', '--ddd'] - }); - - t.end(); -}); diff --git a/node_modules/minimist/test/unknown.js b/node_modules/minimist/test/unknown.js deleted file mode 100644 index 462a36b..0000000 --- a/node_modules/minimist/test/unknown.js +++ /dev/null @@ -1,102 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('boolean and alias is not unknown', function (t) { - var unknown = []; - function unknownFn(arg) { - unknown.push(arg); - return false; - } - var aliased = [ '-h', 'true', '--derp', 'true' ]; - var regular = [ '--herp', 'true', '-d', 'true' ]; - var opts = { - alias: { h: 'herp' }, - boolean: 'h', - unknown: unknownFn - }; - var aliasedArgv = parse(aliased, opts); - var propertyArgv = parse(regular, opts); - - t.same(unknown, ['--derp', '-d']); - t.end(); -}); - -test('flag boolean true any double hyphen argument is not unknown', function (t) { - var unknown = []; - function unknownFn(arg) { - unknown.push(arg); - return false; - } - var argv = parse(['--honk', '--tacos=good', 'cow', '-p', '55'], { - boolean: true, - unknown: unknownFn - }); - t.same(unknown, ['--tacos=good', 'cow', '-p']); - t.same(argv, { - honk: true, - _: [] - }); - t.end(); -}); - -test('string and alias is not unknown', function (t) { - var unknown = []; - function unknownFn(arg) { - unknown.push(arg); - return false; - } - var aliased = [ '-h', 'hello', '--derp', 'goodbye' ]; - var regular = [ '--herp', 'hello', '-d', 'moon' ]; - var opts = { - alias: { h: 'herp' }, - string: 'h', - unknown: unknownFn - }; - var aliasedArgv = parse(aliased, opts); - var propertyArgv = parse(regular, opts); - - t.same(unknown, ['--derp', '-d']); - t.end(); -}); - -test('default and alias is not unknown', function (t) { - var unknown = []; - function unknownFn(arg) { - unknown.push(arg); - return false; - } - var aliased = [ '-h', 'hello' ]; - var regular = [ '--herp', 'hello' ]; - var opts = { - default: { 'h': 'bar' }, - alias: { 'h': 'herp' }, - unknown: unknownFn - }; - var aliasedArgv = parse(aliased, opts); - var propertyArgv = parse(regular, opts); - - t.same(unknown, []); - t.end(); - unknownFn(); // exercise fn for 100% coverage -}); - -test('value following -- is not unknown', function (t) { - var unknown = []; - function unknownFn(arg) { - unknown.push(arg); - return false; - } - var aliased = [ '--bad', '--', 'good', 'arg' ]; - var opts = { - '--': true, - unknown: unknownFn - }; - var argv = parse(aliased, opts); - - t.same(unknown, ['--bad']); - t.same(argv, { - '--': ['good', 'arg'], - '_': [] - }) - t.end(); -}); diff --git a/node_modules/minimist/test/whitespace.js b/node_modules/minimist/test/whitespace.js deleted file mode 100644 index 8a52a58..0000000 --- a/node_modules/minimist/test/whitespace.js +++ /dev/null @@ -1,8 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('whitespace should be whitespace' , function (t) { - t.plan(1); - var x = parse([ '-x', '\t' ]).x; - t.equal(x, '\t'); -}); diff --git a/node_modules/mkdirp/.travis.yml b/node_modules/mkdirp/.travis.yml deleted file mode 100644 index 74c57bf..0000000 --- a/node_modules/mkdirp/.travis.yml +++ /dev/null @@ -1,8 +0,0 @@ -language: node_js -node_js: - - "0.8" - - "0.10" - - "0.12" - - "iojs" -before_install: - - npm install -g npm@~1.4.6 diff --git a/node_modules/mkdirp/LICENSE b/node_modules/mkdirp/LICENSE deleted file mode 100644 index 432d1ae..0000000 --- a/node_modules/mkdirp/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -Copyright 2010 James Halliday (mail@substack.net) - -This project is free software released under the MIT/X11 license: - -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. diff --git a/node_modules/mkdirp/bin/cmd.js b/node_modules/mkdirp/bin/cmd.js deleted file mode 100755 index d95de15..0000000 --- a/node_modules/mkdirp/bin/cmd.js +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env node - -var mkdirp = require('../'); -var minimist = require('minimist'); -var fs = require('fs'); - -var argv = minimist(process.argv.slice(2), { - alias: { m: 'mode', h: 'help' }, - string: [ 'mode' ] -}); -if (argv.help) { - fs.createReadStream(__dirname + '/usage.txt').pipe(process.stdout); - return; -} - -var paths = argv._.slice(); -var mode = argv.mode ? parseInt(argv.mode, 8) : undefined; - -(function next () { - if (paths.length === 0) return; - var p = paths.shift(); - - if (mode === undefined) mkdirp(p, cb) - else mkdirp(p, mode, cb) - - function cb (err) { - if (err) { - console.error(err.message); - process.exit(1); - } - else next(); - } -})(); diff --git a/node_modules/mkdirp/bin/usage.txt b/node_modules/mkdirp/bin/usage.txt deleted file mode 100644 index f952aa2..0000000 --- a/node_modules/mkdirp/bin/usage.txt +++ /dev/null @@ -1,12 +0,0 @@ -usage: mkdirp [DIR1,DIR2..] {OPTIONS} - - Create each supplied directory including any necessary parent directories that - don't yet exist. - - If the directory already exists, do nothing. - -OPTIONS are: - - -m, --mode If a directory needs to be created, set the mode as an octal - permission string. - diff --git a/node_modules/mkdirp/examples/pow.js b/node_modules/mkdirp/examples/pow.js deleted file mode 100644 index e692421..0000000 --- a/node_modules/mkdirp/examples/pow.js +++ /dev/null @@ -1,6 +0,0 @@ -var mkdirp = require('mkdirp'); - -mkdirp('/tmp/foo/bar/baz', function (err) { - if (err) console.error(err) - else console.log('pow!') -}); diff --git a/node_modules/mkdirp/index.js b/node_modules/mkdirp/index.js deleted file mode 100644 index 6ce241b..0000000 --- a/node_modules/mkdirp/index.js +++ /dev/null @@ -1,98 +0,0 @@ -var path = require('path'); -var fs = require('fs'); -var _0777 = parseInt('0777', 8); - -module.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP; - -function mkdirP (p, opts, f, made) { - if (typeof opts === 'function') { - f = opts; - opts = {}; - } - else if (!opts || typeof opts !== 'object') { - opts = { mode: opts }; - } - - var mode = opts.mode; - var xfs = opts.fs || fs; - - if (mode === undefined) { - mode = _0777 & (~process.umask()); - } - if (!made) made = null; - - var cb = f || function () {}; - p = path.resolve(p); - - xfs.mkdir(p, mode, function (er) { - if (!er) { - made = made || p; - return cb(null, made); - } - switch (er.code) { - case 'ENOENT': - mkdirP(path.dirname(p), opts, function (er, made) { - if (er) cb(er, made); - else mkdirP(p, opts, cb, made); - }); - break; - - // In the case of any other error, just see if there's a dir - // there already. If so, then hooray! If not, then something - // is borked. - default: - xfs.stat(p, function (er2, stat) { - // if the stat fails, then that's super weird. - // let the original error be the failure reason. - if (er2 || !stat.isDirectory()) cb(er, made) - else cb(null, made); - }); - break; - } - }); -} - -mkdirP.sync = function sync (p, opts, made) { - if (!opts || typeof opts !== 'object') { - opts = { mode: opts }; - } - - var mode = opts.mode; - var xfs = opts.fs || fs; - - if (mode === undefined) { - mode = _0777 & (~process.umask()); - } - if (!made) made = null; - - p = path.resolve(p); - - try { - xfs.mkdirSync(p, mode); - made = made || p; - } - catch (err0) { - switch (err0.code) { - case 'ENOENT' : - made = sync(path.dirname(p), opts, made); - sync(p, opts, made); - break; - - // In the case of any other error, just see if there's a dir - // there already. If so, then hooray! If not, then something - // is borked. - default: - var stat; - try { - stat = xfs.statSync(p); - } - catch (err1) { - throw err0; - } - if (!stat.isDirectory()) throw err0; - break; - } - } - - return made; -}; diff --git a/node_modules/mkdirp/node_modules/minimist/.travis.yml b/node_modules/mkdirp/node_modules/minimist/.travis.yml deleted file mode 100644 index cc4dba2..0000000 --- a/node_modules/mkdirp/node_modules/minimist/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - "0.8" - - "0.10" diff --git a/node_modules/mkdirp/node_modules/minimist/LICENSE b/node_modules/mkdirp/node_modules/minimist/LICENSE deleted file mode 100644 index ee27ba4..0000000 --- a/node_modules/mkdirp/node_modules/minimist/LICENSE +++ /dev/null @@ -1,18 +0,0 @@ -This software is released under the MIT license: - -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. diff --git a/node_modules/mkdirp/node_modules/minimist/example/parse.js b/node_modules/mkdirp/node_modules/minimist/example/parse.js deleted file mode 100644 index abff3e8..0000000 --- a/node_modules/mkdirp/node_modules/minimist/example/parse.js +++ /dev/null @@ -1,2 +0,0 @@ -var argv = require('../')(process.argv.slice(2)); -console.dir(argv); diff --git a/node_modules/mkdirp/node_modules/minimist/index.js b/node_modules/mkdirp/node_modules/minimist/index.js deleted file mode 100644 index 584f551..0000000 --- a/node_modules/mkdirp/node_modules/minimist/index.js +++ /dev/null @@ -1,187 +0,0 @@ -module.exports = function (args, opts) { - if (!opts) opts = {}; - - var flags = { bools : {}, strings : {} }; - - [].concat(opts['boolean']).filter(Boolean).forEach(function (key) { - flags.bools[key] = true; - }); - - [].concat(opts.string).filter(Boolean).forEach(function (key) { - flags.strings[key] = true; - }); - - var aliases = {}; - Object.keys(opts.alias || {}).forEach(function (key) { - aliases[key] = [].concat(opts.alias[key]); - aliases[key].forEach(function (x) { - aliases[x] = [key].concat(aliases[key].filter(function (y) { - return x !== y; - })); - }); - }); - - var defaults = opts['default'] || {}; - - var argv = { _ : [] }; - Object.keys(flags.bools).forEach(function (key) { - setArg(key, defaults[key] === undefined ? false : defaults[key]); - }); - - var notFlags = []; - - if (args.indexOf('--') !== -1) { - notFlags = args.slice(args.indexOf('--')+1); - args = args.slice(0, args.indexOf('--')); - } - - function setArg (key, val) { - var value = !flags.strings[key] && isNumber(val) - ? Number(val) : val - ; - setKey(argv, key.split('.'), value); - - (aliases[key] || []).forEach(function (x) { - setKey(argv, x.split('.'), value); - }); - } - - for (var i = 0; i < args.length; i++) { - var arg = args[i]; - - if (/^--.+=/.test(arg)) { - // Using [\s\S] instead of . because js doesn't support the - // 'dotall' regex modifier. See: - // http://stackoverflow.com/a/1068308/13216 - var m = arg.match(/^--([^=]+)=([\s\S]*)$/); - setArg(m[1], m[2]); - } - else if (/^--no-.+/.test(arg)) { - var key = arg.match(/^--no-(.+)/)[1]; - setArg(key, false); - } - else if (/^--.+/.test(arg)) { - var key = arg.match(/^--(.+)/)[1]; - var next = args[i + 1]; - if (next !== undefined && !/^-/.test(next) - && !flags.bools[key] - && (aliases[key] ? !flags.bools[aliases[key]] : true)) { - setArg(key, next); - i++; - } - else if (/^(true|false)$/.test(next)) { - setArg(key, next === 'true'); - i++; - } - else { - setArg(key, flags.strings[key] ? '' : true); - } - } - else if (/^-[^-]+/.test(arg)) { - var letters = arg.slice(1,-1).split(''); - - var broken = false; - for (var j = 0; j < letters.length; j++) { - var next = arg.slice(j+2); - - if (next === '-') { - setArg(letters[j], next) - continue; - } - - if (/[A-Za-z]/.test(letters[j]) - && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) { - setArg(letters[j], next); - broken = true; - break; - } - - if (letters[j+1] && letters[j+1].match(/\W/)) { - setArg(letters[j], arg.slice(j+2)); - broken = true; - break; - } - else { - setArg(letters[j], flags.strings[letters[j]] ? '' : true); - } - } - - var key = arg.slice(-1)[0]; - if (!broken && key !== '-') { - if (args[i+1] && !/^(-|--)[^-]/.test(args[i+1]) - && !flags.bools[key] - && (aliases[key] ? !flags.bools[aliases[key]] : true)) { - setArg(key, args[i+1]); - i++; - } - else if (args[i+1] && /true|false/.test(args[i+1])) { - setArg(key, args[i+1] === 'true'); - i++; - } - else { - setArg(key, flags.strings[key] ? '' : true); - } - } - } - else { - argv._.push( - flags.strings['_'] || !isNumber(arg) ? arg : Number(arg) - ); - } - } - - Object.keys(defaults).forEach(function (key) { - if (!hasKey(argv, key.split('.'))) { - setKey(argv, key.split('.'), defaults[key]); - - (aliases[key] || []).forEach(function (x) { - setKey(argv, x.split('.'), defaults[key]); - }); - } - }); - - notFlags.forEach(function(key) { - argv._.push(key); - }); - - return argv; -}; - -function hasKey (obj, keys) { - var o = obj; - keys.slice(0,-1).forEach(function (key) { - o = (o[key] || {}); - }); - - var key = keys[keys.length - 1]; - return key in o; -} - -function setKey (obj, keys, value) { - var o = obj; - keys.slice(0,-1).forEach(function (key) { - if (o[key] === undefined) o[key] = {}; - o = o[key]; - }); - - var key = keys[keys.length - 1]; - if (o[key] === undefined || typeof o[key] === 'boolean') { - o[key] = value; - } - else if (Array.isArray(o[key])) { - o[key].push(value); - } - else { - o[key] = [ o[key], value ]; - } -} - -function isNumber (x) { - if (typeof x === 'number') return true; - if (/^0x[0-9a-f]+$/i.test(x)) return true; - return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x); -} - -function longest (xs) { - return Math.max.apply(null, xs.map(function (x) { return x.length })); -} diff --git a/node_modules/mkdirp/node_modules/minimist/package.json b/node_modules/mkdirp/node_modules/minimist/package.json deleted file mode 100644 index 753ee85..0000000 --- a/node_modules/mkdirp/node_modules/minimist/package.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "minimist@0.0.8", - "scope": null, - "escapedName": "minimist", - "name": "minimist", - "rawSpec": "0.0.8", - "spec": "0.0.8", - "type": "version" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/mkdirp" - ] - ], - "_from": "minimist@0.0.8", - "_id": "minimist@0.0.8", - "_inCache": true, - "_installable": true, - "_location": "/mkdirp/minimist", - "_npmUser": { - "name": "substack", - "email": "mail@substack.net" - }, - "_npmVersion": "1.4.3", - "_phantomChildren": {}, - "_requested": { - "raw": "minimist@0.0.8", - "scope": null, - "escapedName": "minimist", - "name": "minimist", - "rawSpec": "0.0.8", - "spec": "0.0.8", - "type": "version" - }, - "_requiredBy": [ - "/mkdirp" - ], - "_resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "_shasum": "857fcabfc3397d2625b8228262e86aa7a011b05d", - "_shrinkwrap": null, - "_spec": "minimist@0.0.8", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/mkdirp", - "author": { - "name": "James Halliday", - "email": "mail@substack.net", - "url": "http://substack.net" - }, - "bugs": { - "url": "https://github.com/substack/minimist/issues" - }, - "dependencies": {}, - "description": "parse argument options", - "devDependencies": { - "tap": "~0.4.0", - "tape": "~1.0.4" - }, - "directories": {}, - "dist": { - "shasum": "857fcabfc3397d2625b8228262e86aa7a011b05d", - "tarball": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" - }, - "homepage": "https://github.com/substack/minimist", - "keywords": [ - "argv", - "getopt", - "parser", - "optimist" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "substack", - "email": "mail@substack.net" - } - ], - "name": "minimist", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/substack/minimist.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "testling": { - "files": "test/*.js", - "browsers": [ - "ie/6..latest", - "ff/5", - "firefox/latest", - "chrome/10", - "chrome/latest", - "safari/5.1", - "safari/latest", - "opera/12" - ] - }, - "version": "0.0.8" -} diff --git a/node_modules/mkdirp/node_modules/minimist/readme.markdown b/node_modules/mkdirp/node_modules/minimist/readme.markdown deleted file mode 100644 index c256353..0000000 --- a/node_modules/mkdirp/node_modules/minimist/readme.markdown +++ /dev/null @@ -1,73 +0,0 @@ -# minimist - -parse argument options - -This module is the guts of optimist's argument parser without all the -fanciful decoration. - -[![browser support](https://ci.testling.com/substack/minimist.png)](http://ci.testling.com/substack/minimist) - -[![build status](https://secure.travis-ci.org/substack/minimist.png)](http://travis-ci.org/substack/minimist) - -# example - -``` js -var argv = require('minimist')(process.argv.slice(2)); -console.dir(argv); -``` - -``` -$ node example/parse.js -a beep -b boop -{ _: [], a: 'beep', b: 'boop' } -``` - -``` -$ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz -{ _: [ 'foo', 'bar', 'baz' ], - x: 3, - y: 4, - n: 5, - a: true, - b: true, - c: true, - beep: 'boop' } -``` - -# methods - -``` js -var parseArgs = require('minimist') -``` - -## var argv = parseArgs(args, opts={}) - -Return an argument object `argv` populated with the array arguments from `args`. - -`argv._` contains all the arguments that didn't have an option associated with -them. - -Numeric-looking arguments will be returned as numbers unless `opts.string` or -`opts.boolean` is set for that argument name. - -Any arguments after `'--'` will not be parsed and will end up in `argv._`. - -options can be: - -* `opts.string` - a string or array of strings argument names to always treat as -strings -* `opts.boolean` - a string or array of strings to always treat as booleans -* `opts.alias` - an object mapping string names to strings or arrays of string -argument names to use as aliases -* `opts.default` - an object mapping string argument names to default values - -# install - -With [npm](https://npmjs.org) do: - -``` -npm install minimist -``` - -# license - -MIT diff --git a/node_modules/mkdirp/node_modules/minimist/test/dash.js b/node_modules/mkdirp/node_modules/minimist/test/dash.js deleted file mode 100644 index 8b034b9..0000000 --- a/node_modules/mkdirp/node_modules/minimist/test/dash.js +++ /dev/null @@ -1,24 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('-', function (t) { - t.plan(5); - t.deepEqual(parse([ '-n', '-' ]), { n: '-', _: [] }); - t.deepEqual(parse([ '-' ]), { _: [ '-' ] }); - t.deepEqual(parse([ '-f-' ]), { f: '-', _: [] }); - t.deepEqual( - parse([ '-b', '-' ], { boolean: 'b' }), - { b: true, _: [ '-' ] } - ); - t.deepEqual( - parse([ '-s', '-' ], { string: 's' }), - { s: '-', _: [] } - ); -}); - -test('-a -- b', function (t) { - t.plan(3); - t.deepEqual(parse([ '-a', '--', 'b' ]), { a: true, _: [ 'b' ] }); - t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); - t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); -}); diff --git a/node_modules/mkdirp/node_modules/minimist/test/default_bool.js b/node_modules/mkdirp/node_modules/minimist/test/default_bool.js deleted file mode 100644 index f0041ee..0000000 --- a/node_modules/mkdirp/node_modules/minimist/test/default_bool.js +++ /dev/null @@ -1,20 +0,0 @@ -var test = require('tape'); -var parse = require('../'); - -test('boolean default true', function (t) { - var argv = parse([], { - boolean: 'sometrue', - default: { sometrue: true } - }); - t.equal(argv.sometrue, true); - t.end(); -}); - -test('boolean default false', function (t) { - var argv = parse([], { - boolean: 'somefalse', - default: { somefalse: false } - }); - t.equal(argv.somefalse, false); - t.end(); -}); diff --git a/node_modules/mkdirp/node_modules/minimist/test/dotted.js b/node_modules/mkdirp/node_modules/minimist/test/dotted.js deleted file mode 100644 index ef0ae34..0000000 --- a/node_modules/mkdirp/node_modules/minimist/test/dotted.js +++ /dev/null @@ -1,16 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('dotted alias', function (t) { - var argv = parse(['--a.b', '22'], {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); - t.equal(argv.a.b, 22); - t.equal(argv.aa.bb, 22); - t.end(); -}); - -test('dotted default', function (t) { - var argv = parse('', {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); - t.equal(argv.a.b, 11); - t.equal(argv.aa.bb, 11); - t.end(); -}); diff --git a/node_modules/mkdirp/node_modules/minimist/test/long.js b/node_modules/mkdirp/node_modules/minimist/test/long.js deleted file mode 100644 index 5d3a1e0..0000000 --- a/node_modules/mkdirp/node_modules/minimist/test/long.js +++ /dev/null @@ -1,31 +0,0 @@ -var test = require('tape'); -var parse = require('../'); - -test('long opts', function (t) { - t.deepEqual( - parse([ '--bool' ]), - { bool : true, _ : [] }, - 'long boolean' - ); - t.deepEqual( - parse([ '--pow', 'xixxle' ]), - { pow : 'xixxle', _ : [] }, - 'long capture sp' - ); - t.deepEqual( - parse([ '--pow=xixxle' ]), - { pow : 'xixxle', _ : [] }, - 'long capture eq' - ); - t.deepEqual( - parse([ '--host', 'localhost', '--port', '555' ]), - { host : 'localhost', port : 555, _ : [] }, - 'long captures sp' - ); - t.deepEqual( - parse([ '--host=localhost', '--port=555' ]), - { host : 'localhost', port : 555, _ : [] }, - 'long captures eq' - ); - t.end(); -}); diff --git a/node_modules/mkdirp/node_modules/minimist/test/parse.js b/node_modules/mkdirp/node_modules/minimist/test/parse.js deleted file mode 100644 index 8a90646..0000000 --- a/node_modules/mkdirp/node_modules/minimist/test/parse.js +++ /dev/null @@ -1,318 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('parse args', function (t) { - t.deepEqual( - parse([ '--no-moo' ]), - { moo : false, _ : [] }, - 'no' - ); - t.deepEqual( - parse([ '-v', 'a', '-v', 'b', '-v', 'c' ]), - { v : ['a','b','c'], _ : [] }, - 'multi' - ); - t.end(); -}); - -test('comprehensive', function (t) { - t.deepEqual( - parse([ - '--name=meowmers', 'bare', '-cats', 'woo', - '-h', 'awesome', '--multi=quux', - '--key', 'value', - '-b', '--bool', '--no-meep', '--multi=baz', - '--', '--not-a-flag', 'eek' - ]), - { - c : true, - a : true, - t : true, - s : 'woo', - h : 'awesome', - b : true, - bool : true, - key : 'value', - multi : [ 'quux', 'baz' ], - meep : false, - name : 'meowmers', - _ : [ 'bare', '--not-a-flag', 'eek' ] - } - ); - t.end(); -}); - -test('nums', function (t) { - var argv = parse([ - '-x', '1234', - '-y', '5.67', - '-z', '1e7', - '-w', '10f', - '--hex', '0xdeadbeef', - '789' - ]); - t.deepEqual(argv, { - x : 1234, - y : 5.67, - z : 1e7, - w : '10f', - hex : 0xdeadbeef, - _ : [ 789 ] - }); - t.deepEqual(typeof argv.x, 'number'); - t.deepEqual(typeof argv.y, 'number'); - t.deepEqual(typeof argv.z, 'number'); - t.deepEqual(typeof argv.w, 'string'); - t.deepEqual(typeof argv.hex, 'number'); - t.deepEqual(typeof argv._[0], 'number'); - t.end(); -}); - -test('flag boolean', function (t) { - var argv = parse([ '-t', 'moo' ], { boolean: 't' }); - t.deepEqual(argv, { t : true, _ : [ 'moo' ] }); - t.deepEqual(typeof argv.t, 'boolean'); - t.end(); -}); - -test('flag boolean value', function (t) { - var argv = parse(['--verbose', 'false', 'moo', '-t', 'true'], { - boolean: [ 't', 'verbose' ], - default: { verbose: true } - }); - - t.deepEqual(argv, { - verbose: false, - t: true, - _: ['moo'] - }); - - t.deepEqual(typeof argv.verbose, 'boolean'); - t.deepEqual(typeof argv.t, 'boolean'); - t.end(); -}); - -test('flag boolean default false', function (t) { - var argv = parse(['moo'], { - boolean: ['t', 'verbose'], - default: { verbose: false, t: false } - }); - - t.deepEqual(argv, { - verbose: false, - t: false, - _: ['moo'] - }); - - t.deepEqual(typeof argv.verbose, 'boolean'); - t.deepEqual(typeof argv.t, 'boolean'); - t.end(); - -}); - -test('boolean groups', function (t) { - var argv = parse([ '-x', '-z', 'one', 'two', 'three' ], { - boolean: ['x','y','z'] - }); - - t.deepEqual(argv, { - x : true, - y : false, - z : true, - _ : [ 'one', 'two', 'three' ] - }); - - t.deepEqual(typeof argv.x, 'boolean'); - t.deepEqual(typeof argv.y, 'boolean'); - t.deepEqual(typeof argv.z, 'boolean'); - t.end(); -}); - -test('newlines in params' , function (t) { - var args = parse([ '-s', "X\nX" ]) - t.deepEqual(args, { _ : [], s : "X\nX" }); - - // reproduce in bash: - // VALUE="new - // line" - // node program.js --s="$VALUE" - args = parse([ "--s=X\nX" ]) - t.deepEqual(args, { _ : [], s : "X\nX" }); - t.end(); -}); - -test('strings' , function (t) { - var s = parse([ '-s', '0001234' ], { string: 's' }).s; - t.equal(s, '0001234'); - t.equal(typeof s, 'string'); - - var x = parse([ '-x', '56' ], { string: 'x' }).x; - t.equal(x, '56'); - t.equal(typeof x, 'string'); - t.end(); -}); - -test('stringArgs', function (t) { - var s = parse([ ' ', ' ' ], { string: '_' })._; - t.same(s.length, 2); - t.same(typeof s[0], 'string'); - t.same(s[0], ' '); - t.same(typeof s[1], 'string'); - t.same(s[1], ' '); - t.end(); -}); - -test('empty strings', function(t) { - var s = parse([ '-s' ], { string: 's' }).s; - t.equal(s, ''); - t.equal(typeof s, 'string'); - - var str = parse([ '--str' ], { string: 'str' }).str; - t.equal(str, ''); - t.equal(typeof str, 'string'); - - var letters = parse([ '-art' ], { - string: [ 'a', 't' ] - }); - - t.equal(letters.a, ''); - t.equal(letters.r, true); - t.equal(letters.t, ''); - - t.end(); -}); - - -test('slashBreak', function (t) { - t.same( - parse([ '-I/foo/bar/baz' ]), - { I : '/foo/bar/baz', _ : [] } - ); - t.same( - parse([ '-xyz/foo/bar/baz' ]), - { x : true, y : true, z : '/foo/bar/baz', _ : [] } - ); - t.end(); -}); - -test('alias', function (t) { - var argv = parse([ '-f', '11', '--zoom', '55' ], { - alias: { z: 'zoom' } - }); - t.equal(argv.zoom, 55); - t.equal(argv.z, argv.zoom); - t.equal(argv.f, 11); - t.end(); -}); - -test('multiAlias', function (t) { - var argv = parse([ '-f', '11', '--zoom', '55' ], { - alias: { z: [ 'zm', 'zoom' ] } - }); - t.equal(argv.zoom, 55); - t.equal(argv.z, argv.zoom); - t.equal(argv.z, argv.zm); - t.equal(argv.f, 11); - t.end(); -}); - -test('nested dotted objects', function (t) { - var argv = parse([ - '--foo.bar', '3', '--foo.baz', '4', - '--foo.quux.quibble', '5', '--foo.quux.o_O', - '--beep.boop' - ]); - - t.same(argv.foo, { - bar : 3, - baz : 4, - quux : { - quibble : 5, - o_O : true - } - }); - t.same(argv.beep, { boop : true }); - t.end(); -}); - -test('boolean and alias with chainable api', function (t) { - var aliased = [ '-h', 'derp' ]; - var regular = [ '--herp', 'derp' ]; - var opts = { - herp: { alias: 'h', boolean: true } - }; - var aliasedArgv = parse(aliased, { - boolean: 'herp', - alias: { h: 'herp' } - }); - var propertyArgv = parse(regular, { - boolean: 'herp', - alias: { h: 'herp' } - }); - var expected = { - herp: true, - h: true, - '_': [ 'derp' ] - }; - - t.same(aliasedArgv, expected); - t.same(propertyArgv, expected); - t.end(); -}); - -test('boolean and alias with options hash', function (t) { - var aliased = [ '-h', 'derp' ]; - var regular = [ '--herp', 'derp' ]; - var opts = { - alias: { 'h': 'herp' }, - boolean: 'herp' - }; - var aliasedArgv = parse(aliased, opts); - var propertyArgv = parse(regular, opts); - var expected = { - herp: true, - h: true, - '_': [ 'derp' ] - }; - t.same(aliasedArgv, expected); - t.same(propertyArgv, expected); - t.end(); -}); - -test('boolean and alias using explicit true', function (t) { - var aliased = [ '-h', 'true' ]; - var regular = [ '--herp', 'true' ]; - var opts = { - alias: { h: 'herp' }, - boolean: 'h' - }; - var aliasedArgv = parse(aliased, opts); - var propertyArgv = parse(regular, opts); - var expected = { - herp: true, - h: true, - '_': [ ] - }; - - t.same(aliasedArgv, expected); - t.same(propertyArgv, expected); - t.end(); -}); - -// regression, see https://github.com/substack/node-optimist/issues/71 -test('boolean and --x=true', function(t) { - var parsed = parse(['--boool', '--other=true'], { - boolean: 'boool' - }); - - t.same(parsed.boool, true); - t.same(parsed.other, 'true'); - - parsed = parse(['--boool', '--other=false'], { - boolean: 'boool' - }); - - t.same(parsed.boool, true); - t.same(parsed.other, 'false'); - t.end(); -}); diff --git a/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js b/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js deleted file mode 100644 index 21851b0..0000000 --- a/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js +++ /dev/null @@ -1,9 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('parse with modifier functions' , function (t) { - t.plan(1); - - var argv = parse([ '-b', '123' ], { boolean: 'b' }); - t.deepEqual(argv, { b: true, _: ['123'] }); -}); diff --git a/node_modules/mkdirp/node_modules/minimist/test/short.js b/node_modules/mkdirp/node_modules/minimist/test/short.js deleted file mode 100644 index d513a1c..0000000 --- a/node_modules/mkdirp/node_modules/minimist/test/short.js +++ /dev/null @@ -1,67 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('numeric short args', function (t) { - t.plan(2); - t.deepEqual(parse([ '-n123' ]), { n: 123, _: [] }); - t.deepEqual( - parse([ '-123', '456' ]), - { 1: true, 2: true, 3: 456, _: [] } - ); -}); - -test('short', function (t) { - t.deepEqual( - parse([ '-b' ]), - { b : true, _ : [] }, - 'short boolean' - ); - t.deepEqual( - parse([ 'foo', 'bar', 'baz' ]), - { _ : [ 'foo', 'bar', 'baz' ] }, - 'bare' - ); - t.deepEqual( - parse([ '-cats' ]), - { c : true, a : true, t : true, s : true, _ : [] }, - 'group' - ); - t.deepEqual( - parse([ '-cats', 'meow' ]), - { c : true, a : true, t : true, s : 'meow', _ : [] }, - 'short group next' - ); - t.deepEqual( - parse([ '-h', 'localhost' ]), - { h : 'localhost', _ : [] }, - 'short capture' - ); - t.deepEqual( - parse([ '-h', 'localhost', '-p', '555' ]), - { h : 'localhost', p : 555, _ : [] }, - 'short captures' - ); - t.end(); -}); - -test('mixed short bool and capture', function (t) { - t.same( - parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), - { - f : true, p : 555, h : 'localhost', - _ : [ 'script.js' ] - } - ); - t.end(); -}); - -test('short and long', function (t) { - t.deepEqual( - parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), - { - f : true, p : 555, h : 'localhost', - _ : [ 'script.js' ] - } - ); - t.end(); -}); diff --git a/node_modules/mkdirp/node_modules/minimist/test/whitespace.js b/node_modules/mkdirp/node_modules/minimist/test/whitespace.js deleted file mode 100644 index 8a52a58..0000000 --- a/node_modules/mkdirp/node_modules/minimist/test/whitespace.js +++ /dev/null @@ -1,8 +0,0 @@ -var parse = require('../'); -var test = require('tape'); - -test('whitespace should be whitespace' , function (t) { - t.plan(1); - var x = parse([ '-x', '\t' ]).x; - t.equal(x, '\t'); -}); diff --git a/node_modules/mkdirp/package.json b/node_modules/mkdirp/package.json deleted file mode 100644 index d581093..0000000 --- a/node_modules/mkdirp/package.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "mkdirp@^0.5.1", - "scope": null, - "escapedName": "mkdirp", - "name": "mkdirp", - "rawSpec": "^0.5.1", - "spec": ">=0.5.1 <0.6.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/tar-fs" - ] - ], - "_from": "mkdirp@>=0.5.1 <0.6.0", - "_id": "mkdirp@0.5.1", - "_inCache": true, - "_installable": true, - "_location": "/mkdirp", - "_nodeVersion": "2.0.0", - "_npmUser": { - "name": "substack", - "email": "substack@gmail.com" - }, - "_npmVersion": "2.9.0", - "_phantomChildren": {}, - "_requested": { - "raw": "mkdirp@^0.5.1", - "scope": null, - "escapedName": "mkdirp", - "name": "mkdirp", - "rawSpec": "^0.5.1", - "spec": ">=0.5.1 <0.6.0", - "type": "range" - }, - "_requiredBy": [ - "/streamroller", - "/tar-fs" - ], - "_resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "_shasum": "30057438eac6cf7f8c4767f38648d6697d75c903", - "_shrinkwrap": null, - "_spec": "mkdirp@^0.5.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/tar-fs", - "author": { - "name": "James Halliday", - "email": "mail@substack.net", - "url": "http://substack.net" - }, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "bugs": { - "url": "https://github.com/substack/node-mkdirp/issues" - }, - "dependencies": { - "minimist": "0.0.8" - }, - "description": "Recursively mkdir, like `mkdir -p`", - "devDependencies": { - "mock-fs": "2 >=2.7.0", - "tap": "1" - }, - "directories": {}, - "dist": { - "shasum": "30057438eac6cf7f8c4767f38648d6697d75c903", - "tarball": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" - }, - "gitHead": "d4eff0f06093aed4f387e88e9fc301cb76beedc7", - "homepage": "https://github.com/substack/node-mkdirp#readme", - "keywords": [ - "mkdir", - "directory" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "substack", - "email": "mail@substack.net" - } - ], - "name": "mkdirp", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/substack/node-mkdirp.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "0.5.1" -} diff --git a/node_modules/mkdirp/readme.markdown b/node_modules/mkdirp/readme.markdown deleted file mode 100644 index 3cc1315..0000000 --- a/node_modules/mkdirp/readme.markdown +++ /dev/null @@ -1,100 +0,0 @@ -# mkdirp - -Like `mkdir -p`, but in node.js! - -[![build status](https://secure.travis-ci.org/substack/node-mkdirp.png)](http://travis-ci.org/substack/node-mkdirp) - -# example - -## pow.js - -```js -var mkdirp = require('mkdirp'); - -mkdirp('/tmp/foo/bar/baz', function (err) { - if (err) console.error(err) - else console.log('pow!') -}); -``` - -Output - -``` -pow! -``` - -And now /tmp/foo/bar/baz exists, huzzah! - -# methods - -```js -var mkdirp = require('mkdirp'); -``` - -## mkdirp(dir, opts, cb) - -Create a new directory and any necessary subdirectories at `dir` with octal -permission string `opts.mode`. If `opts` is a non-object, it will be treated as -the `opts.mode`. - -If `opts.mode` isn't specified, it defaults to `0777 & (~process.umask())`. - -`cb(err, made)` fires with the error or the first directory `made` -that had to be created, if any. - -You can optionally pass in an alternate `fs` implementation by passing in -`opts.fs`. Your implementation should have `opts.fs.mkdir(path, mode, cb)` and -`opts.fs.stat(path, cb)`. - -## mkdirp.sync(dir, opts) - -Synchronously create a new directory and any necessary subdirectories at `dir` -with octal permission string `opts.mode`. If `opts` is a non-object, it will be -treated as the `opts.mode`. - -If `opts.mode` isn't specified, it defaults to `0777 & (~process.umask())`. - -Returns the first directory that had to be created, if any. - -You can optionally pass in an alternate `fs` implementation by passing in -`opts.fs`. Your implementation should have `opts.fs.mkdirSync(path, mode)` and -`opts.fs.statSync(path)`. - -# usage - -This package also ships with a `mkdirp` command. - -``` -usage: mkdirp [DIR1,DIR2..] {OPTIONS} - - Create each supplied directory including any necessary parent directories that - don't yet exist. - - If the directory already exists, do nothing. - -OPTIONS are: - - -m, --mode If a directory needs to be created, set the mode as an octal - permission string. - -``` - -# install - -With [npm](http://npmjs.org) do: - -``` -npm install mkdirp -``` - -to get the library, or - -``` -npm install -g mkdirp -``` - -to get the command. - -# license - -MIT diff --git a/node_modules/mkdirp/test/chmod.js b/node_modules/mkdirp/test/chmod.js deleted file mode 100644 index 6a404b9..0000000 --- a/node_modules/mkdirp/test/chmod.js +++ /dev/null @@ -1,41 +0,0 @@ -var mkdirp = require('../').mkdirp; -var path = require('path'); -var fs = require('fs'); -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); -var _0744 = parseInt('0744', 8); - -var ps = [ '', 'tmp' ]; - -for (var i = 0; i < 25; i++) { - var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - ps.push(dir); -} - -var file = ps.join('/'); - -test('chmod-pre', function (t) { - var mode = _0744 - mkdirp(file, mode, function (er) { - t.ifError(er, 'should not error'); - fs.stat(file, function (er, stat) { - t.ifError(er, 'should exist'); - t.ok(stat && stat.isDirectory(), 'should be directory'); - t.equal(stat && stat.mode & _0777, mode, 'should be 0744'); - t.end(); - }); - }); -}); - -test('chmod', function (t) { - var mode = _0755 - mkdirp(file, mode, function (er) { - t.ifError(er, 'should not error'); - fs.stat(file, function (er, stat) { - t.ifError(er, 'should exist'); - t.ok(stat && stat.isDirectory(), 'should be directory'); - t.end(); - }); - }); -}); diff --git a/node_modules/mkdirp/test/clobber.js b/node_modules/mkdirp/test/clobber.js deleted file mode 100644 index 2433b9a..0000000 --- a/node_modules/mkdirp/test/clobber.js +++ /dev/null @@ -1,38 +0,0 @@ -var mkdirp = require('../').mkdirp; -var path = require('path'); -var fs = require('fs'); -var test = require('tap').test; -var _0755 = parseInt('0755', 8); - -var ps = [ '', 'tmp' ]; - -for (var i = 0; i < 25; i++) { - var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - ps.push(dir); -} - -var file = ps.join('/'); - -// a file in the way -var itw = ps.slice(0, 3).join('/'); - - -test('clobber-pre', function (t) { - console.error("about to write to "+itw) - fs.writeFileSync(itw, 'I AM IN THE WAY, THE TRUTH, AND THE LIGHT.'); - - fs.stat(itw, function (er, stat) { - t.ifError(er) - t.ok(stat && stat.isFile(), 'should be file') - t.end() - }) -}) - -test('clobber', function (t) { - t.plan(2); - mkdirp(file, _0755, function (err) { - t.ok(err); - t.equal(err.code, 'ENOTDIR'); - t.end(); - }); -}); diff --git a/node_modules/mkdirp/test/mkdirp.js b/node_modules/mkdirp/test/mkdirp.js deleted file mode 100644 index eaa8921..0000000 --- a/node_modules/mkdirp/test/mkdirp.js +++ /dev/null @@ -1,28 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('woo', function (t) { - t.plan(5); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - mkdirp(file, _0755, function (err) { - t.ifError(err); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }) - }) - }); -}); diff --git a/node_modules/mkdirp/test/opts_fs.js b/node_modules/mkdirp/test/opts_fs.js deleted file mode 100644 index 97186b6..0000000 --- a/node_modules/mkdirp/test/opts_fs.js +++ /dev/null @@ -1,29 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var test = require('tap').test; -var mockfs = require('mock-fs'); -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('opts.fs', function (t) { - t.plan(5); - - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/beep/boop/' + [x,y,z].join('/'); - var xfs = mockfs.fs(); - - mkdirp(file, { fs: xfs, mode: _0755 }, function (err) { - t.ifError(err); - xfs.exists(file, function (ex) { - t.ok(ex, 'created file'); - xfs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }); - }); -}); diff --git a/node_modules/mkdirp/test/opts_fs_sync.js b/node_modules/mkdirp/test/opts_fs_sync.js deleted file mode 100644 index 6c370aa..0000000 --- a/node_modules/mkdirp/test/opts_fs_sync.js +++ /dev/null @@ -1,27 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var test = require('tap').test; -var mockfs = require('mock-fs'); -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('opts.fs sync', function (t) { - t.plan(4); - - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/beep/boop/' + [x,y,z].join('/'); - var xfs = mockfs.fs(); - - mkdirp.sync(file, { fs: xfs, mode: _0755 }); - xfs.exists(file, function (ex) { - t.ok(ex, 'created file'); - xfs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }); -}); diff --git a/node_modules/mkdirp/test/perm.js b/node_modules/mkdirp/test/perm.js deleted file mode 100644 index fbce44b..0000000 --- a/node_modules/mkdirp/test/perm.js +++ /dev/null @@ -1,32 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('async perm', function (t) { - t.plan(5); - var file = '/tmp/' + (Math.random() * (1<<30)).toString(16); - - mkdirp(file, _0755, function (err) { - t.ifError(err); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }) - }) - }); -}); - -test('async root perm', function (t) { - mkdirp('/tmp', _0755, function (err) { - if (err) t.fail(err); - t.end(); - }); - t.end(); -}); diff --git a/node_modules/mkdirp/test/perm_sync.js b/node_modules/mkdirp/test/perm_sync.js deleted file mode 100644 index 398229f..0000000 --- a/node_modules/mkdirp/test/perm_sync.js +++ /dev/null @@ -1,36 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('sync perm', function (t) { - t.plan(4); - var file = '/tmp/' + (Math.random() * (1<<30)).toString(16) + '.json'; - - mkdirp.sync(file, _0755); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }); -}); - -test('sync root perm', function (t) { - t.plan(3); - - var file = '/tmp'; - mkdirp.sync(file, _0755); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.ok(stat.isDirectory(), 'target not a directory'); - }) - }); -}); diff --git a/node_modules/mkdirp/test/race.js b/node_modules/mkdirp/test/race.js deleted file mode 100644 index b0b9e18..0000000 --- a/node_modules/mkdirp/test/race.js +++ /dev/null @@ -1,37 +0,0 @@ -var mkdirp = require('../').mkdirp; -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('race', function (t) { - t.plan(10); - var ps = [ '', 'tmp' ]; - - for (var i = 0; i < 25; i++) { - var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - ps.push(dir); - } - var file = ps.join('/'); - - var res = 2; - mk(file); - - mk(file); - - function mk (file, cb) { - mkdirp(file, _0755, function (err) { - t.ifError(err); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }) - }); - } -}); diff --git a/node_modules/mkdirp/test/rel.js b/node_modules/mkdirp/test/rel.js deleted file mode 100644 index 4ddb342..0000000 --- a/node_modules/mkdirp/test/rel.js +++ /dev/null @@ -1,32 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('rel', function (t) { - t.plan(5); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var cwd = process.cwd(); - process.chdir('/tmp'); - - var file = [x,y,z].join('/'); - - mkdirp(file, _0755, function (err) { - t.ifError(err); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - process.chdir(cwd); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }) - }) - }); -}); diff --git a/node_modules/mkdirp/test/return.js b/node_modules/mkdirp/test/return.js deleted file mode 100644 index bce68e5..0000000 --- a/node_modules/mkdirp/test/return.js +++ /dev/null @@ -1,25 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var test = require('tap').test; - -test('return value', function (t) { - t.plan(4); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - // should return the first dir created. - // By this point, it would be profoundly surprising if /tmp didn't - // already exist, since every other test makes things in there. - mkdirp(file, function (err, made) { - t.ifError(err); - t.equal(made, '/tmp/' + x); - mkdirp(file, function (err, made) { - t.ifError(err); - t.equal(made, null); - }); - }); -}); diff --git a/node_modules/mkdirp/test/return_sync.js b/node_modules/mkdirp/test/return_sync.js deleted file mode 100644 index 7c222d3..0000000 --- a/node_modules/mkdirp/test/return_sync.js +++ /dev/null @@ -1,24 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var test = require('tap').test; - -test('return value', function (t) { - t.plan(2); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - // should return the first dir created. - // By this point, it would be profoundly surprising if /tmp didn't - // already exist, since every other test makes things in there. - // Note that this will throw on failure, which will fail the test. - var made = mkdirp.sync(file); - t.equal(made, '/tmp/' + x); - - // making the same file again should have no effect. - made = mkdirp.sync(file); - t.equal(made, null); -}); diff --git a/node_modules/mkdirp/test/root.js b/node_modules/mkdirp/test/root.js deleted file mode 100644 index 9e7d079..0000000 --- a/node_modules/mkdirp/test/root.js +++ /dev/null @@ -1,19 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var test = require('tap').test; -var _0755 = parseInt('0755', 8); - -test('root', function (t) { - // '/' on unix, 'c:/' on windows. - var file = path.resolve('/'); - - mkdirp(file, _0755, function (err) { - if (err) throw err - fs.stat(file, function (er, stat) { - if (er) throw er - t.ok(stat.isDirectory(), 'target is a directory'); - t.end(); - }) - }); -}); diff --git a/node_modules/mkdirp/test/sync.js b/node_modules/mkdirp/test/sync.js deleted file mode 100644 index 8c8dc93..0000000 --- a/node_modules/mkdirp/test/sync.js +++ /dev/null @@ -1,32 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('sync', function (t) { - t.plan(4); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - try { - mkdirp.sync(file, _0755); - } catch (err) { - t.fail(err); - return t.end(); - } - - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }); -}); diff --git a/node_modules/mkdirp/test/umask.js b/node_modules/mkdirp/test/umask.js deleted file mode 100644 index 2033c63..0000000 --- a/node_modules/mkdirp/test/umask.js +++ /dev/null @@ -1,28 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('implicit mode from umask', function (t) { - t.plan(5); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - mkdirp(file, function (err) { - t.ifError(err); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0777 & (~process.umask())); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }) - }); -}); diff --git a/node_modules/mkdirp/test/umask_sync.js b/node_modules/mkdirp/test/umask_sync.js deleted file mode 100644 index 11a7614..0000000 --- a/node_modules/mkdirp/test/umask_sync.js +++ /dev/null @@ -1,32 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('umask sync modes', function (t) { - t.plan(4); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - try { - mkdirp.sync(file); - } catch (err) { - t.fail(err); - return t.end(); - } - - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, (_0777 & (~process.umask()))); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }); -}); diff --git a/node_modules/ms/LICENSE.md b/node_modules/ms/LICENSE.md deleted file mode 100644 index 69b6125..0000000 --- a/node_modules/ms/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016 Zeit, Inc. - -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. diff --git a/node_modules/ms/README.md b/node_modules/ms/README.md deleted file mode 100644 index 5b47570..0000000 --- a/node_modules/ms/README.md +++ /dev/null @@ -1,52 +0,0 @@ -# ms - -[![Build Status](https://travis-ci.org/zeit/ms.svg?branch=master)](https://travis-ci.org/zeit/ms) -[![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo) -[![Slack Channel](https://zeit-slackin.now.sh/badge.svg)](https://zeit.chat/) - -Use this package to easily convert various time formats to milliseconds. - -## Examples - -```js -ms('2 days') // 172800000 -ms('1d') // 86400000 -ms('10h') // 36000000 -ms('2.5 hrs') // 9000000 -ms('2h') // 7200000 -ms('1m') // 60000 -ms('5s') // 5000 -ms('1y') // 31557600000 -ms('100') // 100 -``` - -### Convert from milliseconds - -```js -ms(60000) // "1m" -ms(2 * 60000) // "2m" -ms(ms('10 hours')) // "10h" -``` - -### Time format written-out - -```js -ms(60000, { long: true }) // "1 minute" -ms(2 * 60000, { long: true }) // "2 minutes" -ms(ms('10 hours'), { long: true }) // "10 hours" -``` - -## Features - -- Works both in [node](https://nodejs.org) and in the browser. -- If a number is supplied to `ms`, a string with a unit is returned. -- If a string that contains the number is supplied, it returns it as a number (e.g.: it returns `100` for `'100'`). -- If you pass a string with a number and a valid unit, the number of equivalent ms is returned. - -## Caught a bug? - -1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device -2. Link the package to the global module directory: `npm link` -3. Within the module you want to test your local development instance of ms, just link it to the dependencies: `npm link ms`. Instead of the default one from npm, node will now use your clone of ms! - -As always, you can run the tests using: `npm test` diff --git a/node_modules/ms/index.js b/node_modules/ms/index.js deleted file mode 100644 index 824b37e..0000000 --- a/node_modules/ms/index.js +++ /dev/null @@ -1,149 +0,0 @@ -/** - * Helpers. - */ - -var s = 1000 -var m = s * 60 -var h = m * 60 -var d = h * 24 -var y = d * 365.25 - -/** - * Parse or format the given `val`. - * - * Options: - * - * - `long` verbose formatting [false] - * - * @param {String|Number} val - * @param {Object} options - * @throws {Error} throw an error if val is not a non-empty string or a number - * @return {String|Number} - * @api public - */ - -module.exports = function (val, options) { - options = options || {} - var type = typeof val - if (type === 'string' && val.length > 0) { - return parse(val) - } else if (type === 'number' && isNaN(val) === false) { - return options.long ? - fmtLong(val) : - fmtShort(val) - } - throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val)) -} - -/** - * Parse the given `str` and return milliseconds. - * - * @param {String} str - * @return {Number} - * @api private - */ - -function parse(str) { - str = String(str) - if (str.length > 10000) { - return - } - var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(str) - if (!match) { - return - } - var n = parseFloat(match[1]) - var type = (match[2] || 'ms').toLowerCase() - switch (type) { - case 'years': - case 'year': - case 'yrs': - case 'yr': - case 'y': - return n * y - case 'days': - case 'day': - case 'd': - return n * d - case 'hours': - case 'hour': - case 'hrs': - case 'hr': - case 'h': - return n * h - case 'minutes': - case 'minute': - case 'mins': - case 'min': - case 'm': - return n * m - case 'seconds': - case 'second': - case 'secs': - case 'sec': - case 's': - return n * s - case 'milliseconds': - case 'millisecond': - case 'msecs': - case 'msec': - case 'ms': - return n - default: - return undefined - } -} - -/** - * Short format for `ms`. - * - * @param {Number} ms - * @return {String} - * @api private - */ - -function fmtShort(ms) { - if (ms >= d) { - return Math.round(ms / d) + 'd' - } - if (ms >= h) { - return Math.round(ms / h) + 'h' - } - if (ms >= m) { - return Math.round(ms / m) + 'm' - } - if (ms >= s) { - return Math.round(ms / s) + 's' - } - return ms + 'ms' -} - -/** - * Long format for `ms`. - * - * @param {Number} ms - * @return {String} - * @api private - */ - -function fmtLong(ms) { - return plural(ms, d, 'day') || - plural(ms, h, 'hour') || - plural(ms, m, 'minute') || - plural(ms, s, 'second') || - ms + ' ms' -} - -/** - * Pluralization helper. - */ - -function plural(ms, n, name) { - if (ms < n) { - return - } - if (ms < n * 1.5) { - return Math.floor(ms / n) + ' ' + name - } - return Math.ceil(ms / n) + ' ' + name + 's' -} diff --git a/node_modules/ms/package.json b/node_modules/ms/package.json deleted file mode 100644 index 35a3b54..0000000 --- a/node_modules/ms/package.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "ms@0.7.2", - "scope": null, - "escapedName": "ms", - "name": "ms", - "rawSpec": "0.7.2", - "spec": "0.7.2", - "type": "version" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/debug" - ] - ], - "_from": "ms@0.7.2", - "_id": "ms@0.7.2", - "_inCache": true, - "_installable": true, - "_location": "/ms", - "_nodeVersion": "6.8.0", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/ms-0.7.2.tgz_1477383407940_0.4743474116548896" - }, - "_npmUser": { - "name": "leo", - "email": "leo@zeit.co" - }, - "_npmVersion": "3.10.8", - "_phantomChildren": {}, - "_requested": { - "raw": "ms@0.7.2", - "scope": null, - "escapedName": "ms", - "name": "ms", - "rawSpec": "0.7.2", - "spec": "0.7.2", - "type": "version" - }, - "_requiredBy": [ - "/debug" - ], - "_resolved": "http://registry.npmjs.org/ms/-/ms-0.7.2.tgz", - "_shasum": "ae25cf2512b3885a1d95d7f037868d8431124765", - "_shrinkwrap": null, - "_spec": "ms@0.7.2", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/debug", - "bugs": { - "url": "https://github.com/zeit/ms/issues" - }, - "component": { - "scripts": { - "ms/index.js": "index.js" - } - }, - "dependencies": {}, - "description": "Tiny milisecond conversion utility", - "devDependencies": { - "expect.js": "^0.3.1", - "mocha": "^3.0.2", - "serve": "^1.4.0", - "xo": "^0.17.0" - }, - "directories": {}, - "dist": { - "shasum": "ae25cf2512b3885a1d95d7f037868d8431124765", - "tarball": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz" - }, - "files": [ - "index.js" - ], - "gitHead": "ac92a7e0790ba2622a74d9d60690ca0d2c070a45", - "homepage": "https://github.com/zeit/ms#readme", - "license": "MIT", - "main": "./index", - "maintainers": [ - { - "name": "leo", - "email": "leo@zeit.co" - }, - { - "name": "rauchg", - "email": "rauchg@gmail.com" - } - ], - "name": "ms", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/zeit/ms.git" - }, - "scripts": { - "test": "xo && mocha test/index.js", - "test-browser": "serve ./test" - }, - "version": "0.7.2", - "xo": { - "space": true, - "semicolon": false, - "envs": [ - "mocha" - ], - "rules": { - "complexity": 0 - } - } -} diff --git a/node_modules/nan/CHANGELOG.md b/node_modules/nan/CHANGELOG.md deleted file mode 100644 index 0a5487b..0000000 --- a/node_modules/nan/CHANGELOG.md +++ /dev/null @@ -1,441 +0,0 @@ -# NAN ChangeLog - -**Version 2.5.1: current Node 7.4.0, Node 12: 0.12.18, Node 10: 0.10.48, iojs: 3.3.1** - -### 2.5.1 Jan 23 2017 - - - Bugfix: Fix disappearing handle for private value 6a80995694f162ef63dbc9948fbefd45d4485aa0 - - Bugfix: Add missing scopes a93b8bae6bc7d32a170db6e89228b7f60ee57112 - - Bugfix: Use string::data instead of string::front in NewOneByteString d5f920371e67e1f3b268295daee6e83af86b6e50 - -### 2.5.0 Dec 21 2016 - - - Feature: Support Private accessors a86255cb357e8ad8ccbf1f6a4a901c921e39a178 - - Bugfix: Abort in delete operators that shouldn't be called 0fe38215ff8581703967dfd26c12793feb960018 - -### 2.4.0 Jul 10 2016 - - - Feature: Rewrite Callback to add Callback::Reset c4cf44d61f8275cd5f7b0c911d7a806d4004f649 - - Feature: AsyncProgressWorker: add template types for .send 1242c9a11a7ed481c8f08ec06316385cacc513d0 - - Bugfix: Add constness to old Persistent comparison operators bd43cb9982c7639605d60fd073efe8cae165d9b2 - -### 2.3.5 May 31 2016 - - - Bugfix: Replace NAN_INLINE with 'inline' keyword. 71819d8725f822990f439479c9aba3b240804909 - -### 2.3.4 May 31 2016 - - - Bugfix: Remove V8 deprecation warnings 0592fb0a47f3a1c7763087ebea8e1138829f24f9 - - Bugfix: Fix new versions not to use WeakCallbackInfo::IsFirstPass 615c19d9e03d4be2049c10db0151edbc3b229246 - - Bugfix: Make ObjectWrap::handle() const d19af99595587fe7a26bd850af6595c2a7145afc - - Bugfix: Fix compilation errors related to 0592fb0a47f3a1c7763087ebea8e1138829f24f9 e9191c525b94f652718325e28610a1adcf90fed8 - -### 2.3.3 May 4 2016 - - - Bugfix: Refactor SetMethod() to deal with v8::Templates (#566) b9083cf6d5de6ebe6bcb49c7502fbb7c0d9ddda8 - -### 2.3.2 Apr 27 2016 - - - Bugfix: Fix compilation on outdated versions due to Handle removal f8b7c875d04d425a41dfd4f3f8345bc3a11e6c52 - -### 2.3.1 Apr 27 2016 - - - Bugfix: Don't use deprecated v8::Template::Set() in SetMethod a90951e9ea70fa1b3836af4b925322919159100e - -### 2.3.0 Apr 27 2016 - - - Feature: added Signal() for invoking async callbacks without sending data from AsyncProgressWorker d8adba45f20e077d00561b20199133620c990b38 - - Bugfix: Don't use deprecated v8::Template::Set() 00dacf0a4b86027415867fa7f1059acc499dcece - -### 2.2.1 Mar 29 2016 - - - Bugfix: Use NewFromUnsigned in ReturnValue::Set(uint32_t i) for pre_12 3a18f9bdce29826e0e4c217854bc476918241a58 - - Performance: Remove unneeeded nullptr checks b715ef44887931c94f0d1605b3b1a4156eebece9 - -### 2.2.0 Jan 9 2016 - - - Feature: Add Function::Call wrapper 4c157474dacf284d125c324177b45aa5dabc08c6 - - Feature: Rename GC*logueCallback to GCCallback for > 4.0 3603435109f981606d300eb88004ca101283acec - - Bugfix: Fix Global::Pass for old versions 367e82a60fbaa52716232cc89db1cc3f685d77d9 - - Bugfix: Remove weird MaybeLocal wrapping of what already is a MaybeLocal 23b4590db10c2ba66aee2338aebe9751c4cb190b - -### 2.1.0 Oct 8 2015 - - - Deprecation: Deprecate NanErrnoException in favor of ErrnoException 0af1ca4cf8b3f0f65ed31bc63a663ab3319da55c - - Feature: added helper class for accessing contents of typedarrays 17b51294c801e534479d5463697a73462d0ca555 - - Feature: [Maybe types] Add MakeMaybe(...) 48d7b53d9702b0c7a060e69ea10fea8fb48d814d - - Feature: new: allow utf16 string with length 66ac6e65c8ab9394ef588adfc59131b3b9d8347b - - Feature: Introduce SetCallHandler and SetCallAsFunctionHandler 7764a9a115d60ba10dc24d86feb0fbc9b4f75537 - - Bugfix: Enable creating Locals from Globals under Node 0.10. 9bf9b8b190821af889790fdc18ace57257e4f9ff - - Bugfix: Fix issue #462 where PropertyCallbackInfo data is not stored safely. 55f50adedd543098526c7b9f4fffd607d3f9861f - -### 2.0.9 Sep 8 2015 - - - Bugfix: EscapableHandleScope in Nan::NewBuffer for Node 0.8 and 0.10 b1654d7 - -### 2.0.8 Aug 28 2015 - - - Work around duplicate linking bug in clang 11902da - -### 2.0.7 Aug 26 2015 - - - Build: Repackage - -### 2.0.6 Aug 26 2015 - - - Bugfix: Properly handle null callback in FunctionTemplate factory 6e99cb1 - - Bugfix: Remove unused static std::map instances 525bddc - - Bugfix: Make better use of maybe versions of APIs bfba85b - - Bugfix: Fix shadowing issues with handle in ObjectWrap 0a9072d - -### 2.0.5 Aug 10 2015 - - - Bugfix: Reimplement weak callback in ObjectWrap 98d38c1 - - Bugfix: Make sure callback classes are not assignable, copyable or movable 81f9b1d - -### 2.0.4 Aug 6 2015 - - - Build: Repackage - -### 2.0.3 Aug 6 2015 - - - Bugfix: Don't use clang++ / g++ syntax extension. 231450e - -### 2.0.2 Aug 6 2015 - - - Build: Repackage - -### 2.0.1 Aug 6 2015 - - - Bugfix: Add workaround for missing REPLACE_INVALID_UTF8 60d6687 - - Bugfix: Reimplement ObjectWrap from scratch to prevent memory leaks 6484601 - - Bugfix: Fix Persistent leak in FunctionCallbackInfo and PropertyCallbackInfo 641ef5f - - Bugfix: Add missing overload for Nan::NewInstance that takes argc/argv 29450ed - -### 2.0.0 Jul 31 2015 - - - Change: Renamed identifiers with leading underscores b5932b4 - - Change: Replaced NanObjectWrapHandle with class NanObjectWrap 464f1e1 - - Change: Replace NanScope and NanEscpableScope macros with classes 47751c4 - - Change: Rename NanNewBufferHandle to NanNewBuffer 6745f99 - - Change: Rename NanBufferUse to NanNewBuffer 3e8b0a5 - - Change: Rename NanNewBuffer to NanCopyBuffer d6af78d - - Change: Remove Nan prefix from all names 72d1f67 - - Change: Update Buffer API for new upstream changes d5d3291 - - Change: Rename Scope and EscapableScope to HandleScope and EscapableHandleScope 21a7a6a - - Change: Get rid of Handles e6c0daf - - Feature: Support io.js 3 with V8 4.4 - - Feature: Introduce NanPersistent 7fed696 - - Feature: Introduce NanGlobal 4408da1 - - Feature: Added NanTryCatch 10f1ca4 - - Feature: Update for V8 v4.3 4b6404a - - Feature: Introduce NanNewOneByteString c543d32 - - Feature: Introduce namespace Nan 67ed1b1 - - Removal: Remove NanLocker and NanUnlocker dd6e401 - - Removal: Remove string converters, except NanUtf8String, which now follows the node implementation b5d00a9 - - Removal: Remove NanReturn* macros d90a25c - - Removal: Remove HasInstance e8f84fe - - -### 1.9.0 Jul 31 2015 - - - Feature: Added `NanFatalException` 81d4a2c - - Feature: Added more error types 4265f06 - - Feature: Added dereference and function call operators to NanCallback c4b2ed0 - - Feature: Added indexed GetFromPersistent and SaveToPersistent edd510c - - Feature: Added more overloads of SaveToPersistent and GetFromPersistent 8b1cef6 - - Feature: Added NanErrnoException dd87d9e - - Correctness: Prevent assign, copy, and move for classes that do not support it 1f55c59, 4b808cb, c96d9b2, fba4a29, 3357130 - - Deprecation: Deprecate `NanGetPointerSafe` and `NanSetPointerSafe` 81d4a2c - - Deprecation: Deprecate `NanBooleanOptionValue` and `NanUInt32OptionValue` 0ad254b - -### 1.8.4 Apr 26 2015 - - - Build: Repackage - -### 1.8.3 Apr 26 2015 - - - Bugfix: Include missing header 1af8648 - -### 1.8.2 Apr 23 2015 - - - Build: Repackage - -### 1.8.1 Apr 23 2015 - - - Bugfix: NanObjectWrapHandle should take a pointer 155f1d3 - -### 1.8.0 Apr 23 2015 - - - Feature: Allow primitives with NanReturnValue 2e4475e - - Feature: Added comparison operators to NanCallback 55b075e - - Feature: Backport thread local storage 15bb7fa - - Removal: Remove support for signatures with arguments 8a2069d - - Correcteness: Replaced NanObjectWrapHandle macro with function 0bc6d59 - -### 1.7.0 Feb 28 2015 - - - Feature: Made NanCallback::Call accept optional target 8d54da7 - - Feature: Support atom-shell 0.21 0b7f1bb - -### 1.6.2 Feb 6 2015 - - - Bugfix: NanEncode: fix argument type for node::Encode on io.js 2be8639 - -### 1.6.1 Jan 23 2015 - - - Build: version bump - -### 1.5.3 Jan 23 2015 - - - Build: repackage - -### 1.6.0 Jan 23 2015 - - - Deprecated `NanNewContextHandle` in favor of `NanNew` 49259af - - Support utility functions moved in newer v8 versions (Node 0.11.15, io.js 1.0) a0aa179 - - Added `NanEncode`, `NanDecodeBytes` and `NanDecodeWrite` 75e6fb9 - -### 1.5.2 Jan 23 2015 - - - Bugfix: Fix non-inline definition build error with clang++ 21d96a1, 60fadd4 - - Bugfix: Readded missing String constructors 18d828f - - Bugfix: Add overload handling NanNew(..) 5ef813b - - Bugfix: Fix uv_work_cb versioning 997e4ae - - Bugfix: Add function factory and test 4eca89c - - Bugfix: Add object template factory and test cdcb951 - - Correctness: Lifted an io.js related typedef c9490be - - Correctness: Make explicit downcasts of String lengths 00074e6 - - Windows: Limit the scope of disabled warning C4530 83d7deb - -### 1.5.1 Jan 15 2015 - - - Build: version bump - -### 1.4.3 Jan 15 2015 - - - Build: version bump - -### 1.4.2 Jan 15 2015 - - - Feature: Support io.js 0dbc5e8 - -### 1.5.0 Jan 14 2015 - - - Feature: Support io.js b003843 - - Correctness: Improved NanNew internals 9cd4f6a - - Feature: Implement progress to NanAsyncWorker 8d6a160 - -### 1.4.1 Nov 8 2014 - - - Bugfix: Handle DEBUG definition correctly - - Bugfix: Accept int as Boolean - -### 1.4.0 Nov 1 2014 - - - Feature: Added NAN_GC_CALLBACK 6a5c245 - - Performance: Removed unnecessary local handle creation 18a7243, 41fe2f8 - - Correctness: Added constness to references in NanHasInstance 02c61cd - - Warnings: Fixed spurious warnings from -Wundef and -Wshadow, 541b122, 99d8cb6 - - Windoze: Shut Visual Studio up when compiling 8d558c1 - - License: Switch to plain MIT from custom hacked MIT license 11de983 - - Build: Added test target to Makefile e232e46 - - Performance: Removed superfluous scope in NanAsyncWorker f4b7821 - - Sugar/Feature: Added NanReturnThis() and NanReturnHolder() shorthands 237a5ff, d697208 - - Feature: Added suitable overload of NanNew for v8::Integer::NewFromUnsigned b27b450 - -### 1.3.0 Aug 2 2014 - - - Added NanNew(std::string) - - Added NanNew(std::string&) - - Added NanAsciiString helper class - - Added NanUtf8String helper class - - Added NanUcs2String helper class - - Deprecated NanRawString() - - Deprecated NanCString() - - Added NanGetIsolateData(v8::Isolate *isolate) - - Added NanMakeCallback(v8::Handle target, v8::Handle func, int argc, v8::Handle* argv) - - Added NanMakeCallback(v8::Handle target, v8::Handle symbol, int argc, v8::Handle* argv) - - Added NanMakeCallback(v8::Handle target, const char* method, int argc, v8::Handle* argv) - - Added NanSetTemplate(v8::Handle templ, v8::Handle name , v8::Handle value, v8::PropertyAttribute attributes) - - Added NanSetPrototypeTemplate(v8::Local templ, v8::Handle name, v8::Handle value, v8::PropertyAttribute attributes) - - Added NanSetInstanceTemplate(v8::Local templ, const char *name, v8::Handle value) - - Added NanSetInstanceTemplate(v8::Local templ, v8::Handle name, v8::Handle value, v8::PropertyAttribute attributes) - -### 1.2.0 Jun 5 2014 - - - Add NanSetPrototypeTemplate - - Changed NAN_WEAK_CALLBACK internals, switched _NanWeakCallbackData to class, - introduced _NanWeakCallbackDispatcher - - Removed -Wno-unused-local-typedefs from test builds - - Made test builds Windows compatible ('Sleep()') - -### 1.1.2 May 28 2014 - - - Release to fix more stuff-ups in 1.1.1 - -### 1.1.1 May 28 2014 - - - Release to fix version mismatch in nan.h and lack of changelog entry for 1.1.0 - -### 1.1.0 May 25 2014 - - - Remove nan_isolate, use v8::Isolate::GetCurrent() internally instead - - Additional explicit overloads for NanNew(): (char*,int), (uint8_t*[,int]), - (uint16_t*[,int), double, int, unsigned int, bool, v8::String::ExternalStringResource*, - v8::String::ExternalAsciiStringResource* - - Deprecate NanSymbol() - - Added SetErrorMessage() and ErrorMessage() to NanAsyncWorker - -### 1.0.0 May 4 2014 - - - Heavy API changes for V8 3.25 / Node 0.11.13 - - Use cpplint.py - - Removed NanInitPersistent - - Removed NanPersistentToLocal - - Removed NanFromV8String - - Removed NanMakeWeak - - Removed NanNewLocal - - Removed NAN_WEAK_CALLBACK_OBJECT - - Removed NAN_WEAK_CALLBACK_DATA - - Introduce NanNew, replaces NanNewLocal, NanPersistentToLocal, adds many overloaded typed versions - - Introduce NanUndefined, NanNull, NanTrue and NanFalse - - Introduce NanEscapableScope and NanEscapeScope - - Introduce NanMakeWeakPersistent (requires a special callback to work on both old and new node) - - Introduce NanMakeCallback for node::MakeCallback - - Introduce NanSetTemplate - - Introduce NanGetCurrentContext - - Introduce NanCompileScript and NanRunScript - - Introduce NanAdjustExternalMemory - - Introduce NanAddGCEpilogueCallback, NanAddGCPrologueCallback, NanRemoveGCEpilogueCallback, NanRemoveGCPrologueCallback - - Introduce NanGetHeapStatistics - - Rename NanAsyncWorker#SavePersistent() to SaveToPersistent() - -### 0.8.0 Jan 9 2014 - - - NanDispose -> NanDisposePersistent, deprecate NanDispose - - Extract _NAN_*_RETURN_TYPE, pull up NAN_*() - -### 0.7.1 Jan 9 2014 - - - Fixes to work against debug builds of Node - - Safer NanPersistentToLocal (avoid reinterpret_cast) - - Speed up common NanRawString case by only extracting flattened string when necessary - -### 0.7.0 Dec 17 2013 - - - New no-arg form of NanCallback() constructor. - - NanCallback#Call takes Handle rather than Local - - Removed deprecated NanCallback#Run method, use NanCallback#Call instead - - Split off _NAN_*_ARGS_TYPE from _NAN_*_ARGS - - Restore (unofficial) Node 0.6 compatibility at NanCallback#Call() - - Introduce NanRawString() for char* (or appropriate void*) from v8::String - (replacement for NanFromV8String) - - Introduce NanCString() for null-terminated char* from v8::String - -### 0.6.0 Nov 21 2013 - - - Introduce NanNewLocal(v8::Handle value) for use in place of - v8::Local::New(...) since v8 started requiring isolate in Node 0.11.9 - -### 0.5.2 Nov 16 2013 - - - Convert SavePersistent and GetFromPersistent in NanAsyncWorker from protected and public - -### 0.5.1 Nov 12 2013 - - - Use node::MakeCallback() instead of direct v8::Function::Call() - -### 0.5.0 Nov 11 2013 - - - Added @TooTallNate as collaborator - - New, much simpler, "include_dirs" for binding.gyp - - Added full range of NAN_INDEX_* macros to match NAN_PROPERTY_* macros - -### 0.4.4 Nov 2 2013 - - - Isolate argument from v8::Persistent::MakeWeak removed for 0.11.8+ - -### 0.4.3 Nov 2 2013 - - - Include node_object_wrap.h, removed from node.h for Node 0.11.8. - -### 0.4.2 Nov 2 2013 - - - Handle deprecation of v8::Persistent::Dispose(v8::Isolate* isolate)) for - Node 0.11.8 release. - -### 0.4.1 Sep 16 2013 - - - Added explicit `#include ` as it was removed from node.h for v0.11.8 - -### 0.4.0 Sep 2 2013 - - - Added NAN_INLINE and NAN_DEPRECATED and made use of them - - Added NanError, NanTypeError and NanRangeError - - Cleaned up code - -### 0.3.2 Aug 30 2013 - - - Fix missing scope declaration in GetFromPersistent() and SaveToPersistent - in NanAsyncWorker - -### 0.3.1 Aug 20 2013 - - - fix "not all control paths return a value" compile warning on some platforms - -### 0.3.0 Aug 19 2013 - - - Made NAN work with NPM - - Lots of fixes to NanFromV8String, pulling in features from new Node core - - Changed node::encoding to Nan::Encoding in NanFromV8String to unify the API - - Added optional error number argument for NanThrowError() - - Added NanInitPersistent() - - Added NanReturnNull() and NanReturnEmptyString() - - Added NanLocker and NanUnlocker - - Added missing scopes - - Made sure to clear disposed Persistent handles - - Changed NanAsyncWorker to allocate error messages on the heap - - Changed NanThrowError(Local) to NanThrowError(Handle) - - Fixed leak in NanAsyncWorker when errmsg is used - -### 0.2.2 Aug 5 2013 - - - Fixed usage of undefined variable with node::BASE64 in NanFromV8String() - -### 0.2.1 Aug 5 2013 - - - Fixed 0.8 breakage, node::BUFFER encoding type not available in 0.8 for - NanFromV8String() - -### 0.2.0 Aug 5 2013 - - - Added NAN_PROPERTY_GETTER, NAN_PROPERTY_SETTER, NAN_PROPERTY_ENUMERATOR, - NAN_PROPERTY_DELETER, NAN_PROPERTY_QUERY - - Extracted _NAN_METHOD_ARGS, _NAN_GETTER_ARGS, _NAN_SETTER_ARGS, - _NAN_PROPERTY_GETTER_ARGS, _NAN_PROPERTY_SETTER_ARGS, - _NAN_PROPERTY_ENUMERATOR_ARGS, _NAN_PROPERTY_DELETER_ARGS, - _NAN_PROPERTY_QUERY_ARGS - - Added NanGetInternalFieldPointer, NanSetInternalFieldPointer - - Added NAN_WEAK_CALLBACK, NAN_WEAK_CALLBACK_OBJECT, - NAN_WEAK_CALLBACK_DATA, NanMakeWeak - - Renamed THROW_ERROR to _NAN_THROW_ERROR - - Added NanNewBufferHandle(char*, size_t, node::smalloc::FreeCallback, void*) - - Added NanBufferUse(char*, uint32_t) - - Added NanNewContextHandle(v8::ExtensionConfiguration*, - v8::Handle, v8::Handle) - - Fixed broken NanCallback#GetFunction() - - Added optional encoding and size arguments to NanFromV8String() - - Added NanGetPointerSafe() and NanSetPointerSafe() - - Added initial test suite (to be expanded) - - Allow NanUInt32OptionValue to convert any Number object - -### 0.1.0 Jul 21 2013 - - - Added `NAN_GETTER`, `NAN_SETTER` - - Added `NanThrowError` with single Local argument - - Added `NanNewBufferHandle` with single uint32_t argument - - Added `NanHasInstance(Persistent&, Handle)` - - Added `Local NanCallback#GetFunction()` - - Added `NanCallback#Call(int, Local[])` - - Deprecated `NanCallback#Run(int, Local[])` in favour of Call diff --git a/node_modules/nan/LICENSE.md b/node_modules/nan/LICENSE.md deleted file mode 100644 index d4d2da7..0000000 --- a/node_modules/nan/LICENSE.md +++ /dev/null @@ -1,13 +0,0 @@ -The MIT License (MIT) -===================== - -Copyright (c) 2017 NAN contributors ------------------------------------ - -*NAN contributors listed at * - -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. diff --git a/node_modules/nan/README.md b/node_modules/nan/README.md deleted file mode 100644 index 2946c97..0000000 --- a/node_modules/nan/README.md +++ /dev/null @@ -1,407 +0,0 @@ -Native Abstractions for Node.js -=============================== - -**A header file filled with macro and utility goodness for making add-on development for Node.js easier across versions 0.8, 0.10, 0.12, 1, 4, 5, 6 and 7.** - -***Current version: 2.5.1*** - -*(See [CHANGELOG.md](https://github.com/nodejs/nan/blob/master/CHANGELOG.md) for complete ChangeLog)* - -[![NPM](https://nodei.co/npm/nan.png?downloads=true&downloadRank=true)](https://nodei.co/npm/nan/) [![NPM](https://nodei.co/npm-dl/nan.png?months=6&height=3)](https://nodei.co/npm/nan/) - -[![Build Status](https://api.travis-ci.org/nodejs/nan.svg?branch=master)](http://travis-ci.org/nodejs/nan) -[![Build status](https://ci.appveyor.com/api/projects/status/kh73pbm9dsju7fgh)](https://ci.appveyor.com/project/RodVagg/nan) - -Thanks to the crazy changes in V8 (and some in Node core), keeping native addons compiling happily across versions, particularly 0.10 to 0.12 to 4.0, is a minor nightmare. The goal of this project is to store all logic necessary to develop native Node.js addons without having to inspect `NODE_MODULE_VERSION` and get yourself into a macro-tangle. - -This project also contains some helper utilities that make addon development a bit more pleasant. - - * **[News & Updates](#news)** - * **[Usage](#usage)** - * **[Example](#example)** - * **[API](#api)** - * **[Tests](#tests)** - * **[Governance & Contributing](#governance)** - - -## News & Updates - - -## Usage - -Simply add **NAN** as a dependency in the *package.json* of your Node addon: - -``` bash -$ npm install --save nan -``` - -Pull in the path to **NAN** in your *binding.gyp* so that you can use `#include ` in your *.cpp* files: - -``` python -"include_dirs" : [ - "` when compiling your addon. - - -## Example - -Just getting started with Nan? Take a look at the **[Node Add-on Examples](https://github.com/nodejs/node-addon-examples)**. - -Refer to a [quick-start **Nan** Boilerplate](https://github.com/fcanas/node-native-boilerplate) for a ready-to-go project that utilizes basic Nan functionality. - -For a simpler example, see the **[async pi estimation example](https://github.com/nodejs/nan/tree/master/examples/async_pi_estimate)** in the examples directory for full code and an explanation of what this Monte Carlo Pi estimation example does. Below are just some parts of the full example that illustrate the use of **NAN**. - -Yet another example is **[nan-example-eol](https://github.com/CodeCharmLtd/nan-example-eol)**. It shows newline detection implemented as a native addon. - -Also take a look at our comprehensive **[C++ test suite](https://github.com/nodejs/nan/tree/master/test/cpp)** which has a plethora of code snippets for your pasting pleasure. - - -## API - -Additional to the NAN documentation below, please consult: - -* [The V8 Getting Started * Guide](https://github.com/v8/v8/wiki/Getting%20Started%20with%20Embedding) -* [The V8 Embedders * Guide](https://github.com/v8/v8/wiki/Embedder%27s%20Guide) -* [V8 API Documentation](http://v8docs.nodesource.com/) -* [Node Add-on Documentation](https://nodejs.org/api/addons.html) - - - -### JavaScript-accessible methods - -A _template_ is a blueprint for JavaScript functions and objects in a context. You can use a template to wrap C++ functions and data structures within JavaScript objects so that they can be manipulated from JavaScript. See the V8 Embedders Guide section on [Templates](https://developers.google.com/v8/embed#templates) for further information. - -In order to expose functionality to JavaScript via a template, you must provide it to V8 in a form that it understands. Across the versions of V8 supported by NAN, JavaScript-accessible method signatures vary widely, NAN fully abstracts method declaration and provides you with an interface that is similar to the most recent V8 API but is backward-compatible with older versions that still use the now-deceased `v8::Argument` type. - -* **Method argument types** - - Nan::FunctionCallbackInfo - - Nan::PropertyCallbackInfo - - Nan::ReturnValue -* **Method declarations** - - Method declaration - - Getter declaration - - Setter declaration - - Property getter declaration - - Property setter declaration - - Property enumerator declaration - - Property deleter declaration - - Property query declaration - - Index getter declaration - - Index setter declaration - - Index enumerator declaration - - Index deleter declaration - - Index query declaration -* Method and template helpers - - Nan::SetMethod() - - Nan::SetPrototypeMethod() - - Nan::SetAccessor() - - Nan::SetNamedPropertyHandler() - - Nan::SetIndexedPropertyHandler() - - Nan::SetTemplate() - - Nan::SetPrototypeTemplate() - - Nan::SetInstanceTemplate() - - Nan::SetCallHandler() - - Nan::SetCallAsFunctionHandler() - -### Scopes - -A _local handle_ is a pointer to an object. All V8 objects are accessed using handles, they are necessary because of the way the V8 garbage collector works. - -A handle scope can be thought of as a container for any number of handles. When you've finished with your handles, instead of deleting each one individually you can simply delete their scope. - -The creation of `HandleScope` objects is different across the supported versions of V8. Therefore, NAN provides its own implementations that can be used safely across these. - - - Nan::HandleScope - - Nan::EscapableHandleScope - -Also see the V8 Embedders Guide section on [Handles and Garbage Collection](https://github.com/v8/v8/wiki/Embedder%27s%20Guide#handles-and-garbage-collection). - -### Persistent references - -An object reference that is independent of any `HandleScope` is a _persistent_ reference. Where a `Local` handle only lives as long as the `HandleScope` in which it was allocated, a `Persistent` handle remains valid until it is explicitly disposed. - -Due to the evolution of the V8 API, it is necessary for NAN to provide a wrapper implementation of the `Persistent` classes to supply compatibility across the V8 versions supported. - - - Nan::PersistentBase & v8::PersistentBase - - Nan::NonCopyablePersistentTraits & v8::NonCopyablePersistentTraits - - Nan::CopyablePersistentTraits & v8::CopyablePersistentTraits - - Nan::Persistent - - Nan::Global - - Nan::WeakCallbackInfo - - Nan::WeakCallbackType - -Also see the V8 Embedders Guide section on [Handles and Garbage Collection](https://developers.google.com/v8/embed#handles). - -### New - -NAN provides a `Nan::New()` helper for the creation of new JavaScript objects in a way that's compatible across the supported versions of V8. - - - Nan::New() - - Nan::Undefined() - - Nan::Null() - - Nan::True() - - Nan::False() - - Nan::EmptyString() - - -### Converters - -NAN contains functions that convert `v8::Value`s to other `v8::Value` types and native types. Since type conversion is not guaranteed to succeed, they return `Nan::Maybe` types. These converters can be used in place of `value->ToX()` and `value->XValue()` (where `X` is one of the types, e.g. `Boolean`) in a way that provides a consistent interface across V8 versions. Newer versions of V8 use the new `v8::Maybe` and `v8::MaybeLocal` types for these conversions, older versions don't have this functionality so it is provided by NAN. - - - Nan::To() - -### Maybe Types - -The `Nan::MaybeLocal` and `Nan::Maybe` types are monads that encapsulate `v8::Local` handles that _may be empty_. - -* **Maybe Types** - - Nan::MaybeLocal - - Nan::Maybe - - Nan::Nothing - - Nan::Just -* **Maybe Helpers** - - Nan::Call() - - Nan::ToDetailString() - - Nan::ToArrayIndex() - - Nan::Equals() - - Nan::NewInstance() - - Nan::GetFunction() - - Nan::Set() - - Nan::ForceSet() - - Nan::Get() - - Nan::GetPropertyAttributes() - - Nan::Has() - - Nan::Delete() - - Nan::GetPropertyNames() - - Nan::GetOwnPropertyNames() - - Nan::SetPrototype() - - Nan::ObjectProtoToString() - - Nan::HasOwnProperty() - - Nan::HasRealNamedProperty() - - Nan::HasRealIndexedProperty() - - Nan::HasRealNamedCallbackProperty() - - Nan::GetRealNamedPropertyInPrototypeChain() - - Nan::GetRealNamedProperty() - - Nan::CallAsFunction() - - Nan::CallAsConstructor() - - Nan::GetSourceLine() - - Nan::GetLineNumber() - - Nan::GetStartColumn() - - Nan::GetEndColumn() - - Nan::CloneElementAt() - - Nan::HasPrivate() - - Nan::GetPrivate() - - Nan::SetPrivate() - - Nan::DeletePrivate() - - Nan::MakeMaybe() - -### Script - -NAN provides a `v8::Script` helpers as the API has changed over the supported versions of V8. - - - Nan::CompileScript() - - Nan::RunScript() - - -### Errors - -NAN includes helpers for creating, throwing and catching Errors as much of this functionality varies across the supported versions of V8 and must be abstracted. - -Note that an Error object is simply a specialized form of `v8::Value`. - -Also consult the V8 Embedders Guide section on [Exceptions](https://developers.google.com/v8/embed#exceptions) for more information. - - - Nan::Error() - - Nan::RangeError() - - Nan::ReferenceError() - - Nan::SyntaxError() - - Nan::TypeError() - - Nan::ThrowError() - - Nan::ThrowRangeError() - - Nan::ThrowReferenceError() - - Nan::ThrowSyntaxError() - - Nan::ThrowTypeError() - - Nan::FatalException() - - Nan::ErrnoException() - - Nan::TryCatch - - -### Buffers - -NAN's `node::Buffer` helpers exist as the API has changed across supported Node versions. Use these methods to ensure compatibility. - - - Nan::NewBuffer() - - Nan::CopyBuffer() - - Nan::FreeCallback() - -### Nan::Callback - -`Nan::Callback` makes it easier to use `v8::Function` handles as callbacks. A class that wraps a `v8::Function` handle, protecting it from garbage collection and making it particularly useful for storage and use across asynchronous execution. - - - Nan::Callback - -### Asynchronous work helpers - -`Nan::AsyncWorker` and `Nan::AsyncProgressWorker` are helper classes that make working with asynchronous code easier. - - - Nan::AsyncWorker - - Nan::AsyncProgressWorkerBase & Nan::AsyncProgressWorker - - Nan::AsyncQueueWorker - -### Strings & Bytes - -Miscellaneous string & byte encoding and decoding functionality provided for compatibility across supported versions of V8 and Node. Implemented by NAN to ensure that all encoding types are supported, even for older versions of Node where they are missing. - - - Nan::Encoding - - Nan::Encode() - - Nan::DecodeBytes() - - Nan::DecodeWrite() - - -### Object Wrappers - -The `ObjectWrap` class can be used to make wrapped C++ objects and a factory of wrapped objects. - - - Nan::ObjectWrap - - -### V8 internals - -The hooks to access V8 internals—including GC and statistics—are different across the supported versions of V8, therefore NAN provides its own hooks that call the appropriate V8 methods. - - - NAN_GC_CALLBACK() - - Nan::AddGCEpilogueCallback() - - Nan::RemoveGCEpilogueCallback() - - Nan::AddGCPrologueCallback() - - Nan::RemoveGCPrologueCallback() - - Nan::GetHeapStatistics() - - Nan::SetCounterFunction() - - Nan::SetCreateHistogramFunction() - - Nan::SetAddHistogramSampleFunction() - - Nan::IdleNotification() - - Nan::LowMemoryNotification() - - Nan::ContextDisposedNotification() - - Nan::GetInternalFieldPointer() - - Nan::SetInternalFieldPointer() - - Nan::AdjustExternalMemory() - - -### Miscellaneous V8 Helpers - - - Nan::Utf8String - - Nan::GetCurrentContext() - - Nan::SetIsolateData() - - Nan::GetIsolateData() - - Nan::TypedArrayContents - - -### Miscellaneous Node Helpers - - - Nan::MakeCallback() - - NAN_MODULE_INIT() - - Nan::Export() - - - - - -### Tests - -To run the NAN tests do: - -``` sh -npm install -npm run-script rebuild-tests -npm test -``` - -Or just: - -``` sh -npm install -make test -``` - - -## Governance & Contributing - -NAN is governed by the [io.js](https://iojs.org/) Addon API Working Group - -### Addon API Working Group (WG) - -The NAN project is jointly governed by a Working Group which is responsible for high-level guidance of the project. - -Members of the WG are also known as Collaborators, there is no distinction between the two, unlike other io.js projects. - -The WG has final authority over this project including: - -* Technical direction -* Project governance and process (including this policy) -* Contribution policy -* GitHub repository hosting -* Maintaining the list of additional Collaborators - -For the current list of WG members, see the project [README.md](./README.md#collaborators). - -Individuals making significant and valuable contributions are made members of the WG and given commit-access to the project. These individuals are identified by the WG and their addition to the WG is discussed via GitHub and requires unanimous consensus amongst those WG members participating in the discussion with a quorum of 50% of WG members required for acceptance of the vote. - -_Note:_ If you make a significant contribution and are not considered for commit-access log an issue or contact a WG member directly. - -For the current list of WG members / Collaborators, see the project [README.md](./README.md#collaborators). - -### Consensus Seeking Process - -The WG follows a [Consensus Seeking](http://en.wikipedia.org/wiki/Consensus-seeking_decision-making) decision making model. - -Modifications of the contents of the NAN repository are made on a collaborative basis. Anybody with a GitHub account may propose a modification via pull request and it will be considered by the WG. All pull requests must be reviewed and accepted by a WG member with sufficient expertise who is able to take full responsibility for the change. In the case of pull requests proposed by an existing WG member, an additional WG member is required for sign-off. Consensus should be sought if additional WG members participate and there is disagreement around a particular modification. - -If a change proposal cannot reach a consensus, a WG member can call for a vote amongst the members of the WG. Simple majority wins. - - -## Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -* (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -* (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -* (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -* (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. - - -### WG Members / Collaborators - - - - - - - - - -
Rod VaggGitHub/rvaggTwitter/@rvagg
Benjamin ByholmGitHub/kkoopa-
Trevor NorrisGitHub/trevnorrisTwitter/@trevnorris
Nathan RajlichGitHub/TooTallNateTwitter/@TooTallNate
Brett LawsonGitHub/brett19Twitter/@brett19x
Ben NoordhuisGitHub/bnoordhuisTwitter/@bnoordhuis
David SiegelGitHub/agnatTwitter/@agnat
- -## Licence & copyright - -Copyright (c) 2017 NAN WG Members / Collaborators (listed above). - -Native Abstractions for Node.js is licensed under an MIT license. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details. diff --git a/node_modules/nan/doc/asyncworker.md b/node_modules/nan/doc/asyncworker.md deleted file mode 100644 index 53a78dd..0000000 --- a/node_modules/nan/doc/asyncworker.md +++ /dev/null @@ -1,103 +0,0 @@ -## Asynchronous work helpers - -`Nan::AsyncWorker` and `Nan::AsyncProgressWorker` are helper classes that make working with asynchronous code easier. - - - Nan::AsyncWorker - - Nan::AsyncProgressWorkerBase & Nan::AsyncProgressWorker - - Nan::AsyncQueueWorker - - -### Nan::AsyncWorker - -`Nan::AsyncWorker` is an _abstract_ class that you can subclass to have much of the annoying asynchronous queuing and handling taken care of for you. It can even store arbitrary V8 objects for you and have them persist while the asynchronous work is in progress. - -Definition: - -```c++ -class AsyncWorker { - public: - explicit AsyncWorker(Callback *callback_); - - virtual ~AsyncWorker(); - - virtual void WorkComplete(); - - void SaveToPersistent(const char *key, const v8::Local &value); - - void SaveToPersistent(const v8::Local &key, - const v8::Local &value); - - void SaveToPersistent(uint32_t index, - const v8::Local &value); - - v8::Local GetFromPersistent(const char *key) const; - - v8::Local GetFromPersistent(const v8::Local &key) const; - - v8::Local GetFromPersistent(uint32_t index) const; - - virtual void Execute() = 0; - - uv_work_t request; - - virtual void Destroy(); - - protected: - Persistent persistentHandle; - - Callback *callback; - - virtual void HandleOKCallback(); - - virtual void HandleErrorCallback(); - - void SetErrorMessage(const char *msg); - - const char* ErrorMessage(); -}; -``` - - -### Nan::AsyncProgressWorkerBase & Nan::AsyncProgressWorker - -`Nan::AsyncProgressWorkerBase` is an _abstract_ class template that extends `Nan::AsyncWorker` and adds additional progress reporting callbacks that can be used during the asynchronous work execution to provide progress data back to JavaScript. - -Previously the definiton of `Nan::AsyncProgressWorker` only allowed sending `const char` data. Now extending `Nan::AsyncProgressWorker` will yield an instance of the implicit `Nan::AsyncProgressWorkerBase` template with type `` for compatibility. - -Definition: - -```c++ -template -class AsyncProgressWorkerBase : public AsyncWorker { - public: - explicit AsyncProgressWorker(Callback *callback_); - - virtual ~AsyncProgressWorker(); - - void WorkProgress(); - - class ExecutionProgress { - public: - void Signal() const; - void Send(const T* data, size_t size) const; - }; - - virtual void Execute(const ExecutionProgress& progress) = 0; - - virtual void HandleProgressCallback(const T *data, size_t size) = 0; - - virtual void Destroy(); - -typedef AsyncProgressWorkerBase AsyncProgressWorker; -``` - - -### Nan::AsyncQueueWorker - -`Nan::AsyncQueueWorker` will run a `Nan::AsyncWorker` asynchronously via libuv. Both the `execute` and `after_work` steps are taken care of for you. Most of the logic for this is embedded in `Nan::AsyncWorker`. - -Definition: - -```c++ -void AsyncQueueWorker(AsyncWorker *); -``` diff --git a/node_modules/nan/doc/buffers.md b/node_modules/nan/doc/buffers.md deleted file mode 100644 index 8d8d25c..0000000 --- a/node_modules/nan/doc/buffers.md +++ /dev/null @@ -1,54 +0,0 @@ -## Buffers - -NAN's `node::Buffer` helpers exist as the API has changed across supported Node versions. Use these methods to ensure compatibility. - - - Nan::NewBuffer() - - Nan::CopyBuffer() - - Nan::FreeCallback() - - -### Nan::NewBuffer() - -Allocate a new `node::Buffer` object with the specified size and optional data. Calls `node::Buffer::New()`. - -Note that when creating a `Buffer` using `Nan::NewBuffer()` and an existing `char*`, it is assumed that the ownership of the pointer is being transferred to the new `Buffer` for management. -When a `node::Buffer` instance is garbage collected and a `FreeCallback` has not been specified, `data` will be disposed of via a call to `free()`. -You _must not_ free the memory space manually once you have created a `Buffer` in this way. - -Signature: - -```c++ -Nan::MaybeLocal Nan::NewBuffer(uint32_t size) -Nan::MaybeLocal Nan::NewBuffer(char* data, uint32_t size) -Nan::MaybeLocal Nan::NewBuffer(char *data, - size_t length, - Nan::FreeCallback callback, - void *hint) -``` - - - -### Nan::CopyBuffer() - -Similar to [`Nan::NewBuffer()`](#api_nan_new_buffer) except that an implicit memcpy will occur within Node. Calls `node::Buffer::Copy()`. - -Management of the `char*` is left to the user, you should manually free the memory space if necessary as the new `Buffer` will have its own copy. - -Signature: - -```c++ -Nan::MaybeLocal Nan::CopyBuffer(const char *data, uint32_t size) -``` - - - -### Nan::FreeCallback() - -A free callback that can be provided to [`Nan::NewBuffer()`](#api_nan_new_buffer). -The supplied callback will be invoked when the `Buffer` undergoes garbage collection. - -Signature: - -```c++ -typedef void (*FreeCallback)(char *data, void *hint); -``` diff --git a/node_modules/nan/doc/callback.md b/node_modules/nan/doc/callback.md deleted file mode 100644 index 46de1d7..0000000 --- a/node_modules/nan/doc/callback.md +++ /dev/null @@ -1,56 +0,0 @@ -## Nan::Callback - -`Nan::Callback` makes it easier to use `v8::Function` handles as callbacks. A class that wraps a `v8::Function` handle, protecting it from garbage collection and making it particularly useful for storage and use across asynchronous execution. - - - Nan::Callback - - -### Nan::Callback - -```c++ -class Callback { - public: - Callback(); - - explicit Callback(const v8::Local &fn); - - ~Callback(); - - bool operator==(const Callback &other) const; - - bool operator!=(const Callback &other) const; - - v8::Local operator*() const; - - v8::Local operator()(v8::Local target, - int argc = 0, - v8::Local argv[] = 0) const; - - v8::Local operator()(int argc = 0, - v8::Local argv[] = 0) const; - - void SetFunction(const v8::Local &fn); - - v8::Local GetFunction() const; - - bool IsEmpty() const; - - void Reset(const v8::Local &fn); - - void Reset(); - - v8::Local Call(v8::Local target, - int argc, - v8::Local argv[]) const; - - v8::Local Call(int argc, v8::Local argv[]) const; -}; -``` - -Example usage: - -```c++ -v8::Local function; -Nan::Callback callback(function); -callback.Call(0, 0); -``` diff --git a/node_modules/nan/doc/converters.md b/node_modules/nan/doc/converters.md deleted file mode 100644 index d20861b..0000000 --- a/node_modules/nan/doc/converters.md +++ /dev/null @@ -1,41 +0,0 @@ -## Converters - -NAN contains functions that convert `v8::Value`s to other `v8::Value` types and native types. Since type conversion is not guaranteed to succeed, they return `Nan::Maybe` types. These converters can be used in place of `value->ToX()` and `value->XValue()` (where `X` is one of the types, e.g. `Boolean`) in a way that provides a consistent interface across V8 versions. Newer versions of V8 use the new `v8::Maybe` and `v8::MaybeLocal` types for these conversions, older versions don't have this functionality so it is provided by NAN. - - - Nan::To() - - -### Nan::To() - -Converts a `v8::Local` to a different subtype of `v8::Value` or to a native data type. Returns a `Nan::MaybeLocal<>` or a `Nan::Maybe<>` accordingly. - -See [maybe_types.md](./maybe_types.md) for more information on `Nan::Maybe` types. - -Signatures: - -```c++ -// V8 types -Nan::MaybeLocal Nan::To(v8::Local val); -Nan::MaybeLocal Nan::To(v8::Local val); -Nan::MaybeLocal Nan::To(v8::Local val); -Nan::MaybeLocal Nan::To(v8::Local val); -Nan::MaybeLocal Nan::To(v8::Local val); -Nan::MaybeLocal Nan::To(v8::Local val); -Nan::MaybeLocal Nan::To(v8::Local val); - -// Native types -Nan::Maybe Nan::To(v8::Local val); -Nan::Maybe Nan::To(v8::Local val); -Nan::Maybe Nan::To(v8::Local val); -Nan::Maybe Nan::To(v8::Local val); -Nan::Maybe Nan::To(v8::Local val); -``` - -### Example - -```c++ -v8::Local val; -Nan::MaybeLocal str = Nan::To(val); -Nan::Maybe d = Nan::To(val); -``` - diff --git a/node_modules/nan/doc/errors.md b/node_modules/nan/doc/errors.md deleted file mode 100644 index aac6e08..0000000 --- a/node_modules/nan/doc/errors.md +++ /dev/null @@ -1,226 +0,0 @@ -## Errors - -NAN includes helpers for creating, throwing and catching Errors as much of this functionality varies across the supported versions of V8 and must be abstracted. - -Note that an Error object is simply a specialized form of `v8::Value`. - -Also consult the V8 Embedders Guide section on [Exceptions](https://developers.google.com/v8/embed#exceptions) for more information. - - - Nan::Error() - - Nan::RangeError() - - Nan::ReferenceError() - - Nan::SyntaxError() - - Nan::TypeError() - - Nan::ThrowError() - - Nan::ThrowRangeError() - - Nan::ThrowReferenceError() - - Nan::ThrowSyntaxError() - - Nan::ThrowTypeError() - - Nan::FatalException() - - Nan::ErrnoException() - - Nan::TryCatch - - - -### Nan::Error() - -Create a new Error object using the [v8::Exception](https://v8docs.nodesource.com/io.js-3.0/da/d6a/classv8_1_1_exception.html) class in a way that is compatible across the supported versions of V8. - -Note that an Error object is simply a specialized form of `v8::Value`. - -Signature: - -```c++ -v8::Local Nan::Error(const char *msg); -v8::Local Nan::Error(v8::Local msg); -``` - - - -### Nan::RangeError() - -Create a new RangeError object using the [v8::Exception](https://v8docs.nodesource.com/io.js-3.0/da/d6a/classv8_1_1_exception.html) class in a way that is compatible across the supported versions of V8. - -Note that an RangeError object is simply a specialized form of `v8::Value`. - -Signature: - -```c++ -v8::Local Nan::RangeError(const char *msg); -v8::Local Nan::RangeError(v8::Local msg); -``` - - - -### Nan::ReferenceError() - -Create a new ReferenceError object using the [v8::Exception](https://v8docs.nodesource.com/io.js-3.0/da/d6a/classv8_1_1_exception.html) class in a way that is compatible across the supported versions of V8. - -Note that an ReferenceError object is simply a specialized form of `v8::Value`. - -Signature: - -```c++ -v8::Local Nan::ReferenceError(const char *msg); -v8::Local Nan::ReferenceError(v8::Local msg); -``` - - - -### Nan::SyntaxError() - -Create a new SyntaxError object using the [v8::Exception](https://v8docs.nodesource.com/io.js-3.0/da/d6a/classv8_1_1_exception.html) class in a way that is compatible across the supported versions of V8. - -Note that an SyntaxError object is simply a specialized form of `v8::Value`. - -Signature: - -```c++ -v8::Local Nan::SyntaxError(const char *msg); -v8::Local Nan::SyntaxError(v8::Local msg); -``` - - - -### Nan::TypeError() - -Create a new TypeError object using the [v8::Exception](https://v8docs.nodesource.com/io.js-3.0/da/d6a/classv8_1_1_exception.html) class in a way that is compatible across the supported versions of V8. - -Note that an TypeError object is simply a specialized form of `v8::Value`. - -Signature: - -```c++ -v8::Local Nan::TypeError(const char *msg); -v8::Local Nan::TypeError(v8::Local msg); -``` - - - -### Nan::ThrowError() - -Throw an Error object (a specialized `v8::Value` as above) in the current context. If a `msg` is provided, a new Error object will be created. - -Signature: - -```c++ -void Nan::ThrowError(const char *msg); -void Nan::ThrowError(v8::Local msg); -void Nan::ThrowError(v8::Local error); -``` - - - -### Nan::ThrowRangeError() - -Throw an RangeError object (a specialized `v8::Value` as above) in the current context. If a `msg` is provided, a new RangeError object will be created. - -Signature: - -```c++ -void Nan::ThrowRangeError(const char *msg); -void Nan::ThrowRangeError(v8::Local msg); -void Nan::ThrowRangeError(v8::Local error); -``` - - - -### Nan::ThrowReferenceError() - -Throw an ReferenceError object (a specialized `v8::Value` as above) in the current context. If a `msg` is provided, a new ReferenceError object will be created. - -Signature: - -```c++ -void Nan::ThrowReferenceError(const char *msg); -void Nan::ThrowReferenceError(v8::Local msg); -void Nan::ThrowReferenceError(v8::Local error); -``` - - - -### Nan::ThrowSyntaxError() - -Throw an SyntaxError object (a specialized `v8::Value` as above) in the current context. If a `msg` is provided, a new SyntaxError object will be created. - -Signature: - -```c++ -void Nan::ThrowSyntaxError(const char *msg); -void Nan::ThrowSyntaxError(v8::Local msg); -void Nan::ThrowSyntaxError(v8::Local error); -``` - - - -### Nan::ThrowTypeError() - -Throw an TypeError object (a specialized `v8::Value` as above) in the current context. If a `msg` is provided, a new TypeError object will be created. - -Signature: - -```c++ -void Nan::ThrowTypeError(const char *msg); -void Nan::ThrowTypeError(v8::Local msg); -void Nan::ThrowTypeError(v8::Local error); -``` - - -### Nan::FatalException() - -Replaces `node::FatalException()` which has a different API across supported versions of Node. For use with [`Nan::TryCatch`](#api_nan_try_catch). - -Signature: - -```c++ -void Nan::FatalException(const Nan::TryCatch& try_catch); -``` - - -### Nan::ErrnoException() - -Replaces `node::ErrnoException()` which has a different API across supported versions of Node. - -Signature: - -```c++ -v8::Local Nan::ErrnoException(int errorno, - const char* syscall = NULL, - const char* message = NULL, - const char* path = NULL); -``` - - - -### Nan::TryCatch - -A simple wrapper around [`v8::TryCatch`](https://v8docs.nodesource.com/io.js-3.0/d4/dc6/classv8_1_1_try_catch.html) compatible with all supported versions of V8. Can be used as a direct replacement in most cases. See also [`Nan::FatalException()`](#api_nan_fatal_exception) for an internal use compatible with `node::FatalException`. - -Signature: - -```c++ -class Nan::TryCatch { - public: - Nan::TryCatch(); - - bool HasCaught() const; - - bool CanContinue() const; - - v8::Local ReThrow(); - - v8::Local Exception() const; - - // Nan::MaybeLocal for older versions of V8 - v8::MaybeLocal StackTrace() const; - - v8::Local Message() const; - - void Reset(); - - void SetVerbose(bool value); - - void SetCaptureMessage(bool value); -}; -``` - diff --git a/node_modules/nan/doc/maybe_types.md b/node_modules/nan/doc/maybe_types.md deleted file mode 100644 index 818861d..0000000 --- a/node_modules/nan/doc/maybe_types.md +++ /dev/null @@ -1,560 +0,0 @@ -## Maybe Types - -The `Nan::MaybeLocal` and `Nan::Maybe` types are monads that encapsulate `v8::Local` handles that _may be empty_. - -* **Maybe Types** - - Nan::MaybeLocal - - Nan::Maybe - - Nan::Nothing - - Nan::Just -* **Maybe Helpers** - - Nan::Call() - - Nan::ToDetailString() - - Nan::ToArrayIndex() - - Nan::Equals() - - Nan::NewInstance() - - Nan::GetFunction() - - Nan::Set() - - Nan::ForceSet() - - Nan::Get() - - Nan::GetPropertyAttributes() - - Nan::Has() - - Nan::Delete() - - Nan::GetPropertyNames() - - Nan::GetOwnPropertyNames() - - Nan::SetPrototype() - - Nan::ObjectProtoToString() - - Nan::HasOwnProperty() - - Nan::HasRealNamedProperty() - - Nan::HasRealIndexedProperty() - - Nan::HasRealNamedCallbackProperty() - - Nan::GetRealNamedPropertyInPrototypeChain() - - Nan::GetRealNamedProperty() - - Nan::CallAsFunction() - - Nan::CallAsConstructor() - - Nan::GetSourceLine() - - Nan::GetLineNumber() - - Nan::GetStartColumn() - - Nan::GetEndColumn() - - Nan::CloneElementAt() - - Nan::HasPrivate() - - Nan::GetPrivate() - - Nan::SetPrivate() - - Nan::DeletePrivate() - - Nan::MakeMaybe() - - -### Nan::MaybeLocal - -A `Nan::MaybeLocal` is a wrapper around [`v8::Local`](https://v8docs.nodesource.com/io.js-3.0/de/deb/classv8_1_1_local.html) that enforces a check that determines whether the `v8::Local` is empty before it can be used. - -If an API method returns a `Nan::MaybeLocal`, the API method can potentially fail either because an exception is thrown, or because an exception is pending, e.g. because a previous API call threw an exception that hasn't been caught yet, or because a `v8::TerminateExecution` exception was thrown. In that case, an empty `Nan::MaybeLocal` is returned. - -Definition: - -```c++ -template class Nan::MaybeLocal { - public: - MaybeLocal(); - - template MaybeLocal(v8::Local that); - - bool IsEmpty() const; - - template bool ToLocal(v8::Local *out); - - // Will crash if the MaybeLocal<> is empty. - v8::Local ToLocalChecked(); - - template v8::Local FromMaybe(v8::Local default_value) const; -}; -``` - -See the documentation for [`v8::MaybeLocal`](https://v8docs.nodesource.com/io.js-3.0/d8/d7d/classv8_1_1_maybe_local.html) for further details. - - -### Nan::Maybe - -A simple `Nan::Maybe` type, representing an object which may or may not have a value, see https://hackage.haskell.org/package/base/docs/Data-Maybe.html. - -If an API method returns a `Nan::Maybe<>`, the API method can potentially fail either because an exception is thrown, or because an exception is pending, e.g. because a previous API call threw an exception that hasn't been caught yet, or because a `v8::TerminateExecution` exception was thrown. In that case, a "Nothing" value is returned. - -Definition: - -```c++ -template class Nan::Maybe { - public: - bool IsNothing() const; - bool IsJust() const; - - // Will crash if the Maybe<> is nothing. - T FromJust(); - - T FromMaybe(const T& default_value); - - bool operator==(const Maybe &other); - - bool operator!=(const Maybe &other); -}; -``` - -See the documentation for [`v8::Maybe`](https://v8docs.nodesource.com/io.js-3.0/d9/d4b/classv8_1_1_maybe.html) for further details. - - -### Nan::Nothing - -Construct an empty `Nan::Maybe` type representing _nothing_. - -```c++ -template Nan::Maybe Nan::Nothing(); -``` - - -### Nan::Just - -Construct a `Nan::Maybe` type representing _just_ a value. - -```c++ -template Nan::Maybe Nan::Just(const T &t); -``` - - -### Nan::Call() - -A helper method for calling [`v8::Function#Call()`](https://v8docs.nodesource.com/io.js-3.0/d5/d54/classv8_1_1_function.html#a468a89f737af0612db10132799c827c0) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::Call(v8::Local fun, v8::Local recv, int argc, v8::Local argv[]); -``` - - - -### Nan::ToDetailString() - -A helper method for calling [`v8::Value#ToDetailString()`](https://v8docs.nodesource.com/io.js-3.0/dc/d0a/classv8_1_1_value.html#a2f9770296dc2c8d274bc8cc0dca243e5) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::ToDetailString(v8::Local val); -``` - - - -### Nan::ToArrayIndex() - -A helper method for calling [`v8::Value#ToArrayIndex()`](https://v8docs.nodesource.com/io.js-3.0/dc/d0a/classv8_1_1_value.html#acc5bbef3c805ec458470c0fcd6f13493) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::ToArrayIndex(v8::Local val); -``` - - - -### Nan::Equals() - -A helper method for calling [`v8::Value#Equals()`](https://v8docs.nodesource.com/io.js-3.0/dc/d0a/classv8_1_1_value.html#a0d9616ab2de899d4e3047c30a10c9285) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::Equals(v8::Local a, v8::Local(b)); -``` - - - -### Nan::NewInstance() - -A helper method for calling [`v8::Function#NewInstance()`](https://v8docs.nodesource.com/io.js-3.0/d5/d54/classv8_1_1_function.html#a691b13f7a553069732cbacf5ac8c62ec) and [`v8::ObjectTemplate#NewInstance()`](https://v8docs.nodesource.com/io.js-3.0/db/d5f/classv8_1_1_object_template.html#ad605a7543cfbc5dab54cdb0883d14ae4) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::NewInstance(v8::Local h); -Nan::MaybeLocal Nan::NewInstance(v8::Local h, int argc, v8::Local argv[]); -Nan::MaybeLocal Nan::NewInstance(v8::Local h); -``` - - - -### Nan::GetFunction() - -A helper method for calling [`v8::FunctionTemplate#GetFunction()`](https://v8docs.nodesource.com/io.js-3.0/d8/d83/classv8_1_1_function_template.html#a56d904662a86eca78da37d9bb0ed3705) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::GetFunction(v8::Local t); -``` - - - -### Nan::Set() - -A helper method for calling [`v8::Object#Set()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a67604ea3734f170c66026064ea808f20) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::Set(v8::Local obj, - v8::Local key, - v8::Local value) -Nan::Maybe Nan::Set(v8::Local obj, - uint32_t index, - v8::Local value); -``` - - - -### Nan::ForceSet() - -A helper method for calling [`v8::Object#ForceSet()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a796b7b682896fb64bf1872747734e836) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::ForceSet(v8::Local obj, - v8::Local key, - v8::Local value, - v8::PropertyAttribute attribs = v8::None); -``` - - - -### Nan::Get() - -A helper method for calling [`v8::Object#Get()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a2565f03e736694f6b1e1cf22a0b4eac2) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::Get(v8::Local obj, - v8::Local key); -Nan::MaybeLocal Nan::Get(v8::Local obj, uint32_t index); -``` - - - -### Nan::GetPropertyAttributes() - -A helper method for calling [`v8::Object#GetPropertyAttributes()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a9b898894da3d1db2714fd9325a54fe57) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::GetPropertyAttributes( - v8::Local obj, - v8::Local key); -``` - - - -### Nan::Has() - -A helper method for calling [`v8::Object#Has()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#ab3c3d89ea7c2f9afd08965bd7299a41d) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::Has(v8::Local obj, v8::Local key); -Nan::Maybe Nan::Has(v8::Local obj, uint32_t index); -``` - - - -### Nan::Delete() - -A helper method for calling [`v8::Object#Delete()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a2fa0f5a592582434ed1ceceff7d891ef) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::Delete(v8::Local obj, - v8::Local key); -Nan::Maybe Nan::Delete(v8::Local obj, uint32_t index); -``` - - - -### Nan::GetPropertyNames() - -A helper method for calling [`v8::Object#GetPropertyNames()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#aced885270cfd2c956367b5eedc7fbfe8) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::GetPropertyNames(v8::Local obj); -``` - - - -### Nan::GetOwnPropertyNames() - -A helper method for calling [`v8::Object#GetOwnPropertyNames()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a79a6e4d66049b9aa648ed4dfdb23e6eb) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::GetOwnPropertyNames(v8::Local obj); -``` - - - -### Nan::SetPrototype() - -A helper method for calling [`v8::Object#SetPrototype()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a442706b22fceda6e6d1f632122a9a9f4) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::SetPrototype(v8::Local obj, - v8::Local prototype); -``` - - - -### Nan::ObjectProtoToString() - -A helper method for calling [`v8::Object#ObjectProtoToString()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#ab7a92b4dcf822bef72f6c0ac6fea1f0b) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::ObjectProtoToString(v8::Local obj); -``` - - - -### Nan::HasOwnProperty() - -A helper method for calling [`v8::Object#HasOwnProperty()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#ab7b7245442ca6de1e1c145ea3fd653ff) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::HasOwnProperty(v8::Local obj, - v8::Local key); -``` - - - -### Nan::HasRealNamedProperty() - -A helper method for calling [`v8::Object#HasRealNamedProperty()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#ad8b80a59c9eb3c1e6c3cd6c84571f767) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::HasRealNamedProperty(v8::Local obj, - v8::Local key); -``` - - - -### Nan::HasRealIndexedProperty() - -A helper method for calling [`v8::Object#HasRealIndexedProperty()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#af94fc1135a5e74a2193fb72c3a1b9855) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::HasRealIndexedProperty(v8::Local obj, - uint32_t index); -``` - - - -### Nan::HasRealNamedCallbackProperty() - -A helper method for calling [`v8::Object#HasRealNamedCallbackProperty()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#af743b7ea132b89f84d34d164d0668811) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::HasRealNamedCallbackProperty( - v8::Local obj, - v8::Local key); -``` - - - -### Nan::GetRealNamedPropertyInPrototypeChain() - -A helper method for calling [`v8::Object#GetRealNamedPropertyInPrototypeChain()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a8700b1862e6b4783716964ba4d5e6172) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::GetRealNamedPropertyInPrototypeChain( - v8::Local obj, - v8::Local key); -``` - - - -### Nan::GetRealNamedProperty() - -A helper method for calling [`v8::Object#GetRealNamedProperty()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a84471a824576a5994fdd0ffcbf99ccc0) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::GetRealNamedProperty(v8::Local obj, - v8::Local key); -``` - - - -### Nan::CallAsFunction() - -A helper method for calling [`v8::Object#CallAsFunction()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a9ef18be634e79b4f0cdffa1667a29f58) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::CallAsFunction(v8::Local obj, - v8::Local recv, - int argc, - v8::Local argv[]); -``` - - - -### Nan::CallAsConstructor() - -A helper method for calling [`v8::Object#CallAsConstructor()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a50d571de50d0b0dfb28795619d07a01b) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::CallAsConstructor(v8::Local obj, - int argc, - v8::Local argv[]); -``` - - - -### Nan::GetSourceLine() - -A helper method for calling [`v8::Message#GetSourceLine()`](https://v8docs.nodesource.com/io.js-3.0/d9/d28/classv8_1_1_message.html#a849f7a6c41549d83d8159825efccd23a) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::GetSourceLine(v8::Local msg); -``` - - - -### Nan::GetLineNumber() - -A helper method for calling [`v8::Message#GetLineNumber()`](https://v8docs.nodesource.com/io.js-3.0/d9/d28/classv8_1_1_message.html#adbe46c10a88a6565f2732a2d2adf99b9) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::GetLineNumber(v8::Local msg); -``` - - - -### Nan::GetStartColumn() - -A helper method for calling [`v8::Message#GetStartColumn()`](https://v8docs.nodesource.com/io.js-3.0/d9/d28/classv8_1_1_message.html#a60ede616ba3822d712e44c7a74487ba6) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::GetStartColumn(v8::Local msg); -``` - - - -### Nan::GetEndColumn() - -A helper method for calling [`v8::Message#GetEndColumn()`](https://v8docs.nodesource.com/io.js-3.0/d9/d28/classv8_1_1_message.html#aaa004cf19e529da980bc19fcb76d93be) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::GetEndColumn(v8::Local msg); -``` - - - -### Nan::CloneElementAt() - -A helper method for calling [`v8::Array#CloneElementAt()`](https://v8docs.nodesource.com/io.js-3.0/d3/d32/classv8_1_1_array.html#a1d3a878d4c1c7cae974dd50a1639245e) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::CloneElementAt(v8::Local array, uint32_t index); -``` - - -### Nan::HasPrivate() - -A helper method for calling [`v8::Object#HasPrivate()`](https://v8docs.nodesource.com/node-7.2/db/d85/classv8_1_1_object.html#af68a0b98066cfdeb8f943e98a40ba08d) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::HasPrivate(v8::Local object, v8::Local key); -``` - - -### Nan::GetPrivate() - -A helper method for calling [`v8::Object#GetPrivate()`](https://v8docs.nodesource.com/node-7.2/db/d85/classv8_1_1_object.html#a169f2da506acbec34deadd9149a1925a) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::GetPrivate(v8::Local object, v8::Local key); -``` - - -### Nan::SetPrivate() - -A helper method for calling [`v8::Object#SetPrivate()`](https://v8docs.nodesource.com/node-7.2/db/d85/classv8_1_1_object.html#ace1769b0f3b86bfe9fda1010916360ee) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::SetPrivate(v8::Local object, v8::Local key, v8::Local value); -``` - - -### Nan::DeletePrivate() - -A helper method for calling [`v8::Object#DeletePrivate()`](https://v8docs.nodesource.com/node-7.2/db/d85/classv8_1_1_object.html#a138bb32a304f3982be02ad499693b8fd) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::DeletePrivate(v8::Local object, v8::Local key); -``` - - -### Nan::MakeMaybe() - -Wraps a `v8::Local<>` in a `Nan::MaybeLocal<>`. When called with a `Nan::MaybeLocal<>` it just returns its argument. This is useful in generic template code that builds on NAN. - -Synopsis: - -```c++ - MaybeLocal someNumber = MakeMaybe(New(3.141592654)); - MaybeLocal someString = MakeMaybe(New("probably")); -``` - -Signature: - -```c++ -template class MaybeMaybe> -Nan::MaybeLocal Nan::MakeMaybe(MaybeMaybe v); -``` diff --git a/node_modules/nan/doc/methods.md b/node_modules/nan/doc/methods.md deleted file mode 100644 index 0411a70..0000000 --- a/node_modules/nan/doc/methods.md +++ /dev/null @@ -1,659 +0,0 @@ -## JavaScript-accessible methods - -A _template_ is a blueprint for JavaScript functions and objects in a context. You can use a template to wrap C++ functions and data structures within JavaScript objects so that they can be manipulated from JavaScript. See the V8 Embedders Guide section on [Templates](https://developers.google.com/v8/embed#templates) for further information. - -In order to expose functionality to JavaScript via a template, you must provide it to V8 in a form that it understands. Across the versions of V8 supported by NAN, JavaScript-accessible method signatures vary widely, NAN fully abstracts method declaration and provides you with an interface that is similar to the most recent V8 API but is backward-compatible with older versions that still use the now-deceased `v8::Argument` type. - -* **Method argument types** - - Nan::FunctionCallbackInfo - - Nan::PropertyCallbackInfo - - Nan::ReturnValue -* **Method declarations** - - Method declaration - - Getter declaration - - Setter declaration - - Property getter declaration - - Property setter declaration - - Property enumerator declaration - - Property deleter declaration - - Property query declaration - - Index getter declaration - - Index setter declaration - - Index enumerator declaration - - Index deleter declaration - - Index query declaration -* Method and template helpers - - Nan::SetMethod() - - Nan::SetPrototypeMethod() - - Nan::SetAccessor() - - Nan::SetNamedPropertyHandler() - - Nan::SetIndexedPropertyHandler() - - Nan::SetTemplate() - - Nan::SetPrototypeTemplate() - - Nan::SetInstanceTemplate() - - Nan::SetCallHandler() - - Nan::SetCallAsFunctionHandler() - - -### Nan::FunctionCallbackInfo - -`Nan::FunctionCallbackInfo` should be used in place of [`v8::FunctionCallbackInfo`](https://v8docs.nodesource.com/io.js-3.0/dd/d0d/classv8_1_1_function_callback_info.html), even with older versions of Node where `v8::FunctionCallbackInfo` does not exist. - -Definition: - -```c++ -template class FunctionCallbackInfo { - public: - ReturnValue GetReturnValue() const; - v8::Local Callee(); - v8::Local Data(); - v8::Local Holder(); - bool IsConstructCall(); - int Length() const; - v8::Local operator[](int i) const; - v8::Local This() const; - v8::Isolate *GetIsolate() const; -}; -``` - -See the [`v8::FunctionCallbackInfo`](https://v8docs.nodesource.com/io.js-3.0/dd/d0d/classv8_1_1_function_callback_info.html) documentation for usage details on these. See [`Nan::ReturnValue`](#api_nan_return_value) for further information on how to set a return value from methods. - - -### Nan::PropertyCallbackInfo - -`Nan::PropertyCallbackInfo` should be used in place of [`v8::PropertyCallbackInfo`](https://v8docs.nodesource.com/io.js-3.0/d7/dc5/classv8_1_1_property_callback_info.html), even with older versions of Node where `v8::PropertyCallbackInfo` does not exist. - -Definition: - -```c++ -template class PropertyCallbackInfo : public PropertyCallbackInfoBase { - public: - ReturnValue GetReturnValue() const; - v8::Isolate* GetIsolate() const; - v8::Local Data() const; - v8::Local This() const; - v8::Local Holder() const; -}; -``` - -See the [`v8::PropertyCallbackInfo`](https://v8docs.nodesource.com/io.js-3.0/d7/dc5/classv8_1_1_property_callback_info.html) documentation for usage details on these. See [`Nan::ReturnValue`](#api_nan_return_value) for further information on how to set a return value from property accessor methods. - - -### Nan::ReturnValue - -`Nan::ReturnValue` is used in place of [`v8::ReturnValue`](https://v8docs.nodesource.com/io.js-3.0/da/da7/classv8_1_1_return_value.html) on both [`Nan::FunctionCallbackInfo`](#api_nan_function_callback_info) and [`Nan::PropertyCallbackInfo`](#api_nan_property_callback_info) as the return type of `GetReturnValue()`. - -Example usage: - -```c++ -void EmptyArray(const Nan::FunctionCallbackInfo& info) { - info.GetReturnValue().Set(Nan::New()); -} -``` - -Definition: - -```c++ -template class ReturnValue { - public: - // Handle setters - template void Set(const v8::Local &handle); - template void Set(const Nan::Global &handle); - - // Fast primitive setters - void Set(bool value); - void Set(double i); - void Set(int32_t i); - void Set(uint32_t i); - - // Fast JS primitive setters - void SetNull(); - void SetUndefined(); - void SetEmptyString(); - - // Convenience getter for isolate - v8::Isolate *GetIsolate() const; -}; -``` - -See the documentation on [`v8::ReturnValue`](https://v8docs.nodesource.com/io.js-3.0/da/da7/classv8_1_1_return_value.html) for further information on this. - - -### Method declaration - -JavaScript-accessible methods should be declared with the following signature to form a `Nan::FunctionCallback`: - -```c++ -typedef void(*FunctionCallback)(const FunctionCallbackInfo&); -``` - -Example: - -```c++ -void MethodName(const Nan::FunctionCallbackInfo& info) { - ... -} -``` - -You do not need to declare a new `HandleScope` within a method as one is implicitly created for you. - -**Example usage** - -```c++ -// .h: -class Foo : public Nan::ObjectWrap { - ... - - static void Bar(const Nan::FunctionCallbackInfo& info); - static void Baz(const Nan::FunctionCallbackInfo& info); -} - - -// .cc: -void Foo::Bar(const Nan::FunctionCallbackInfo& info) { - ... -} - -void Foo::Baz(const Nan::FunctionCallbackInfo& info) { - ... -} -``` - -A helper macro `NAN_METHOD(methodname)` exists, compatible with NAN v1 method declarations. - -**Example usage with `NAN_METHOD(methodname)`** - -```c++ -// .h: -class Foo : public Nan::ObjectWrap { - ... - - static NAN_METHOD(Bar); - static NAN_METHOD(Baz); -} - - -// .cc: -NAN_METHOD(Foo::Bar) { - ... -} - -NAN_METHOD(Foo::Baz) { - ... -} -``` - -Use [`Nan::SetPrototypeMethod`](#api_nan_set_prototype_method) to attach a method to a JavaScript function prototype or [`Nan::SetMethod`](#api_nan_set_method) to attach a method directly on a JavaScript object. - - -### Getter declaration - -JavaScript-accessible getters should be declared with the following signature to form a `Nan::GetterCallback`: - -```c++ -typedef void(*GetterCallback)(v8::Local, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void GetterName(v8::Local property, - const Nan::PropertyCallbackInfo& info) { - ... -} -``` - -You do not need to declare a new `HandleScope` within a getter as one is implicitly created for you. - -A helper macro `NAN_GETTER(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on [Accessors](https://developers.google.com/v8/embed#accesssors). - - -### Setter declaration - -JavaScript-accessible setters should be declared with the following signature to form a Nan::SetterCallback: - -```c++ -typedef void(*SetterCallback)(v8::Local, - v8::Local, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void SetterName(v8::Local property, - v8::Local value, - const Nan::PropertyCallbackInfo& info) { - ... -} -``` - -You do not need to declare a new `HandleScope` within a setter as one is implicitly created for you. - -A helper macro `NAN_SETTER(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on [Accessors](https://developers.google.com/v8/embed#accesssors). - - -### Property getter declaration - -JavaScript-accessible property getters should be declared with the following signature to form a Nan::PropertyGetterCallback: - -```c++ -typedef void(*PropertyGetterCallback)(v8::Local, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void PropertyGetterName(v8::Local property, - const Nan::PropertyCallbackInfo& info) { - ... -} -``` - -You do not need to declare a new `HandleScope` within a property getter as one is implicitly created for you. - -A helper macro `NAN_PROPERTY_GETTER(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on named property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Property setter declaration - -JavaScript-accessible property setters should be declared with the following signature to form a Nan::PropertySetterCallback: - -```c++ -typedef void(*PropertySetterCallback)(v8::Local, - v8::Local, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void PropertySetterName(v8::Local property, - v8::Local value, - const Nan::PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a property setter as one is implicitly created for you. - -A helper macro `NAN_PROPERTY_SETTER(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on named property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Property enumerator declaration - -JavaScript-accessible property enumerators should be declared with the following signature to form a Nan::PropertyEnumeratorCallback: - -```c++ -typedef void(*PropertyEnumeratorCallback)(const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void PropertyEnumeratorName(const Nan::PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a property enumerator as one is implicitly created for you. - -A helper macro `NAN_PROPERTY_ENUMERATOR(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on named property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Property deleter declaration - -JavaScript-accessible property deleters should be declared with the following signature to form a Nan::PropertyDeleterCallback: - -```c++ -typedef void(*PropertyDeleterCallback)(v8::Local, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void PropertyDeleterName(v8::Local property, - const Nan::PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a property deleter as one is implicitly created for you. - -A helper macro `NAN_PROPERTY_DELETER(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on named property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Property query declaration - -JavaScript-accessible property query methods should be declared with the following signature to form a Nan::PropertyQueryCallback: - -```c++ -typedef void(*PropertyQueryCallback)(v8::Local, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void PropertyQueryName(v8::Local property, - const Nan::PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a property query method as one is implicitly created for you. - -A helper macro `NAN_PROPERTY_QUERY(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on named property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Index getter declaration - -JavaScript-accessible index getter methods should be declared with the following signature to form a Nan::IndexGetterCallback: - -```c++ -typedef void(*IndexGetterCallback)(uint32_t, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void IndexGetterName(uint32_t index, const PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a index getter as one is implicitly created for you. - -A helper macro `NAN_INDEX_GETTER(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on indexed property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Index setter declaration - -JavaScript-accessible index setter methods should be declared with the following signature to form a Nan::IndexSetterCallback: - -```c++ -typedef void(*IndexSetterCallback)(uint32_t, - v8::Local, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void IndexSetterName(uint32_t index, - v8::Local value, - const PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a index setter as one is implicitly created for you. - -A helper macro `NAN_INDEX_SETTER(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on indexed property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Index enumerator declaration - -JavaScript-accessible index enumerator methods should be declared with the following signature to form a Nan::IndexEnumeratorCallback: - -```c++ -typedef void(*IndexEnumeratorCallback)(const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void IndexEnumeratorName(const PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a index enumerator as one is implicitly created for you. - -A helper macro `NAN_INDEX_ENUMERATOR(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on indexed property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Index deleter declaration - -JavaScript-accessible index deleter methods should be declared with the following signature to form a Nan::IndexDeleterCallback: - -```c++ -typedef void(*IndexDeleterCallback)(uint32_t, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void IndexDeleterName(uint32_t index, const PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a index deleter as one is implicitly created for you. - -A helper macro `NAN_INDEX_DELETER(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on indexed property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Index query declaration - -JavaScript-accessible index query methods should be declared with the following signature to form a Nan::IndexQueryCallback: - -```c++ -typedef void(*IndexQueryCallback)(uint32_t, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void IndexQueryName(uint32_t index, const PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a index query method as one is implicitly created for you. - -A helper macro `NAN_INDEX_QUERY(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on indexed property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Nan::SetMethod() - -Sets a method with a given name directly on a JavaScript object where the method has the `Nan::FunctionCallback` signature (see Method declaration). - -Signature: - -```c++ -void Nan::SetMethod(v8::Local recv, - const char *name, - Nan::FunctionCallback callback) -void Nan::SetMethod(v8::Local templ, - const char *name, - Nan::FunctionCallback callback) -``` - - -### Nan::SetPrototypeMethod() - -Sets a method with a given name on a `FunctionTemplate`'s prototype where the method has the `Nan::FunctionCallback` signature (see Method declaration). - -Signature: - -```c++ -void Nan::SetPrototypeMethod(v8::Local recv, - const char* name, - Nan::FunctionCallback callback) -``` - - -### Nan::SetAccessor() - -Sets getters and setters for a property with a given name on an `ObjectTemplate` or a plain `Object`. Accepts getters with the `Nan::GetterCallback` signature (see Getter declaration) and setters with the `Nan::SetterCallback` signature (see Setter declaration). - -Signature: - -```c++ -void SetAccessor(v8::Local tpl, - v8::Local name, - Nan::GetterCallback getter, - Nan::SetterCallback setter = 0, - v8::Local data = v8::Local(), - v8::AccessControl settings = v8::DEFAULT, - v8::PropertyAttribute attribute = v8::None, - imp::Sig signature = imp::Sig()); -bool SetAccessor(v8::Local obj, - v8::Local name, - Nan::GetterCallback getter, - Nan::SetterCallback setter = 0, - v8::Local data = v8::Local(), - v8::AccessControl settings = v8::DEFAULT, - v8::PropertyAttribute attribute = v8::None) -``` - -See the V8 [`ObjectTemplate#SetAccessor()`](https://v8docs.nodesource.com/io.js-3.0/db/d5f/classv8_1_1_object_template.html#aa90691622f01269c6a11391d372ca0c5) and [`Object#SetAccessor()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a3f9dee085f5ec346465f1dc924325043) for further information about how to use `Nan::SetAccessor()`. - - -### Nan::SetNamedPropertyHandler() - -Sets named property getters, setters, query, deleter and enumerator methods on an `ObjectTemplate`. Accepts: - -* Property getters with the `Nan::PropertyGetterCallback` signature (see Property getter declaration) -* Property setters with the `Nan::PropertySetterCallback` signature (see Property setter declaration) -* Property query methods with the `Nan::PropertyQueryCallback` signature (see Property query declaration) -* Property deleters with the `Nan::PropertyDeleterCallback` signature (see Property deleter declaration) -* Property enumerators with the `Nan::PropertyEnumeratorCallback` signature (see Property enumerator declaration) - -Signature: - -```c++ -void SetNamedPropertyHandler(v8::Local tpl, - Nan::PropertyGetterCallback getter, - Nan::PropertySetterCallback setter = 0, - Nan::PropertyQueryCallback query = 0, - Nan::PropertyDeleterCallback deleter = 0, - Nan::PropertyEnumeratorCallback enumerator = 0, - v8::Local data = v8::Local()) -``` - -See the V8 [`ObjectTemplate#SetNamedPropertyHandler()`](https://v8docs.nodesource.com/io.js-3.0/db/d5f/classv8_1_1_object_template.html#a34d1cc45b642cd131706663801aadd76) for further information about how to use `Nan::SetNamedPropertyHandler()`. - - -### Nan::SetIndexedPropertyHandler() - -Sets indexed property getters, setters, query, deleter and enumerator methods on an `ObjectTemplate`. Accepts: - -* Indexed property getters with the `Nan::IndexGetterCallback` signature (see Index getter declaration) -* Indexed property setters with the `Nan::IndexSetterCallback` signature (see Index setter declaration) -* Indexed property query methods with the `Nan::IndexQueryCallback` signature (see Index query declaration) -* Indexed property deleters with the `Nan::IndexDeleterCallback` signature (see Index deleter declaration) -* Indexed property enumerators with the `Nan::IndexEnumeratorCallback` signature (see Index enumerator declaration) - -Signature: - -```c++ -void SetIndexedPropertyHandler(v8::Local tpl, - Nan::IndexGetterCallback getter, - Nan::IndexSetterCallback setter = 0, - Nan::IndexQueryCallback query = 0, - Nan::IndexDeleterCallback deleter = 0, - Nan::IndexEnumeratorCallback enumerator = 0, - v8::Local data = v8::Local()) -``` - -See the V8 [`ObjectTemplate#SetIndexedPropertyHandler()`](https://v8docs.nodesource.com/io.js-3.0/db/d5f/classv8_1_1_object_template.html#ac0234cbede45d51778bb5f6a32a9e125) for further information about how to use `Nan::SetIndexedPropertyHandler()`. - - -### Nan::SetTemplate() - -Adds properties on an `Object`'s or `Function`'s template. - -Signature: - -```c++ -void Nan::SetTemplate(v8::Local templ, - const char *name, - v8::Local value); -void Nan::SetTemplate(v8::Local templ, - v8::Local name, - v8::Local value, - v8::PropertyAttribute attributes) -``` - -Calls the `Template`'s [`Set()`](https://v8docs.nodesource.com/io.js-3.0/db/df7/classv8_1_1_template.html#a2db6a56597bf23c59659c0659e564ddf). - - -### Nan::SetPrototypeTemplate() - -Adds properties on an `Object`'s or `Function`'s prototype template. - -Signature: - -```c++ -void Nan::SetPrototypeTemplate(v8::Local templ, - const char *name, - v8::Local value); -void Nan::SetPrototypeTemplate(v8::Local templ, - v8::Local name, - v8::Local value, - v8::PropertyAttribute attributes) -``` - -Calls the `FunctionTemplate`'s _PrototypeTemplate's_ [`Set()`](https://v8docs.nodesource.com/io.js-3.0/db/df7/classv8_1_1_template.html#a2db6a56597bf23c59659c0659e564ddf). - - -### Nan::SetInstanceTemplate() - -Use to add instance properties on `FunctionTemplate`'s. - -Signature: - -```c++ -void Nan::SetInstanceTemplate(v8::Local templ, - const char *name, - v8::Local value); -void Nan::SetInstanceTemplate(v8::Local templ, - v8::Local name, - v8::Local value, - v8::PropertyAttribute attributes) -``` - -Calls the `FunctionTemplate`'s _InstanceTemplate's_ [`Set()`](https://v8docs.nodesource.com/io.js-3.0/db/df7/classv8_1_1_template.html#a2db6a56597bf23c59659c0659e564ddf). - - -### Nan::SetCallHandler() - -Set the call-handler callback for a `v8::FunctionTemplate`. -This callback is called whenever the function created from this FunctionTemplate is called. - -Signature: - -```c++ -void Nan::SetCallHandler(v8::Local templ, Nan::FunctionCallback callback, v8::Local data = v8::Local()) -``` - -Calls the `FunctionTemplate`'s [`SetCallHandler()`](https://v8docs.nodesource.com/io.js-3.0/d8/d83/classv8_1_1_function_template.html#a26cf14e36aa1a47091b98536d08ea821). - - -### Nan::SetCallAsFunctionHandler() - -Sets the callback to be used when calling instances created from the `v8::ObjectTemplate` as a function. -If no callback is set, instances behave like normal JavaScript objects that cannot be called as a function. - -Signature: - -```c++ -void Nan::SetCallAsFunctionHandler(v8::Local templ, Nan::FunctionCallback callback, v8::Local data = v8::Local()) -``` - -Calls the `ObjectTemplate`'s [`SetCallAsFunctionHandler()`](https://v8docs.nodesource.com/io.js-3.0/db/d5f/classv8_1_1_object_template.html#ae0a0e72fb0c5e5f32e255fe5bcc7316a). - diff --git a/node_modules/nan/doc/new.md b/node_modules/nan/doc/new.md deleted file mode 100644 index c0734bd..0000000 --- a/node_modules/nan/doc/new.md +++ /dev/null @@ -1,147 +0,0 @@ -## New - -NAN provides a `Nan::New()` helper for the creation of new JavaScript objects in a way that's compatible across the supported versions of V8. - - - Nan::New() - - Nan::Undefined() - - Nan::Null() - - Nan::True() - - Nan::False() - - Nan::EmptyString() - - - -### Nan::New() - -`Nan::New()` should be used to instantiate new JavaScript objects. - -Refer to the specific V8 type in the [V8 documentation](https://v8docs.nodesource.com/io.js-3.0/d1/d83/classv8_1_1_data.html) for information on the types of arguments required for instantiation. - -Signatures: - -Return types are mostly omitted from the signatures for simplicity. In most cases the type will be contained within a `v8::Local`. The following types will be contained within a `Nan::MaybeLocal`: `v8::String`, `v8::Date`, `v8::RegExp`, `v8::Script`, `v8::UnboundScript`. - -Empty objects: - -```c++ -Nan::New(); -``` - -Generic single and multiple-argument: - -```c++ -Nan::New(A0 arg0); -Nan::New(A0 arg0, A1 arg1); -Nan::New(A0 arg0, A1 arg1, A2 arg2); -Nan::New(A0 arg0, A1 arg1, A2 arg2, A3 arg3); -``` - -For creating `v8::FunctionTemplate` and `v8::Function` objects: - -_The definition of `Nan::FunctionCallback` can be found in the [Method declaration](./methods.md#api_nan_method) documentation._ - -```c++ -Nan::New(Nan::FunctionCallback callback, - v8::Local data = v8::Local()); -Nan::New(Nan::FunctionCallback callback, - v8::Local data = v8::Local(), - A2 a2 = A2()); -``` - -Native number types: - -```c++ -v8::Local Nan::New(bool value); -v8::Local Nan::New(int32_t value); -v8::Local Nan::New(uint32_t value); -v8::Local Nan::New(double value); -``` - -String types: - -```c++ -Nan::MaybeLocal Nan::New(std::string const& value); -Nan::MaybeLocal Nan::New(const char * value, int length); -Nan::MaybeLocal Nan::New(const char * value); -Nan::MaybeLocal Nan::New(const uint16_t * value); -Nan::MaybeLocal Nan::New(const uint16_t * value, int length); -``` - -Specialized types: - -```c++ -v8::Local Nan::New(v8::String::ExternalStringResource * value); -v8::Local Nan::New(Nan::ExternalOneByteStringResource * value); -v8::Local Nan::New(v8::Local pattern, v8::RegExp::Flags flags); -``` - -Note that `Nan::ExternalOneByteStringResource` maps to [`v8::String::ExternalOneByteStringResource`](https://v8docs.nodesource.com/io.js-3.0/d9/db3/classv8_1_1_string_1_1_external_one_byte_string_resource.html), and `v8::String::ExternalAsciiStringResource` in older versions of V8. - - - -### Nan::Undefined() - -A helper method to reference the `v8::Undefined` object in a way that is compatible across all supported versions of V8. - -Signature: - -```c++ -v8::Local Nan::Undefined() -``` - - -### Nan::Null() - -A helper method to reference the `v8::Null` object in a way that is compatible across all supported versions of V8. - -Signature: - -```c++ -v8::Local Nan::Null() -``` - - -### Nan::True() - -A helper method to reference the `v8::Boolean` object representing the `true` value in a way that is compatible across all supported versions of V8. - -Signature: - -```c++ -v8::Local Nan::True() -``` - - -### Nan::False() - -A helper method to reference the `v8::Boolean` object representing the `false` value in a way that is compatible across all supported versions of V8. - -Signature: - -```c++ -v8::Local Nan::False() -``` - - -### Nan::EmptyString() - -Call [`v8::String::Empty`](https://v8docs.nodesource.com/io.js-3.0/d2/db3/classv8_1_1_string.html#a7c1bc8886115d7ee46f1d571dd6ebc6d) to reference the empty string in a way that is compatible across all supported versions of V8. - -Signature: - -```c++ -v8::Local Nan::EmptyString() -``` - - - -### Nan::NewOneByteString() - -An implementation of [`v8::String::NewFromOneByte()`](https://v8docs.nodesource.com/io.js-3.0/d2/db3/classv8_1_1_string.html#a5264d50b96d2c896ce525a734dc10f09) provided for consistent availability and API across supported versions of V8. Allocates a new string from Latin-1 data. - -Signature: - -```c++ -Nan::MaybeLocal Nan::NewOneByteString(const uint8_t * value, - int length = -1) -``` diff --git a/node_modules/nan/doc/node_misc.md b/node_modules/nan/doc/node_misc.md deleted file mode 100644 index 8aa080f..0000000 --- a/node_modules/nan/doc/node_misc.md +++ /dev/null @@ -1,63 +0,0 @@ -## Miscellaneous Node Helpers - - - Nan::MakeCallback() - - NAN_MODULE_INIT() - - Nan::Export() - - - -### Nan::MakeCallback() - -Wrappers around `node::MakeCallback()` providing a consistent API across all supported versions of Node. - -Use `MakeCallback()` rather than using `v8::Function#Call()` directly in order to properly process internal Node functionality including domains, async hooks, the microtask queue, and other debugging functionality. - -Signatures: - -```c++ -v8::Local Nan::MakeCallback(v8::Local target, - v8::Local func, - int argc, - v8::Local* argv); -v8::Local Nan::MakeCallback(v8::Local target, - v8::Local symbol, - int argc, - v8::Local* argv); -v8::Local Nan::MakeCallback(v8::Local target, - const char* method, - int argc, - v8::Local* argv); -``` - - - -### NAN_MODULE_INIT() - -Used to define the entry point function to a Node add-on. Creates a function with a given `name` that receives a `target` object representing the equivalent of the JavaScript `exports` object. - -See example below. - - -### Nan::Export() - -A simple helper to register a `v8::FunctionTemplate` from a JavaScript-accessible method (see [Methods](./methods.md)) as a property on an object. Can be used in a way similar to assigning properties to `module.exports` in JavaScript. - -Signature: - -```c++ -void Export(v8::Local target, const char *name, Nan::FunctionCallback f) -``` - -Also available as the shortcut `NAN_EXPORT` macro. - -Example: - -```c++ -NAN_METHOD(Foo) { - ... -} - -NAN_MODULE_INIT(Init) { - NAN_EXPORT(target, Foo); -} -``` diff --git a/node_modules/nan/doc/object_wrappers.md b/node_modules/nan/doc/object_wrappers.md deleted file mode 100644 index e89832b..0000000 --- a/node_modules/nan/doc/object_wrappers.md +++ /dev/null @@ -1,263 +0,0 @@ -## Object Wrappers - -The `ObjectWrap` class can be used to make wrapped C++ objects and a factory of wrapped objects. - - - Nan::ObjectWrap - - - -### Nan::ObjectWrap() - -A reimplementation of `node::ObjectWrap` that adds some API not present in older versions of Node. Should be preferred over `node::ObjectWrap` in all cases for consistency. - -Definition: - -```c++ -class ObjectWrap { - public: - ObjectWrap(); - - virtual ~ObjectWrap(); - - template - static inline T* Unwrap(v8::Local handle); - - inline v8::Local handle(); - - inline Nan::Persistent& persistent(); - - protected: - inline void Wrap(v8::Local handle); - - inline void MakeWeak(); - - /* Ref() marks the object as being attached to an event loop. - * Refed objects will not be garbage collected, even if - * all references are lost. - */ - virtual void Ref(); - - /* Unref() marks an object as detached from the event loop. This is its - * default state. When an object with a "weak" reference changes from - * attached to detached state it will be freed. Be careful not to access - * the object after making this call as it might be gone! - * (A "weak reference" means an object that only has a - * persistant handle.) - * - * DO NOT CALL THIS FROM DESTRUCTOR - */ - virtual void Unref(); - - int refs_; // ro -}; -``` - -See the Node documentation on [Wrapping C++ Objects](https://nodejs.org/api/addons.html#addons_wrapping_c_objects) for more details. - -### This vs. Holder - -When calling `Unwrap`, it is important that the argument is indeed some JavaScript object which got wrapped by a `Wrap` call for this class or any derived class. -The `Signature` installed by [`Nan::SetPrototypeMethod()`](methods.md#api_nan_set_prototype_method) does ensure that `info.Holder()` is just such an instance. -In Node 0.12 and later, `info.This()` will also be of such a type, since otherwise the invocation will get rejected. -However, in Node 0.10 and before it was possible to invoke a method on a JavaScript object which just had the extension type in its prototype chain. -In such a situation, calling `Unwrap` on `info.This()` will likely lead to a failed assertion causing a crash, but could lead to even more serious corruption. - -On the other hand, calling `Unwrap` in an [accessor](methods.md#api_nan_set_accessor) should not use `Holder()` if the accessor is defined on the prototype. -So either define your accessors on the instance template, -or use `This()` after verifying that it is indeed a valid object. - -### Examples - -#### Basic - -```c++ -class MyObject : public Nan::ObjectWrap { - public: - static NAN_MODULE_INIT(Init) { - v8::Local tpl = Nan::New(New); - tpl->SetClassName(Nan::New("MyObject").ToLocalChecked()); - tpl->InstanceTemplate()->SetInternalFieldCount(1); - - Nan::SetPrototypeMethod(tpl, "getHandle", GetHandle); - Nan::SetPrototypeMethod(tpl, "getValue", GetValue); - - constructor().Reset(Nan::GetFunction(tpl).ToLocalChecked()); - Nan::Set(target, Nan::New("MyObject").ToLocalChecked(), - Nan::GetFunction(tpl).ToLocalChecked()); - } - - private: - explicit MyObject(double value = 0) : value_(value) {} - ~MyObject() {} - - static NAN_METHOD(New) { - if (info.IsConstructCall()) { - double value = info[0]->IsUndefined() ? 0 : Nan::To(info[0]).FromJust(); - MyObject *obj = new MyObject(value); - obj->Wrap(info.This()); - info.GetReturnValue().Set(info.This()); - } else { - const int argc = 1; - v8::Local argv[argc] = {info[0]}; - v8::Local cons = Nan::New(constructor()); - info.GetReturnValue().Set(cons->NewInstance(argc, argv)); - } - } - - static NAN_METHOD(GetHandle) { - MyObject* obj = Nan::ObjectWrap::Unwrap(info.Holder()); - info.GetReturnValue().Set(obj->handle()); - } - - static NAN_METHOD(GetValue) { - MyObject* obj = Nan::ObjectWrap::Unwrap(info.Holder()); - info.GetReturnValue().Set(obj->value_); - } - - static inline Nan::Persistent & constructor() { - static Nan::Persistent my_constructor; - return my_constructor; - } - - double value_; -}; - -NODE_MODULE(objectwrapper, MyObject::Init) -``` - -To use in Javascript: - -```Javascript -var objectwrapper = require('bindings')('objectwrapper'); - -var obj = new objectwrapper.MyObject(5); -console.log('Should be 5: ' + obj.getValue()); -``` - -#### Factory of wrapped objects - -```c++ -class MyFactoryObject : public Nan::ObjectWrap { - public: - static NAN_MODULE_INIT(Init) { - v8::Local tpl = Nan::New(New); - tpl->InstanceTemplate()->SetInternalFieldCount(1); - - Nan::SetPrototypeMethod(tpl, "getValue", GetValue); - - constructor().Reset(Nan::GetFunction(tpl).ToLocalChecked()); - } - - static NAN_METHOD(NewInstance) { - v8::Local cons = Nan::New(constructor()); - double value = info[0]->IsNumber() ? Nan::To(info[0]).FromJust() : 0; - const int argc = 1; - v8::Local argv[1] = {Nan::New(value)}; - info.GetReturnValue().Set(Nan::NewInstance(cons, argc, argv).ToLocalChecked()); - } - - // Needed for the next example: - inline double value() const { - return value_; - } - - private: - explicit MyFactoryObject(double value = 0) : value_(value) {} - ~MyFactoryObject() {} - - static NAN_METHOD(New) { - if (info.IsConstructCall()) { - double value = info[0]->IsNumber() ? Nan::To(info[0]).FromJust() : 0; - MyFactoryObject * obj = new MyFactoryObject(value); - obj->Wrap(info.This()); - info.GetReturnValue().Set(info.This()); - } else { - const int argc = 1; - v8::Local argv[argc] = {info[0]}; - v8::Local cons = Nan::New(constructor()); - info.GetReturnValue().Set(Nan::NewInstance(cons, argc, argv).ToLocalChecked()); - } - } - - static NAN_METHOD(GetValue) { - MyFactoryObject* obj = ObjectWrap::Unwrap(info.Holder()); - info.GetReturnValue().Set(obj->value_); - } - - static inline Nan::Persistent & constructor() { - static Nan::Persistent my_constructor; - return my_constructor; - } - - double value_; -}; - -NAN_MODULE_INIT(Init) { - MyFactoryObject::Init(target); - Nan::Set(target, - Nan::New("newFactoryObjectInstance").ToLocalChecked(), - Nan::GetFunction( - Nan::New(MyFactoryObject::NewInstance)).ToLocalChecked() - ); -} - -NODE_MODULE(wrappedobjectfactory, Init) -``` - -To use in Javascript: - -```Javascript -var wrappedobjectfactory = require('bindings')('wrappedobjectfactory'); - -var obj = wrappedobjectfactory.newFactoryObjectInstance(10); -console.log('Should be 10: ' + obj.getValue()); -``` - -#### Passing wrapped objects around - -Use the `MyFactoryObject` class above along with the following: - -```c++ -static NAN_METHOD(Sum) { - Nan::MaybeLocal maybe1 = Nan::To(info[0]); - Nan::MaybeLocal maybe2 = Nan::To(info[1]); - - // Quick check: - if (maybe1.IsEmpty() || maybe2.IsEmpty()) { - // return value is undefined by default - return; - } - - MyFactoryObject* obj1 = - Nan::ObjectWrap::Unwrap(maybe1.ToLocalChecked()); - MyFactoryObject* obj2 = - Nan::ObjectWrap::Unwrap(maybe2.ToLocalChecked()); - - info.GetReturnValue().Set(Nan::New(obj1->value() + obj2->value())); -} - -NAN_MODULE_INIT(Init) { - MyFactoryObject::Init(target); - Nan::Set(target, - Nan::New("newFactoryObjectInstance").ToLocalChecked(), - Nan::GetFunction( - Nan::New(MyFactoryObject::NewInstance)).ToLocalChecked() - ); - Nan::Set(target, - Nan::New("sum").ToLocalChecked(), - Nan::GetFunction(Nan::New(Sum)).ToLocalChecked() - ); -} - -NODE_MODULE(myaddon, Init) -``` - -To use in Javascript: - -```Javascript -var myaddon = require('bindings')('myaddon'); - -var obj1 = myaddon.newFactoryObjectInstance(5); -var obj2 = myaddon.newFactoryObjectInstance(10); -console.log('sum of object values: ' + myaddon.sum(obj1, obj2)); -``` diff --git a/node_modules/nan/doc/persistent.md b/node_modules/nan/doc/persistent.md deleted file mode 100644 index 743b44a..0000000 --- a/node_modules/nan/doc/persistent.md +++ /dev/null @@ -1,295 +0,0 @@ -## Persistent references - -An object reference that is independent of any `HandleScope` is a _persistent_ reference. Where a `Local` handle only lives as long as the `HandleScope` in which it was allocated, a `Persistent` handle remains valid until it is explicitly disposed. - -Due to the evolution of the V8 API, it is necessary for NAN to provide a wrapper implementation of the `Persistent` classes to supply compatibility across the V8 versions supported. - - - Nan::PersistentBase & v8::PersistentBase - - Nan::NonCopyablePersistentTraits & v8::NonCopyablePersistentTraits - - Nan::CopyablePersistentTraits & v8::CopyablePersistentTraits - - Nan::Persistent - - Nan::Global - - Nan::WeakCallbackInfo - - Nan::WeakCallbackType - -Also see the V8 Embedders Guide section on [Handles and Garbage Collection](https://developers.google.com/v8/embed#handles). - - -### Nan::PersistentBase & v8::PersistentBase - -A persistent handle contains a reference to a storage cell in V8 which holds an object value and which is updated by the garbage collector whenever the object is moved. A new storage cell can be created using the constructor or `Nan::PersistentBase::Reset()`. Existing handles can be disposed using an argument-less `Nan::PersistentBase::Reset()`. - -Definition: - -_(note: this is implemented as `Nan::PersistentBase` for older versions of V8 and the native `v8::PersistentBase` is used for newer versions of V8)_ - -```c++ -template class PersistentBase { - public: - /** - * If non-empty, destroy the underlying storage cell - */ - void Reset(); - - /** - * If non-empty, destroy the underlying storage cell and create a new one with - * the contents of another if it is also non-empty - */ - template void Reset(const v8::Local &other); - - /** - * If non-empty, destroy the underlying storage cell and create a new one with - * the contents of another if it is also non-empty - */ - template void Reset(const PersistentBase &other); - - /** - * If non-empty, destroy the underlying storage cell - * IsEmpty() will return true after this call. - */ - bool IsEmpty(); - - void Empty(); - - template bool operator==(const PersistentBase &that); - - template bool operator==(const v8::Local &that); - - template bool operator!=(const PersistentBase &that); - - template bool operator!=(const v8::Local &that); - - /** - * Install a finalization callback on this object. - * NOTE: There is no guarantee as to *when* or even *if* the callback is - * invoked. The invocation is performed solely on a best effort basis. - * As always, GC-based finalization should *not* be relied upon for any - * critical form of resource management! At the moment you can either - * specify a parameter for the callback or the location of two internal - * fields in the dying object. - */ - template - void SetWeak(P *parameter, - typename WeakCallbackInfo

::Callback callback, - WeakCallbackType type); - - void ClearWeak(); - - /** - * Marks the reference to this object independent. Garbage collector is free - * to ignore any object groups containing this object. Weak callback for an - * independent handle should not assume that it will be preceded by a global - * GC prologue callback or followed by a global GC epilogue callback. - */ - void MarkIndependent() const; - - bool IsIndependent() const; - - /** Checks if the handle holds the only reference to an object. */ - bool IsNearDeath() const; - - /** Returns true if the handle's reference is weak. */ - bool IsWeak() const -}; -``` - -See the V8 documentation for [`PersistentBase`](https://v8docs.nodesource.com/io.js-3.0/d4/dca/classv8_1_1_persistent_base.html) for further information. - -**Tip:** To get a `v8::Local` reference to the original object back from a `PersistentBase` or `Persistent` object: - -```c++ -v8::Local object = Nan::New(persistent); -``` - - -### Nan::NonCopyablePersistentTraits & v8::NonCopyablePersistentTraits - -Default traits for `Nan::Persistent`. This class does not allow use of the a copy constructor or assignment operator. At present `kResetInDestructor` is not set, but that will change in a future version. - -Definition: - -_(note: this is implemented as `Nan::NonCopyablePersistentTraits` for older versions of V8 and the native `v8::NonCopyablePersistentTraits` is used for newer versions of V8)_ - -```c++ -template class NonCopyablePersistentTraits { - public: - typedef Persistent > NonCopyablePersistent; - - static const bool kResetInDestructor = false; - - template - static void Copy(const Persistent &source, - NonCopyablePersistent *dest); - - template static void Uncompilable(); -}; -``` - -See the V8 documentation for [`NonCopyablePersistentTraits`](https://v8docs.nodesource.com/io.js-3.0/de/d73/classv8_1_1_non_copyable_persistent_traits.html) for further information. - - -### Nan::CopyablePersistentTraits & v8::CopyablePersistentTraits - -A helper class of traits to allow copying and assignment of `Persistent`. This will clone the contents of storage cell, but not any of the flags, etc.. - -Definition: - -_(note: this is implemented as `Nan::CopyablePersistentTraits` for older versions of V8 and the native `v8::NonCopyablePersistentTraits` is used for newer versions of V8)_ - -```c++ -template -class CopyablePersistentTraits { - public: - typedef Persistent > CopyablePersistent; - - static const bool kResetInDestructor = true; - - template - static void Copy(const Persistent &source, - CopyablePersistent *dest); -}; -``` - -See the V8 documentation for [`CopyablePersistentTraits`](https://v8docs.nodesource.com/io.js-3.0/da/d5c/structv8_1_1_copyable_persistent_traits.html) for further information. - - -### Nan::Persistent - -A type of `PersistentBase` which allows copy and assignment. Copy, assignment and destructor behavior is controlled by the traits class `M`. - -Definition: - -```c++ -template > -class Persistent; - -template class Persistent : public PersistentBase { - public: - /** - * A Persistent with no storage cell. - */ - Persistent(); - - /** - * Construct a Persistent from a v8::Local. When the v8::Local is non-empty, a - * new storage cell is created pointing to the same object, and no flags are - * set. - */ - template Persistent(v8::Local that); - - /** - * Construct a Persistent from a Persistent. When the Persistent is non-empty, - * a new storage cell is created pointing to the same object, and no flags are - * set. - */ - Persistent(const Persistent &that); - - /** - * The copy constructors and assignment operator create a Persistent exactly - * as the Persistent constructor, but the Copy function from the traits class - * is called, allowing the setting of flags based on the copied Persistent. - */ - Persistent &operator=(const Persistent &that); - - template - Persistent &operator=(const Persistent &that); - - /** - * The destructor will dispose the Persistent based on the kResetInDestructor - * flags in the traits class. Since not calling dispose can result in a - * memory leak, it is recommended to always set this flag. - */ - ~Persistent(); -}; -``` - -See the V8 documentation for [`Persistent`](https://v8docs.nodesource.com/io.js-3.0/d2/d78/classv8_1_1_persistent.html) for further information. - - -### Nan::Global - -A type of `PersistentBase` which has move semantics. - -```c++ -template class Global : public PersistentBase { - public: - /** - * A Global with no storage cell. - */ - Global(); - - /** - * Construct a Global from a v8::Local. When the v8::Local is non-empty, a new - * storage cell is created pointing to the same object, and no flags are set. - */ - template Global(v8::Local that); - /** - * Construct a Global from a PersistentBase. When the Persistent is non-empty, - * a new storage cell is created pointing to the same object, and no flags are - * set. - */ - template Global(const PersistentBase &that); - - /** - * Pass allows returning globals from functions, etc. - */ - Global Pass(); -}; -``` - -See the V8 documentation for [`Global`](https://v8docs.nodesource.com/io.js-3.0/d5/d40/classv8_1_1_global.html) for further information. - - -### Nan::WeakCallbackInfo - -`Nan::WeakCallbackInfo` is used as an argument when setting a persistent reference as weak. You may need to free any external resources attached to the object. It is a mirror of `v8:WeakCallbackInfo` as found in newer versions of V8. - -Definition: - -```c++ -template class WeakCallbackInfo { - public: - typedef void (*Callback)(const WeakCallbackInfo& data); - - v8::Isolate *GetIsolate() const; - - /** - * Get the parameter that was associated with the weak handle. - */ - T *GetParameter() const; - - /** - * Get pointer from internal field, index can be 0 or 1. - */ - void *GetInternalField(int index) const; -}; -``` - -Example usage: - -```c++ -void weakCallback(const WeakCallbackInfo &data) { - int *parameter = data.GetParameter(); - delete parameter; -} - -Persistent obj; -int *data = new int(0); -obj.SetWeak(data, callback, WeakCallbackType::kParameter); -``` - -See the V8 documentation for [`WeakCallbackInfo`](https://v8docs.nodesource.com/io.js-3.0/d8/d06/classv8_1_1_weak_callback_info.html) for further information. - - -### Nan::WeakCallbackType - -Represents the type of a weak callback. -A weak callback of type `kParameter` makes the supplied parameter to `Nan::PersistentBase::SetWeak` available through `WeakCallbackInfo::GetParameter`. -A weak callback of type `kInternalFields` uses up to two internal fields at indices 0 and 1 on the `Nan::PersistentBase` being made weak. -Note that only `v8::Object`s and derivatives can have internal fields. - -Definition: - -```c++ -enum class WeakCallbackType { kParameter, kInternalFields }; -``` diff --git a/node_modules/nan/doc/scopes.md b/node_modules/nan/doc/scopes.md deleted file mode 100644 index 060c8e4..0000000 --- a/node_modules/nan/doc/scopes.md +++ /dev/null @@ -1,73 +0,0 @@ -## Scopes - -A _local handle_ is a pointer to an object. All V8 objects are accessed using handles, they are necessary because of the way the V8 garbage collector works. - -A handle scope can be thought of as a container for any number of handles. When you've finished with your handles, instead of deleting each one individually you can simply delete their scope. - -The creation of `HandleScope` objects is different across the supported versions of V8. Therefore, NAN provides its own implementations that can be used safely across these. - - - Nan::HandleScope - - Nan::EscapableHandleScope - -Also see the V8 Embedders Guide section on [Handles and Garbage Collection](https://github.com/v8/v8/wiki/Embedder%27s%20Guide#handles-and-garbage-collection). - - -### Nan::HandleScope - -A simple wrapper around [`v8::HandleScope`](https://v8docs.nodesource.com/io.js-3.0/d3/d95/classv8_1_1_handle_scope.html). - -Definition: - -```c++ -class Nan::HandleScope { - public: - Nan::HandleScope(); - static int NumberOfHandles(); -}; -``` - -Allocate a new `Nan::HandleScope` whenever you are creating new V8 JavaScript objects. Note that an implicit `HandleScope` is created for you on JavaScript-accessible methods so you do not need to insert one yourself. - -Example: - -```c++ -// new object is created, it needs a new scope: -void Pointless() { - Nan::HandleScope scope; - v8::Local obj = Nan::New(); -} - -// JavaScript-accessible method already has a HandleScope -NAN_METHOD(Pointless2) { - v8::Local obj = Nan::New(); -} -``` - - -### Nan::EscapableHandleScope - -Similar to [`Nan::HandleScope`](#api_nan_handle_scope) but should be used in cases where a function needs to return a V8 JavaScript type that has been created within it. - -Definition: - -```c++ -class Nan::EscapableHandleScope { - public: - Nan::EscapableHandleScope(); - static int NumberOfHandles(); - template v8::Local Escape(v8::Local value); -} -``` - -Use `Escape(value)` to return the object. - -Example: - -```c++ -v8::Local EmptyObj() { - Nan::EscapableHandleScope scope; - v8::Local obj = Nan::New(); - return scope.Escape(obj); -} -``` - diff --git a/node_modules/nan/doc/script.md b/node_modules/nan/doc/script.md deleted file mode 100644 index 1267b5e..0000000 --- a/node_modules/nan/doc/script.md +++ /dev/null @@ -1,38 +0,0 @@ -## Script - -NAN provides a `v8::Script` helpers as the API has changed over the supported versions of V8. - - - Nan::CompileScript() - - Nan::RunScript() - - - -### Nan::CompileScript() - -A wrapper around [`v8::Script::Compile()`](https://v8docs.nodesource.com/io.js-3.0/da/da5/classv8_1_1_script_compiler.html#a93f5072a0db55d881b969e9fc98e564b). - -Note that `Nan::BoundScript` is an alias for `v8::Script`. - -Signature: - -```c++ -Nan::MaybeLocal Nan::CompileScript( - v8::Local s, - const v8::ScriptOrigin& origin); -Nan::MaybeLocal Nan::CompileScript(v8::Local s); -``` - - - -### Nan::RunScript() - -Calls `script->Run()` or `script->BindToCurrentContext()->Run(Nan::GetCurrentContext())`. - -Note that `Nan::BoundScript` is an alias for `v8::Script` and `Nan::UnboundScript` is an alias for `v8::UnboundScript` where available and `v8::Script` on older versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::RunScript(v8::Local script) -Nan::MaybeLocal Nan::RunScript(v8::Local script) -``` diff --git a/node_modules/nan/doc/string_bytes.md b/node_modules/nan/doc/string_bytes.md deleted file mode 100644 index 7c1bd32..0000000 --- a/node_modules/nan/doc/string_bytes.md +++ /dev/null @@ -1,62 +0,0 @@ -## Strings & Bytes - -Miscellaneous string & byte encoding and decoding functionality provided for compatibility across supported versions of V8 and Node. Implemented by NAN to ensure that all encoding types are supported, even for older versions of Node where they are missing. - - - Nan::Encoding - - Nan::Encode() - - Nan::DecodeBytes() - - Nan::DecodeWrite() - - - -### Nan::Encoding - -An enum representing the supported encoding types. A copy of `node::encoding` that is consistent across versions of Node. - -Definition: - -```c++ -enum Nan::Encoding { ASCII, UTF8, BASE64, UCS2, BINARY, HEX, BUFFER } -``` - - - -### Nan::Encode() - -A wrapper around `node::Encode()` that provides a consistent implementation across supported versions of Node. - -Signature: - -```c++ -v8::Local Nan::Encode(const void *buf, - size_t len, - enum Nan::Encoding encoding = BINARY); -``` - - - -### Nan::DecodeBytes() - -A wrapper around `node::DecodeBytes()` that provides a consistent implementation across supported versions of Node. - -Signature: - -```c++ -ssize_t Nan::DecodeBytes(v8::Local val, - enum Nan::Encoding encoding = BINARY); -``` - - - -### Nan::DecodeWrite() - -A wrapper around `node::DecodeWrite()` that provides a consistent implementation across supported versions of Node. - -Signature: - -```c++ -ssize_t Nan::DecodeWrite(char *buf, - size_t len, - v8::Local val, - enum Nan::Encoding encoding = BINARY); -``` diff --git a/node_modules/nan/doc/v8_internals.md b/node_modules/nan/doc/v8_internals.md deleted file mode 100644 index ce5f230..0000000 --- a/node_modules/nan/doc/v8_internals.md +++ /dev/null @@ -1,199 +0,0 @@ -## V8 internals - -The hooks to access V8 internals—including GC and statistics—are different across the supported versions of V8, therefore NAN provides its own hooks that call the appropriate V8 methods. - - - NAN_GC_CALLBACK() - - Nan::AddGCEpilogueCallback() - - Nan::RemoveGCEpilogueCallback() - - Nan::AddGCPrologueCallback() - - Nan::RemoveGCPrologueCallback() - - Nan::GetHeapStatistics() - - Nan::SetCounterFunction() - - Nan::SetCreateHistogramFunction() - - Nan::SetAddHistogramSampleFunction() - - Nan::IdleNotification() - - Nan::LowMemoryNotification() - - Nan::ContextDisposedNotification() - - Nan::GetInternalFieldPointer() - - Nan::SetInternalFieldPointer() - - Nan::AdjustExternalMemory() - - - -### NAN_GC_CALLBACK(callbackname) - -Use `NAN_GC_CALLBACK` to declare your callbacks for `Nan::AddGCPrologueCallback()` and `Nan::AddGCEpilogueCallback()`. Your new method receives the arguments `v8::GCType type` and `v8::GCCallbackFlags flags`. - -```c++ -static Nan::Persistent callback; - -NAN_GC_CALLBACK(gcPrologueCallback) { - v8::Local argv[] = { Nan::New("prologue").ToLocalChecked() }; - Nan::MakeCallback(Nan::GetCurrentContext()->Global(), Nan::New(callback), 1, argv); -} - -NAN_METHOD(Hook) { - callback.Reset(args[0].As()); - Nan::AddGCPrologueCallback(gcPrologueCallback); - info.GetReturnValue().Set(info.Holder()); -} -``` - - -### Nan::AddGCEpilogueCallback() - -Signature: - -```c++ -void Nan::AddGCEpilogueCallback(v8::Isolate::GCEpilogueCallback callback, v8::GCType gc_type_filter = v8::kGCTypeAll) -``` - -Calls V8's [`AddGCEpilogueCallback()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a90d1860babc76059c62514b422f56960). - - -### Nan::RemoveGCEpilogueCallback() - -Signature: - -```c++ -void Nan::RemoveGCEpilogueCallback(v8::Isolate::GCEpilogueCallback callback) -``` - -Calls V8's [`RemoveGCEpilogueCallback()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a05c60859fd4b8e96bfcd451281ed6c7c). - - -### Nan::AddGCPrologueCallback() - -Signature: - -```c++ -void Nan::AddGCPrologueCallback(v8::Isolate::GCPrologueCallback, v8::GCType gc_type_filter callback) -``` - -Calls V8's [`AddGCPrologueCallback()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#ab4b87b8f9f8e5bf95eba4009357e001f). - - -### Nan::RemoveGCPrologueCallback() - -Signature: - -```c++ -void Nan::RemoveGCPrologueCallback(v8::Isolate::GCPrologueCallback callback) -``` - -Calls V8's [`RemoveGCEpilogueCallback()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a9f6c51932811593f81ff30b949124186). - - -### Nan::GetHeapStatistics() - -Signature: - -```c++ -void Nan::GetHeapStatistics(v8::HeapStatistics *heap_statistics) -``` - -Calls V8's [`GetHeapStatistics()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a5593ac74687b713095c38987e5950b34). - - -### Nan::SetCounterFunction() - -Signature: - -```c++ -void Nan::SetCounterFunction(v8::CounterLookupCallback cb) -``` - -Calls V8's [`SetCounterFunction()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a045d7754e62fa0ec72ae6c259b29af94). - - -### Nan::SetCreateHistogramFunction() - -Signature: - -```c++ -void Nan::SetCreateHistogramFunction(v8::CreateHistogramCallback cb) -``` - -Calls V8's [`SetCreateHistogramFunction()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a542d67e85089cb3f92aadf032f99e732). - - -### Nan::SetAddHistogramSampleFunction() - -Signature: - -```c++ -void Nan::SetAddHistogramSampleFunction(v8::AddHistogramSampleCallback cb) -``` - -Calls V8's [`SetAddHistogramSampleFunction()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#aeb420b690bc2c216882d6fdd00ddd3ea). - - -### Nan::IdleNotification() - -Signature: - -```c++ -void Nan::IdleNotification(v8::HeapStatistics *heap_statistics) -``` - -Calls V8's [`IdleNotification()` or `IdleNotificationDeadline()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#ad6a2a02657f5425ad460060652a5a118) depending on V8 version. - - -### Nan::LowMemoryNotification() - -Signature: - -```c++ -void Nan::LowMemoryNotification() -``` - -Calls V8's [`LowMemoryNotification()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a24647f61d6b41f69668094bdcd6ea91f). - - -### Nan::ContextDisposedNotification() - -Signature: - -```c++ -void Nan::ContextDisposedNotification() -``` - -Calls V8's [`ContextDisposedNotification()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#ad7f5dc559866343fe6cd8db1f134d48b). - - -### Nan::GetInternalFieldPointer() - -Gets a pointer to the internal field with at `index` from a V8 `Object` handle. - -Signature: - -```c++ -void* Nan::GetInternalFieldPointer(v8::Local object, int index) -``` - -Calls the Object's [`GetAlignedPointerFromInternalField()` or `GetPointerFromInternalField()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#ab3c57184263cf29963ef0017bec82281) depending on the version of V8. - - -### Nan::SetInternalFieldPointer() - -Sets the value of the internal field at `index` on a V8 `Object` handle. - -Signature: - -```c++ -void Nan::SetInternalFieldPointer(v8::Local object, int index, void* value) -``` - -Calls the Object's [`SetAlignedPointerInInternalField()` or `SetPointerInInternalField()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#ad7f5dc559866343fe6cd8db1f134d48b) depending on the version of V8. - - -### Nan::AdjustExternalMemory() - -Signature: - -```c++ -int Nan::AdjustExternalMemory(int bytesChange) -``` - -Calls V8's [`AdjustAmountOfExternalAllocatedMemory()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#ae1a59cac60409d3922582c4af675473e). - diff --git a/node_modules/nan/doc/v8_misc.md b/node_modules/nan/doc/v8_misc.md deleted file mode 100644 index 64f736d..0000000 --- a/node_modules/nan/doc/v8_misc.md +++ /dev/null @@ -1,85 +0,0 @@ -## Miscellaneous V8 Helpers - - - Nan::Utf8String - - Nan::GetCurrentContext() - - Nan::SetIsolateData() - - Nan::GetIsolateData() - - Nan::TypedArrayContents - - - -### Nan::Utf8String - -Converts an object to a UTF-8-encoded character array. If conversion to a string fails (e.g. due to an exception in the toString() method of the object) then the length() method returns 0 and the * operator returns NULL. The underlying memory used for this object is managed by the object. - -An implementation of [`v8::String::Utf8Value`](https://v8docs.nodesource.com/io.js-3.0/d4/d1b/classv8_1_1_string_1_1_utf8_value.html) that is consistent across all supported versions of V8. - -Definition: - -```c++ -class Nan::Utf8String { - public: - Nan::Utf8String(v8::Local from); - - int length() const; - - char* operator*(); - const char* operator*() const; -}; -``` - - -### Nan::GetCurrentContext() - -A call to [`v8::Isolate::GetCurrent()->GetCurrentContext()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a81c7a1ed7001ae2a65e89107f75fd053) that works across all supported versions of V8. - -Signature: - -```c++ -v8::Local Nan::GetCurrentContext() -``` - - -### Nan::SetIsolateData() - -A helper to provide a consistent API to [`v8::Isolate#SetData()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a7acadfe7965997e9c386a05f098fbe36). - -Signature: - -```c++ -void Nan::SetIsolateData(v8::Isolate *isolate, T *data) -``` - - - -### Nan::GetIsolateData() - -A helper to provide a consistent API to [`v8::Isolate#GetData()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#aabd223436bc1100a787dadaa024c6257). - -Signature: - -```c++ -T *Nan::GetIsolateData(v8::Isolate *isolate) -``` - - -### Nan::TypedArrayContents - -A helper class for accessing the contents of an ArrayBufferView (aka a typedarray) from C++. If the input array is not a valid typedarray, then the data pointer of TypedArrayContents will default to `NULL` and the length will be 0. If the data pointer is not compatible with the alignment requirements of type, an assertion error will fail. - -Note that you must store a reference to the `array` object while you are accessing its contents. - -Definition: - -```c++ -template -class Nan::TypedArrayContents { - public: - TypedArrayContents(v8::Local array); - - size_t length() const; - - T* const operator*(); - const T* const operator*() const; -}; -``` diff --git a/node_modules/nan/include_dirs.js b/node_modules/nan/include_dirs.js deleted file mode 100644 index 4f1dfb4..0000000 --- a/node_modules/nan/include_dirs.js +++ /dev/null @@ -1 +0,0 @@ -console.log(require('path').relative('.', __dirname)); diff --git a/node_modules/nan/nan.h b/node_modules/nan/nan.h deleted file mode 100644 index aed2b31..0000000 --- a/node_modules/nan/nan.h +++ /dev/null @@ -1,2315 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors: - * - Rod Vagg - * - Benjamin Byholm - * - Trevor Norris - * - Nathan Rajlich - * - Brett Lawson - * - Ben Noordhuis - * - David Siegel - * - * MIT License - * - * Version 2.5.1: current Node 7.4.0, Node 12: 0.12.18, Node 10: 0.10.48, iojs: 3.3.1 - * - * See https://github.com/nodejs/nan for the latest update to this file - **********************************************************************************/ - -#ifndef NAN_H_ -#define NAN_H_ - -#include - -#define NODE_0_10_MODULE_VERSION 11 -#define NODE_0_12_MODULE_VERSION 14 -#define ATOM_0_21_MODULE_VERSION 41 -#define IOJS_1_0_MODULE_VERSION 42 -#define IOJS_1_1_MODULE_VERSION 43 -#define IOJS_2_0_MODULE_VERSION 44 -#define IOJS_3_0_MODULE_VERSION 45 -#define NODE_4_0_MODULE_VERSION 46 -#define NODE_5_0_MODULE_VERSION 47 -#define NODE_6_0_MODULE_VERSION 48 - -#ifdef _MSC_VER -# define NAN_HAS_CPLUSPLUS_11 (_MSC_VER >= 1800) -#else -# define NAN_HAS_CPLUSPLUS_11 (__cplusplus >= 201103L) -#endif - -#if NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION && !NAN_HAS_CPLUSPLUS_11 -# error This version of node/NAN/v8 requires a C++11 compiler -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#if defined(_MSC_VER) -# pragma warning( push ) -# pragma warning( disable : 4530 ) -# include -# include -# pragma warning( pop ) -#else -# include -# include -#endif - -// uv helpers -#ifdef UV_VERSION_MAJOR -# ifndef UV_VERSION_PATCH -# define UV_VERSION_PATCH 0 -# endif -# define NAUV_UVVERSION ((UV_VERSION_MAJOR << 16) | \ - (UV_VERSION_MINOR << 8) | \ - (UV_VERSION_PATCH)) -#else -# define NAUV_UVVERSION 0x000b00 -#endif - -#if NAUV_UVVERSION < 0x000b0b -# ifdef WIN32 -# include -# else -# include -# endif -#endif - -namespace Nan { - -#define NAN_INLINE inline // TODO(bnoordhuis) Remove in v3.0.0. - -#if defined(__GNUC__) && \ - !(defined(V8_DISABLE_DEPRECATIONS) && V8_DISABLE_DEPRECATIONS) -# define NAN_DEPRECATED __attribute__((deprecated)) -#elif defined(_MSC_VER) && \ - !(defined(V8_DISABLE_DEPRECATIONS) && V8_DISABLE_DEPRECATIONS) -# define NAN_DEPRECATED __declspec(deprecated) -#else -# define NAN_DEPRECATED -#endif - -#if NAN_HAS_CPLUSPLUS_11 -# define NAN_DISALLOW_ASSIGN(CLASS) void operator=(const CLASS&) = delete; -# define NAN_DISALLOW_COPY(CLASS) CLASS(const CLASS&) = delete; -# define NAN_DISALLOW_MOVE(CLASS) \ - CLASS(CLASS&&) = delete; /* NOLINT(build/c++11) */ \ - void operator=(CLASS&&) = delete; -#else -# define NAN_DISALLOW_ASSIGN(CLASS) void operator=(const CLASS&); -# define NAN_DISALLOW_COPY(CLASS) CLASS(const CLASS&); -# define NAN_DISALLOW_MOVE(CLASS) -#endif - -#define NAN_DISALLOW_ASSIGN_COPY(CLASS) \ - NAN_DISALLOW_ASSIGN(CLASS) \ - NAN_DISALLOW_COPY(CLASS) - -#define NAN_DISALLOW_ASSIGN_MOVE(CLASS) \ - NAN_DISALLOW_ASSIGN(CLASS) \ - NAN_DISALLOW_MOVE(CLASS) - -#define NAN_DISALLOW_COPY_MOVE(CLASS) \ - NAN_DISALLOW_COPY(CLASS) \ - NAN_DISALLOW_MOVE(CLASS) - -#define NAN_DISALLOW_ASSIGN_COPY_MOVE(CLASS) \ - NAN_DISALLOW_ASSIGN(CLASS) \ - NAN_DISALLOW_COPY(CLASS) \ - NAN_DISALLOW_MOVE(CLASS) - -#define TYPE_CHECK(T, S) \ - while (false) { \ - *(static_cast(0)) = static_cast(0); \ - } - -//=== RegistrationFunction ===================================================== - -#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - typedef v8::Handle ADDON_REGISTER_FUNCTION_ARGS_TYPE; -#else - typedef v8::Local ADDON_REGISTER_FUNCTION_ARGS_TYPE; -#endif - -#define NAN_MODULE_INIT(name) \ - void name(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE target) - -//=== CallbackInfo ============================================================= - -#include "nan_callbacks.h" // NOLINT(build/include) - -//============================================================================== - -#if (NODE_MODULE_VERSION < NODE_0_12_MODULE_VERSION) -typedef v8::Script UnboundScript; -typedef v8::Script BoundScript; -#else -typedef v8::UnboundScript UnboundScript; -typedef v8::Script BoundScript; -#endif - -#if (NODE_MODULE_VERSION < ATOM_0_21_MODULE_VERSION) -typedef v8::String::ExternalAsciiStringResource - ExternalOneByteStringResource; -#else -typedef v8::String::ExternalOneByteStringResource - ExternalOneByteStringResource; -#endif - -#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) -template -class NonCopyablePersistentTraits : - public v8::NonCopyablePersistentTraits {}; -template -class CopyablePersistentTraits : - public v8::CopyablePersistentTraits {}; - -template -class PersistentBase : - public v8::PersistentBase {}; - -template > -class Persistent; -#else -template class NonCopyablePersistentTraits; -template class PersistentBase; -template class WeakCallbackData; -template > -class Persistent; -#endif // NODE_MODULE_VERSION - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -# include "nan_maybe_43_inl.h" // NOLINT(build/include) -#else -# include "nan_maybe_pre_43_inl.h" // NOLINT(build/include) -#endif - -#include "nan_converters.h" // NOLINT(build/include) -#include "nan_new.h" // NOLINT(build/include) - -#if NAUV_UVVERSION < 0x000b17 -#define NAUV_WORK_CB(func) \ - void func(uv_async_t *async, int) -#else -#define NAUV_WORK_CB(func) \ - void func(uv_async_t *async) -#endif - -#if NAUV_UVVERSION >= 0x000b0b - -typedef uv_key_t nauv_key_t; - -inline int nauv_key_create(nauv_key_t *key) { - return uv_key_create(key); -} - -inline void nauv_key_delete(nauv_key_t *key) { - uv_key_delete(key); -} - -inline void* nauv_key_get(nauv_key_t *key) { - return uv_key_get(key); -} - -inline void nauv_key_set(nauv_key_t *key, void *value) { - uv_key_set(key, value); -} - -#else - -/* Implement thread local storage for older versions of libuv. - * This is essentially a backport of libuv commit 5d2434bf - * written by Ben Noordhuis, adjusted for names and inline. - */ - -#ifndef WIN32 - -typedef pthread_key_t nauv_key_t; - -inline int nauv_key_create(nauv_key_t* key) { - return -pthread_key_create(key, NULL); -} - -inline void nauv_key_delete(nauv_key_t* key) { - if (pthread_key_delete(*key)) - abort(); -} - -inline void* nauv_key_get(nauv_key_t* key) { - return pthread_getspecific(*key); -} - -inline void nauv_key_set(nauv_key_t* key, void* value) { - if (pthread_setspecific(*key, value)) - abort(); -} - -#else - -typedef struct { - DWORD tls_index; -} nauv_key_t; - -inline int nauv_key_create(nauv_key_t* key) { - key->tls_index = TlsAlloc(); - if (key->tls_index == TLS_OUT_OF_INDEXES) - return UV_ENOMEM; - return 0; -} - -inline void nauv_key_delete(nauv_key_t* key) { - if (TlsFree(key->tls_index) == FALSE) - abort(); - key->tls_index = TLS_OUT_OF_INDEXES; -} - -inline void* nauv_key_get(nauv_key_t* key) { - void* value = TlsGetValue(key->tls_index); - if (value == NULL) - if (GetLastError() != ERROR_SUCCESS) - abort(); - return value; -} - -inline void nauv_key_set(nauv_key_t* key, void* value) { - if (TlsSetValue(key->tls_index, value) == FALSE) - abort(); -} - -#endif -#endif - -#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION -template -v8::Local New(v8::Handle); -#endif - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - typedef v8::WeakCallbackType WeakCallbackType; -#else -struct WeakCallbackType { - enum E {kParameter, kInternalFields}; - E type; - WeakCallbackType(E other) : type(other) {} // NOLINT(runtime/explicit) - inline bool operator==(E other) { return other == this->type; } - inline bool operator!=(E other) { return !operator==(other); } -}; -#endif - -template class WeakCallbackInfo; - -#if NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION -# include "nan_persistent_12_inl.h" // NOLINT(build/include) -#else -# include "nan_persistent_pre_12_inl.h" // NOLINT(build/include) -#endif - -namespace imp { - static const size_t kMaxLength = 0x3fffffff; - // v8::String::REPLACE_INVALID_UTF8 was introduced - // in node.js v0.10.29 and v0.8.27. -#if NODE_MAJOR_VERSION > 0 || \ - NODE_MINOR_VERSION > 10 || \ - NODE_MINOR_VERSION == 10 && NODE_PATCH_VERSION >= 29 || \ - NODE_MINOR_VERSION == 8 && NODE_PATCH_VERSION >= 27 - static const unsigned kReplaceInvalidUtf8 = v8::String::REPLACE_INVALID_UTF8; -#else - static const unsigned kReplaceInvalidUtf8 = 0; -#endif -} // end of namespace imp - -//=== HandleScope ============================================================== - -class HandleScope { - v8::HandleScope scope; - - public: -#if NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION - inline HandleScope() : scope(v8::Isolate::GetCurrent()) {} - inline static int NumberOfHandles() { - return v8::HandleScope::NumberOfHandles(v8::Isolate::GetCurrent()); - } -#else - inline HandleScope() : scope() {} - inline static int NumberOfHandles() { - return v8::HandleScope::NumberOfHandles(); - } -#endif - - private: - // Make it hard to create heap-allocated or illegal handle scopes by - // disallowing certain operations. - HandleScope(const HandleScope &); - void operator=(const HandleScope &); - void *operator new(size_t size); - void operator delete(void *, size_t) { - abort(); - } -}; - -class EscapableHandleScope { - public: -#if NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION - inline EscapableHandleScope() : scope(v8::Isolate::GetCurrent()) {} - - inline static int NumberOfHandles() { - return v8::EscapableHandleScope::NumberOfHandles(v8::Isolate::GetCurrent()); - } - - template - inline v8::Local Escape(v8::Local value) { - return scope.Escape(value); - } - - private: - v8::EscapableHandleScope scope; -#else - inline EscapableHandleScope() : scope() {} - - inline static int NumberOfHandles() { - return v8::HandleScope::NumberOfHandles(); - } - - template - inline v8::Local Escape(v8::Local value) { - return scope.Close(value); - } - - private: - v8::HandleScope scope; -#endif - - private: - // Make it hard to create heap-allocated or illegal handle scopes by - // disallowing certain operations. - EscapableHandleScope(const EscapableHandleScope &); - void operator=(const EscapableHandleScope &); - void *operator new(size_t size); - void operator delete(void *, size_t) { - abort(); - } -}; - -//=== TryCatch ================================================================= - -class TryCatch { - v8::TryCatch try_catch_; - friend void FatalException(const TryCatch&); - - public: -#if NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION - TryCatch() : try_catch_(v8::Isolate::GetCurrent()) {} -#endif - - inline bool HasCaught() const { return try_catch_.HasCaught(); } - - inline bool CanContinue() const { return try_catch_.CanContinue(); } - - inline v8::Local ReThrow() { -#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - return New(try_catch_.ReThrow()); -#else - return try_catch_.ReThrow(); -#endif - } - - inline v8::Local Exception() const { - return try_catch_.Exception(); - } - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - inline v8::MaybeLocal StackTrace() const { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(try_catch_.StackTrace(isolate->GetCurrentContext()) - .FromMaybe(v8::Local())); - } -#else - inline MaybeLocal StackTrace() const { - return try_catch_.StackTrace(); - } -#endif - - inline v8::Local Message() const { - return try_catch_.Message(); - } - - inline void Reset() { try_catch_.Reset(); } - - inline void SetVerbose(bool value) { try_catch_.SetVerbose(value); } - - inline void SetCaptureMessage(bool value) { - try_catch_.SetCaptureMessage(value); - } -}; - -//============ ================================================================= - -/* node 0.12 */ -#if NODE_MODULE_VERSION >= NODE_0_12_MODULE_VERSION - inline - void SetCounterFunction(v8::CounterLookupCallback cb) { - v8::Isolate::GetCurrent()->SetCounterFunction(cb); - } - - inline - void SetCreateHistogramFunction(v8::CreateHistogramCallback cb) { - v8::Isolate::GetCurrent()->SetCreateHistogramFunction(cb); - } - - inline - void SetAddHistogramSampleFunction(v8::AddHistogramSampleCallback cb) { - v8::Isolate::GetCurrent()->SetAddHistogramSampleFunction(cb); - } - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - inline bool IdleNotification(int idle_time_in_ms) { - return v8::Isolate::GetCurrent()->IdleNotificationDeadline( - idle_time_in_ms * 0.001); - } -# else - inline bool IdleNotification(int idle_time_in_ms) { - return v8::Isolate::GetCurrent()->IdleNotification(idle_time_in_ms); - } -#endif - - inline void LowMemoryNotification() { - v8::Isolate::GetCurrent()->LowMemoryNotification(); - } - - inline void ContextDisposedNotification() { - v8::Isolate::GetCurrent()->ContextDisposedNotification(); - } -#else - inline - void SetCounterFunction(v8::CounterLookupCallback cb) { - v8::V8::SetCounterFunction(cb); - } - - inline - void SetCreateHistogramFunction(v8::CreateHistogramCallback cb) { - v8::V8::SetCreateHistogramFunction(cb); - } - - inline - void SetAddHistogramSampleFunction(v8::AddHistogramSampleCallback cb) { - v8::V8::SetAddHistogramSampleFunction(cb); - } - - inline bool IdleNotification(int idle_time_in_ms) { - return v8::V8::IdleNotification(idle_time_in_ms); - } - - inline void LowMemoryNotification() { - v8::V8::LowMemoryNotification(); - } - - inline void ContextDisposedNotification() { - v8::V8::ContextDisposedNotification(); - } -#endif - -#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) // Node 0.12 - inline v8::Local Undefined() { -# if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - EscapableHandleScope scope; - return scope.Escape(New(v8::Undefined(v8::Isolate::GetCurrent()))); -# else - return v8::Undefined(v8::Isolate::GetCurrent()); -# endif - } - - inline v8::Local Null() { -# if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - EscapableHandleScope scope; - return scope.Escape(New(v8::Null(v8::Isolate::GetCurrent()))); -# else - return v8::Null(v8::Isolate::GetCurrent()); -# endif - } - - inline v8::Local True() { -# if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - EscapableHandleScope scope; - return scope.Escape(New(v8::True(v8::Isolate::GetCurrent()))); -# else - return v8::True(v8::Isolate::GetCurrent()); -# endif - } - - inline v8::Local False() { -# if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - EscapableHandleScope scope; - return scope.Escape(New(v8::False(v8::Isolate::GetCurrent()))); -# else - return v8::False(v8::Isolate::GetCurrent()); -# endif - } - - inline v8::Local EmptyString() { - return v8::String::Empty(v8::Isolate::GetCurrent()); - } - - inline int AdjustExternalMemory(int bc) { - return static_cast( - v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(bc)); - } - - inline void SetTemplate( - v8::Local templ - , const char *name - , v8::Local value) { - templ->Set(v8::Isolate::GetCurrent(), name, value); - } - - inline void SetTemplate( - v8::Local templ - , v8::Local name - , v8::Local value - , v8::PropertyAttribute attributes) { - templ->Set(name, value, attributes); - } - - inline v8::Local GetCurrentContext() { - return v8::Isolate::GetCurrent()->GetCurrentContext(); - } - - inline void* GetInternalFieldPointer( - v8::Local object - , int index) { - return object->GetAlignedPointerFromInternalField(index); - } - - inline void SetInternalFieldPointer( - v8::Local object - , int index - , void* value) { - object->SetAlignedPointerInInternalField(index, value); - } - -# define NAN_GC_CALLBACK(name) \ - void name(v8::Isolate *isolate, v8::GCType type, v8::GCCallbackFlags flags) - -#if NODE_MODULE_VERSION <= NODE_4_0_MODULE_VERSION - typedef v8::Isolate::GCEpilogueCallback GCEpilogueCallback; - typedef v8::Isolate::GCPrologueCallback GCPrologueCallback; -#else - typedef v8::Isolate::GCCallback GCEpilogueCallback; - typedef v8::Isolate::GCCallback GCPrologueCallback; -#endif - - inline void AddGCEpilogueCallback( - GCEpilogueCallback callback - , v8::GCType gc_type_filter = v8::kGCTypeAll) { - v8::Isolate::GetCurrent()->AddGCEpilogueCallback(callback, gc_type_filter); - } - - inline void RemoveGCEpilogueCallback( - GCEpilogueCallback callback) { - v8::Isolate::GetCurrent()->RemoveGCEpilogueCallback(callback); - } - - inline void AddGCPrologueCallback( - GCPrologueCallback callback - , v8::GCType gc_type_filter = v8::kGCTypeAll) { - v8::Isolate::GetCurrent()->AddGCPrologueCallback(callback, gc_type_filter); - } - - inline void RemoveGCPrologueCallback( - GCPrologueCallback callback) { - v8::Isolate::GetCurrent()->RemoveGCPrologueCallback(callback); - } - - inline void GetHeapStatistics( - v8::HeapStatistics *heap_statistics) { - v8::Isolate::GetCurrent()->GetHeapStatistics(heap_statistics); - } - -# define X(NAME) \ - inline v8::Local NAME(const char *msg) { \ - EscapableHandleScope scope; \ - return scope.Escape(v8::Exception::NAME(New(msg).ToLocalChecked())); \ - } \ - \ - inline \ - v8::Local NAME(v8::Local msg) { \ - return v8::Exception::NAME(msg); \ - } \ - \ - inline void Throw ## NAME(const char *msg) { \ - HandleScope scope; \ - v8::Isolate::GetCurrent()->ThrowException( \ - v8::Exception::NAME(New(msg).ToLocalChecked())); \ - } \ - \ - inline void Throw ## NAME(v8::Local msg) { \ - HandleScope scope; \ - v8::Isolate::GetCurrent()->ThrowException( \ - v8::Exception::NAME(msg)); \ - } - - X(Error) - X(RangeError) - X(ReferenceError) - X(SyntaxError) - X(TypeError) - -# undef X - - inline void ThrowError(v8::Local error) { - v8::Isolate::GetCurrent()->ThrowException(error); - } - - inline MaybeLocal NewBuffer( - char *data - , size_t length -#if NODE_MODULE_VERSION > IOJS_2_0_MODULE_VERSION - , node::Buffer::FreeCallback callback -#else - , node::smalloc::FreeCallback callback -#endif - , void *hint - ) { - // arbitrary buffer lengths requires - // NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION - assert(length <= imp::kMaxLength && "too large buffer"); -#if NODE_MODULE_VERSION > IOJS_2_0_MODULE_VERSION - return node::Buffer::New( - v8::Isolate::GetCurrent(), data, length, callback, hint); -#else - return node::Buffer::New(v8::Isolate::GetCurrent(), data, length, callback, - hint); -#endif - } - - inline MaybeLocal CopyBuffer( - const char *data - , uint32_t size - ) { - // arbitrary buffer lengths requires - // NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION - assert(size <= imp::kMaxLength && "too large buffer"); -#if NODE_MODULE_VERSION > IOJS_2_0_MODULE_VERSION - return node::Buffer::Copy( - v8::Isolate::GetCurrent(), data, size); -#else - return node::Buffer::New(v8::Isolate::GetCurrent(), data, size); -#endif - } - - inline MaybeLocal NewBuffer(uint32_t size) { - // arbitrary buffer lengths requires - // NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION - assert(size <= imp::kMaxLength && "too large buffer"); -#if NODE_MODULE_VERSION > IOJS_2_0_MODULE_VERSION - return node::Buffer::New( - v8::Isolate::GetCurrent(), size); -#else - return node::Buffer::New(v8::Isolate::GetCurrent(), size); -#endif - } - - inline MaybeLocal NewBuffer( - char* data - , uint32_t size - ) { - // arbitrary buffer lengths requires - // NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION - assert(size <= imp::kMaxLength && "too large buffer"); -#if NODE_MODULE_VERSION > IOJS_2_0_MODULE_VERSION - return node::Buffer::New(v8::Isolate::GetCurrent(), data, size); -#else - return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size); -#endif - } - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - inline MaybeLocal - NewOneByteString(const uint8_t * value, int length = -1) { - return v8::String::NewFromOneByte(v8::Isolate::GetCurrent(), value, - v8::NewStringType::kNormal, length); - } - - inline MaybeLocal CompileScript( - v8::Local s - , const v8::ScriptOrigin& origin - ) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - v8::ScriptCompiler::Source source(s, origin); - return scope.Escape( - v8::ScriptCompiler::Compile(isolate->GetCurrentContext(), &source) - .FromMaybe(v8::Local())); - } - - inline MaybeLocal CompileScript( - v8::Local s - ) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - v8::ScriptCompiler::Source source(s); - return scope.Escape( - v8::ScriptCompiler::Compile(isolate->GetCurrentContext(), &source) - .FromMaybe(v8::Local())); - } - - inline MaybeLocal RunScript( - v8::Local script - ) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(script->BindToCurrentContext() - ->Run(isolate->GetCurrentContext()) - .FromMaybe(v8::Local())); - } - - inline MaybeLocal RunScript( - v8::Local script - ) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(script->Run(isolate->GetCurrentContext()) - .FromMaybe(v8::Local())); - } -#else - inline MaybeLocal - NewOneByteString(const uint8_t * value, int length = -1) { - return v8::String::NewFromOneByte(v8::Isolate::GetCurrent(), value, - v8::String::kNormalString, length); - } - - inline MaybeLocal CompileScript( - v8::Local s - , const v8::ScriptOrigin& origin - ) { - v8::ScriptCompiler::Source source(s, origin); - return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source); - } - - inline MaybeLocal CompileScript( - v8::Local s - ) { - v8::ScriptCompiler::Source source(s); - return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source); - } - - inline MaybeLocal RunScript( - v8::Local script - ) { - EscapableHandleScope scope; - return scope.Escape(script->BindToCurrentContext()->Run()); - } - - inline MaybeLocal RunScript( - v8::Local script - ) { - return script->Run(); - } -#endif - - inline v8::Local MakeCallback( - v8::Local target - , v8::Local func - , int argc - , v8::Local* argv) { -#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - EscapableHandleScope scope; - return scope.Escape(New(node::MakeCallback( - v8::Isolate::GetCurrent(), target, func, argc, argv))); -#else - return node::MakeCallback( - v8::Isolate::GetCurrent(), target, func, argc, argv); -#endif - } - - inline v8::Local MakeCallback( - v8::Local target - , v8::Local symbol - , int argc - , v8::Local* argv) { -#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - EscapableHandleScope scope; - return scope.Escape(New(node::MakeCallback( - v8::Isolate::GetCurrent(), target, symbol, argc, argv))); -#else - return node::MakeCallback( - v8::Isolate::GetCurrent(), target, symbol, argc, argv); -#endif - } - - inline v8::Local MakeCallback( - v8::Local target - , const char* method - , int argc - , v8::Local* argv) { -#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - EscapableHandleScope scope; - return scope.Escape(New(node::MakeCallback( - v8::Isolate::GetCurrent(), target, method, argc, argv))); -#else - return node::MakeCallback( - v8::Isolate::GetCurrent(), target, method, argc, argv); -#endif - } - - inline void FatalException(const TryCatch& try_catch) { - node::FatalException(v8::Isolate::GetCurrent(), try_catch.try_catch_); - } - - inline v8::Local ErrnoException( - int errorno - , const char* syscall = NULL - , const char* message = NULL - , const char* path = NULL) { - return node::ErrnoException(v8::Isolate::GetCurrent(), errorno, syscall, - message, path); - } - - NAN_DEPRECATED inline v8::Local NanErrnoException( - int errorno - , const char* syscall = NULL - , const char* message = NULL - , const char* path = NULL) { - return ErrnoException(errorno, syscall, message, path); - } - - template - inline void SetIsolateData( - v8::Isolate *isolate - , T *data - ) { - isolate->SetData(0, data); - } - - template - inline T *GetIsolateData( - v8::Isolate *isolate - ) { - return static_cast(isolate->GetData(0)); - } - -class Utf8String { - public: - inline explicit Utf8String(v8::Local from) : - length_(0), str_(str_st_) { - HandleScope scope; - if (!from.IsEmpty()) { - v8::Local string = from->ToString(); - if (!string.IsEmpty()) { - size_t len = 3 * string->Length() + 1; - assert(len <= INT_MAX); - if (len > sizeof (str_st_)) { - str_ = static_cast(malloc(len)); - assert(str_ != 0); - } - const int flags = - v8::String::NO_NULL_TERMINATION | imp::kReplaceInvalidUtf8; - length_ = string->WriteUtf8(str_, static_cast(len), 0, flags); - str_[length_] = '\0'; - } - } - } - - inline int length() const { - return length_; - } - - inline char* operator*() { return str_; } - inline const char* operator*() const { return str_; } - - inline ~Utf8String() { - if (str_ != str_st_) { - free(str_); - } - } - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(Utf8String) - - int length_; - char *str_; - char str_st_[1024]; -}; - -#else // Node 0.8 and 0.10 - inline v8::Local Undefined() { - EscapableHandleScope scope; - return scope.Escape(New(v8::Undefined())); - } - - inline v8::Local Null() { - EscapableHandleScope scope; - return scope.Escape(New(v8::Null())); - } - - inline v8::Local True() { - EscapableHandleScope scope; - return scope.Escape(New(v8::True())); - } - - inline v8::Local False() { - EscapableHandleScope scope; - return scope.Escape(New(v8::False())); - } - - inline v8::Local EmptyString() { - return v8::String::Empty(); - } - - inline int AdjustExternalMemory(int bc) { - return static_cast(v8::V8::AdjustAmountOfExternalAllocatedMemory(bc)); - } - - inline void SetTemplate( - v8::Local templ - , const char *name - , v8::Local value) { - templ->Set(name, value); - } - - inline void SetTemplate( - v8::Local templ - , v8::Local name - , v8::Local value - , v8::PropertyAttribute attributes) { - templ->Set(name, value, attributes); - } - - inline v8::Local GetCurrentContext() { - return v8::Context::GetCurrent(); - } - - inline void* GetInternalFieldPointer( - v8::Local object - , int index) { - return object->GetPointerFromInternalField(index); - } - - inline void SetInternalFieldPointer( - v8::Local object - , int index - , void* value) { - object->SetPointerInInternalField(index, value); - } - -# define NAN_GC_CALLBACK(name) \ - void name(v8::GCType type, v8::GCCallbackFlags flags) - - inline void AddGCEpilogueCallback( - v8::GCEpilogueCallback callback - , v8::GCType gc_type_filter = v8::kGCTypeAll) { - v8::V8::AddGCEpilogueCallback(callback, gc_type_filter); - } - inline void RemoveGCEpilogueCallback( - v8::GCEpilogueCallback callback) { - v8::V8::RemoveGCEpilogueCallback(callback); - } - inline void AddGCPrologueCallback( - v8::GCPrologueCallback callback - , v8::GCType gc_type_filter = v8::kGCTypeAll) { - v8::V8::AddGCPrologueCallback(callback, gc_type_filter); - } - inline void RemoveGCPrologueCallback( - v8::GCPrologueCallback callback) { - v8::V8::RemoveGCPrologueCallback(callback); - } - inline void GetHeapStatistics( - v8::HeapStatistics *heap_statistics) { - v8::V8::GetHeapStatistics(heap_statistics); - } - -# define X(NAME) \ - inline v8::Local NAME(const char *msg) { \ - EscapableHandleScope scope; \ - return scope.Escape(v8::Exception::NAME(New(msg).ToLocalChecked())); \ - } \ - \ - inline \ - v8::Local NAME(v8::Local msg) { \ - return v8::Exception::NAME(msg); \ - } \ - \ - inline void Throw ## NAME(const char *msg) { \ - HandleScope scope; \ - v8::ThrowException(v8::Exception::NAME(New(msg).ToLocalChecked())); \ - } \ - \ - inline \ - void Throw ## NAME(v8::Local errmsg) { \ - HandleScope scope; \ - v8::ThrowException(v8::Exception::NAME(errmsg)); \ - } - - X(Error) - X(RangeError) - X(ReferenceError) - X(SyntaxError) - X(TypeError) - -# undef X - - inline void ThrowError(v8::Local error) { - v8::ThrowException(error); - } - - inline MaybeLocal NewBuffer( - char *data - , size_t length - , node::Buffer::free_callback callback - , void *hint - ) { - EscapableHandleScope scope; - // arbitrary buffer lengths requires - // NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION - assert(length <= imp::kMaxLength && "too large buffer"); - return scope.Escape( - New(node::Buffer::New(data, length, callback, hint)->handle_)); - } - - inline MaybeLocal CopyBuffer( - const char *data - , uint32_t size - ) { - EscapableHandleScope scope; - // arbitrary buffer lengths requires - // NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION - assert(size <= imp::kMaxLength && "too large buffer"); -#if NODE_MODULE_VERSION >= NODE_0_10_MODULE_VERSION - return scope.Escape(New(node::Buffer::New(data, size)->handle_)); -#else - return scope.Escape( - New(node::Buffer::New(const_cast(data), size)->handle_)); -#endif - } - - inline MaybeLocal NewBuffer(uint32_t size) { - // arbitrary buffer lengths requires - // NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION - EscapableHandleScope scope; - assert(size <= imp::kMaxLength && "too large buffer"); - return scope.Escape(New(node::Buffer::New(size)->handle_)); - } - - inline void FreeData(char *data, void *hint) { - (void) hint; // unused - delete[] data; - } - - inline MaybeLocal NewBuffer( - char* data - , uint32_t size - ) { - EscapableHandleScope scope; - // arbitrary buffer lengths requires - // NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION - assert(size <= imp::kMaxLength && "too large buffer"); - return scope.Escape( - New(node::Buffer::New(data, size, FreeData, NULL)->handle_)); - } - -namespace imp { -inline void -widenString(std::vector *ws, const uint8_t *s, int l) { - size_t len = static_cast(l); - if (l < 0) { - len = strlen(reinterpret_cast(s)); - } - assert(len <= INT_MAX && "string too long"); - ws->resize(len); - std::copy(s, s + len, ws->begin()); // NOLINT(build/include_what_you_use) -} -} // end of namespace imp - - inline MaybeLocal - NewOneByteString(const uint8_t * value, int length = -1) { - std::vector wideString; // NOLINT(build/include_what_you_use) - imp::widenString(&wideString, value, length); - return v8::String::New(wideString.data(), - static_cast(wideString.size())); - } - - inline MaybeLocal CompileScript( - v8::Local s - , const v8::ScriptOrigin& origin - ) { - return v8::Script::Compile(s, const_cast(&origin)); - } - - inline MaybeLocal CompileScript( - v8::Local s - ) { - return v8::Script::Compile(s); - } - - inline - MaybeLocal RunScript(v8::Local script) { - return script->Run(); - } - - inline v8::Local MakeCallback( - v8::Local target - , v8::Local func - , int argc - , v8::Local* argv) { - v8::HandleScope scope; - return scope.Close(New(node::MakeCallback(target, func, argc, argv))); - } - - inline v8::Local MakeCallback( - v8::Local target - , v8::Local symbol - , int argc - , v8::Local* argv) { - v8::HandleScope scope; - return scope.Close(New(node::MakeCallback(target, symbol, argc, argv))); - } - - inline v8::Local MakeCallback( - v8::Local target - , const char* method - , int argc - , v8::Local* argv) { - v8::HandleScope scope; - return scope.Close(New(node::MakeCallback(target, method, argc, argv))); - } - - inline void FatalException(const TryCatch& try_catch) { - node::FatalException(const_cast(try_catch.try_catch_)); - } - - inline v8::Local ErrnoException( - int errorno - , const char* syscall = NULL - , const char* message = NULL - , const char* path = NULL) { - return node::ErrnoException(errorno, syscall, message, path); - } - - NAN_DEPRECATED inline v8::Local NanErrnoException( - int errorno - , const char* syscall = NULL - , const char* message = NULL - , const char* path = NULL) { - return ErrnoException(errorno, syscall, message, path); - } - - - template - inline void SetIsolateData( - v8::Isolate *isolate - , T *data - ) { - isolate->SetData(data); - } - - template - inline T *GetIsolateData( - v8::Isolate *isolate - ) { - return static_cast(isolate->GetData()); - } - -class Utf8String { - public: - inline explicit Utf8String(v8::Local from) : - length_(0), str_(str_st_) { - v8::HandleScope scope; - if (!from.IsEmpty()) { - v8::Local string = from->ToString(); - if (!string.IsEmpty()) { - size_t len = 3 * string->Length() + 1; - assert(len <= INT_MAX); - if (len > sizeof (str_st_)) { - str_ = static_cast(malloc(len)); - assert(str_ != 0); - } - const int flags = - v8::String::NO_NULL_TERMINATION | imp::kReplaceInvalidUtf8; - length_ = string->WriteUtf8(str_, static_cast(len), 0, flags); - str_[length_] = '\0'; - } - } - } - - inline int length() const { - return length_; - } - - inline char* operator*() { return str_; } - inline const char* operator*() const { return str_; } - - inline ~Utf8String() { - if (str_ != str_st_) { - free(str_); - } - } - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(Utf8String) - - int length_; - char *str_; - char str_st_[1024]; -}; - -#endif // NODE_MODULE_VERSION - -typedef void (*FreeCallback)(char *data, void *hint); - -typedef const FunctionCallbackInfo& NAN_METHOD_ARGS_TYPE; -typedef void NAN_METHOD_RETURN_TYPE; - -typedef const PropertyCallbackInfo& NAN_GETTER_ARGS_TYPE; -typedef void NAN_GETTER_RETURN_TYPE; - -typedef const PropertyCallbackInfo& NAN_SETTER_ARGS_TYPE; -typedef void NAN_SETTER_RETURN_TYPE; - -typedef const PropertyCallbackInfo& - NAN_PROPERTY_GETTER_ARGS_TYPE; -typedef void NAN_PROPERTY_GETTER_RETURN_TYPE; - -typedef const PropertyCallbackInfo& - NAN_PROPERTY_SETTER_ARGS_TYPE; -typedef void NAN_PROPERTY_SETTER_RETURN_TYPE; - -typedef const PropertyCallbackInfo& - NAN_PROPERTY_ENUMERATOR_ARGS_TYPE; -typedef void NAN_PROPERTY_ENUMERATOR_RETURN_TYPE; - -typedef const PropertyCallbackInfo& - NAN_PROPERTY_DELETER_ARGS_TYPE; -typedef void NAN_PROPERTY_DELETER_RETURN_TYPE; - -typedef const PropertyCallbackInfo& - NAN_PROPERTY_QUERY_ARGS_TYPE; -typedef void NAN_PROPERTY_QUERY_RETURN_TYPE; - -typedef const PropertyCallbackInfo& NAN_INDEX_GETTER_ARGS_TYPE; -typedef void NAN_INDEX_GETTER_RETURN_TYPE; - -typedef const PropertyCallbackInfo& NAN_INDEX_SETTER_ARGS_TYPE; -typedef void NAN_INDEX_SETTER_RETURN_TYPE; - -typedef const PropertyCallbackInfo& - NAN_INDEX_ENUMERATOR_ARGS_TYPE; -typedef void NAN_INDEX_ENUMERATOR_RETURN_TYPE; - -typedef const PropertyCallbackInfo& - NAN_INDEX_DELETER_ARGS_TYPE; -typedef void NAN_INDEX_DELETER_RETURN_TYPE; - -typedef const PropertyCallbackInfo& - NAN_INDEX_QUERY_ARGS_TYPE; -typedef void NAN_INDEX_QUERY_RETURN_TYPE; - -#define NAN_METHOD(name) \ - Nan::NAN_METHOD_RETURN_TYPE name(Nan::NAN_METHOD_ARGS_TYPE info) -#define NAN_GETTER(name) \ - Nan::NAN_GETTER_RETURN_TYPE name( \ - v8::Local property \ - , Nan::NAN_GETTER_ARGS_TYPE info) -#define NAN_SETTER(name) \ - Nan::NAN_SETTER_RETURN_TYPE name( \ - v8::Local property \ - , v8::Local value \ - , Nan::NAN_SETTER_ARGS_TYPE info) -#define NAN_PROPERTY_GETTER(name) \ - Nan::NAN_PROPERTY_GETTER_RETURN_TYPE name( \ - v8::Local property \ - , Nan::NAN_PROPERTY_GETTER_ARGS_TYPE info) -#define NAN_PROPERTY_SETTER(name) \ - Nan::NAN_PROPERTY_SETTER_RETURN_TYPE name( \ - v8::Local property \ - , v8::Local value \ - , Nan::NAN_PROPERTY_SETTER_ARGS_TYPE info) -#define NAN_PROPERTY_ENUMERATOR(name) \ - Nan::NAN_PROPERTY_ENUMERATOR_RETURN_TYPE name( \ - Nan::NAN_PROPERTY_ENUMERATOR_ARGS_TYPE info) -#define NAN_PROPERTY_DELETER(name) \ - Nan::NAN_PROPERTY_DELETER_RETURN_TYPE name( \ - v8::Local property \ - , Nan::NAN_PROPERTY_DELETER_ARGS_TYPE info) -#define NAN_PROPERTY_QUERY(name) \ - Nan::NAN_PROPERTY_QUERY_RETURN_TYPE name( \ - v8::Local property \ - , Nan::NAN_PROPERTY_QUERY_ARGS_TYPE info) -# define NAN_INDEX_GETTER(name) \ - Nan::NAN_INDEX_GETTER_RETURN_TYPE name( \ - uint32_t index \ - , Nan::NAN_INDEX_GETTER_ARGS_TYPE info) -#define NAN_INDEX_SETTER(name) \ - Nan::NAN_INDEX_SETTER_RETURN_TYPE name( \ - uint32_t index \ - , v8::Local value \ - , Nan::NAN_INDEX_SETTER_ARGS_TYPE info) -#define NAN_INDEX_ENUMERATOR(name) \ - Nan::NAN_INDEX_ENUMERATOR_RETURN_TYPE \ - name(Nan::NAN_INDEX_ENUMERATOR_ARGS_TYPE info) -#define NAN_INDEX_DELETER(name) \ - Nan::NAN_INDEX_DELETER_RETURN_TYPE name( \ - uint32_t index \ - , Nan::NAN_INDEX_DELETER_ARGS_TYPE info) -#define NAN_INDEX_QUERY(name) \ - Nan::NAN_INDEX_QUERY_RETURN_TYPE name( \ - uint32_t index \ - , Nan::NAN_INDEX_QUERY_ARGS_TYPE info) - -class Callback { - public: - Callback() {} - - explicit Callback(const v8::Local &fn) : handle_(fn) {} - - ~Callback() { - handle_.Reset(); - } - - bool operator==(const Callback &other) const { - return handle_ == other.handle_; - } - - bool operator!=(const Callback &other) const { - return !operator==(other); - } - - inline - v8::Local operator*() const { return GetFunction(); } - - inline v8::Local operator()( - v8::Local target - , int argc = 0 - , v8::Local argv[] = 0) const { - return this->Call(target, argc, argv); - } - - inline v8::Local operator()( - int argc = 0 - , v8::Local argv[] = 0) const { - return this->Call(argc, argv); - } - - // TODO(kkoopa): remove - inline void SetFunction(const v8::Local &fn) { - Reset(fn); - } - - inline void Reset(const v8::Local &fn) { - handle_.Reset(fn); - } - - inline void Reset() { - handle_.Reset(); - } - - inline v8::Local GetFunction() const { - return New(handle_); - } - - inline bool IsEmpty() const { - return handle_.IsEmpty(); - } - - inline v8::Local - Call(v8::Local target - , int argc - , v8::Local argv[]) const { -#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - return Call_(isolate, target, argc, argv); -#else - return Call_(target, argc, argv); -#endif - } - - inline v8::Local - Call(int argc, v8::Local argv[]) const { -#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape( - Call_(isolate, isolate->GetCurrentContext()->Global(), argc, argv)); -#else - v8::HandleScope scope; - return scope.Close(Call_(v8::Context::GetCurrent()->Global(), argc, argv)); -#endif - } - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(Callback) - Persistent handle_; - -#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) - v8::Local Call_(v8::Isolate *isolate - , v8::Local target - , int argc - , v8::Local argv[]) const { - EscapableHandleScope scope; - - v8::Local callback = New(handle_); -# if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - return scope.Escape(New(node::MakeCallback( - isolate - , target - , callback - , argc - , argv - ))); -# else - return scope.Escape(node::MakeCallback( - isolate - , target - , callback - , argc - , argv - )); -# endif - } -#else - v8::Local Call_(v8::Local target - , int argc - , v8::Local argv[]) const { - EscapableHandleScope scope; - - v8::Local callback = New(handle_); - return scope.Escape(New(node::MakeCallback( - target - , callback - , argc - , argv - ))); - } -#endif -}; - -/* abstract */ class AsyncWorker { - public: - explicit AsyncWorker(Callback *callback_) - : callback(callback_), errmsg_(NULL) { - request.data = this; - - HandleScope scope; - v8::Local obj = New(); - persistentHandle.Reset(obj); - } - - virtual ~AsyncWorker() { - HandleScope scope; - - if (!persistentHandle.IsEmpty()) - persistentHandle.Reset(); - delete callback; - delete[] errmsg_; - } - - virtual void WorkComplete() { - HandleScope scope; - - if (errmsg_ == NULL) - HandleOKCallback(); - else - HandleErrorCallback(); - delete callback; - callback = NULL; - } - - inline void SaveToPersistent( - const char *key, const v8::Local &value) { - HandleScope scope; - New(persistentHandle)->Set(New(key).ToLocalChecked(), value); - } - - inline void SaveToPersistent( - const v8::Local &key, const v8::Local &value) { - HandleScope scope; - New(persistentHandle)->Set(key, value); - } - - inline void SaveToPersistent( - uint32_t index, const v8::Local &value) { - HandleScope scope; - New(persistentHandle)->Set(index, value); - } - - inline v8::Local GetFromPersistent(const char *key) const { - EscapableHandleScope scope; - return scope.Escape( - New(persistentHandle)->Get(New(key).ToLocalChecked())); - } - - inline v8::Local - GetFromPersistent(const v8::Local &key) const { - EscapableHandleScope scope; - return scope.Escape(New(persistentHandle)->Get(key)); - } - - inline v8::Local GetFromPersistent(uint32_t index) const { - EscapableHandleScope scope; - return scope.Escape(New(persistentHandle)->Get(index)); - } - - virtual void Execute() = 0; - - uv_work_t request; - - virtual void Destroy() { - delete this; - } - - protected: - Persistent persistentHandle; - Callback *callback; - - virtual void HandleOKCallback() { - HandleScope scope; - - callback->Call(0, NULL); - } - - virtual void HandleErrorCallback() { - HandleScope scope; - - v8::Local argv[] = { - v8::Exception::Error(New(ErrorMessage()).ToLocalChecked()) - }; - callback->Call(1, argv); - } - - void SetErrorMessage(const char *msg) { - delete[] errmsg_; - - size_t size = strlen(msg) + 1; - errmsg_ = new char[size]; - memcpy(errmsg_, msg, size); - } - - const char* ErrorMessage() const { - return errmsg_; - } - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(AsyncWorker) - char *errmsg_; -}; - - -template -/* abstract */ class AsyncProgressWorkerBase : public AsyncWorker { - public: - explicit AsyncProgressWorkerBase(Callback *callback_) - : AsyncWorker(callback_), asyncdata_(NULL), asyncsize_(0) { - async = new uv_async_t; - uv_async_init( - uv_default_loop() - , async - , AsyncProgress_ - ); - async->data = this; - - uv_mutex_init(&async_lock); - } - - virtual ~AsyncProgressWorkerBase() { - uv_mutex_destroy(&async_lock); - - delete[] asyncdata_; - } - - void WorkProgress() { - uv_mutex_lock(&async_lock); - T *data = asyncdata_; - size_t size = asyncsize_; - asyncdata_ = NULL; - uv_mutex_unlock(&async_lock); - - // Don't send progress events after we've already completed. - if (callback) { - HandleProgressCallback(data, size); - } - delete[] data; - } - - class ExecutionProgress { - friend class AsyncProgressWorkerBase; - public: - void Signal() const { - uv_async_send(that_->async); - } - - void Send(const T* data, size_t size) const { - that_->SendProgress_(data, size); - } - - private: - explicit ExecutionProgress(AsyncProgressWorkerBase *that) : that_(that) {} - NAN_DISALLOW_ASSIGN_COPY_MOVE(ExecutionProgress) - AsyncProgressWorkerBase* const that_; - }; - - virtual void Execute(const ExecutionProgress& progress) = 0; - virtual void HandleProgressCallback(const T *data, size_t size) = 0; - - virtual void Destroy() { - uv_close(reinterpret_cast(async), AsyncClose_); - } - - private: - void Execute() /*final override*/ { - ExecutionProgress progress(this); - Execute(progress); - } - - void SendProgress_(const T *data, size_t size) { - T *new_data = new T[size]; - { - T *it = new_data; - std::copy(data, data + size, it); - } - - uv_mutex_lock(&async_lock); - T *old_data = asyncdata_; - asyncdata_ = new_data; - asyncsize_ = size; - uv_mutex_unlock(&async_lock); - - delete[] old_data; - uv_async_send(async); - } - - inline static NAUV_WORK_CB(AsyncProgress_) { - AsyncProgressWorkerBase *worker = - static_cast(async->data); - worker->WorkProgress(); - } - - inline static void AsyncClose_(uv_handle_t* handle) { - AsyncProgressWorkerBase *worker = - static_cast(handle->data); - delete reinterpret_cast(handle); - delete worker; - } - - uv_async_t *async; - uv_mutex_t async_lock; - T *asyncdata_; - size_t asyncsize_; -}; - -// This ensures compatibility to the previous un-templated AsyncProgressWorker -// class definition. -typedef AsyncProgressWorkerBase AsyncProgressWorker; - -inline void AsyncExecute (uv_work_t* req) { - AsyncWorker *worker = static_cast(req->data); - worker->Execute(); -} - -inline void AsyncExecuteComplete (uv_work_t* req) { - AsyncWorker* worker = static_cast(req->data); - worker->WorkComplete(); - worker->Destroy(); -} - -inline void AsyncQueueWorker (AsyncWorker* worker) { - uv_queue_work( - uv_default_loop() - , &worker->request - , AsyncExecute - , reinterpret_cast(AsyncExecuteComplete) - ); -} - -namespace imp { - -inline -ExternalOneByteStringResource const* -GetExternalResource(v8::Local str) { -#if NODE_MODULE_VERSION < ATOM_0_21_MODULE_VERSION - return str->GetExternalAsciiStringResource(); -#else - return str->GetExternalOneByteStringResource(); -#endif -} - -inline -bool -IsExternal(v8::Local str) { -#if NODE_MODULE_VERSION < ATOM_0_21_MODULE_VERSION - return str->IsExternalAscii(); -#else - return str->IsExternalOneByte(); -#endif -} - -} // end of namespace imp - -enum Encoding {ASCII, UTF8, BASE64, UCS2, BINARY, HEX, BUFFER}; - -#if NODE_MODULE_VERSION < NODE_0_10_MODULE_VERSION -# include "nan_string_bytes.h" // NOLINT(build/include) -#endif - -inline v8::Local Encode( - const void *buf, size_t len, enum Encoding encoding = BINARY) { -#if (NODE_MODULE_VERSION >= ATOM_0_21_MODULE_VERSION) - v8::Isolate* isolate = v8::Isolate::GetCurrent(); - node::encoding node_enc = static_cast(encoding); - - if (encoding == UCS2) { - return node::Encode( - isolate - , reinterpret_cast(buf) - , len / 2); - } else { - return node::Encode( - isolate - , reinterpret_cast(buf) - , len - , node_enc); - } -#elif (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) - return node::Encode( - v8::Isolate::GetCurrent() - , buf, len - , static_cast(encoding)); -#else -# if NODE_MODULE_VERSION >= NODE_0_10_MODULE_VERSION - return node::Encode(buf, len, static_cast(encoding)); -# else - return imp::Encode(reinterpret_cast(buf), len, encoding); -# endif -#endif -} - -inline ssize_t DecodeBytes( - v8::Local val, enum Encoding encoding = BINARY) { -#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) - return node::DecodeBytes( - v8::Isolate::GetCurrent() - , val - , static_cast(encoding)); -#else -# if (NODE_MODULE_VERSION < NODE_0_10_MODULE_VERSION) - if (encoding == BUFFER) { - return node::DecodeBytes(val, node::BINARY); - } -# endif - return node::DecodeBytes(val, static_cast(encoding)); -#endif -} - -inline ssize_t DecodeWrite( - char *buf - , size_t len - , v8::Local val - , enum Encoding encoding = BINARY) { -#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) - return node::DecodeWrite( - v8::Isolate::GetCurrent() - , buf - , len - , val - , static_cast(encoding)); -#else -# if (NODE_MODULE_VERSION < NODE_0_10_MODULE_VERSION) - if (encoding == BUFFER) { - return node::DecodeWrite(buf, len, val, node::BINARY); - } -# endif - return node::DecodeWrite( - buf - , len - , val - , static_cast(encoding)); -#endif -} - -inline void SetPrototypeTemplate( - v8::Local templ - , const char *name - , v8::Local value -) { - HandleScope scope; - SetTemplate(templ->PrototypeTemplate(), name, value); -} - -inline void SetPrototypeTemplate( - v8::Local templ - , v8::Local name - , v8::Local value - , v8::PropertyAttribute attributes -) { - HandleScope scope; - SetTemplate(templ->PrototypeTemplate(), name, value, attributes); -} - -inline void SetInstanceTemplate( - v8::Local templ - , const char *name - , v8::Local value -) { - HandleScope scope; - SetTemplate(templ->InstanceTemplate(), name, value); -} - -inline void SetInstanceTemplate( - v8::Local templ - , v8::Local name - , v8::Local value - , v8::PropertyAttribute attributes -) { - HandleScope scope; - SetTemplate(templ->InstanceTemplate(), name, value, attributes); -} - -namespace imp { - -// Note(@agnat): Helper to distinguish different receiver types. The first -// version deals with receivers derived from v8::Template. The second version -// handles everything else. The final argument only serves as discriminator and -// is unused. -template -inline -void -SetMethodAux(T recv, - v8::Local name, - v8::Local tpl, - v8::Template *) { - recv->Set(name, tpl); -} - -template -inline -void -SetMethodAux(T recv, - v8::Local name, - v8::Local tpl, - ...) { - recv->Set(name, GetFunction(tpl).ToLocalChecked()); -} - -} // end of namespace imp - -template class HandleType> -inline void SetMethod( - HandleType recv - , const char *name - , FunctionCallback callback) { - HandleScope scope; - v8::Local t = New(callback); - v8::Local fn_name = New(name).ToLocalChecked(); - t->SetClassName(fn_name); - // Note(@agnat): Pass an empty T* as discriminator. See note on - // SetMethodAux(...) above - imp::SetMethodAux(recv, fn_name, t, static_cast(0)); -} - -inline void SetPrototypeMethod( - v8::Local recv - , const char* name, FunctionCallback callback) { - HandleScope scope; - v8::Local t = New( - callback - , v8::Local() - , New(recv)); - v8::Local fn_name = New(name).ToLocalChecked(); - recv->PrototypeTemplate()->Set(fn_name, t); - t->SetClassName(fn_name); -} - -//=== Accessors and Such ======================================================= - -inline void SetAccessor( - v8::Local tpl - , v8::Local name - , GetterCallback getter - , SetterCallback setter = 0 - , v8::Local data = v8::Local() - , v8::AccessControl settings = v8::DEFAULT - , v8::PropertyAttribute attribute = v8::None - , imp::Sig signature = imp::Sig()) { - HandleScope scope; - - imp::NativeGetter getter_ = - imp::GetterCallbackWrapper; - imp::NativeSetter setter_ = - setter ? imp::SetterCallbackWrapper : 0; - - v8::Local otpl = New(); - otpl->SetInternalFieldCount(imp::kAccessorFieldCount); - v8::Local obj = NewInstance(otpl).ToLocalChecked(); - - obj->SetInternalField( - imp::kGetterIndex - , New(reinterpret_cast(getter))); - - if (setter != 0) { - obj->SetInternalField( - imp::kSetterIndex - , New(reinterpret_cast(setter))); - } - - if (!data.IsEmpty()) { - obj->SetInternalField(imp::kDataIndex, data); - } - - tpl->SetAccessor( - name - , getter_ - , setter_ - , obj - , settings - , attribute - , signature); -} - -inline bool SetAccessor( - v8::Local obj - , v8::Local name - , GetterCallback getter - , SetterCallback setter = 0 - , v8::Local data = v8::Local() - , v8::AccessControl settings = v8::DEFAULT - , v8::PropertyAttribute attribute = v8::None) { - HandleScope scope; - - imp::NativeGetter getter_ = - imp::GetterCallbackWrapper; - imp::NativeSetter setter_ = - setter ? imp::SetterCallbackWrapper : 0; - - v8::Local otpl = New(); - otpl->SetInternalFieldCount(imp::kAccessorFieldCount); - v8::Local dataobj = NewInstance(otpl).ToLocalChecked(); - - dataobj->SetInternalField( - imp::kGetterIndex - , New(reinterpret_cast(getter))); - - if (!data.IsEmpty()) { - dataobj->SetInternalField(imp::kDataIndex, data); - } - - if (setter) { - dataobj->SetInternalField( - imp::kSetterIndex - , New(reinterpret_cast(setter))); - } - -#if (NODE_MODULE_VERSION >= NODE_6_0_MODULE_VERSION) - return obj->SetAccessor( - GetCurrentContext() - , name - , getter_ - , setter_ - , dataobj - , settings - , attribute).FromMaybe(false); -#else - return obj->SetAccessor( - name - , getter_ - , setter_ - , dataobj - , settings - , attribute); -#endif -} - -inline void SetNamedPropertyHandler( - v8::Local tpl - , PropertyGetterCallback getter - , PropertySetterCallback setter = 0 - , PropertyQueryCallback query = 0 - , PropertyDeleterCallback deleter = 0 - , PropertyEnumeratorCallback enumerator = 0 - , v8::Local data = v8::Local()) { - HandleScope scope; - - imp::NativePropertyGetter getter_ = - imp::PropertyGetterCallbackWrapper; - imp::NativePropertySetter setter_ = - setter ? imp::PropertySetterCallbackWrapper : 0; - imp::NativePropertyQuery query_ = - query ? imp::PropertyQueryCallbackWrapper : 0; - imp::NativePropertyDeleter *deleter_ = - deleter ? imp::PropertyDeleterCallbackWrapper : 0; - imp::NativePropertyEnumerator enumerator_ = - enumerator ? imp::PropertyEnumeratorCallbackWrapper : 0; - - v8::Local otpl = New(); - otpl->SetInternalFieldCount(imp::kPropertyFieldCount); - v8::Local obj = NewInstance(otpl).ToLocalChecked(); - obj->SetInternalField( - imp::kPropertyGetterIndex - , New(reinterpret_cast(getter))); - - if (setter) { - obj->SetInternalField( - imp::kPropertySetterIndex - , New(reinterpret_cast(setter))); - } - - if (query) { - obj->SetInternalField( - imp::kPropertyQueryIndex - , New(reinterpret_cast(query))); - } - - if (deleter) { - obj->SetInternalField( - imp::kPropertyDeleterIndex - , New(reinterpret_cast(deleter))); - } - - if (enumerator) { - obj->SetInternalField( - imp::kPropertyEnumeratorIndex - , New(reinterpret_cast(enumerator))); - } - - if (!data.IsEmpty()) { - obj->SetInternalField(imp::kDataIndex, data); - } - -#if NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION - tpl->SetHandler(v8::NamedPropertyHandlerConfiguration( - getter_, setter_, query_, deleter_, enumerator_, obj)); -#else - tpl->SetNamedPropertyHandler( - getter_ - , setter_ - , query_ - , deleter_ - , enumerator_ - , obj); -#endif -} - -inline void SetIndexedPropertyHandler( - v8::Local tpl - , IndexGetterCallback getter - , IndexSetterCallback setter = 0 - , IndexQueryCallback query = 0 - , IndexDeleterCallback deleter = 0 - , IndexEnumeratorCallback enumerator = 0 - , v8::Local data = v8::Local()) { - HandleScope scope; - - imp::NativeIndexGetter getter_ = - imp::IndexGetterCallbackWrapper; - imp::NativeIndexSetter setter_ = - setter ? imp::IndexSetterCallbackWrapper : 0; - imp::NativeIndexQuery query_ = - query ? imp::IndexQueryCallbackWrapper : 0; - imp::NativeIndexDeleter deleter_ = - deleter ? imp::IndexDeleterCallbackWrapper : 0; - imp::NativeIndexEnumerator enumerator_ = - enumerator ? imp::IndexEnumeratorCallbackWrapper : 0; - - v8::Local otpl = New(); - otpl->SetInternalFieldCount(imp::kIndexPropertyFieldCount); - v8::Local obj = NewInstance(otpl).ToLocalChecked(); - obj->SetInternalField( - imp::kIndexPropertyGetterIndex - , New(reinterpret_cast(getter))); - - if (setter) { - obj->SetInternalField( - imp::kIndexPropertySetterIndex - , New(reinterpret_cast(setter))); - } - - if (query) { - obj->SetInternalField( - imp::kIndexPropertyQueryIndex - , New(reinterpret_cast(query))); - } - - if (deleter) { - obj->SetInternalField( - imp::kIndexPropertyDeleterIndex - , New(reinterpret_cast(deleter))); - } - - if (enumerator) { - obj->SetInternalField( - imp::kIndexPropertyEnumeratorIndex - , New(reinterpret_cast(enumerator))); - } - - if (!data.IsEmpty()) { - obj->SetInternalField(imp::kDataIndex, data); - } - -#if NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION - tpl->SetHandler(v8::IndexedPropertyHandlerConfiguration( - getter_, setter_, query_, deleter_, enumerator_, obj)); -#else - tpl->SetIndexedPropertyHandler( - getter_ - , setter_ - , query_ - , deleter_ - , enumerator_ - , obj); -#endif -} - -inline void SetCallHandler( - v8::Local tpl - , FunctionCallback callback - , v8::Local data = v8::Local()) { - HandleScope scope; - - v8::Local otpl = New(); - otpl->SetInternalFieldCount(imp::kFunctionFieldCount); - v8::Local obj = NewInstance(otpl).ToLocalChecked(); - - obj->SetInternalField( - imp::kFunctionIndex - , New(reinterpret_cast(callback))); - - if (!data.IsEmpty()) { - obj->SetInternalField(imp::kDataIndex, data); - } - - tpl->SetCallHandler(imp::FunctionCallbackWrapper, obj); -} - - -inline void SetCallAsFunctionHandler( - v8::Local tpl, - FunctionCallback callback, - v8::Local data = v8::Local()) { - HandleScope scope; - - v8::Local otpl = New(); - otpl->SetInternalFieldCount(imp::kFunctionFieldCount); - v8::Local obj = NewInstance(otpl).ToLocalChecked(); - - obj->SetInternalField( - imp::kFunctionIndex - , New(reinterpret_cast(callback))); - - if (!data.IsEmpty()) { - obj->SetInternalField(imp::kDataIndex, data); - } - - tpl->SetCallAsFunctionHandler(imp::FunctionCallbackWrapper, obj); -} - -//=== Weak Persistent Handling ================================================= - -#include "nan_weak.h" // NOLINT(build/include) - -//=== ObjectWrap =============================================================== - -#include "nan_object_wrap.h" // NOLINT(build/include) - -//=== HiddenValue/Private ====================================================== - -#include "nan_private.h" // NOLINT(build/include) - -//=== Export ================================================================== - -inline -void -Export(ADDON_REGISTER_FUNCTION_ARGS_TYPE target, const char *name, - FunctionCallback f) { - HandleScope scope; - - Set(target, New(name).ToLocalChecked(), - GetFunction(New(f)).ToLocalChecked()); -} - -//=== Tap Reverse Binding ===================================================== - -struct Tap { - explicit Tap(v8::Local t) : t_() { - HandleScope scope; - - t_.Reset(To(t).ToLocalChecked()); - } - - ~Tap() { t_.Reset(); } // not sure if neccessary - - inline void plan(int i) { - HandleScope scope; - v8::Local arg = New(i); - MakeCallback(New(t_), "plan", 1, &arg); - } - - inline void ok(bool isOk, const char *msg = NULL) { - HandleScope scope; - v8::Local args[2]; - args[0] = New(isOk); - if (msg) args[1] = New(msg).ToLocalChecked(); - MakeCallback(New(t_), "ok", msg ? 2 : 1, args); - } - - inline void pass(const char * msg = NULL) { - HandleScope scope; - v8::Local hmsg; - if (msg) hmsg = New(msg).ToLocalChecked(); - MakeCallback(New(t_), "pass", msg ? 1 : 0, &hmsg); - } - - private: - Persistent t_; -}; - -#define NAN_STRINGIZE2(x) #x -#define NAN_STRINGIZE(x) NAN_STRINGIZE2(x) -#define NAN_TEST_EXPRESSION(expression) \ - ( expression ), __FILE__ ":" NAN_STRINGIZE(__LINE__) ": " #expression - -#define NAN_EXPORT(target, function) Export(target, #function, function) - -#undef TYPE_CHECK - -//=== Generic Maybefication =================================================== - -namespace imp { - -template struct Maybefier; - -template struct Maybefier > { - inline static MaybeLocal convert(v8::Local v) { - return v; - } -}; - -template struct Maybefier > { - inline static MaybeLocal convert(MaybeLocal v) { - return v; - } -}; - -} // end of namespace imp - -template class MaybeMaybe> -inline MaybeLocal -MakeMaybe(MaybeMaybe v) { - return imp::Maybefier >::convert(v); -} - -//=== TypedArrayContents ======================================================= - -#include "nan_typedarray_contents.h" // NOLINT(build/include) - -} // end of namespace Nan - -#endif // NAN_H_ diff --git a/node_modules/nan/nan_callbacks.h b/node_modules/nan/nan_callbacks.h deleted file mode 100644 index c612cee..0000000 --- a/node_modules/nan/nan_callbacks.h +++ /dev/null @@ -1,88 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_CALLBACKS_H_ -#define NAN_CALLBACKS_H_ - -template class FunctionCallbackInfo; -template class PropertyCallbackInfo; -template class Global; - -typedef void(*FunctionCallback)(const FunctionCallbackInfo&); -typedef void(*GetterCallback) - (v8::Local, const PropertyCallbackInfo&); -typedef void(*SetterCallback)( - v8::Local, - v8::Local, - const PropertyCallbackInfo&); -typedef void(*PropertyGetterCallback)( - v8::Local, - const PropertyCallbackInfo&); -typedef void(*PropertySetterCallback)( - v8::Local, - v8::Local, - const PropertyCallbackInfo&); -typedef void(*PropertyEnumeratorCallback) - (const PropertyCallbackInfo&); -typedef void(*PropertyDeleterCallback)( - v8::Local, - const PropertyCallbackInfo&); -typedef void(*PropertyQueryCallback)( - v8::Local, - const PropertyCallbackInfo&); -typedef void(*IndexGetterCallback)( - uint32_t, - const PropertyCallbackInfo&); -typedef void(*IndexSetterCallback)( - uint32_t, - v8::Local, - const PropertyCallbackInfo&); -typedef void(*IndexEnumeratorCallback) - (const PropertyCallbackInfo&); -typedef void(*IndexDeleterCallback)( - uint32_t, - const PropertyCallbackInfo&); -typedef void(*IndexQueryCallback)( - uint32_t, - const PropertyCallbackInfo&); - -namespace imp { -typedef v8::Local Sig; - -static const int kDataIndex = 0; - -static const int kFunctionIndex = 1; -static const int kFunctionFieldCount = 2; - -static const int kGetterIndex = 1; -static const int kSetterIndex = 2; -static const int kAccessorFieldCount = 3; - -static const int kPropertyGetterIndex = 1; -static const int kPropertySetterIndex = 2; -static const int kPropertyEnumeratorIndex = 3; -static const int kPropertyDeleterIndex = 4; -static const int kPropertyQueryIndex = 5; -static const int kPropertyFieldCount = 6; - -static const int kIndexPropertyGetterIndex = 1; -static const int kIndexPropertySetterIndex = 2; -static const int kIndexPropertyEnumeratorIndex = 3; -static const int kIndexPropertyDeleterIndex = 4; -static const int kIndexPropertyQueryIndex = 5; -static const int kIndexPropertyFieldCount = 6; - -} // end of namespace imp - -#if NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION -# include "nan_callbacks_12_inl.h" // NOLINT(build/include) -#else -# include "nan_callbacks_pre_12_inl.h" // NOLINT(build/include) -#endif - -#endif // NAN_CALLBACKS_H_ diff --git a/node_modules/nan/nan_callbacks_12_inl.h b/node_modules/nan/nan_callbacks_12_inl.h deleted file mode 100644 index 9c8bf7e..0000000 --- a/node_modules/nan/nan_callbacks_12_inl.h +++ /dev/null @@ -1,512 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_CALLBACKS_12_INL_H_ -#define NAN_CALLBACKS_12_INL_H_ - -template -class ReturnValue { - v8::ReturnValue value_; - - public: - template - explicit inline ReturnValue(const v8::ReturnValue &value) : - value_(value) {} - template - explicit inline ReturnValue(const ReturnValue& that) - : value_(that.value_) { - TYPE_CHECK(T, S); - } - - // Handle setters - template inline void Set(const v8::Local &handle) { - TYPE_CHECK(T, S); - value_.Set(handle); - } - - template inline void Set(const Global &handle) { - TYPE_CHECK(T, S); -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && \ - (V8_MINOR_VERSION > 5 || (V8_MINOR_VERSION == 5 && \ - defined(V8_BUILD_NUMBER) && V8_BUILD_NUMBER >= 8)))) - value_.Set(handle); -#else - value_.Set(*reinterpret_cast*>(&handle)); - const_cast &>(handle).Reset(); -#endif - } - - // Fast primitive setters - inline void Set(bool value) { - TYPE_CHECK(T, v8::Boolean); - value_.Set(value); - } - - inline void Set(double i) { - TYPE_CHECK(T, v8::Number); - value_.Set(i); - } - - inline void Set(int32_t i) { - TYPE_CHECK(T, v8::Integer); - value_.Set(i); - } - - inline void Set(uint32_t i) { - TYPE_CHECK(T, v8::Integer); - value_.Set(i); - } - - // Fast JS primitive setters - inline void SetNull() { - TYPE_CHECK(T, v8::Primitive); - value_.SetNull(); - } - - inline void SetUndefined() { - TYPE_CHECK(T, v8::Primitive); - value_.SetUndefined(); - } - - inline void SetEmptyString() { - TYPE_CHECK(T, v8::String); - value_.SetEmptyString(); - } - - // Convenience getter for isolate - inline v8::Isolate *GetIsolate() const { - return value_.GetIsolate(); - } - - // Pointer setter: Uncompilable to prevent inadvertent misuse. - template - inline void Set(S *whatever) { TYPE_CHECK(S*, v8::Primitive); } -}; - -template -class FunctionCallbackInfo { - const v8::FunctionCallbackInfo &info_; - const v8::Local data_; - - public: - explicit inline FunctionCallbackInfo( - const v8::FunctionCallbackInfo &info - , v8::Local data) : - info_(info) - , data_(data) {} - - inline ReturnValue GetReturnValue() const { - return ReturnValue(info_.GetReturnValue()); - } - - inline v8::Local Callee() const { return info_.Callee(); } - inline v8::Local Data() const { return data_; } - inline v8::Local Holder() const { return info_.Holder(); } - inline bool IsConstructCall() const { return info_.IsConstructCall(); } - inline int Length() const { return info_.Length(); } - inline v8::Local operator[](int i) const { return info_[i]; } - inline v8::Local This() const { return info_.This(); } - inline v8::Isolate *GetIsolate() const { return info_.GetIsolate(); } - - - protected: - static const int kHolderIndex = 0; - static const int kIsolateIndex = 1; - static const int kReturnValueDefaultValueIndex = 2; - static const int kReturnValueIndex = 3; - static const int kDataIndex = 4; - static const int kCalleeIndex = 5; - static const int kContextSaveIndex = 6; - static const int kArgsLength = 7; - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(FunctionCallbackInfo) -}; - -template -class PropertyCallbackInfo { - const v8::PropertyCallbackInfo &info_; - const v8::Local data_; - - public: - explicit inline PropertyCallbackInfo( - const v8::PropertyCallbackInfo &info - , const v8::Local data) : - info_(info) - , data_(data) {} - - inline v8::Isolate* GetIsolate() const { return info_.GetIsolate(); } - inline v8::Local Data() const { return data_; } - inline v8::Local This() const { return info_.This(); } - inline v8::Local Holder() const { return info_.Holder(); } - inline ReturnValue GetReturnValue() const { - return ReturnValue(info_.GetReturnValue()); - } - - protected: - static const int kHolderIndex = 0; - static const int kIsolateIndex = 1; - static const int kReturnValueDefaultValueIndex = 2; - static const int kReturnValueIndex = 3; - static const int kDataIndex = 4; - static const int kThisIndex = 5; - static const int kArgsLength = 6; - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(PropertyCallbackInfo) -}; - -namespace imp { -static -void FunctionCallbackWrapper(const v8::FunctionCallbackInfo &info) { - v8::Local obj = info.Data().As(); - FunctionCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kFunctionIndex).As()->Value())); - FunctionCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - callback(cbinfo); -} - -typedef void (*NativeFunction)(const v8::FunctionCallbackInfo &); - -#if NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION -static -void GetterCallbackWrapper( - v8::Local property - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - GetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kGetterIndex).As()->Value())); - callback(property.As(), cbinfo); -} - -typedef void (*NativeGetter) - (v8::Local, const v8::PropertyCallbackInfo &); - -static -void SetterCallbackWrapper( - v8::Local property - , v8::Local value - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - SetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kSetterIndex).As()->Value())); - callback(property.As(), value, cbinfo); -} - -typedef void (*NativeSetter)( - v8::Local - , v8::Local - , const v8::PropertyCallbackInfo &); -#else -static -void GetterCallbackWrapper( - v8::Local property - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - GetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kGetterIndex).As()->Value())); - callback(property, cbinfo); -} - -typedef void (*NativeGetter) - (v8::Local, const v8::PropertyCallbackInfo &); - -static -void SetterCallbackWrapper( - v8::Local property - , v8::Local value - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - SetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kSetterIndex).As()->Value())); - callback(property, value, cbinfo); -} - -typedef void (*NativeSetter)( - v8::Local - , v8::Local - , const v8::PropertyCallbackInfo &); -#endif - -#if NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION -static -void PropertyGetterCallbackWrapper( - v8::Local property - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyGetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyGetterIndex) - .As()->Value())); - callback(property.As(), cbinfo); -} - -typedef void (*NativePropertyGetter) - (v8::Local, const v8::PropertyCallbackInfo &); - -static -void PropertySetterCallbackWrapper( - v8::Local property - , v8::Local value - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertySetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertySetterIndex) - .As()->Value())); - callback(property.As(), value, cbinfo); -} - -typedef void (*NativePropertySetter)( - v8::Local - , v8::Local - , const v8::PropertyCallbackInfo &); - -static -void PropertyEnumeratorCallbackWrapper( - const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyEnumeratorCallback callback = - reinterpret_cast(reinterpret_cast( - obj->GetInternalField(kPropertyEnumeratorIndex) - .As()->Value())); - callback(cbinfo); -} - -typedef void (*NativePropertyEnumerator) - (const v8::PropertyCallbackInfo &); - -static -void PropertyDeleterCallbackWrapper( - v8::Local property - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyDeleterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyDeleterIndex) - .As()->Value())); - callback(property.As(), cbinfo); -} - -typedef void (NativePropertyDeleter) - (v8::Local, const v8::PropertyCallbackInfo &); - -static -void PropertyQueryCallbackWrapper( - v8::Local property - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyQueryCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyQueryIndex) - .As()->Value())); - callback(property.As(), cbinfo); -} - -typedef void (*NativePropertyQuery) - (v8::Local, const v8::PropertyCallbackInfo &); -#else -static -void PropertyGetterCallbackWrapper( - v8::Local property - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyGetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyGetterIndex) - .As()->Value())); - callback(property, cbinfo); -} - -typedef void (*NativePropertyGetter) - (v8::Local, const v8::PropertyCallbackInfo &); - -static -void PropertySetterCallbackWrapper( - v8::Local property - , v8::Local value - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertySetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertySetterIndex) - .As()->Value())); - callback(property, value, cbinfo); -} - -typedef void (*NativePropertySetter)( - v8::Local - , v8::Local - , const v8::PropertyCallbackInfo &); - -static -void PropertyEnumeratorCallbackWrapper( - const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyEnumeratorCallback callback = - reinterpret_cast(reinterpret_cast( - obj->GetInternalField(kPropertyEnumeratorIndex) - .As()->Value())); - callback(cbinfo); -} - -typedef void (*NativePropertyEnumerator) - (const v8::PropertyCallbackInfo &); - -static -void PropertyDeleterCallbackWrapper( - v8::Local property - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyDeleterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyDeleterIndex) - .As()->Value())); - callback(property, cbinfo); -} - -typedef void (NativePropertyDeleter) - (v8::Local, const v8::PropertyCallbackInfo &); - -static -void PropertyQueryCallbackWrapper( - v8::Local property - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyQueryCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyQueryIndex) - .As()->Value())); - callback(property, cbinfo); -} - -typedef void (*NativePropertyQuery) - (v8::Local, const v8::PropertyCallbackInfo &); -#endif - -static -void IndexGetterCallbackWrapper( - uint32_t index, const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexGetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertyGetterIndex) - .As()->Value())); - callback(index, cbinfo); -} - -typedef void (*NativeIndexGetter) - (uint32_t, const v8::PropertyCallbackInfo &); - -static -void IndexSetterCallbackWrapper( - uint32_t index - , v8::Local value - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexSetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertySetterIndex) - .As()->Value())); - callback(index, value, cbinfo); -} - -typedef void (*NativeIndexSetter)( - uint32_t - , v8::Local - , const v8::PropertyCallbackInfo &); - -static -void IndexEnumeratorCallbackWrapper( - const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexEnumeratorCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField( - kIndexPropertyEnumeratorIndex).As()->Value())); - callback(cbinfo); -} - -typedef void (*NativeIndexEnumerator) - (const v8::PropertyCallbackInfo &); - -static -void IndexDeleterCallbackWrapper( - uint32_t index, const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexDeleterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertyDeleterIndex) - .As()->Value())); - callback(index, cbinfo); -} - -typedef void (*NativeIndexDeleter) - (uint32_t, const v8::PropertyCallbackInfo &); - -static -void IndexQueryCallbackWrapper( - uint32_t index, const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexQueryCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertyQueryIndex) - .As()->Value())); - callback(index, cbinfo); -} - -typedef void (*NativeIndexQuery) - (uint32_t, const v8::PropertyCallbackInfo &); -} // end of namespace imp - -#endif // NAN_CALLBACKS_12_INL_H_ diff --git a/node_modules/nan/nan_callbacks_pre_12_inl.h b/node_modules/nan/nan_callbacks_pre_12_inl.h deleted file mode 100644 index 087ee52..0000000 --- a/node_modules/nan/nan_callbacks_pre_12_inl.h +++ /dev/null @@ -1,520 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_CALLBACKS_PRE_12_INL_H_ -#define NAN_CALLBACKS_PRE_12_INL_H_ - -namespace imp { -template class ReturnValueImp; -} // end of namespace imp - -template -class ReturnValue { - v8::Isolate *isolate_; - v8::Persistent *value_; - friend class imp::ReturnValueImp; - - public: - template - explicit inline ReturnValue(v8::Isolate *isolate, v8::Persistent *p) : - isolate_(isolate), value_(p) {} - template - explicit inline ReturnValue(const ReturnValue& that) - : isolate_(that.isolate_), value_(that.value_) { - TYPE_CHECK(T, S); - } - - // Handle setters - template inline void Set(const v8::Local &handle) { - TYPE_CHECK(T, S); - value_->Dispose(); - *value_ = v8::Persistent::New(handle); - } - - template inline void Set(const Global &handle) { - TYPE_CHECK(T, S); - value_->Dispose(); - *value_ = v8::Persistent::New(handle.persistent); - const_cast &>(handle).Reset(); - } - - // Fast primitive setters - inline void Set(bool value) { - v8::HandleScope scope; - - TYPE_CHECK(T, v8::Boolean); - value_->Dispose(); - *value_ = v8::Persistent::New(v8::Boolean::New(value)); - } - - inline void Set(double i) { - v8::HandleScope scope; - - TYPE_CHECK(T, v8::Number); - value_->Dispose(); - *value_ = v8::Persistent::New(v8::Number::New(i)); - } - - inline void Set(int32_t i) { - v8::HandleScope scope; - - TYPE_CHECK(T, v8::Integer); - value_->Dispose(); - *value_ = v8::Persistent::New(v8::Int32::New(i)); - } - - inline void Set(uint32_t i) { - v8::HandleScope scope; - - TYPE_CHECK(T, v8::Integer); - value_->Dispose(); - *value_ = v8::Persistent::New(v8::Uint32::NewFromUnsigned(i)); - } - - // Fast JS primitive setters - inline void SetNull() { - v8::HandleScope scope; - - TYPE_CHECK(T, v8::Primitive); - value_->Dispose(); - *value_ = v8::Persistent::New(v8::Null()); - } - - inline void SetUndefined() { - v8::HandleScope scope; - - TYPE_CHECK(T, v8::Primitive); - value_->Dispose(); - *value_ = v8::Persistent::New(v8::Undefined()); - } - - inline void SetEmptyString() { - v8::HandleScope scope; - - TYPE_CHECK(T, v8::String); - value_->Dispose(); - *value_ = v8::Persistent::New(v8::String::Empty()); - } - - // Convenience getter for isolate - inline v8::Isolate *GetIsolate() const { - return isolate_; - } - - // Pointer setter: Uncompilable to prevent inadvertent misuse. - template - inline void Set(S *whatever) { TYPE_CHECK(S*, v8::Primitive); } -}; - -template -class FunctionCallbackInfo { - const v8::Arguments &args_; - v8::Local data_; - ReturnValue return_value_; - v8::Persistent retval_; - - public: - explicit inline FunctionCallbackInfo( - const v8::Arguments &args - , v8::Local data) : - args_(args) - , data_(data) - , return_value_(args.GetIsolate(), &retval_) - , retval_(v8::Persistent::New(v8::Undefined())) {} - - inline ~FunctionCallbackInfo() { - retval_.Dispose(); - retval_.Clear(); - } - - inline ReturnValue GetReturnValue() const { - return ReturnValue(return_value_); - } - - inline v8::Local Callee() const { return args_.Callee(); } - inline v8::Local Data() const { return data_; } - inline v8::Local Holder() const { return args_.Holder(); } - inline bool IsConstructCall() const { return args_.IsConstructCall(); } - inline int Length() const { return args_.Length(); } - inline v8::Local operator[](int i) const { return args_[i]; } - inline v8::Local This() const { return args_.This(); } - inline v8::Isolate *GetIsolate() const { return args_.GetIsolate(); } - - - protected: - static const int kHolderIndex = 0; - static const int kIsolateIndex = 1; - static const int kReturnValueDefaultValueIndex = 2; - static const int kReturnValueIndex = 3; - static const int kDataIndex = 4; - static const int kCalleeIndex = 5; - static const int kContextSaveIndex = 6; - static const int kArgsLength = 7; - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(FunctionCallbackInfo) -}; - -template -class PropertyCallbackInfoBase { - const v8::AccessorInfo &info_; - const v8::Local data_; - - public: - explicit inline PropertyCallbackInfoBase( - const v8::AccessorInfo &info - , const v8::Local data) : - info_(info) - , data_(data) {} - - inline v8::Isolate* GetIsolate() const { return info_.GetIsolate(); } - inline v8::Local Data() const { return data_; } - inline v8::Local This() const { return info_.This(); } - inline v8::Local Holder() const { return info_.Holder(); } - - protected: - static const int kHolderIndex = 0; - static const int kIsolateIndex = 1; - static const int kReturnValueDefaultValueIndex = 2; - static const int kReturnValueIndex = 3; - static const int kDataIndex = 4; - static const int kThisIndex = 5; - static const int kArgsLength = 6; - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(PropertyCallbackInfoBase) -}; - -template -class PropertyCallbackInfo : public PropertyCallbackInfoBase { - ReturnValue return_value_; - v8::Persistent retval_; - - public: - explicit inline PropertyCallbackInfo( - const v8::AccessorInfo &info - , const v8::Local data) : - PropertyCallbackInfoBase(info, data) - , return_value_(info.GetIsolate(), &retval_) - , retval_(v8::Persistent::New(v8::Undefined())) {} - - inline ~PropertyCallbackInfo() { - retval_.Dispose(); - retval_.Clear(); - } - - inline ReturnValue GetReturnValue() const { return return_value_; } -}; - -template<> -class PropertyCallbackInfo : - public PropertyCallbackInfoBase { - ReturnValue return_value_; - v8::Persistent retval_; - - public: - explicit inline PropertyCallbackInfo( - const v8::AccessorInfo &info - , const v8::Local data) : - PropertyCallbackInfoBase(info, data) - , return_value_(info.GetIsolate(), &retval_) - , retval_(v8::Persistent::New(v8::Local())) {} - - inline ~PropertyCallbackInfo() { - retval_.Dispose(); - retval_.Clear(); - } - - inline ReturnValue GetReturnValue() const { - return return_value_; - } -}; - -template<> -class PropertyCallbackInfo : - public PropertyCallbackInfoBase { - ReturnValue return_value_; - v8::Persistent retval_; - - public: - explicit inline PropertyCallbackInfo( - const v8::AccessorInfo &info - , const v8::Local data) : - PropertyCallbackInfoBase(info, data) - , return_value_(info.GetIsolate(), &retval_) - , retval_(v8::Persistent::New(v8::Local())) {} - - inline ~PropertyCallbackInfo() { - retval_.Dispose(); - retval_.Clear(); - } - - inline ReturnValue GetReturnValue() const { - return return_value_; - } -}; - -template<> -class PropertyCallbackInfo : - public PropertyCallbackInfoBase { - ReturnValue return_value_; - v8::Persistent retval_; - - public: - explicit inline PropertyCallbackInfo( - const v8::AccessorInfo &info - , const v8::Local data) : - PropertyCallbackInfoBase(info, data) - , return_value_(info.GetIsolate(), &retval_) - , retval_(v8::Persistent::New(v8::Local())) {} - - inline ~PropertyCallbackInfo() { - retval_.Dispose(); - retval_.Clear(); - } - - inline ReturnValue GetReturnValue() const { - return return_value_; - } -}; - -namespace imp { -template -class ReturnValueImp : public ReturnValue { - public: - explicit ReturnValueImp(ReturnValue that) : - ReturnValue(that) {} - inline v8::Handle Value() { - return *ReturnValue::value_; - } -}; - -static -v8::Handle FunctionCallbackWrapper(const v8::Arguments &args) { - v8::Local obj = args.Data().As(); - FunctionCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kFunctionIndex).As()->Value())); - FunctionCallbackInfo - cbinfo(args, obj->GetInternalField(kDataIndex)); - callback(cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativeFunction)(const v8::Arguments &); - -static -v8::Handle GetterCallbackWrapper( - v8::Local property, const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - GetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kGetterIndex).As()->Value())); - callback(property, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativeGetter) - (v8::Local, const v8::AccessorInfo &); - -static -void SetterCallbackWrapper( - v8::Local property - , v8::Local value - , const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - SetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kSetterIndex).As()->Value())); - callback(property, value, cbinfo); -} - -typedef void (*NativeSetter) - (v8::Local, v8::Local, const v8::AccessorInfo &); - -static -v8::Handle PropertyGetterCallbackWrapper( - v8::Local property, const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyGetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyGetterIndex) - .As()->Value())); - callback(property, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativePropertyGetter) - (v8::Local, const v8::AccessorInfo &); - -static -v8::Handle PropertySetterCallbackWrapper( - v8::Local property - , v8::Local value - , const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertySetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertySetterIndex) - .As()->Value())); - callback(property, value, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativePropertySetter) - (v8::Local, v8::Local, const v8::AccessorInfo &); - -static -v8::Handle PropertyEnumeratorCallbackWrapper( - const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyEnumeratorCallback callback = - reinterpret_cast(reinterpret_cast( - obj->GetInternalField(kPropertyEnumeratorIndex) - .As()->Value())); - callback(cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativePropertyEnumerator) - (const v8::AccessorInfo &); - -static -v8::Handle PropertyDeleterCallbackWrapper( - v8::Local property - , const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyDeleterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyDeleterIndex) - .As()->Value())); - callback(property, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (NativePropertyDeleter) - (v8::Local, const v8::AccessorInfo &); - -static -v8::Handle PropertyQueryCallbackWrapper( - v8::Local property, const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyQueryCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyQueryIndex) - .As()->Value())); - callback(property, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativePropertyQuery) - (v8::Local, const v8::AccessorInfo &); - -static -v8::Handle IndexGetterCallbackWrapper( - uint32_t index, const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexGetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertyGetterIndex) - .As()->Value())); - callback(index, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativeIndexGetter) - (uint32_t, const v8::AccessorInfo &); - -static -v8::Handle IndexSetterCallbackWrapper( - uint32_t index - , v8::Local value - , const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexSetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertySetterIndex) - .As()->Value())); - callback(index, value, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativeIndexSetter) - (uint32_t, v8::Local, const v8::AccessorInfo &); - -static -v8::Handle IndexEnumeratorCallbackWrapper( - const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexEnumeratorCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertyEnumeratorIndex) - .As()->Value())); - callback(cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativeIndexEnumerator) - (const v8::AccessorInfo &); - -static -v8::Handle IndexDeleterCallbackWrapper( - uint32_t index, const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexDeleterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertyDeleterIndex) - .As()->Value())); - callback(index, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativeIndexDeleter) - (uint32_t, const v8::AccessorInfo &); - -static -v8::Handle IndexQueryCallbackWrapper( - uint32_t index, const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexQueryCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertyQueryIndex) - .As()->Value())); - callback(index, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativeIndexQuery) - (uint32_t, const v8::AccessorInfo &); -} // end of namespace imp - -#endif // NAN_CALLBACKS_PRE_12_INL_H_ diff --git a/node_modules/nan/nan_converters.h b/node_modules/nan/nan_converters.h deleted file mode 100644 index 9dbd1ec..0000000 --- a/node_modules/nan/nan_converters.h +++ /dev/null @@ -1,64 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_CONVERTERS_H_ -#define NAN_CONVERTERS_H_ - -namespace imp { -template struct ToFactoryBase { - typedef MaybeLocal return_t; -}; -template struct ValueFactoryBase { typedef Maybe return_t; }; - -template struct ToFactory; - -#define X(TYPE) \ - template<> \ - struct ToFactory : ToFactoryBase { \ - static inline return_t convert(v8::Local val); \ - }; - -X(Boolean) -X(Number) -X(String) -X(Object) -X(Integer) -X(Uint32) -X(Int32) - -#undef X - -#define X(TYPE) \ - template<> \ - struct ToFactory : ValueFactoryBase { \ - static inline return_t convert(v8::Local val); \ - }; - -X(bool) -X(double) -X(int64_t) -X(uint32_t) -X(int32_t) - -#undef X -} // end of namespace imp - -template -inline -typename imp::ToFactory::return_t To(v8::Local val) { - return imp::ToFactory::convert(val); -} - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -# include "nan_converters_43_inl.h" -#else -# include "nan_converters_pre_43_inl.h" -#endif - -#endif // NAN_CONVERTERS_H_ diff --git a/node_modules/nan/nan_converters_43_inl.h b/node_modules/nan/nan_converters_43_inl.h deleted file mode 100644 index 0c7cd50..0000000 --- a/node_modules/nan/nan_converters_43_inl.h +++ /dev/null @@ -1,48 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_CONVERTERS_43_INL_H_ -#define NAN_CONVERTERS_43_INL_H_ - -#define X(TYPE) \ -imp::ToFactory::return_t \ -imp::ToFactory::convert(v8::Local val) { \ - v8::Isolate *isolate = v8::Isolate::GetCurrent(); \ - v8::EscapableHandleScope scope(isolate); \ - return scope.Escape( \ - val->To ## TYPE(v8::Isolate::GetCurrent()->GetCurrentContext()) \ - .FromMaybe(v8::Local())); \ -} - -X(Boolean) -X(Number) -X(String) -X(Object) -X(Integer) -X(Uint32) -X(Int32) - -#undef X - -#define X(TYPE, NAME) \ -imp::ToFactory::return_t \ -imp::ToFactory::convert(v8::Local val) { \ - v8::Isolate *isolate = v8::Isolate::GetCurrent(); \ - v8::HandleScope scope(isolate); \ - return val->NAME ## Value(isolate->GetCurrentContext()); \ -} - -X(bool, Boolean) -X(double, Number) -X(int64_t, Integer) -X(uint32_t, Uint32) -X(int32_t, Int32) - -#undef X - -#endif // NAN_CONVERTERS_43_INL_H_ diff --git a/node_modules/nan/nan_converters_pre_43_inl.h b/node_modules/nan/nan_converters_pre_43_inl.h deleted file mode 100644 index 3391be2..0000000 --- a/node_modules/nan/nan_converters_pre_43_inl.h +++ /dev/null @@ -1,42 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_CONVERTERS_PRE_43_INL_H_ -#define NAN_CONVERTERS_PRE_43_INL_H_ - -#define X(TYPE) \ -imp::ToFactory::return_t \ -imp::ToFactory::convert(v8::Local val) { \ - return val->To ## TYPE(); \ -} - -X(Boolean) -X(Number) -X(String) -X(Object) -X(Integer) -X(Uint32) -X(Int32) - -#undef X - -#define X(TYPE, NAME) \ -imp::ToFactory::return_t \ -imp::ToFactory::convert(v8::Local val) { \ - return Just(val->NAME ## Value()); \ -} - -X(bool, Boolean) -X(double, Number) -X(int64_t, Integer) -X(uint32_t, Uint32) -X(int32_t, Int32) - -#undef X - -#endif // NAN_CONVERTERS_PRE_43_INL_H_ diff --git a/node_modules/nan/nan_implementation_12_inl.h b/node_modules/nan/nan_implementation_12_inl.h deleted file mode 100644 index be80a45..0000000 --- a/node_modules/nan/nan_implementation_12_inl.h +++ /dev/null @@ -1,399 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_IMPLEMENTATION_12_INL_H_ -#define NAN_IMPLEMENTATION_12_INL_H_ -//============================================================================== -// node v0.11 implementation -//============================================================================== - -namespace imp { - -//=== Array ==================================================================== - -Factory::return_t -Factory::New() { - return v8::Array::New(v8::Isolate::GetCurrent()); -} - -Factory::return_t -Factory::New(int length) { - return v8::Array::New(v8::Isolate::GetCurrent(), length); -} - -//=== Boolean ================================================================== - -Factory::return_t -Factory::New(bool value) { - return v8::Boolean::New(v8::Isolate::GetCurrent(), value); -} - -//=== Boolean Object =========================================================== - -Factory::return_t -Factory::New(bool value) { -#if (NODE_MODULE_VERSION >= NODE_6_0_MODULE_VERSION) - return v8::BooleanObject::New( - v8::Isolate::GetCurrent(), value).As(); -#else - return v8::BooleanObject::New(value).As(); -#endif -} - -//=== Context ================================================================== - -Factory::return_t -Factory::New( v8::ExtensionConfiguration* extensions - , v8::Local tmpl - , v8::Local obj) { - return v8::Context::New(v8::Isolate::GetCurrent(), extensions, tmpl, obj); -} - -//=== Date ===================================================================== - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -Factory::return_t -Factory::New(double value) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(v8::Date::New(isolate->GetCurrentContext(), value) - .FromMaybe(v8::Local()).As()); -} -#else -Factory::return_t -Factory::New(double value) { - return v8::Date::New(v8::Isolate::GetCurrent(), value).As(); -} -#endif - -//=== External ================================================================= - -Factory::return_t -Factory::New(void * value) { - return v8::External::New(v8::Isolate::GetCurrent(), value); -} - -//=== Function ================================================================= - -Factory::return_t -Factory::New( FunctionCallback callback - , v8::Local data) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - v8::Local tpl = v8::ObjectTemplate::New(isolate); - tpl->SetInternalFieldCount(imp::kFunctionFieldCount); - v8::Local obj = NewInstance(tpl).ToLocalChecked(); - - obj->SetInternalField( - imp::kFunctionIndex - , v8::External::New(isolate, reinterpret_cast(callback))); - - v8::Local val = v8::Local::New(isolate, data); - - if (!val.IsEmpty()) { - obj->SetInternalField(imp::kDataIndex, val); - } - - return scope.Escape(v8::Function::New( isolate - , imp::FunctionCallbackWrapper - , obj)); -} - -//=== Function Template ======================================================== - -Factory::return_t -Factory::New( FunctionCallback callback - , v8::Local data - , v8::Local signature) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - if (callback) { - v8::EscapableHandleScope scope(isolate); - v8::Local tpl = v8::ObjectTemplate::New(isolate); - tpl->SetInternalFieldCount(imp::kFunctionFieldCount); - v8::Local obj = NewInstance(tpl).ToLocalChecked(); - - obj->SetInternalField( - imp::kFunctionIndex - , v8::External::New(isolate, reinterpret_cast(callback))); - v8::Local val = v8::Local::New(isolate, data); - - if (!val.IsEmpty()) { - obj->SetInternalField(imp::kDataIndex, val); - } - - return scope.Escape(v8::FunctionTemplate::New( isolate - , imp::FunctionCallbackWrapper - , obj - , signature)); - } else { - return v8::FunctionTemplate::New(isolate, 0, data, signature); - } -} - -//=== Number =================================================================== - -Factory::return_t -Factory::New(double value) { - return v8::Number::New(v8::Isolate::GetCurrent(), value); -} - -//=== Number Object ============================================================ - -Factory::return_t -Factory::New(double value) { - return v8::NumberObject::New( v8::Isolate::GetCurrent() - , value).As(); -} - -//=== Integer, Int32 and Uint32 ================================================ - -template -typename IntegerFactory::return_t -IntegerFactory::New(int32_t value) { - return To(T::New(v8::Isolate::GetCurrent(), value)); -} - -template -typename IntegerFactory::return_t -IntegerFactory::New(uint32_t value) { - return To(T::NewFromUnsigned(v8::Isolate::GetCurrent(), value)); -} - -Factory::return_t -Factory::New(int32_t value) { - return To( - v8::Uint32::NewFromUnsigned(v8::Isolate::GetCurrent(), value)); -} - -Factory::return_t -Factory::New(uint32_t value) { - return To( - v8::Uint32::NewFromUnsigned(v8::Isolate::GetCurrent(), value)); -} - -//=== Object =================================================================== - -Factory::return_t -Factory::New() { - return v8::Object::New(v8::Isolate::GetCurrent()); -} - -//=== Object Template ========================================================== - -Factory::return_t -Factory::New() { - return v8::ObjectTemplate::New(v8::Isolate::GetCurrent()); -} - -//=== RegExp =================================================================== - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -Factory::return_t -Factory::New( - v8::Local pattern - , v8::RegExp::Flags flags) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape( - v8::RegExp::New(isolate->GetCurrentContext(), pattern, flags) - .FromMaybe(v8::Local())); -} -#else -Factory::return_t -Factory::New( - v8::Local pattern - , v8::RegExp::Flags flags) { - return v8::RegExp::New(pattern, flags); -} -#endif - -//=== Script =================================================================== - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -Factory::return_t -Factory::New( v8::Local source) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - v8::ScriptCompiler::Source src(source); - return scope.Escape( - v8::ScriptCompiler::Compile(isolate->GetCurrentContext(), &src) - .FromMaybe(v8::Local())); -} - -Factory::return_t -Factory::New( v8::Local source - , v8::ScriptOrigin const& origin) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - v8::ScriptCompiler::Source src(source, origin); - return scope.Escape( - v8::ScriptCompiler::Compile(isolate->GetCurrentContext(), &src) - .FromMaybe(v8::Local())); -} -#else -Factory::return_t -Factory::New( v8::Local source) { - v8::ScriptCompiler::Source src(source); - return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src); -} - -Factory::return_t -Factory::New( v8::Local source - , v8::ScriptOrigin const& origin) { - v8::ScriptCompiler::Source src(source, origin); - return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src); -} -#endif - -//=== Signature ================================================================ - -Factory::return_t -Factory::New(Factory::FTH receiver) { - return v8::Signature::New(v8::Isolate::GetCurrent(), receiver); -} - -//=== String =================================================================== - -Factory::return_t -Factory::New() { - return v8::String::Empty(v8::Isolate::GetCurrent()); -} - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -Factory::return_t -Factory::New(const char * value, int length) { - return v8::String::NewFromUtf8( - v8::Isolate::GetCurrent(), value, v8::NewStringType::kNormal, length); -} - -Factory::return_t -Factory::New(std::string const& value) { - assert(value.size() <= INT_MAX && "string too long"); - return v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), - value.data(), v8::NewStringType::kNormal, static_cast(value.size())); -} - -Factory::return_t -Factory::New(const uint16_t * value, int length) { - return v8::String::NewFromTwoByte(v8::Isolate::GetCurrent(), value, - v8::NewStringType::kNormal, length); -} - -Factory::return_t -Factory::New(v8::String::ExternalStringResource * value) { - return v8::String::NewExternalTwoByte(v8::Isolate::GetCurrent(), value); -} - -Factory::return_t -Factory::New(ExternalOneByteStringResource * value) { - return v8::String::NewExternalOneByte(v8::Isolate::GetCurrent(), value); -} -#else -Factory::return_t -Factory::New(const char * value, int length) { - return v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), value, - v8::String::kNormalString, length); -} - -Factory::return_t -Factory::New( - std::string const& value) /* NOLINT(build/include_what_you_use) */ { - assert(value.size() <= INT_MAX && "string too long"); - return v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), value.data(), - v8::String::kNormalString, - static_cast(value.size())); -} - -Factory::return_t -Factory::New(const uint16_t * value, int length) { - return v8::String::NewFromTwoByte(v8::Isolate::GetCurrent(), value, - v8::String::kNormalString, length); -} - -Factory::return_t -Factory::New(v8::String::ExternalStringResource * value) { - return v8::String::NewExternal(v8::Isolate::GetCurrent(), value); -} - -Factory::return_t -Factory::New(ExternalOneByteStringResource * value) { - return v8::String::NewExternal(v8::Isolate::GetCurrent(), value); -} -#endif - -//=== String Object ============================================================ - -Factory::return_t -Factory::New(v8::Local value) { - return v8::StringObject::New(value).As(); -} - -//=== Unbound Script =========================================================== - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -Factory::return_t -Factory::New(v8::Local source) { - v8::ScriptCompiler::Source src(source); - return v8::ScriptCompiler::CompileUnboundScript( - v8::Isolate::GetCurrent(), &src); -} - -Factory::return_t -Factory::New( v8::Local source - , v8::ScriptOrigin const& origin) { - v8::ScriptCompiler::Source src(source, origin); - return v8::ScriptCompiler::CompileUnboundScript( - v8::Isolate::GetCurrent(), &src); -} -#else -Factory::return_t -Factory::New(v8::Local source) { - v8::ScriptCompiler::Source src(source); - return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src); -} - -Factory::return_t -Factory::New( v8::Local source - , v8::ScriptOrigin const& origin) { - v8::ScriptCompiler::Source src(source, origin); - return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src); -} -#endif - -} // end of namespace imp - -//=== Presistents and Handles ================================================== - -#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION -template -inline v8::Local New(v8::Handle h) { - return v8::Local::New(v8::Isolate::GetCurrent(), h); -} -#endif - -template -inline v8::Local New(v8::Persistent const& p) { - return v8::Local::New(v8::Isolate::GetCurrent(), p); -} - -template -inline v8::Local New(Persistent const& p) { - return v8::Local::New(v8::Isolate::GetCurrent(), p); -} - -template -inline v8::Local New(Global const& p) { - return v8::Local::New(v8::Isolate::GetCurrent(), p); -} - -#endif // NAN_IMPLEMENTATION_12_INL_H_ diff --git a/node_modules/nan/nan_implementation_pre_12_inl.h b/node_modules/nan/nan_implementation_pre_12_inl.h deleted file mode 100644 index 6afe94c..0000000 --- a/node_modules/nan/nan_implementation_pre_12_inl.h +++ /dev/null @@ -1,263 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_IMPLEMENTATION_PRE_12_INL_H_ -#define NAN_IMPLEMENTATION_PRE_12_INL_H_ - -//============================================================================== -// node v0.10 implementation -//============================================================================== - -namespace imp { - -//=== Array ==================================================================== - -Factory::return_t -Factory::New() { - return v8::Array::New(); -} - -Factory::return_t -Factory::New(int length) { - return v8::Array::New(length); -} - -//=== Boolean ================================================================== - -Factory::return_t -Factory::New(bool value) { - return v8::Boolean::New(value)->ToBoolean(); -} - -//=== Boolean Object =========================================================== - -Factory::return_t -Factory::New(bool value) { - return v8::BooleanObject::New(value).As(); -} - -//=== Context ================================================================== - -Factory::return_t -Factory::New( v8::ExtensionConfiguration* extensions - , v8::Local tmpl - , v8::Local obj) { - v8::Persistent ctx = v8::Context::New(extensions, tmpl, obj); - v8::Local lctx = v8::Local::New(ctx); - ctx.Dispose(); - return lctx; -} - -//=== Date ===================================================================== - -Factory::return_t -Factory::New(double value) { - return v8::Date::New(value).As(); -} - -//=== External ================================================================= - -Factory::return_t -Factory::New(void * value) { - return v8::External::New(value); -} - -//=== Function ================================================================= - -Factory::return_t -Factory::New( FunctionCallback callback - , v8::Local data) { - v8::HandleScope scope; - - return scope.Close(Factory::New( - callback, data, v8::Local()) - ->GetFunction()); -} - - -//=== FunctionTemplate ========================================================= - -Factory::return_t -Factory::New( FunctionCallback callback - , v8::Local data - , v8::Local signature) { - if (callback) { - v8::HandleScope scope; - - v8::Local tpl = v8::ObjectTemplate::New(); - tpl->SetInternalFieldCount(imp::kFunctionFieldCount); - v8::Local obj = tpl->NewInstance(); - - obj->SetInternalField( - imp::kFunctionIndex - , v8::External::New(reinterpret_cast(callback))); - - v8::Local val = v8::Local::New(data); - - if (!val.IsEmpty()) { - obj->SetInternalField(imp::kDataIndex, val); - } - - // Note(agnat): Emulate length argument here. Unfortunately, I couldn't find - // a way. Have at it though... - return scope.Close( - v8::FunctionTemplate::New(imp::FunctionCallbackWrapper - , obj - , signature)); - } else { - return v8::FunctionTemplate::New(0, data, signature); - } -} - -//=== Number =================================================================== - -Factory::return_t -Factory::New(double value) { - return v8::Number::New(value); -} - -//=== Number Object ============================================================ - -Factory::return_t -Factory::New(double value) { - return v8::NumberObject::New(value).As(); -} - -//=== Integer, Int32 and Uint32 ================================================ - -template -typename IntegerFactory::return_t -IntegerFactory::New(int32_t value) { - return To(T::New(value)); -} - -template -typename IntegerFactory::return_t -IntegerFactory::New(uint32_t value) { - return To(T::NewFromUnsigned(value)); -} - -Factory::return_t -Factory::New(int32_t value) { - return To(v8::Uint32::NewFromUnsigned(value)); -} - -Factory::return_t -Factory::New(uint32_t value) { - return To(v8::Uint32::NewFromUnsigned(value)); -} - - -//=== Object =================================================================== - -Factory::return_t -Factory::New() { - return v8::Object::New(); -} - -//=== Object Template ========================================================== - -Factory::return_t -Factory::New() { - return v8::ObjectTemplate::New(); -} - -//=== RegExp =================================================================== - -Factory::return_t -Factory::New( - v8::Local pattern - , v8::RegExp::Flags flags) { - return v8::RegExp::New(pattern, flags); -} - -//=== Script =================================================================== - -Factory::return_t -Factory::New( v8::Local source) { - return v8::Script::New(source); -} -Factory::return_t -Factory::New( v8::Local source - , v8::ScriptOrigin const& origin) { - return v8::Script::New(source, const_cast(&origin)); -} - -//=== Signature ================================================================ - -Factory::return_t -Factory::New(Factory::FTH receiver) { - return v8::Signature::New(receiver); -} - -//=== String =================================================================== - -Factory::return_t -Factory::New() { - return v8::String::Empty(); -} - -Factory::return_t -Factory::New(const char * value, int length) { - return v8::String::New(value, length); -} - -Factory::return_t -Factory::New( - std::string const& value) /* NOLINT(build/include_what_you_use) */ { - assert(value.size() <= INT_MAX && "string too long"); - return v8::String::New(value.data(), static_cast(value.size())); -} - -Factory::return_t -Factory::New(const uint16_t * value, int length) { - return v8::String::New(value, length); -} - -Factory::return_t -Factory::New(v8::String::ExternalStringResource * value) { - return v8::String::NewExternal(value); -} - -Factory::return_t -Factory::New(v8::String::ExternalAsciiStringResource * value) { - return v8::String::NewExternal(value); -} - -//=== String Object ============================================================ - -Factory::return_t -Factory::New(v8::Local value) { - return v8::StringObject::New(value).As(); -} - -} // end of namespace imp - -//=== Presistents and Handles ================================================== - -template -inline v8::Local New(v8::Handle h) { - return v8::Local::New(h); -} - -template -inline v8::Local New(v8::Persistent const& p) { - return v8::Local::New(p); -} - -template -inline v8::Local New(Persistent const& p) { - return v8::Local::New(p.persistent); -} - -template -inline v8::Local New(Global const& p) { - return v8::Local::New(p.persistent); -} - -#endif // NAN_IMPLEMENTATION_PRE_12_INL_H_ diff --git a/node_modules/nan/nan_maybe_43_inl.h b/node_modules/nan/nan_maybe_43_inl.h deleted file mode 100644 index 10eeb02..0000000 --- a/node_modules/nan/nan_maybe_43_inl.h +++ /dev/null @@ -1,337 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_MAYBE_43_INL_H_ -#define NAN_MAYBE_43_INL_H_ - -template -using MaybeLocal = v8::MaybeLocal; - -template -using Maybe = v8::Maybe; - -template -inline Maybe Nothing() { - return v8::Nothing(); -} - -template -inline Maybe Just(const T& t) { - return v8::Just(t); -} - -inline -MaybeLocal ToDetailString(v8::Local val) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(val->ToDetailString(isolate->GetCurrentContext()) - .FromMaybe(v8::Local())); -} - -inline -MaybeLocal ToArrayIndex(v8::Local val) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(val->ToArrayIndex(isolate->GetCurrentContext()) - .FromMaybe(v8::Local())); -} - -inline -Maybe Equals(v8::Local a, v8::Local(b)) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::HandleScope scope(isolate); - return a->Equals(isolate->GetCurrentContext(), b); -} - -inline -MaybeLocal NewInstance(v8::Local h) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(h->NewInstance(isolate->GetCurrentContext()) - .FromMaybe(v8::Local())); -} - -inline -MaybeLocal NewInstance( - v8::Local h - , int argc - , v8::Local argv[]) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(h->NewInstance(isolate->GetCurrentContext(), argc, argv) - .FromMaybe(v8::Local())); -} - -inline -MaybeLocal NewInstance(v8::Local h) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(h->NewInstance(isolate->GetCurrentContext()) - .FromMaybe(v8::Local())); -} - - -inline MaybeLocal GetFunction( - v8::Local t) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(t->GetFunction(isolate->GetCurrentContext()) - .FromMaybe(v8::Local())); -} - -inline Maybe Set( - v8::Local obj - , v8::Local key - , v8::Local value) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::HandleScope scope(isolate); - return obj->Set(isolate->GetCurrentContext(), key, value); -} - -inline Maybe Set( - v8::Local obj - , uint32_t index - , v8::Local value) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::HandleScope scope(isolate); - return obj->Set(isolate->GetCurrentContext(), index, value); -} - -inline Maybe ForceSet( - v8::Local obj - , v8::Local key - , v8::Local value - , v8::PropertyAttribute attribs = v8::None) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::HandleScope scope(isolate); - return obj->ForceSet(isolate->GetCurrentContext(), key, value, attribs); -} - -inline MaybeLocal Get( - v8::Local obj - , v8::Local key) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(obj->Get(isolate->GetCurrentContext(), key) - .FromMaybe(v8::Local())); -} - -inline -MaybeLocal Get(v8::Local obj, uint32_t index) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(obj->Get(isolate->GetCurrentContext(), index) - .FromMaybe(v8::Local())); -} - -inline v8::PropertyAttribute GetPropertyAttributes( - v8::Local obj - , v8::Local key) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::HandleScope scope(isolate); - return obj->GetPropertyAttributes(isolate->GetCurrentContext(), key) - .FromJust(); -} - -inline Maybe Has( - v8::Local obj - , v8::Local key) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::HandleScope scope(isolate); - return obj->Has(isolate->GetCurrentContext(), key); -} - -inline Maybe Has(v8::Local obj, uint32_t index) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::HandleScope scope(isolate); - return obj->Has(isolate->GetCurrentContext(), index); -} - -inline Maybe Delete( - v8::Local obj - , v8::Local key) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::HandleScope scope(isolate); - return obj->Delete(isolate->GetCurrentContext(), key); -} - -inline -Maybe Delete(v8::Local obj, uint32_t index) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::HandleScope scope(isolate); - return obj->Delete(isolate->GetCurrentContext(), index); -} - -inline -MaybeLocal GetPropertyNames(v8::Local obj) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(obj->GetPropertyNames(isolate->GetCurrentContext()) - .FromMaybe(v8::Local())); -} - -inline -MaybeLocal GetOwnPropertyNames(v8::Local obj) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(obj->GetOwnPropertyNames(isolate->GetCurrentContext()) - .FromMaybe(v8::Local())); -} - -inline Maybe SetPrototype( - v8::Local obj - , v8::Local prototype) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::HandleScope scope(isolate); - return obj->SetPrototype(isolate->GetCurrentContext(), prototype); -} - -inline MaybeLocal ObjectProtoToString( - v8::Local obj) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(obj->ObjectProtoToString(isolate->GetCurrentContext()) - .FromMaybe(v8::Local())); -} - -inline Maybe HasOwnProperty( - v8::Local obj - , v8::Local key) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::HandleScope scope(isolate); - return obj->HasOwnProperty(isolate->GetCurrentContext(), key); -} - -inline Maybe HasRealNamedProperty( - v8::Local obj - , v8::Local key) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::HandleScope scope(isolate); - return obj->HasRealNamedProperty(isolate->GetCurrentContext(), key); -} - -inline Maybe HasRealIndexedProperty( - v8::Local obj - , uint32_t index) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::HandleScope scope(isolate); - return obj->HasRealIndexedProperty(isolate->GetCurrentContext(), index); -} - -inline Maybe HasRealNamedCallbackProperty( - v8::Local obj - , v8::Local key) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::HandleScope scope(isolate); - return obj->HasRealNamedCallbackProperty(isolate->GetCurrentContext(), key); -} - -inline MaybeLocal GetRealNamedPropertyInPrototypeChain( - v8::Local obj - , v8::Local key) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(obj->GetRealNamedPropertyInPrototypeChain( - isolate->GetCurrentContext(), key) - .FromMaybe(v8::Local())); -} - -inline MaybeLocal GetRealNamedProperty( - v8::Local obj - , v8::Local key) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape( - obj->GetRealNamedProperty(isolate->GetCurrentContext(), key) - .FromMaybe(v8::Local())); -} - -inline MaybeLocal CallAsFunction( - v8::Local obj - , v8::Local recv - , int argc - , v8::Local argv[]) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape( - obj->CallAsFunction(isolate->GetCurrentContext(), recv, argc, argv) - .FromMaybe(v8::Local())); -} - -inline MaybeLocal CallAsConstructor( - v8::Local obj - , int argc, v8::Local argv[]) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape( - obj->CallAsConstructor(isolate->GetCurrentContext(), argc, argv) - .FromMaybe(v8::Local())); -} - -inline -MaybeLocal GetSourceLine(v8::Local msg) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(msg->GetSourceLine(isolate->GetCurrentContext()) - .FromMaybe(v8::Local())); -} - -inline Maybe GetLineNumber(v8::Local msg) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::HandleScope scope(isolate); - return msg->GetLineNumber(isolate->GetCurrentContext()); -} - -inline Maybe GetStartColumn(v8::Local msg) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::HandleScope scope(isolate); - return msg->GetStartColumn(isolate->GetCurrentContext()); -} - -inline Maybe GetEndColumn(v8::Local msg) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::HandleScope scope(isolate); - return msg->GetEndColumn(isolate->GetCurrentContext()); -} - -inline MaybeLocal CloneElementAt( - v8::Local array - , uint32_t index) { -#if (NODE_MODULE_VERSION >= NODE_6_0_MODULE_VERSION) - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - v8::Local context = isolate->GetCurrentContext(); - v8::Local elem; - v8::Local obj; - if (!array->Get(context, index).ToLocal(&elem)) { - return scope.Escape(obj); - } - if (!elem->ToObject(context).ToLocal(&obj)) { - return scope.Escape(v8::Local()); - } - return scope.Escape(obj->Clone()); -#else - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(array->CloneElementAt(isolate->GetCurrentContext(), index) - .FromMaybe(v8::Local())); -#endif -} - -inline MaybeLocal Call( - v8::Local fun - , v8::Local recv - , int argc - , v8::Local argv[]) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - return scope.Escape(fun->Call(isolate->GetCurrentContext(), recv, argc, argv) - .FromMaybe(v8::Local())); -} - -#endif // NAN_MAYBE_43_INL_H_ diff --git a/node_modules/nan/nan_maybe_pre_43_inl.h b/node_modules/nan/nan_maybe_pre_43_inl.h deleted file mode 100644 index d47181e..0000000 --- a/node_modules/nan/nan_maybe_pre_43_inl.h +++ /dev/null @@ -1,305 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_MAYBE_PRE_43_INL_H_ -#define NAN_MAYBE_PRE_43_INL_H_ - -template -class MaybeLocal { - public: - inline MaybeLocal() : val_(v8::Local()) {} - - template -# if NODE_MODULE_VERSION >= NODE_0_12_MODULE_VERSION - inline - MaybeLocal(v8::Local that) : val_(that) {} // NOLINT(runtime/explicit) -# else - inline - MaybeLocal(v8::Local that) : // NOLINT(runtime/explicit) - val_(*reinterpret_cast*>(&that)) {} -# endif - - inline bool IsEmpty() const { return val_.IsEmpty(); } - - template - inline bool ToLocal(v8::Local *out) const { - *out = val_; - return !IsEmpty(); - } - - inline v8::Local ToLocalChecked() const { -#if defined(V8_ENABLE_CHECKS) - assert(!IsEmpty() && "ToLocalChecked is Empty"); -#endif // V8_ENABLE_CHECKS - return val_; - } - - template - inline v8::Local FromMaybe(v8::Local default_value) const { - return IsEmpty() ? default_value : val_; - } - - private: - v8::Local val_; -}; - -template -class Maybe { - public: - inline bool IsNothing() const { return !has_value_; } - inline bool IsJust() const { return has_value_; } - - inline T FromJust() const { -#if defined(V8_ENABLE_CHECKS) - assert(IsJust() && "FromJust is Nothing"); -#endif // V8_ENABLE_CHECKS - return value_; - } - - inline T FromMaybe(const T& default_value) const { - return has_value_ ? value_ : default_value; - } - - inline bool operator==(const Maybe &other) const { - return (IsJust() == other.IsJust()) && - (!IsJust() || FromJust() == other.FromJust()); - } - - inline bool operator!=(const Maybe &other) const { - return !operator==(other); - } - - private: - Maybe() : has_value_(false) {} - explicit Maybe(const T& t) : has_value_(true), value_(t) {} - bool has_value_; - T value_; - - template - friend Maybe Nothing(); - template - friend Maybe Just(const U& u); -}; - -template -inline Maybe Nothing() { - return Maybe(); -} - -template -inline Maybe Just(const T& t) { - return Maybe(t); -} - -inline -MaybeLocal ToDetailString(v8::Handle val) { - return MaybeLocal(val->ToDetailString()); -} - -inline -MaybeLocal ToArrayIndex(v8::Handle val) { - return MaybeLocal(val->ToArrayIndex()); -} - -inline -Maybe Equals(v8::Handle a, v8::Handle(b)) { - return Just(a->Equals(b)); -} - -inline -MaybeLocal NewInstance(v8::Handle h) { - return MaybeLocal(h->NewInstance()); -} - -inline -MaybeLocal NewInstance( - v8::Local h - , int argc - , v8::Local argv[]) { - return MaybeLocal(h->NewInstance(argc, argv)); -} - -inline -MaybeLocal NewInstance(v8::Handle h) { - return MaybeLocal(h->NewInstance()); -} - -inline -MaybeLocal GetFunction(v8::Handle t) { - return MaybeLocal(t->GetFunction()); -} - -inline Maybe Set( - v8::Handle obj - , v8::Handle key - , v8::Handle value) { - return Just(obj->Set(key, value)); -} - -inline Maybe Set( - v8::Handle obj - , uint32_t index - , v8::Handle value) { - return Just(obj->Set(index, value)); -} - -inline Maybe ForceSet( - v8::Handle obj - , v8::Handle key - , v8::Handle value - , v8::PropertyAttribute attribs = v8::None) { - return Just(obj->ForceSet(key, value, attribs)); -} - -inline MaybeLocal Get( - v8::Handle obj - , v8::Handle key) { - return MaybeLocal(obj->Get(key)); -} - -inline MaybeLocal Get( - v8::Handle obj - , uint32_t index) { - return MaybeLocal(obj->Get(index)); -} - -inline Maybe GetPropertyAttributes( - v8::Handle obj - , v8::Handle key) { - return Just(obj->GetPropertyAttributes(key)); -} - -inline Maybe Has( - v8::Handle obj - , v8::Handle key) { - return Just(obj->Has(key)); -} - -inline Maybe Has( - v8::Handle obj - , uint32_t index) { - return Just(obj->Has(index)); -} - -inline Maybe Delete( - v8::Handle obj - , v8::Handle key) { - return Just(obj->Delete(key)); -} - -inline Maybe Delete( - v8::Handle obj - , uint32_t index) { - return Just(obj->Delete(index)); -} - -inline -MaybeLocal GetPropertyNames(v8::Handle obj) { - return MaybeLocal(obj->GetPropertyNames()); -} - -inline -MaybeLocal GetOwnPropertyNames(v8::Handle obj) { - return MaybeLocal(obj->GetOwnPropertyNames()); -} - -inline Maybe SetPrototype( - v8::Handle obj - , v8::Handle prototype) { - return Just(obj->SetPrototype(prototype)); -} - -inline MaybeLocal ObjectProtoToString( - v8::Handle obj) { - return MaybeLocal(obj->ObjectProtoToString()); -} - -inline Maybe HasOwnProperty( - v8::Handle obj - , v8::Handle key) { - return Just(obj->HasOwnProperty(key)); -} - -inline Maybe HasRealNamedProperty( - v8::Handle obj - , v8::Handle key) { - return Just(obj->HasRealNamedProperty(key)); -} - -inline Maybe HasRealIndexedProperty( - v8::Handle obj - , uint32_t index) { - return Just(obj->HasRealIndexedProperty(index)); -} - -inline Maybe HasRealNamedCallbackProperty( - v8::Handle obj - , v8::Handle key) { - return Just(obj->HasRealNamedCallbackProperty(key)); -} - -inline MaybeLocal GetRealNamedPropertyInPrototypeChain( - v8::Handle obj - , v8::Handle key) { - return MaybeLocal( - obj->GetRealNamedPropertyInPrototypeChain(key)); -} - -inline MaybeLocal GetRealNamedProperty( - v8::Handle obj - , v8::Handle key) { - return MaybeLocal(obj->GetRealNamedProperty(key)); -} - -inline MaybeLocal CallAsFunction( - v8::Handle obj - , v8::Handle recv - , int argc - , v8::Handle argv[]) { - return MaybeLocal(obj->CallAsFunction(recv, argc, argv)); -} - -inline MaybeLocal CallAsConstructor( - v8::Handle obj - , int argc - , v8::Local argv[]) { - return MaybeLocal(obj->CallAsConstructor(argc, argv)); -} - -inline -MaybeLocal GetSourceLine(v8::Handle msg) { - return MaybeLocal(msg->GetSourceLine()); -} - -inline Maybe GetLineNumber(v8::Handle msg) { - return Just(msg->GetLineNumber()); -} - -inline Maybe GetStartColumn(v8::Handle msg) { - return Just(msg->GetStartColumn()); -} - -inline Maybe GetEndColumn(v8::Handle msg) { - return Just(msg->GetEndColumn()); -} - -inline MaybeLocal CloneElementAt( - v8::Handle array - , uint32_t index) { - return MaybeLocal(array->CloneElementAt(index)); -} - -inline MaybeLocal Call( - v8::Local fun - , v8::Local recv - , int argc - , v8::Local argv[]) { - return MaybeLocal(fun->Call(recv, argc, argv)); -} - -#endif // NAN_MAYBE_PRE_43_INL_H_ diff --git a/node_modules/nan/nan_new.h b/node_modules/nan/nan_new.h deleted file mode 100644 index 628f40c..0000000 --- a/node_modules/nan/nan_new.h +++ /dev/null @@ -1,340 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_NEW_H_ -#define NAN_NEW_H_ - -namespace imp { // scnr - -// TODO(agnat): Generalize -template v8::Local To(v8::Local i); - -template <> -inline -v8::Local -To(v8::Local i) { - return Nan::To(i).ToLocalChecked(); -} - -template <> -inline -v8::Local -To(v8::Local i) { - return Nan::To(i).ToLocalChecked(); -} - -template <> -inline -v8::Local -To(v8::Local i) { - return Nan::To(i).ToLocalChecked(); -} - -template struct FactoryBase { - typedef v8::Local return_t; -}; - -template struct MaybeFactoryBase { - typedef MaybeLocal return_t; -}; - -template struct Factory; - -template <> -struct Factory : FactoryBase { - static inline return_t New(); - static inline return_t New(int length); -}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(bool value); -}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(bool value); -}; - -template <> -struct Factory : FactoryBase { - static inline - return_t - New( v8::ExtensionConfiguration* extensions = NULL - , v8::Local tmpl = v8::Local() - , v8::Local obj = v8::Local()); -}; - -template <> -struct Factory : MaybeFactoryBase { - static inline return_t New(double value); -}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(void *value); -}; - -template <> -struct Factory : FactoryBase { - static inline - return_t - New( FunctionCallback callback - , v8::Local data = v8::Local()); -}; - -template <> -struct Factory : FactoryBase { - static inline - return_t - New( FunctionCallback callback = NULL - , v8::Local data = v8::Local() - , v8::Local signature = v8::Local()); -}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(double value); -}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(double value); -}; - -template -struct IntegerFactory : FactoryBase { - typedef typename FactoryBase::return_t return_t; - static inline return_t New(int32_t value); - static inline return_t New(uint32_t value); -}; - -template <> -struct Factory : IntegerFactory {}; - -template <> -struct Factory : IntegerFactory {}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(int32_t value); - static inline return_t New(uint32_t value); -}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(); -}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(); -}; - -template <> -struct Factory : MaybeFactoryBase { - static inline return_t New( - v8::Local pattern, v8::RegExp::Flags flags); -}; - -template <> -struct Factory : MaybeFactoryBase { - static inline return_t New( v8::Local source); - static inline return_t New( v8::Local source - , v8::ScriptOrigin const& origin); -}; - -template <> -struct Factory : FactoryBase { - typedef v8::Local FTH; - static inline return_t New(FTH receiver = FTH()); -}; - -template <> -struct Factory : MaybeFactoryBase { - static inline return_t New(); - static inline return_t New(const char *value, int length = -1); - static inline return_t New(const uint16_t *value, int length = -1); - static inline return_t New(std::string const& value); - - static inline return_t New(v8::String::ExternalStringResource * value); - static inline return_t New(ExternalOneByteStringResource * value); -}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(v8::Local value); -}; - -} // end of namespace imp - -#if (NODE_MODULE_VERSION >= 12) - -namespace imp { - -template <> -struct Factory : MaybeFactoryBase { - static inline return_t New( v8::Local source); - static inline return_t New( v8::Local source - , v8::ScriptOrigin const& origin); -}; - -} // end of namespace imp - -# include "nan_implementation_12_inl.h" - -#else // NODE_MODULE_VERSION >= 12 - -# include "nan_implementation_pre_12_inl.h" - -#endif - -//=== API ====================================================================== - -template -typename imp::Factory::return_t -New() { - return imp::Factory::New(); -} - -template -typename imp::Factory::return_t -New(A0 arg0) { - return imp::Factory::New(arg0); -} - -template -typename imp::Factory::return_t -New(A0 arg0, A1 arg1) { - return imp::Factory::New(arg0, arg1); -} - -template -typename imp::Factory::return_t -New(A0 arg0, A1 arg1, A2 arg2) { - return imp::Factory::New(arg0, arg1, arg2); -} - -template -typename imp::Factory::return_t -New(A0 arg0, A1 arg1, A2 arg2, A3 arg3) { - return imp::Factory::New(arg0, arg1, arg2, arg3); -} - -// Note(agnat): When passing overloaded function pointers to template functions -// as generic arguments the compiler needs help in picking the right overload. -// These two functions handle New and New with -// all argument variations. - -// v8::Function and v8::FunctionTemplate with one or two arguments -template -typename imp::Factory::return_t -New( FunctionCallback callback - , v8::Local data = v8::Local()) { - return imp::Factory::New(callback, data); -} - -// v8::Function and v8::FunctionTemplate with three arguments -template -typename imp::Factory::return_t -New( FunctionCallback callback - , v8::Local data = v8::Local() - , A2 a2 = A2()) { - return imp::Factory::New(callback, data, a2); -} - -// Convenience - -#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION -template inline v8::Local New(v8::Handle h); -#endif - -#if NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION -template - inline v8::Local New(v8::Persistent const& p); -#else -template inline v8::Local New(v8::Persistent const& p); -#endif -template -inline v8::Local New(Persistent const& p); -template -inline v8::Local New(Global const& p); - -inline -imp::Factory::return_t -New(bool value) { - return New(value); -} - -inline -imp::Factory::return_t -New(int32_t value) { - return New(value); -} - -inline -imp::Factory::return_t -New(uint32_t value) { - return New(value); -} - -inline -imp::Factory::return_t -New(double value) { - return New(value); -} - -inline -imp::Factory::return_t -New(std::string const& value) { // NOLINT(build/include_what_you_use) - return New(value); -} - -inline -imp::Factory::return_t -New(const char * value, int length) { - return New(value, length); -} - -inline -imp::Factory::return_t -New(const uint16_t * value, int length) { - return New(value, length); -} - -inline -imp::Factory::return_t -New(const char * value) { - return New(value); -} - -inline -imp::Factory::return_t -New(const uint16_t * value) { - return New(value); -} - -inline -imp::Factory::return_t -New(v8::String::ExternalStringResource * value) { - return New(value); -} - -inline -imp::Factory::return_t -New(ExternalOneByteStringResource * value) { - return New(value); -} - -inline -imp::Factory::return_t -New(v8::Local pattern, v8::RegExp::Flags flags) { - return New(pattern, flags); -} - -#endif // NAN_NEW_H_ diff --git a/node_modules/nan/nan_object_wrap.h b/node_modules/nan/nan_object_wrap.h deleted file mode 100644 index 28281b0..0000000 --- a/node_modules/nan/nan_object_wrap.h +++ /dev/null @@ -1,155 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_OBJECT_WRAP_H_ -#define NAN_OBJECT_WRAP_H_ - -class ObjectWrap { - public: - ObjectWrap() { - refs_ = 0; - } - - - virtual ~ObjectWrap() { - if (persistent().IsEmpty()) { - return; - } - - assert(persistent().IsNearDeath()); - persistent().ClearWeak(); - persistent().Reset(); - } - - - template - static inline T* Unwrap(v8::Local object) { - assert(!object.IsEmpty()); - assert(object->InternalFieldCount() > 0); - // Cast to ObjectWrap before casting to T. A direct cast from void - // to T won't work right when T has more than one base class. - void* ptr = GetInternalFieldPointer(object, 0); - ObjectWrap* wrap = static_cast(ptr); - return static_cast(wrap); - } - - - inline v8::Local handle() const { - return New(handle_); - } - - - inline Persistent& persistent() { - return handle_; - } - - - protected: - inline void Wrap(v8::Local object) { - assert(persistent().IsEmpty()); - assert(object->InternalFieldCount() > 0); - SetInternalFieldPointer(object, 0, this); - persistent().Reset(object); - MakeWeak(); - } - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - - inline void MakeWeak() { - persistent().v8::PersistentBase::SetWeak( - this, WeakCallback, v8::WeakCallbackType::kParameter); - persistent().MarkIndependent(); - } - -#elif NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION - - inline void MakeWeak() { - persistent().v8::PersistentBase::SetWeak(this, WeakCallback); - persistent().MarkIndependent(); - } - -#else - - inline void MakeWeak() { - persistent().persistent.MakeWeak(this, WeakCallback); - persistent().MarkIndependent(); - } - -#endif - - /* Ref() marks the object as being attached to an event loop. - * Refed objects will not be garbage collected, even if - * all references are lost. - */ - virtual void Ref() { - assert(!persistent().IsEmpty()); - persistent().ClearWeak(); - refs_++; - } - - /* Unref() marks an object as detached from the event loop. This is its - * default state. When an object with a "weak" reference changes from - * attached to detached state it will be freed. Be careful not to access - * the object after making this call as it might be gone! - * (A "weak reference" means an object that only has a - * persistant handle.) - * - * DO NOT CALL THIS FROM DESTRUCTOR - */ - virtual void Unref() { - assert(!persistent().IsEmpty()); - assert(!persistent().IsWeak()); - assert(refs_ > 0); - if (--refs_ == 0) - MakeWeak(); - } - - int refs_; // ro - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(ObjectWrap) -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - - static void - WeakCallback(v8::WeakCallbackInfo const& info) { - ObjectWrap* wrap = info.GetParameter(); - assert(wrap->refs_ == 0); - assert(wrap->handle_.IsNearDeath()); - wrap->handle_.Reset(); - delete wrap; - } - -#elif NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION - - static void - WeakCallback(v8::WeakCallbackData const& data) { - ObjectWrap* wrap = data.GetParameter(); - assert(wrap->refs_ == 0); - assert(wrap->handle_.IsNearDeath()); - wrap->handle_.Reset(); - delete wrap; - } - -#else - - static void WeakCallback(v8::Persistent value, void *data) { - ObjectWrap *wrap = static_cast(data); - assert(wrap->refs_ == 0); - assert(wrap->handle_.IsNearDeath()); - wrap->handle_.Reset(); - delete wrap; - } - -#endif - Persistent handle_; -}; - - -#endif // NAN_OBJECT_WRAP_H_ diff --git a/node_modules/nan/nan_persistent_12_inl.h b/node_modules/nan/nan_persistent_12_inl.h deleted file mode 100644 index a23d899..0000000 --- a/node_modules/nan/nan_persistent_12_inl.h +++ /dev/null @@ -1,132 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_PERSISTENT_12_INL_H_ -#define NAN_PERSISTENT_12_INL_H_ - -template class Persistent : - public v8::Persistent { - public: - inline Persistent() : v8::Persistent() {} - - template inline Persistent(v8::Local that) : - v8::Persistent(v8::Isolate::GetCurrent(), that) {} - - template - inline - Persistent(const v8::Persistent &that) : // NOLINT(runtime/explicit) - v8::Persistent(v8::Isolate::GetCurrent(), that) {} - - inline void Reset() { v8::PersistentBase::Reset(); } - - template - inline void Reset(const v8::Local &other) { - v8::PersistentBase::Reset(v8::Isolate::GetCurrent(), other); - } - - template - inline void Reset(const v8::PersistentBase &other) { - v8::PersistentBase::Reset(v8::Isolate::GetCurrent(), other); - } - - template - inline void SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type); - - private: - inline T *operator*() const { return *PersistentBase::persistent; } - - template - inline void Copy(const Persistent &that) { - TYPE_CHECK(T, S); - - this->Reset(); - - if (!that.IsEmpty()) { - this->Reset(that); - M::Copy(that, this); - } - } -}; - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -template -class Global : public v8::Global { - public: - inline Global() : v8::Global() {} - - template inline Global(v8::Local that) : - v8::Global(v8::Isolate::GetCurrent(), that) {} - - template - inline - Global(const v8::PersistentBase &that) : // NOLINT(runtime/explicit) - v8::Global(v8::Isolate::GetCurrent(), that) {} - - inline void Reset() { v8::PersistentBase::Reset(); } - - template - inline void Reset(const v8::Local &other) { - v8::PersistentBase::Reset(v8::Isolate::GetCurrent(), other); - } - - template - inline void Reset(const v8::PersistentBase &other) { - v8::PersistentBase::Reset(v8::Isolate::GetCurrent(), other); - } - - template - inline void SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type) { - reinterpret_cast*>(this)->SetWeak( - parameter, callback, type); - } -}; -#else -template -class Global : public v8::UniquePersistent { - public: - inline Global() : v8::UniquePersistent() {} - - template inline Global(v8::Local that) : - v8::UniquePersistent(v8::Isolate::GetCurrent(), that) {} - - template - inline - Global(const v8::PersistentBase &that) : // NOLINT(runtime/explicit) - v8::UniquePersistent(v8::Isolate::GetCurrent(), that) {} - - inline void Reset() { v8::PersistentBase::Reset(); } - - template - inline void Reset(const v8::Local &other) { - v8::PersistentBase::Reset(v8::Isolate::GetCurrent(), other); - } - - template - inline void Reset(const v8::PersistentBase &other) { - v8::PersistentBase::Reset(v8::Isolate::GetCurrent(), other); - } - - template - inline void SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type) { - reinterpret_cast*>(this)->SetWeak( - parameter, callback, type); - } -}; -#endif - -#endif // NAN_PERSISTENT_12_INL_H_ diff --git a/node_modules/nan/nan_persistent_pre_12_inl.h b/node_modules/nan/nan_persistent_pre_12_inl.h deleted file mode 100644 index f915746..0000000 --- a/node_modules/nan/nan_persistent_pre_12_inl.h +++ /dev/null @@ -1,242 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_PERSISTENT_PRE_12_INL_H_ -#define NAN_PERSISTENT_PRE_12_INL_H_ - -template -class PersistentBase { - v8::Persistent persistent; - template - friend v8::Local New(const PersistentBase &p); - template - friend v8::Local New(const Persistent &p); - template - friend v8::Local New(const Global &p); - template friend class ReturnValue; - - public: - inline PersistentBase() : - persistent() {} - - inline void Reset() { - persistent.Dispose(); - persistent.Clear(); - } - - template - inline void Reset(const v8::Local &other) { - TYPE_CHECK(T, S); - - if (!persistent.IsEmpty()) { - persistent.Dispose(); - } - - if (other.IsEmpty()) { - persistent.Clear(); - } else { - persistent = v8::Persistent::New(other); - } - } - - template - inline void Reset(const PersistentBase &other) { - TYPE_CHECK(T, S); - - if (!persistent.IsEmpty()) { - persistent.Dispose(); - } - - if (other.IsEmpty()) { - persistent.Clear(); - } else { - persistent = v8::Persistent::New(other.persistent); - } - } - - inline bool IsEmpty() const { return persistent.IsEmpty(); } - - inline void Empty() { persistent.Clear(); } - - template - inline bool operator==(const PersistentBase &that) const { - return this->persistent == that.persistent; - } - - template - inline bool operator==(const v8::Local &that) const { - return this->persistent == that; - } - - template - inline bool operator!=(const PersistentBase &that) const { - return !operator==(that); - } - - template - inline bool operator!=(const v8::Local &that) const { - return !operator==(that); - } - - template - inline void SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type); - - inline void ClearWeak() { persistent.ClearWeak(); } - - inline void MarkIndependent() { persistent.MarkIndependent(); } - - inline bool IsIndependent() const { return persistent.IsIndependent(); } - - inline bool IsNearDeath() const { return persistent.IsNearDeath(); } - - inline bool IsWeak() const { return persistent.IsWeak(); } - - private: - inline explicit PersistentBase(v8::Persistent that) : - persistent(that) { } - inline explicit PersistentBase(T *val) : persistent(val) {} - template friend class Persistent; - template friend class Global; - friend class ObjectWrap; -}; - -template -class NonCopyablePersistentTraits { - public: - typedef Persistent > - NonCopyablePersistent; - static const bool kResetInDestructor = false; - template - inline static void Copy(const Persistent &source, - NonCopyablePersistent *dest) { - Uncompilable(); - } - - template inline static void Uncompilable() { - TYPE_CHECK(O, v8::Primitive); - } -}; - -template -struct CopyablePersistentTraits { - typedef Persistent > CopyablePersistent; - static const bool kResetInDestructor = true; - template - static inline void Copy(const Persistent &source, - CopyablePersistent *dest) {} -}; - -template class Persistent : - public PersistentBase { - public: - inline Persistent() {} - - template inline Persistent(v8::Handle that) - : PersistentBase(v8::Persistent::New(that)) { - TYPE_CHECK(T, S); - } - - inline Persistent(const Persistent &that) : PersistentBase() { - Copy(that); - } - - template - inline Persistent(const Persistent &that) : - PersistentBase() { - Copy(that); - } - - inline Persistent &operator=(const Persistent &that) { - Copy(that); - return *this; - } - - template - inline Persistent &operator=(const Persistent &that) { - Copy(that); - return *this; - } - - inline ~Persistent() { - if (M::kResetInDestructor) this->Reset(); - } - - private: - inline T *operator*() const { return *PersistentBase::persistent; } - - template - inline void Copy(const Persistent &that) { - TYPE_CHECK(T, S); - - this->Reset(); - - if (!that.IsEmpty()) { - this->persistent = v8::Persistent::New(that.persistent); - M::Copy(that, this); - } - } -}; - -template -class Global : public PersistentBase { - struct RValue { - inline explicit RValue(Global* obj) : object(obj) {} - Global* object; - }; - - public: - inline Global() : PersistentBase(0) { } - - template - inline Global(v8::Local that) // NOLINT(runtime/explicit) - : PersistentBase(v8::Persistent::New(that)) { - TYPE_CHECK(T, S); - } - - template - inline Global(const PersistentBase &that) // NOLINT(runtime/explicit) - : PersistentBase(that) { - TYPE_CHECK(T, S); - } - /** - * Move constructor. - */ - inline Global(RValue rvalue) // NOLINT(runtime/explicit) - : PersistentBase(rvalue.object->persistent) { - rvalue.object->Reset(); - } - inline ~Global() { this->Reset(); } - /** - * Move via assignment. - */ - template - inline Global &operator=(Global rhs) { - TYPE_CHECK(T, S); - this->Reset(rhs.persistent); - rhs.Reset(); - return *this; - } - /** - * Cast operator for moves. - */ - inline operator RValue() { return RValue(this); } - /** - * Pass allows returning uniques from functions, etc. - */ - Global Pass() { return Global(RValue(this)); } - - private: - Global(Global &); - void operator=(Global &); - template friend class ReturnValue; -}; - -#endif // NAN_PERSISTENT_PRE_12_INL_H_ diff --git a/node_modules/nan/nan_private.h b/node_modules/nan/nan_private.h deleted file mode 100644 index 03082cd..0000000 --- a/node_modules/nan/nan_private.h +++ /dev/null @@ -1,73 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_PRIVATE_H_ -#define NAN_PRIVATE_H_ - -inline Maybe -HasPrivate(v8::Local object, v8::Local key) { - HandleScope scope; -#if NODE_MODULE_VERSION >= NODE_6_0_MODULE_VERSION - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::Local context = isolate->GetCurrentContext(); - v8::Local private_key = v8::Private::ForApi(isolate, key); - return object->HasPrivate(context, private_key); -#else - return Just(!object->GetHiddenValue(key).IsEmpty()); -#endif -} - -inline MaybeLocal -GetPrivate(v8::Local object, v8::Local key) { -#if NODE_MODULE_VERSION >= NODE_6_0_MODULE_VERSION - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - v8::Local context = isolate->GetCurrentContext(); - v8::Local private_key = v8::Private::ForApi(isolate, key); - v8::MaybeLocal v = object->GetPrivate(context, private_key); - return scope.Escape(v.ToLocalChecked()); -#else - EscapableHandleScope scope; - v8::Local v = object->GetHiddenValue(key); - if (v.IsEmpty()) { - v = Undefined(); - } - return scope.Escape(v); -#endif -} - -inline Maybe SetPrivate( - v8::Local object, - v8::Local key, - v8::Local value) { -#if NODE_MODULE_VERSION >= NODE_6_0_MODULE_VERSION - HandleScope scope; - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::Local context = isolate->GetCurrentContext(); - v8::Local private_key = v8::Private::ForApi(isolate, key); - return object->SetPrivate(context, private_key, value); -#else - return Just(object->SetHiddenValue(key, value)); -#endif -} - -inline Maybe DeletePrivate( - v8::Local object, - v8::Local key) { -#if NODE_MODULE_VERSION >= NODE_6_0_MODULE_VERSION - HandleScope scope; - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::Local private_key = v8::Private::ForApi(isolate, key); - return object->DeletePrivate(isolate->GetCurrentContext(), private_key); -#else - return Just(object->DeleteHiddenValue(key)); -#endif -} - -#endif // NAN_PRIVATE_H_ - diff --git a/node_modules/nan/nan_string_bytes.h b/node_modules/nan/nan_string_bytes.h deleted file mode 100644 index a2e6437..0000000 --- a/node_modules/nan/nan_string_bytes.h +++ /dev/null @@ -1,305 +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. - -#ifndef NAN_STRING_BYTES_H_ -#define NAN_STRING_BYTES_H_ - -// Decodes a v8::Local or Buffer to a raw char* - -namespace imp { - -using v8::Local; -using v8::Object; -using v8::String; -using v8::Value; - - -//// Base 64 //// - -#define base64_encoded_size(size) ((size + 2 - ((size + 2) % 3)) / 3 * 4) - - - -//// HEX //// - -static bool contains_non_ascii_slow(const char* buf, size_t len) { - for (size_t i = 0; i < len; ++i) { - if (buf[i] & 0x80) return true; - } - return false; -} - - -static bool contains_non_ascii(const char* src, size_t len) { - if (len < 16) { - return contains_non_ascii_slow(src, len); - } - - const unsigned bytes_per_word = sizeof(void*); - const unsigned align_mask = bytes_per_word - 1; - const unsigned unaligned = reinterpret_cast(src) & align_mask; - - if (unaligned > 0) { - const unsigned n = bytes_per_word - unaligned; - if (contains_non_ascii_slow(src, n)) return true; - src += n; - len -= n; - } - - -#if defined(__x86_64__) || defined(_WIN64) - const uintptr_t mask = 0x8080808080808080ll; -#else - const uintptr_t mask = 0x80808080l; -#endif - - const uintptr_t* srcw = reinterpret_cast(src); - - for (size_t i = 0, n = len / bytes_per_word; i < n; ++i) { - if (srcw[i] & mask) return true; - } - - const unsigned remainder = len & align_mask; - if (remainder > 0) { - const size_t offset = len - remainder; - if (contains_non_ascii_slow(src + offset, remainder)) return true; - } - - return false; -} - - -static void force_ascii_slow(const char* src, char* dst, size_t len) { - for (size_t i = 0; i < len; ++i) { - dst[i] = src[i] & 0x7f; - } -} - - -static void force_ascii(const char* src, char* dst, size_t len) { - if (len < 16) { - force_ascii_slow(src, dst, len); - return; - } - - const unsigned bytes_per_word = sizeof(void*); - const unsigned align_mask = bytes_per_word - 1; - const unsigned src_unalign = reinterpret_cast(src) & align_mask; - const unsigned dst_unalign = reinterpret_cast(dst) & align_mask; - - if (src_unalign > 0) { - if (src_unalign == dst_unalign) { - const unsigned unalign = bytes_per_word - src_unalign; - force_ascii_slow(src, dst, unalign); - src += unalign; - dst += unalign; - len -= src_unalign; - } else { - force_ascii_slow(src, dst, len); - return; - } - } - -#if defined(__x86_64__) || defined(_WIN64) - const uintptr_t mask = ~0x8080808080808080ll; -#else - const uintptr_t mask = ~0x80808080l; -#endif - - const uintptr_t* srcw = reinterpret_cast(src); - uintptr_t* dstw = reinterpret_cast(dst); - - for (size_t i = 0, n = len / bytes_per_word; i < n; ++i) { - dstw[i] = srcw[i] & mask; - } - - const unsigned remainder = len & align_mask; - if (remainder > 0) { - const size_t offset = len - remainder; - force_ascii_slow(src + offset, dst + offset, remainder); - } -} - - -static size_t base64_encode(const char* src, - size_t slen, - char* dst, - size_t dlen) { - // We know how much we'll write, just make sure that there's space. - assert(dlen >= base64_encoded_size(slen) && - "not enough space provided for base64 encode"); - - dlen = base64_encoded_size(slen); - - unsigned a; - unsigned b; - unsigned c; - unsigned i; - unsigned k; - unsigned n; - - static const char table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - "abcdefghijklmnopqrstuvwxyz" - "0123456789+/"; - - i = 0; - k = 0; - n = slen / 3 * 3; - - while (i < n) { - a = src[i + 0] & 0xff; - b = src[i + 1] & 0xff; - c = src[i + 2] & 0xff; - - dst[k + 0] = table[a >> 2]; - dst[k + 1] = table[((a & 3) << 4) | (b >> 4)]; - dst[k + 2] = table[((b & 0x0f) << 2) | (c >> 6)]; - dst[k + 3] = table[c & 0x3f]; - - i += 3; - k += 4; - } - - if (n != slen) { - switch (slen - n) { - case 1: - a = src[i + 0] & 0xff; - dst[k + 0] = table[a >> 2]; - dst[k + 1] = table[(a & 3) << 4]; - dst[k + 2] = '='; - dst[k + 3] = '='; - break; - - case 2: - a = src[i + 0] & 0xff; - b = src[i + 1] & 0xff; - dst[k + 0] = table[a >> 2]; - dst[k + 1] = table[((a & 3) << 4) | (b >> 4)]; - dst[k + 2] = table[(b & 0x0f) << 2]; - dst[k + 3] = '='; - break; - } - } - - return dlen; -} - - -static size_t hex_encode(const char* src, size_t slen, char* dst, size_t dlen) { - // We know how much we'll write, just make sure that there's space. - assert(dlen >= slen * 2 && - "not enough space provided for hex encode"); - - dlen = slen * 2; - for (uint32_t i = 0, k = 0; k < dlen; i += 1, k += 2) { - static const char hex[] = "0123456789abcdef"; - uint8_t val = static_cast(src[i]); - dst[k + 0] = hex[val >> 4]; - dst[k + 1] = hex[val & 15]; - } - - return dlen; -} - - - -static Local Encode(const char* buf, - size_t buflen, - enum Encoding encoding) { - assert(buflen <= node::Buffer::kMaxLength); - if (!buflen && encoding != BUFFER) - return New("").ToLocalChecked(); - - Local val; - switch (encoding) { - case BUFFER: - return CopyBuffer(buf, buflen).ToLocalChecked(); - - case ASCII: - if (contains_non_ascii(buf, buflen)) { - char* out = new char[buflen]; - force_ascii(buf, out, buflen); - val = New(out, buflen).ToLocalChecked(); - delete[] out; - } else { - val = New(buf, buflen).ToLocalChecked(); - } - break; - - case UTF8: - val = New(buf, buflen).ToLocalChecked(); - break; - - case BINARY: { - // TODO(isaacs) use ExternalTwoByteString? - const unsigned char *cbuf = reinterpret_cast(buf); - uint16_t * twobytebuf = new uint16_t[buflen]; - for (size_t i = 0; i < buflen; i++) { - // XXX is the following line platform independent? - twobytebuf[i] = cbuf[i]; - } - val = New(twobytebuf, buflen).ToLocalChecked(); - delete[] twobytebuf; - break; - } - - case BASE64: { - size_t dlen = base64_encoded_size(buflen); - char* dst = new char[dlen]; - - size_t written = base64_encode(buf, buflen, dst, dlen); - assert(written == dlen); - - val = New(dst, dlen).ToLocalChecked(); - delete[] dst; - break; - } - - case UCS2: { - const uint16_t* data = reinterpret_cast(buf); - val = New(data, buflen / 2).ToLocalChecked(); - break; - } - - case HEX: { - size_t dlen = buflen * 2; - char* dst = new char[dlen]; - size_t written = hex_encode(buf, buflen, dst, dlen); - assert(written == dlen); - - val = New(dst, dlen).ToLocalChecked(); - delete[] dst; - break; - } - - default: - assert(0 && "unknown encoding"); - break; - } - - return val; -} - -#undef base64_encoded_size - -} // end of namespace imp - -#endif // NAN_STRING_BYTES_H_ diff --git a/node_modules/nan/nan_typedarray_contents.h b/node_modules/nan/nan_typedarray_contents.h deleted file mode 100644 index 17c9681..0000000 --- a/node_modules/nan/nan_typedarray_contents.h +++ /dev/null @@ -1,90 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_TYPEDARRAY_CONTENTS_H_ -#define NAN_TYPEDARRAY_CONTENTS_H_ - -template -class TypedArrayContents { - public: - inline explicit TypedArrayContents(v8::Local from) : - length_(0), data_(NULL) { - HandleScope scope; - - size_t length = 0; - void* data = NULL; - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - - if (from->IsArrayBufferView()) { - v8::Local array = - v8::Local::Cast(from); - - const size_t byte_length = array->ByteLength(); - const ptrdiff_t byte_offset = array->ByteOffset(); - v8::Local buffer = array->Buffer(); - - length = byte_length / sizeof(T); - data = static_cast(buffer->GetContents().Data()) + byte_offset; - } - -#else - - if (from->IsObject() && !from->IsNull()) { - v8::Local array = v8::Local::Cast(from); - - MaybeLocal buffer = Get(array, - New("buffer").ToLocalChecked()); - MaybeLocal byte_length = Get(array, - New("byteLength").ToLocalChecked()); - MaybeLocal byte_offset = Get(array, - New("byteOffset").ToLocalChecked()); - - if (!buffer.IsEmpty() && - !byte_length.IsEmpty() && byte_length.ToLocalChecked()->IsUint32() && - !byte_offset.IsEmpty() && byte_offset.ToLocalChecked()->IsUint32()) { - data = array->GetIndexedPropertiesExternalArrayData(); - if(data) { - length = byte_length.ToLocalChecked()->Uint32Value() / sizeof(T); - } - } - } - -#endif - -#if defined(_MSC_VER) && _MSC_VER >= 1900 || __cplusplus >= 201103L - assert(reinterpret_cast(data) % alignof (T) == 0); -#elif defined(_MSC_VER) && _MSC_VER >= 1600 || defined(__GNUC__) - assert(reinterpret_cast(data) % __alignof(T) == 0); -#else - assert(reinterpret_cast(data) % sizeof (T) == 0); -#endif - - length_ = length; - data_ = static_cast(data); - } - - inline size_t length() const { return length_; } - inline T* operator*() { return data_; } - inline const T* operator*() const { return data_; } - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(TypedArrayContents) - - //Disable heap allocation - void *operator new(size_t size); - void operator delete(void *, size_t) { - abort(); - } - - size_t length_; - T* data_; -}; - -#endif // NAN_TYPEDARRAY_CONTENTS_H_ diff --git a/node_modules/nan/nan_weak.h b/node_modules/nan/nan_weak.h deleted file mode 100644 index 3f2d569..0000000 --- a/node_modules/nan/nan_weak.h +++ /dev/null @@ -1,432 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_WEAK_H_ -#define NAN_WEAK_H_ - -static const int kInternalFieldsInWeakCallback = 2; -static const int kNoInternalFieldIndex = -1; - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -# define NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ \ - v8::WeakCallbackInfo > const& -# define NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ \ - NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ -# define NAN_WEAK_PARAMETER_CALLBACK_SIG_ NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ -# define NAN_WEAK_TWOFIELD_CALLBACK_SIG_ NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ -#elif NODE_MODULE_VERSION > IOJS_1_1_MODULE_VERSION -# define NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ \ - v8::PhantomCallbackData > const& -# define NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ \ - NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ -# define NAN_WEAK_PARAMETER_CALLBACK_SIG_ NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ -# define NAN_WEAK_TWOFIELD_CALLBACK_SIG_ NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ -#elif NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION -# define NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ \ - v8::PhantomCallbackData > const& -# define NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ \ - v8::InternalFieldsCallbackData, void> const& -# define NAN_WEAK_PARAMETER_CALLBACK_SIG_ NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ -# define NAN_WEAK_TWOFIELD_CALLBACK_SIG_ NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ -#elif NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION -# define NAN_WEAK_CALLBACK_DATA_TYPE_ \ - v8::WeakCallbackData > const& -# define NAN_WEAK_CALLBACK_SIG_ NAN_WEAK_CALLBACK_DATA_TYPE_ -#else -# define NAN_WEAK_CALLBACK_DATA_TYPE_ void * -# define NAN_WEAK_CALLBACK_SIG_ \ - v8::Persistent, NAN_WEAK_CALLBACK_DATA_TYPE_ -#endif - -template -class WeakCallbackInfo { - public: - typedef void (*Callback)(const WeakCallbackInfo& data); - WeakCallbackInfo( - Persistent *persistent - , Callback callback - , void *parameter - , void *field1 = 0 - , void *field2 = 0) : - callback_(callback), isolate_(0), parameter_(parameter) { - std::memcpy(&persistent_, persistent, sizeof (v8::Persistent)); - internal_fields_[0] = field1; - internal_fields_[1] = field2; - } - inline v8::Isolate *GetIsolate() const { return isolate_; } - inline T *GetParameter() const { return static_cast(parameter_); } - inline void *GetInternalField(int index) const { - assert((index == 0 || index == 1) && "internal field index out of bounds"); - if (index == 0) { - return internal_fields_[0]; - } else { - return internal_fields_[1]; - } - } - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(WeakCallbackInfo) - Callback callback_; - v8::Isolate *isolate_; - void *parameter_; - void *internal_fields_[kInternalFieldsInWeakCallback]; - v8::Persistent persistent_; - template friend class Persistent; - template friend class PersistentBase; -#if NODE_MODULE_VERSION <= NODE_0_12_MODULE_VERSION -# if NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION - template - static void invoke(NAN_WEAK_CALLBACK_SIG_ data); - template - static WeakCallbackInfo *unwrap(NAN_WEAK_CALLBACK_DATA_TYPE_ data); -# else - static void invoke(NAN_WEAK_CALLBACK_SIG_ data); - static WeakCallbackInfo *unwrap(NAN_WEAK_CALLBACK_DATA_TYPE_ data); -# endif -#else -# if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - template - static void invokeparameter(NAN_WEAK_PARAMETER_CALLBACK_SIG_ data); - template - static void invoketwofield(NAN_WEAK_TWOFIELD_CALLBACK_SIG_ data); -# else - static void invokeparameter(NAN_WEAK_PARAMETER_CALLBACK_SIG_ data); - static void invoketwofield(NAN_WEAK_TWOFIELD_CALLBACK_SIG_ data); -# endif - static WeakCallbackInfo *unwrapparameter( - NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ data); - static WeakCallbackInfo *unwraptwofield( - NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ data); -#endif -}; - - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - -template -template -void -WeakCallbackInfo::invokeparameter(NAN_WEAK_PARAMETER_CALLBACK_SIG_ data) { - WeakCallbackInfo *cbinfo = unwrapparameter(data); - if (isFirstPass) { - cbinfo->persistent_.Reset(); - data.SetSecondPassCallback(invokeparameter); - } else { - cbinfo->callback_(*cbinfo); - delete cbinfo; - } -} - -template -template -void -WeakCallbackInfo::invoketwofield(NAN_WEAK_TWOFIELD_CALLBACK_SIG_ data) { - WeakCallbackInfo *cbinfo = unwraptwofield(data); - if (isFirstPass) { - cbinfo->persistent_.Reset(); - data.SetSecondPassCallback(invoketwofield); - } else { - cbinfo->callback_(*cbinfo); - delete cbinfo; - } -} - -template -WeakCallbackInfo *WeakCallbackInfo::unwrapparameter( - NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ data) { - WeakCallbackInfo *cbinfo = - static_cast*>(data.GetParameter()); - cbinfo->isolate_ = data.GetIsolate(); - return cbinfo; -} - -template -WeakCallbackInfo *WeakCallbackInfo::unwraptwofield( - NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ data) { - WeakCallbackInfo *cbinfo = - static_cast*>(data.GetInternalField(0)); - cbinfo->isolate_ = data.GetIsolate(); - return cbinfo; -} - -#undef NAN_WEAK_PARAMETER_CALLBACK_SIG_ -#undef NAN_WEAK_TWOFIELD_CALLBACK_SIG_ -#undef NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ -#undef NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ -# elif NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION - -template -void -WeakCallbackInfo::invokeparameter(NAN_WEAK_PARAMETER_CALLBACK_SIG_ data) { - WeakCallbackInfo *cbinfo = unwrapparameter(data); - cbinfo->persistent_.Reset(); - cbinfo->callback_(*cbinfo); - delete cbinfo; -} - -template -void -WeakCallbackInfo::invoketwofield(NAN_WEAK_TWOFIELD_CALLBACK_SIG_ data) { - WeakCallbackInfo *cbinfo = unwraptwofield(data); - cbinfo->persistent_.Reset(); - cbinfo->callback_(*cbinfo); - delete cbinfo; -} - -template -WeakCallbackInfo *WeakCallbackInfo::unwrapparameter( - NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ data) { - WeakCallbackInfo *cbinfo = - static_cast*>(data.GetParameter()); - cbinfo->isolate_ = data.GetIsolate(); - return cbinfo; -} - -template -WeakCallbackInfo *WeakCallbackInfo::unwraptwofield( - NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ data) { - WeakCallbackInfo *cbinfo = - static_cast*>(data.GetInternalField1()); - cbinfo->isolate_ = data.GetIsolate(); - return cbinfo; -} - -#undef NAN_WEAK_PARAMETER_CALLBACK_SIG_ -#undef NAN_WEAK_TWOFIELD_CALLBACK_SIG_ -#undef NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ -#undef NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ -#elif NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION - -template -template -void WeakCallbackInfo::invoke(NAN_WEAK_CALLBACK_SIG_ data) { - WeakCallbackInfo *cbinfo = unwrap(data); - cbinfo->persistent_.Reset(); - cbinfo->callback_(*cbinfo); - delete cbinfo; -} - -template -template -WeakCallbackInfo *WeakCallbackInfo::unwrap( - NAN_WEAK_CALLBACK_DATA_TYPE_ data) { - void *parameter = data.GetParameter(); - WeakCallbackInfo *cbinfo = - static_cast*>(parameter); - cbinfo->isolate_ = data.GetIsolate(); - return cbinfo; -} - -#undef NAN_WEAK_CALLBACK_SIG_ -#undef NAN_WEAK_CALLBACK_DATA_TYPE_ -#else - -template -void WeakCallbackInfo::invoke(NAN_WEAK_CALLBACK_SIG_ data) { - WeakCallbackInfo *cbinfo = unwrap(data); - cbinfo->persistent_.Dispose(); - cbinfo->persistent_.Clear(); - cbinfo->callback_(*cbinfo); - delete cbinfo; -} - -template -WeakCallbackInfo *WeakCallbackInfo::unwrap( - NAN_WEAK_CALLBACK_DATA_TYPE_ data) { - WeakCallbackInfo *cbinfo = - static_cast*>(data); - cbinfo->isolate_ = v8::Isolate::GetCurrent(); - return cbinfo; -} - -#undef NAN_WEAK_CALLBACK_SIG_ -#undef NAN_WEAK_CALLBACK_DATA_TYPE_ -#endif - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -template -template -inline void Persistent::SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type) { - WeakCallbackInfo

*wcbd; - if (type == WeakCallbackType::kParameter) { - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , parameter); - v8::PersistentBase::SetWeak( - wcbd - , WeakCallbackInfo

::template invokeparameter - , type); - } else { - v8::Local* self = reinterpret_cast*>(this); - assert((*self)->IsObject()); - int count = (*self)->InternalFieldCount(); - void *internal_fields[kInternalFieldsInWeakCallback] = {0, 0}; - for (int i = 0; i < count && i < kInternalFieldsInWeakCallback; i++) { - internal_fields[i] = (*self)->GetAlignedPointerFromInternalField(i); - } - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , 0 - , internal_fields[0] - , internal_fields[1]); - (*self)->SetAlignedPointerInInternalField(0, wcbd); - v8::PersistentBase::SetWeak( - static_cast*>(0) - , WeakCallbackInfo

::template invoketwofield - , type); - } -} -#elif NODE_MODULE_VERSION > IOJS_1_1_MODULE_VERSION -template -template -inline void Persistent::SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type) { - WeakCallbackInfo

*wcbd; - if (type == WeakCallbackType::kParameter) { - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , parameter); - v8::PersistentBase::SetPhantom( - wcbd - , WeakCallbackInfo

::invokeparameter); - } else { - v8::Local* self = reinterpret_cast*>(this); - assert((*self)->IsObject()); - int count = (*self)->InternalFieldCount(); - void *internal_fields[kInternalFieldsInWeakCallback] = {0, 0}; - for (int i = 0; i < count && i < kInternalFieldsInWeakCallback; i++) { - internal_fields[i] = (*self)->GetAlignedPointerFromInternalField(i); - } - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , 0 - , internal_fields[0] - , internal_fields[1]); - (*self)->SetAlignedPointerInInternalField(0, wcbd); - v8::PersistentBase::SetPhantom( - static_cast*>(0) - , WeakCallbackInfo

::invoketwofield - , 0 - , count > 1 ? 1 : kNoInternalFieldIndex); - } -} -#elif NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION -template -template -inline void Persistent::SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type) { - WeakCallbackInfo

*wcbd; - if (type == WeakCallbackType::kParameter) { - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , parameter); - v8::PersistentBase::SetPhantom( - wcbd - , WeakCallbackInfo

::invokeparameter); - } else { - v8::Local* self = reinterpret_cast*>(this); - assert((*self)->IsObject()); - int count = (*self)->InternalFieldCount(); - void *internal_fields[kInternalFieldsInWeakCallback] = {0, 0}; - for (int i = 0; i < count && i < kInternalFieldsInWeakCallback; i++) { - internal_fields[i] = (*self)->GetAlignedPointerFromInternalField(i); - } - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , 0 - , internal_fields[0] - , internal_fields[1]); - (*self)->SetAlignedPointerInInternalField(0, wcbd); - v8::PersistentBase::SetPhantom( - WeakCallbackInfo

::invoketwofield - , 0 - , count > 1 ? 1 : kNoInternalFieldIndex); - } -} -#elif NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION -template -template -inline void Persistent::SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type) { - WeakCallbackInfo

*wcbd; - if (type == WeakCallbackType::kParameter) { - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , parameter); - v8::PersistentBase::SetWeak(wcbd, WeakCallbackInfo

::invoke); - } else { - v8::Local* self = reinterpret_cast*>(this); - assert((*self)->IsObject()); - int count = (*self)->InternalFieldCount(); - void *internal_fields[kInternalFieldsInWeakCallback] = {0, 0}; - for (int i = 0; i < count && i < kInternalFieldsInWeakCallback; i++) { - internal_fields[i] = (*self)->GetAlignedPointerFromInternalField(i); - } - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , 0 - , internal_fields[0] - , internal_fields[1]); - v8::PersistentBase::SetWeak(wcbd, WeakCallbackInfo

::invoke); - } -} -#else -template -template -inline void PersistentBase::SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type) { - WeakCallbackInfo

*wcbd; - if (type == WeakCallbackType::kParameter) { - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , parameter); - persistent.MakeWeak(wcbd, WeakCallbackInfo

::invoke); - } else { - v8::Local* self = reinterpret_cast*>(this); - assert((*self)->IsObject()); - int count = (*self)->InternalFieldCount(); - void *internal_fields[kInternalFieldsInWeakCallback] = {0, 0}; - for (int i = 0; i < count && i < kInternalFieldsInWeakCallback; i++) { - internal_fields[i] = (*self)->GetPointerFromInternalField(i); - } - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , 0 - , internal_fields[0] - , internal_fields[1]); - persistent.MakeWeak(wcbd, WeakCallbackInfo

::invoke); - } -} -#endif - -#endif // NAN_WEAK_H_ diff --git a/node_modules/nan/package.json b/node_modules/nan/package.json deleted file mode 100644 index 3da7ea3..0000000 --- a/node_modules/nan/package.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "nan@~2.5.0", - "scope": null, - "escapedName": "nan", - "name": "nan", - "rawSpec": "~2.5.0", - "spec": ">=2.5.0 <2.6.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/bufferutil" - ] - ], - "_from": "nan@>=2.5.0 <2.6.0", - "_id": "nan@2.5.1", - "_inCache": true, - "_installable": true, - "_location": "/nan", - "_nodeVersion": "7.4.0", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/nan-2.5.1.tgz_1485124061146_0.7941144248470664" - }, - "_npmUser": { - "name": "kkoopa", - "email": "bbyholm@abo.fi" - }, - "_npmVersion": "4.0.5", - "_phantomChildren": {}, - "_requested": { - "raw": "nan@~2.5.0", - "scope": null, - "escapedName": "nan", - "name": "nan", - "rawSpec": "~2.5.0", - "spec": ">=2.5.0 <2.6.0", - "type": "range" - }, - "_requiredBy": [ - "/bufferutil" - ], - "_resolved": "http://registry.npmjs.org/nan/-/nan-2.5.1.tgz", - "_shasum": "d5b01691253326a97a2bbee9e61c55d8d60351e2", - "_shrinkwrap": null, - "_spec": "nan@~2.5.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/bufferutil", - "bugs": { - "url": "https://github.com/nodejs/nan/issues" - }, - "contributors": [ - { - "name": "Rod Vagg", - "email": "r@va.gg", - "url": "https://github.com/rvagg" - }, - { - "name": "Benjamin Byholm", - "email": "bbyholm@abo.fi", - "url": "https://github.com/kkoopa/" - }, - { - "name": "Trevor Norris", - "email": "trev.norris@gmail.com", - "url": "https://github.com/trevnorris" - }, - { - "name": "Nathan Rajlich", - "email": "nathan@tootallnate.net", - "url": "https://github.com/TooTallNate" - }, - { - "name": "Brett Lawson", - "email": "brett19@gmail.com", - "url": "https://github.com/brett19" - }, - { - "name": "Ben Noordhuis", - "email": "info@bnoordhuis.nl", - "url": "https://github.com/bnoordhuis" - }, - { - "name": "David Siegel", - "email": "david@artcom.de", - "url": "https://github.com/agnat" - } - ], - "dependencies": {}, - "description": "Native Abstractions for Node.js: C++ header for Node 0.8 -> 7 compatibility", - "devDependencies": { - "bindings": "~1.2.1", - "commander": "^2.8.1", - "glob": "^5.0.14", - "node-gyp": "~3.0.1", - "readable-stream": "^2.1.4", - "tap": "~0.7.1", - "xtend": "~4.0.0" - }, - "directories": {}, - "dist": { - "shasum": "d5b01691253326a97a2bbee9e61c55d8d60351e2", - "tarball": "https://registry.npmjs.org/nan/-/nan-2.5.1.tgz" - }, - "homepage": "https://github.com/nodejs/nan#readme", - "license": "MIT", - "main": "include_dirs.js", - "maintainers": [ - { - "name": "rvagg", - "email": "rod@vagg.org" - }, - { - "name": "kkoopa", - "email": "bbyholm@abo.fi" - } - ], - "name": "nan", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/nodejs/nan.git" - }, - "scripts": { - "docs": "doc/.build.sh", - "rebuild-tests": "node-gyp rebuild --msvs_version=2013 --directory test", - "test": "tap --gc --stderr test/js/*-test.js" - }, - "version": "2.5.1" -} diff --git a/node_modules/nan/tools/1to2.js b/node_modules/nan/tools/1to2.js deleted file mode 100755 index 1e86be7..0000000 --- a/node_modules/nan/tools/1to2.js +++ /dev/null @@ -1,412 +0,0 @@ -#!/usr/bin/env node -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2017 NAN contributors - * - * MIT License - ********************************************************************/ - -var commander = require('commander'), - fs = require('fs'), - glob = require('glob'), - groups = [], - total = 0, - warning1 = '/* ERROR: Rewrite using Buffer */\n', - warning2 = '\\/\\* ERROR\\: Rewrite using Buffer \\*\\/\\n', - length, - i; - -fs.readFile(__dirname + '/package.json', 'utf8', function (err, data) { - if (err) { - throw err; - } - - commander - .version(JSON.parse(data).version) - .usage('[options] ') - .parse(process.argv); - - if (!process.argv.slice(2).length) { - commander.outputHelp(); - } -}); - -/* construct strings representing regular expressions - each expression contains a unique group allowing for identification of the match - the index of this key group, relative to the regular expression in question, - is indicated by the first array member */ - -/* simple substistutions, key group is the entire match, 0 */ -groups.push([0, [ - '_NAN_', - 'NODE_SET_METHOD', - 'NODE_SET_PROTOTYPE_METHOD', - 'NanAsciiString', - 'NanEscapeScope', - 'NanReturnValue', - 'NanUcs2String'].join('|')]); - -/* substitutions of parameterless macros, key group is 1 */ -groups.push([1, ['(', [ - 'NanEscapableScope', - 'NanReturnNull', - 'NanReturnUndefined', - 'NanScope'].join('|'), ')\\(\\)'].join('')]); - -/* replace TryCatch with NanTryCatch once, gobbling possible namespace, key group 2 */ -groups.push([2, '(?:(?:v8\\:\\:)?|(Nan)?)(TryCatch)']); - -/* NanNew("string") will likely not fail a ToLocalChecked(), key group 1 */ -groups.push([1, ['(NanNew)', '(\\("[^\\"]*"[^\\)]*\\))(?!\\.ToLocalChecked\\(\\))'].join('')]); - -/* Removed v8 APIs, warn that the code needs rewriting using node::Buffer, key group 2 */ -groups.push([2, ['(', warning2, ')?', '^.*?(', [ - 'GetIndexedPropertiesExternalArrayDataLength', - 'GetIndexedPropertiesExternalArrayData', - 'GetIndexedPropertiesExternalArrayDataType', - 'GetIndexedPropertiesPixelData', - 'GetIndexedPropertiesPixelDataLength', - 'HasIndexedPropertiesInExternalArrayData', - 'HasIndexedPropertiesInPixelData', - 'SetIndexedPropertiesToExternalArrayData', - 'SetIndexedPropertiesToPixelData'].join('|'), ')'].join('')]); - -/* No need for NanScope in V8-exposed methods, key group 2 */ -groups.push([2, ['((', [ - 'NAN_METHOD', - 'NAN_GETTER', - 'NAN_SETTER', - 'NAN_PROPERTY_GETTER', - 'NAN_PROPERTY_SETTER', - 'NAN_PROPERTY_ENUMERATOR', - 'NAN_PROPERTY_DELETER', - 'NAN_PROPERTY_QUERY', - 'NAN_INDEX_GETTER', - 'NAN_INDEX_SETTER', - 'NAN_INDEX_ENUMERATOR', - 'NAN_INDEX_DELETER', - 'NAN_INDEX_QUERY'].join('|'), ')\\([^\\)]*\\)\\s*\\{)\\s*NanScope\\(\\)\\s*;'].join('')]); - -/* v8::Value::ToXXXXXXX returns v8::MaybeLocal, key group 3 */ -groups.push([3, ['([\\s\\(\\)])([^\\s\\(\\)]+)->(', [ - 'Boolean', - 'Number', - 'String', - 'Object', - 'Integer', - 'Uint32', - 'Int32'].join('|'), ')\\('].join('')]); - -/* v8::Value::XXXXXXXValue returns v8::Maybe, key group 3 */ -groups.push([3, ['([\\s\\(\\)])([^\\s\\(\\)]+)->((?:', [ - 'Boolean', - 'Number', - 'Integer', - 'Uint32', - 'Int32'].join('|'), ')Value)\\('].join('')]); - -/* NAN_WEAK_CALLBACK macro was removed, write out callback definition, key group 1 */ -groups.push([1, '(NAN_WEAK_CALLBACK)\\(([^\\s\\)]+)\\)']); - -/* node::ObjectWrap and v8::Persistent have been replaced with Nan implementations, key group 1 */ -groups.push([1, ['(', [ - 'NanDisposePersistent', - 'NanObjectWrapHandle'].join('|'), ')\\s*\\(\\s*([^\\s\\)]+)'].join('')]); - -/* Since NanPersistent there is no need for NanMakeWeakPersistent, key group 1 */ -groups.push([1, '(NanMakeWeakPersistent)\\s*\\(\\s*([^\\s,]+)\\s*,\\s*']); - -/* Many methods of v8::Object and others now return v8::MaybeLocal, key group 3 */ -groups.push([3, ['([\\s])([^\\s]+)->(', [ - 'GetEndColumn', - 'GetFunction', - 'GetLineNumber', - 'NewInstance', - 'GetPropertyNames', - 'GetOwnPropertyNames', - 'GetSourceLine', - 'GetStartColumn', - 'ObjectProtoToString', - 'ToArrayIndex', - 'ToDetailString', - 'CallAsConstructor', - 'CallAsFunction', - 'CloneElementAt', - 'Delete', - 'ForceSet', - 'Get', - 'GetPropertyAttributes', - 'GetRealNamedProperty', - 'GetRealNamedPropertyInPrototypeChain', - 'Has', - 'HasOwnProperty', - 'HasRealIndexedProperty', - 'HasRealNamedCallbackProperty', - 'HasRealNamedProperty', - 'Set', - 'SetAccessor', - 'SetIndexedPropertyHandler', - 'SetNamedPropertyHandler', - 'SetPrototype'].join('|'), ')\\('].join('')]); - -/* You should get an error if any of these fail anyways, - or handle the error better, it is indicated either way, key group 2 */ -groups.push([2, ['NanNew(<(?:v8\\:\\:)?(', ['Date', 'String', 'RegExp'].join('|'), ')>)(\\([^\\)]*\\))(?!\\.ToLocalChecked\\(\\))'].join('')]); - -/* v8::Value::Equals now returns a v8::Maybe, key group 3 */ -groups.push([3, '([\\s\\(\\)])([^\\s\\(\\)]+)->(Equals)\\(([^\\s\\)]+)']); - -/* NanPersistent makes this unnecessary, key group 1 */ -groups.push([1, '(NanAssignPersistent)(?:]+>)?\\(([^,]+),\\s*']); - -/* args has been renamed to info, key group 2 */ -groups.push([2, '(\\W)(args)(\\W)']) - -/* node::ObjectWrap was replaced with NanObjectWrap, key group 2 */ -groups.push([2, '(\\W)(?:node\\:\\:)?(ObjectWrap)(\\W)']); - -/* v8::Persistent was replaced with NanPersistent, key group 2 */ -groups.push([2, '(\\W)(?:v8\\:\\:)?(Persistent)(\\W)']); - -/* counts the number of capturing groups in a well-formed regular expression, - ignoring non-capturing groups and escaped parentheses */ -function groupcount(s) { - var positive = s.match(/\((?!\?)/g), - negative = s.match(/\\\(/g); - return (positive ? positive.length : 0) - (negative ? negative.length : 0); -} - -/* compute the absolute position of each key group in the joined master RegExp */ -for (i = 1, length = groups.length; i < length; i++) { - total += groupcount(groups[i - 1][1]); - groups[i][0] += total; -} - -/* create the master RegExp, whis is the union of all the groups' expressions */ -master = new RegExp(groups.map(function (a) { return a[1]; }).join('|'), 'gm'); - -/* replacement function for String.replace, receives 21 arguments */ -function replace() { - /* simple expressions */ - switch (arguments[groups[0][0]]) { - case '_NAN_': - return 'NAN_'; - case 'NODE_SET_METHOD': - return 'NanSetMethod'; - case 'NODE_SET_PROTOTYPE_METHOD': - return 'NanSetPrototypeMethod'; - case 'NanAsciiString': - return 'NanUtf8String'; - case 'NanEscapeScope': - return 'scope.Escape'; - case 'NanReturnNull': - return 'info.GetReturnValue().SetNull'; - case 'NanReturnValue': - return 'info.GetReturnValue().Set'; - case 'NanUcs2String': - return 'v8::String::Value'; - default: - } - - /* macros without arguments */ - switch (arguments[groups[1][0]]) { - case 'NanEscapableScope': - return 'NanEscapableScope scope' - case 'NanReturnUndefined': - return 'return'; - case 'NanScope': - return 'NanScope scope'; - default: - } - - /* TryCatch, emulate negative backref */ - if (arguments[groups[2][0]] === 'TryCatch') { - return arguments[groups[2][0] - 1] ? arguments[0] : 'NanTryCatch'; - } - - /* NanNew("foo") --> NanNew("foo").ToLocalChecked() */ - if (arguments[groups[3][0]] === 'NanNew') { - return [arguments[0], '.ToLocalChecked()'].join(''); - } - - /* insert warning for removed functions as comment on new line above */ - switch (arguments[groups[4][0]]) { - case 'GetIndexedPropertiesExternalArrayData': - case 'GetIndexedPropertiesExternalArrayDataLength': - case 'GetIndexedPropertiesExternalArrayDataType': - case 'GetIndexedPropertiesPixelData': - case 'GetIndexedPropertiesPixelDataLength': - case 'HasIndexedPropertiesInExternalArrayData': - case 'HasIndexedPropertiesInPixelData': - case 'SetIndexedPropertiesToExternalArrayData': - case 'SetIndexedPropertiesToPixelData': - return arguments[groups[4][0] - 1] ? arguments[0] : [warning1, arguments[0]].join(''); - default: - } - - /* remove unnecessary NanScope() */ - switch (arguments[groups[5][0]]) { - case 'NAN_GETTER': - case 'NAN_METHOD': - case 'NAN_SETTER': - case 'NAN_INDEX_DELETER': - case 'NAN_INDEX_ENUMERATOR': - case 'NAN_INDEX_GETTER': - case 'NAN_INDEX_QUERY': - case 'NAN_INDEX_SETTER': - case 'NAN_PROPERTY_DELETER': - case 'NAN_PROPERTY_ENUMERATOR': - case 'NAN_PROPERTY_GETTER': - case 'NAN_PROPERTY_QUERY': - case 'NAN_PROPERTY_SETTER': - return arguments[groups[5][0] - 1]; - default: - } - - /* Value converstion */ - switch (arguments[groups[6][0]]) { - case 'Boolean': - case 'Int32': - case 'Integer': - case 'Number': - case 'Object': - case 'String': - case 'Uint32': - return [arguments[groups[6][0] - 2], 'NanTo(', arguments[groups[6][0] - 1]].join(''); - default: - } - - /* other value conversion */ - switch (arguments[groups[7][0]]) { - case 'BooleanValue': - return [arguments[groups[7][0] - 2], 'NanTo(', arguments[groups[7][0] - 1]].join(''); - case 'Int32Value': - return [arguments[groups[7][0] - 2], 'NanTo(', arguments[groups[7][0] - 1]].join(''); - case 'IntegerValue': - return [arguments[groups[7][0] - 2], 'NanTo(', arguments[groups[7][0] - 1]].join(''); - case 'Uint32Value': - return [arguments[groups[7][0] - 2], 'NanTo(', arguments[groups[7][0] - 1]].join(''); - default: - } - - /* NAN_WEAK_CALLBACK */ - if (arguments[groups[8][0]] === 'NAN_WEAK_CALLBACK') { - return ['template\nvoid ', - arguments[groups[8][0] + 1], '(const NanWeakCallbackInfo &data)'].join(''); - } - - /* use methods on NAN classes instead */ - switch (arguments[groups[9][0]]) { - case 'NanDisposePersistent': - return [arguments[groups[9][0] + 1], '.Reset('].join(''); - case 'NanObjectWrapHandle': - return [arguments[groups[9][0] + 1], '->handle('].join(''); - default: - } - - /* use method on NanPersistent instead */ - if (arguments[groups[10][0]] === 'NanMakeWeakPersistent') { - return arguments[groups[10][0] + 1] + '.SetWeak('; - } - - /* These return Maybes, the upper ones take no arguments */ - switch (arguments[groups[11][0]]) { - case 'GetEndColumn': - case 'GetFunction': - case 'GetLineNumber': - case 'GetOwnPropertyNames': - case 'GetPropertyNames': - case 'GetSourceLine': - case 'GetStartColumn': - case 'NewInstance': - case 'ObjectProtoToString': - case 'ToArrayIndex': - case 'ToDetailString': - return [arguments[groups[11][0] - 2], 'Nan', arguments[groups[11][0]], '(', arguments[groups[11][0] - 1]].join(''); - case 'CallAsConstructor': - case 'CallAsFunction': - case 'CloneElementAt': - case 'Delete': - case 'ForceSet': - case 'Get': - case 'GetPropertyAttributes': - case 'GetRealNamedProperty': - case 'GetRealNamedPropertyInPrototypeChain': - case 'Has': - case 'HasOwnProperty': - case 'HasRealIndexedProperty': - case 'HasRealNamedCallbackProperty': - case 'HasRealNamedProperty': - case 'Set': - case 'SetAccessor': - case 'SetIndexedPropertyHandler': - case 'SetNamedPropertyHandler': - case 'SetPrototype': - return [arguments[groups[11][0] - 2], 'Nan', arguments[groups[11][0]], '(', arguments[groups[11][0] - 1], ', '].join(''); - default: - } - - /* Automatic ToLocalChecked(), take it or leave it */ - switch (arguments[groups[12][0]]) { - case 'Date': - case 'String': - case 'RegExp': - return ['NanNew', arguments[groups[12][0] - 1], arguments[groups[12][0] + 1], '.ToLocalChecked()'].join(''); - default: - } - - /* NanEquals is now required for uniformity */ - if (arguments[groups[13][0]] === 'Equals') { - return [arguments[groups[13][0] - 1], 'NanEquals(', arguments[groups[13][0] - 1], ', ', arguments[groups[13][0] + 1]].join(''); - } - - /* use method on replacement class instead */ - if (arguments[groups[14][0]] === 'NanAssignPersistent') { - return [arguments[groups[14][0] + 1], '.Reset('].join(''); - } - - /* args --> info */ - if (arguments[groups[15][0]] === 'args') { - return [arguments[groups[15][0] - 1], 'info', arguments[groups[15][0] + 1]].join(''); - } - - /* ObjectWrap --> NanObjectWrap */ - if (arguments[groups[16][0]] === 'ObjectWrap') { - return [arguments[groups[16][0] - 1], 'NanObjectWrap', arguments[groups[16][0] + 1]].join(''); - } - - /* Persistent --> NanPersistent */ - if (arguments[groups[17][0]] === 'Persistent') { - return [arguments[groups[17][0] - 1], 'NanPersistent', arguments[groups[17][0] + 1]].join(''); - } - - /* This should not happen. A switch is probably missing a case if it does. */ - throw 'Unhandled match: ' + arguments[0]; -} - -/* reads a file, runs replacement and writes it back */ -function processFile(file) { - fs.readFile(file, {encoding: 'utf8'}, function (err, data) { - if (err) { - throw err; - } - - /* run replacement twice, might need more runs */ - fs.writeFile(file, data.replace(master, replace).replace(master, replace), function (err) { - if (err) { - throw err; - } - }); - }); -} - -/* process file names from command line and process the identified files */ -for (i = 2, length = process.argv.length; i < length; i++) { - glob(process.argv[i], function (err, matches) { - if (err) { - throw err; - } - matches.forEach(processFile); - }); -} diff --git a/node_modules/nan/tools/README.md b/node_modules/nan/tools/README.md deleted file mode 100644 index 7f07e4b..0000000 --- a/node_modules/nan/tools/README.md +++ /dev/null @@ -1,14 +0,0 @@ -1to2 naively converts source code files from NAN 1 to NAN 2. There will be erroneous conversions, -false positives and missed opportunities. The input files are rewritten in place. Make sure that -you have backups. You will have to manually review the changes afterwards and do some touchups. - -```sh -$ tools/1to2.js - - Usage: 1to2 [options] - - Options: - - -h, --help output usage information - -V, --version output the version number -``` diff --git a/node_modules/nan/tools/package.json b/node_modules/nan/tools/package.json deleted file mode 100644 index 2dcdd78..0000000 --- a/node_modules/nan/tools/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "1to2", - "version": "1.0.0", - "description": "NAN 1 -> 2 Migration Script", - "main": "1to2.js", - "repository": { - "type": "git", - "url": "git://github.com/nodejs/nan.git" - }, - "contributors": [ - "Benjamin Byholm (https://github.com/kkoopa/)", - "Mathias Küsel (https://github.com/mathiask88/)" - ], - "dependencies": { - "glob": "~5.0.10", - "commander": "~2.8.1" - }, - "license": "MIT" -} diff --git a/node_modules/node-abi/.npmignore b/node_modules/node-abi/.npmignore deleted file mode 100644 index 5148e52..0000000 --- a/node_modules/node-abi/.npmignore +++ /dev/null @@ -1,37 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* - -# Runtime data -pids -*.pid -*.seed - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (http://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules -jspm_packages - -# Optional npm cache directory -.npm - -# Optional REPL history -.node_repl_history diff --git a/node_modules/node-abi/.travis.yml b/node_modules/node-abi/.travis.yml deleted file mode 100644 index 1a29d49..0000000 --- a/node_modules/node-abi/.travis.yml +++ /dev/null @@ -1,8 +0,0 @@ -language: node_js -node_js: - - '7' - - '6' - - '5' - - '4' - - '0.12' - - '0.10' diff --git a/node_modules/node-abi/LICENSE b/node_modules/node-abi/LICENSE deleted file mode 100644 index 5513de0..0000000 --- a/node_modules/node-abi/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2016 Lukas Geiger - -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. diff --git a/node_modules/node-abi/README.md b/node_modules/node-abi/README.md deleted file mode 100644 index a5cfeb7..0000000 --- a/node_modules/node-abi/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# Node.js ABI - -[![Build Status](https://travis-ci.org/lgeiger/node-abi.svg?branch=v1.0.0)](https://travis-ci.org/lgeiger/node-abi) [![Greenkeeper badge](https://badges.greenkeeper.io/lgeiger/node-abi.svg)](https://greenkeeper.io/) - - -Get the Node ABI for a given target and runtime, and vice versa. - -## Installation -``` -npm install node-abi -``` - -## Usage -```javascript -const nodeAbi = require('node-abi') - -nodeAbi.getAbi('7.2.0', 'node') -// '51' -nodeAbi.getAbi('1.4.10', 'electron') -// '50' -nodeAbi.getTarget('51', 'node') -// '7.2.0' -nodeAbi.getTarget('50', 'electron') -// '1.4.15' - -nodeAbi.allTargets -// [ -// { runtime: 'node', target: '0.10.48', abi: '11', lts: false }, -// { runtime: 'node', target: '0.12.17', abi: '14', lts: false }, -// { runtime: 'node', target: '4.6.1', abi: '46', lts: true }, -// { runtime: 'node', target: '5.12.0', abi: '47', lts: false }, -// { runtime: 'node', target: '6.9.4', abi: '48', lts: true }, -// { runtime: 'node', target: '7.4.0', abi: '51', lts: false }, -// { runtime: 'electron', target: '1.0.2', abi: '47', lts: false }, -// { runtime: 'electron', target: '1.2.8', abi: '48', lts: false }, -// { runtime: 'electron', target: '1.3.13', abi: '49', lts: false }, -// { runtime: 'electron', target: '1.4.15', abi: '50', lts: false } -// ] -nodeAbi.supportedTargets -nodeAbi.deprecatedTargets -// ... -``` - -## References - -- https://github.com/lgeiger/electron-abi -- https://nodejs.org/en/download/releases/ -- https://github.com/nodejs/LTS diff --git a/node_modules/node-abi/index.js b/node_modules/node-abi/index.js deleted file mode 100644 index 76c2413..0000000 --- a/node_modules/node-abi/index.js +++ /dev/null @@ -1,101 +0,0 @@ -function getAbi (target, runtime) { - if (target === String(Number(target))) return target - if (target) target = target.replace(/^v/, '') - - if (runtime === 'electron') { - if (/^1\.6\./.test(target)) return '53' - if (/^1\.5\./.test(target)) return '51' - if (/^1\.4\./.test(target)) return '50' - if (/^1\.3\./.test(target)) return '49' - if (/^1\.[1-2]\./.test(target)) return '48' - if (/^1\.0\./.test(target)) return '47' - if (/^0\.3[6-7]\./.test(target)) return '47' - if (/^0\.3[3-5]\./.test(target)) return '46' - if (/^0\.3[1-2]\./.test(target)) return '45' - if (/^0\.30\./.test(target)) return '44' - } else { - if (!target) return process.versions.modules - if (target === process.versions.node) return process.versions.modules - if (/^8\./.test(target)) return '52' - if (/^7\./.test(target)) return '51' - if (/^6\./.test(target)) return '48' - if (/^5\./.test(target)) return '47' - if (/^4\./.test(target)) return '46' - if (/^0\.12\./.test(target)) return '14' - if (/^0\.10\.[0-3]$/.test(target)) return '0x000B' - if (/^0\.10\./.test(target)) return '11' - // io.js and legacy Node.js - if (/^3\./.test(target)) return '45' - if (/^2\./.test(target)) return '44' - if (/^1\.[1-8]\./.test(target)) return '43' - if (/^1\.0\./.test(target)) return '42' - if (/^0\.11\.1[1-6]/.test(target)) return '14' - if (/^0\.11\.10/.test(target)) return '13' - if (/^0\.11\.[8-9]/.test(target)) return '13' - if (/^0\.11\.[0-7]/.test(target)) return '0x000C' - if (/^0\.9\.1[0-2]$/.test(target)) return '0x000B' - if (/^0\.9\.9$/.test(target)) return '0x000B' - if (/^0\.9\.[1-8]$/.test(target)) return '0x000A' - if (/^0\.9\.0/.test(target)) return '1' - if (/^0\.[2-8]/.test(target)) return '1' - } - - throw new Error('Could not detect abi for version ' + target + ' and runtime ' + runtime + '. Updating "node-abi" might help solve this issue if it is a new release of ' + runtime) -} - -function getTarget (abi, runtime) { - if (abi && abi !== String(Number(abi))) return abi - if (!runtime) runtime = 'node' - - if (runtime === 'node' && !abi) return process.versions.node - - var match = allTargets - .filter(function (t) { - return t.abi === abi && t.runtime === runtime - }) - .map(function (t) { - return t.target - }) - if (match.length) return match[0] - - throw new Error('Could not detect target for abi ' + abi + ' and runtime ' + runtime) -} - -var supportedTargets = [ - {runtime: 'node', target: '0.10.48', abi: '11', lts: false}, - {runtime: 'node', target: '0.12.17', abi: '14', lts: false}, - {runtime: 'node', target: '4.6.1', abi: '46', lts: new Date() < new Date(2017, 04, 01)}, - {runtime: 'node', target: '5.12.0', abi: '47', lts: false}, - {runtime: 'node', target: '6.9.4', abi: '48', lts: new Date() < new Date(2018, 04, 18)}, - {runtime: 'node', target: '7.4.0', abi: '51', lts: false}, - {runtime: 'electron', target: '1.0.2', abi: '47', lts: false}, - {runtime: 'electron', target: '1.2.8', abi: '48', lts: false}, - {runtime: 'electron', target: '1.3.13', abi: '49', lts: false}, - {runtime: 'electron', target: '1.4.15', abi: '50', lts: false}, - {runtime: 'electron', target: '1.5.0', abi: '51', lts: false}, - {runtime: 'electron', target: '1.6.0', abi: '53', lts: false} -] - -var deprecatedTargets = [ - {runtime: 'node', target: '0.2.0', abi: '1', lts: false}, - {runtime: 'node', target: '0.9.1', abi: '0x000A', lts: false}, - {runtime: 'node', target: '0.10.0', abi: '0x000B', lts: false}, - {runtime: 'node', target: '0.11.0', abi: '0x000C', lts: false}, - {runtime: 'node', target: '0.11.10', abi: '13', lts: false}, - {runtime: 'node', target: '1.0.0', abi: '42', lts: false}, - {runtime: 'node', target: '1.1.0', abi: '43', lts: false}, - {runtime: 'node', target: '2.0.0', abi: '44', lts: false}, - {runtime: 'node', target: '3.0.0', abi: '45', lts: false}, - {runtime: 'node', target: '8.0.0', abi: '52', lts: false}, - {runtime: 'electron', target: '0.30.0', abi: '44', lts: false}, - {runtime: 'electron', target: '0.31.0', abi: '45', lts: false}, - {runtime: 'electron', target: '0.33.0', abi: '46', lts: false} -] - -var allTargets = supportedTargets.concat(deprecatedTargets) - -exports.getAbi = getAbi -exports.getTarget = getTarget -exports.supportedTargets = supportedTargets -exports.deprecatedTargets = deprecatedTargets -exports.allTargets = allTargets diff --git a/node_modules/node-abi/package.json b/node_modules/node-abi/package.json deleted file mode 100644 index 7c51e2b..0000000 --- a/node_modules/node-abi/package.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "node-abi@^2.0.0", - "scope": null, - "escapedName": "node-abi", - "name": "node-abi", - "rawSpec": "^2.0.0", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install" - ] - ], - "_from": "node-abi@>=2.0.0 <3.0.0", - "_id": "node-abi@2.0.0", - "_inCache": true, - "_installable": true, - "_location": "/node-abi", - "_nodeVersion": "7.5.0", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/node-abi-2.0.0.tgz_1486746887912_0.0831943484954536" - }, - "_npmUser": { - "name": "lgeiger", - "email": "lukas.geiger94@gmail.com" - }, - "_npmVersion": "4.2.0", - "_phantomChildren": {}, - "_requested": { - "raw": "node-abi@^2.0.0", - "scope": null, - "escapedName": "node-abi", - "name": "node-abi", - "rawSpec": "^2.0.0", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "_requiredBy": [ - "/prebuild-install" - ], - "_resolved": "http://registry.npmjs.org/node-abi/-/node-abi-2.0.0.tgz", - "_shasum": "443bfd151b599231028ae425e592e76cd31cb537", - "_shrinkwrap": null, - "_spec": "node-abi@^2.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install", - "author": { - "name": "Lukas Geiger" - }, - "bugs": { - "url": "https://github.com/lgeiger/node-abi/issues" - }, - "dependencies": {}, - "description": "Get the Node ABI for a given target and runtime, and vice versa.", - "devDependencies": { - "tape": "^4.6.3" - }, - "directories": {}, - "dist": { - "shasum": "443bfd151b599231028ae425e592e76cd31cb537", - "tarball": "https://registry.npmjs.org/node-abi/-/node-abi-2.0.0.tgz" - }, - "gitHead": "e1df71adfdd6596e6dd77e0a34884d23075bfce6", - "homepage": "https://github.com/lgeiger/node-abi#readme", - "keywords": [ - "node", - "electron", - "node_module_version", - "abi", - "v8" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "lgeiger", - "email": "lukas.geiger94@gmail.com" - }, - { - "name": "mafintosh", - "email": "mathiasbuus@gmail.com" - } - ], - "name": "node-abi", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/lgeiger/node-abi.git" - }, - "scripts": { - "test": "tape test" - }, - "version": "2.0.0" -} diff --git a/node_modules/node-abi/test/index.js b/node_modules/node-abi/test/index.js deleted file mode 100644 index 1da483a..0000000 --- a/node_modules/node-abi/test/index.js +++ /dev/null @@ -1,89 +0,0 @@ -var test = require('tape') -var getAbi = require('../index').getAbi -var getTarget = require('../index').getTarget - -test('getTarget calculates correct Node target', function (t) { - t.equal(getTarget(undefined), process.versions.node) - t.equal(getTarget(null), process.versions.node) - t.equal(getTarget('11'), '0.10.48') - t.equal(getTarget('14'), '0.12.17') - t.equal(getTarget('46'), '4.6.1') - t.equal(getTarget('47'), '5.12.0') - t.equal(getTarget('48'), '6.9.4') - t.equal(getTarget('51'), '7.4.0') - t.end() -}) - -test('getTarget calculates correct Electron target', function (t) { - t.throws(getTarget.bind(null, '14', 'electron')) - t.equal(getTarget('47', 'electron'), '1.0.2') - t.equal(getTarget('48', 'electron'), '1.2.8') - t.equal(getTarget('49', 'electron'), '1.3.13') - t.equal(getTarget('50', 'electron'), '1.4.15') - t.end() -}) - -test('getAbi calculates correct Node ABI', function (t) { - t.equal(getAbi(undefined), process.versions.modules) - t.equal(getAbi(null), process.versions.modules) - t.throws(function () { getAbi('a.b.c') }) - t.equal(getAbi('7.2.0'), '51') - t.equal(getAbi('7.0.0'), '51') - t.equal(getAbi('6.9.9'), '48') - t.equal(getAbi('6.0.0'), '48') - t.equal(getAbi('5.9.9'), '47') - t.equal(getAbi('5.0.0'), '47') - t.equal(getAbi('4.9.9'), '46') - t.equal(getAbi('4.0.0'), '46') - t.equal(getAbi('0.12.17'), '14') - t.equal(getAbi('0.12.0'), '14') - t.equal(getAbi('0.11.16'), '14') - t.equal(getAbi('0.11.11'), '14') - t.equal(getAbi('0.11.10'), '13') - t.equal(getAbi('0.11.8'), '13') - t.equal(getAbi('0.11.7'), '0x000C') - t.equal(getAbi('0.11.0'), '0x000C') - t.equal(getAbi('0.10.48'), '11') - t.equal(getAbi('0.10.30'), '11') - t.equal(getAbi('0.10.4'), '11') - t.equal(getAbi('0.10.3'), '0x000B') - t.equal(getAbi('0.10.1'), '0x000B') - t.equal(getAbi('0.10.0'), '0x000B') - t.equal(getAbi('0.9.12'), '0x000B') - t.equal(getAbi('0.9.9'), '0x000B') - t.equal(getAbi('0.9.8'), '0x000A') - t.equal(getAbi('0.9.1'), '0x000A') - t.equal(getAbi('0.9.0'), '1') - t.equal(getAbi('0.8.0'), '1') - t.equal(getAbi('0.2.0'), '1') - t.end() -}) - -test('getAbi calculates correct Electron ABI', function (t) { - t.throws(function () { getAbi(undefined, 'electron') }) - t.throws(function () { getAbi('7.2.0', 'electron') }) - t.equal(getAbi('1.4.0', 'electron'), '50') - t.equal(getAbi('1.3.0', 'electron'), '49') - t.equal(getAbi('1.2.0', 'electron'), '48') - t.equal(getAbi('1.1.0', 'electron'), '48') - t.equal(getAbi('1.0.0', 'electron'), '47') - t.equal(getAbi('0.37.0', 'electron'), '47') - t.equal(getAbi('0.36.0', 'electron'), '47') - t.equal(getAbi('0.35.0', 'electron'), '46') - t.equal(getAbi('0.34.0', 'electron'), '46') - t.equal(getAbi('0.33.0', 'electron'), '46') - t.equal(getAbi('0.32.0', 'electron'), '45') - t.equal(getAbi('0.31.0', 'electron'), '45') - t.equal(getAbi('0.30.0', 'electron'), '44') - t.end() -}) - -test('getAbi supports leading v', function (t) { - t.equal(getAbi('v7.2.0'), '51') - t.end() -}) - -test('getAbi returns abi if passed as target', function (t) { - t.equal(getAbi('57'), '57') - t.end() -}) diff --git a/node_modules/noop-logger/.npmignore b/node_modules/noop-logger/.npmignore deleted file mode 100644 index b512c09..0000000 --- a/node_modules/noop-logger/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules \ No newline at end of file diff --git a/node_modules/noop-logger/History.md b/node_modules/noop-logger/History.md deleted file mode 100644 index 5eaa2d6..0000000 --- a/node_modules/noop-logger/History.md +++ /dev/null @@ -1,16 +0,0 @@ - -0.1.1 / 2016-02-16 -================== - - * add logger.verbose - -0.1.0 / 2014-04-04 -================== - - * add ci - * add critical, alert and emergency - * docs - -0.0.1 - February 27, 2013 -------------------------- -:sparkles: diff --git a/node_modules/noop-logger/Makefile b/node_modules/noop-logger/Makefile deleted file mode 100644 index e367278..0000000 --- a/node_modules/noop-logger/Makefile +++ /dev/null @@ -1,8 +0,0 @@ - -node_modules: package.json - @npm install - -test: node_modules - @./node_modules/.bin/mocha --reporter spec - -.PHONY: test \ No newline at end of file diff --git a/node_modules/noop-logger/Readme.md b/node_modules/noop-logger/Readme.md deleted file mode 100644 index ae6b4c7..0000000 --- a/node_modules/noop-logger/Readme.md +++ /dev/null @@ -1,27 +0,0 @@ -[![Build Status](https://circleci.com/gh/segmentio/noop-logger.png?circle-token=3281390270513cae0e50fd18b8d972eb48a56879)](https://circleci.com/gh/segmentio/noop-logger) - -# noop-logger - - A logger that does exactly nothing, useful when you want to test modules that require a logger to be passed in. - -## Installation - - $ npm install noop-logger - -## API - - Exposes the following noops: - - - `logger.debug` - - `logger.info` - - `logger.warn` - - `logger.error` - - `logger.critical` - - `logger.alert` - - `logger.emergency` - - `logger.notice` - - `logger.fatal` - -## License - - MIT diff --git a/node_modules/noop-logger/circle.yml b/node_modules/noop-logger/circle.yml deleted file mode 100644 index 82c53e9..0000000 --- a/node_modules/noop-logger/circle.yml +++ /dev/null @@ -1,9 +0,0 @@ -machine: - node: - version: 0.10.26 -checkout: - post: - - echo "_auth = `printf $AUTH`" > npmrc -dependencies: - override: - - npm install --userconfig npmrc --registry https://segmentio.registry.nodejitsu.com --no-strict-ssl --always-auth diff --git a/node_modules/noop-logger/lib/index.js b/node_modules/noop-logger/lib/index.js deleted file mode 100644 index 9028eca..0000000 --- a/node_modules/noop-logger/lib/index.js +++ /dev/null @@ -1,25 +0,0 @@ - -/** - * Methods. - */ - -var methods = [ - 'debug', - 'info', - 'warn', - 'error', - 'critical', - 'alert', - 'emergency', - 'notice', - 'verbose', - 'fatal' -]; - -/** - * Expose methods. - */ - -methods.forEach(function(method){ - exports[method] = function(){}; -}); diff --git a/node_modules/noop-logger/package.json b/node_modules/noop-logger/package.json deleted file mode 100644 index c516779..0000000 --- a/node_modules/noop-logger/package.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "noop-logger@^0.1.1", - "scope": null, - "escapedName": "noop-logger", - "name": "noop-logger", - "rawSpec": "^0.1.1", - "spec": ">=0.1.1 <0.2.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install" - ] - ], - "_from": "noop-logger@>=0.1.1 <0.2.0", - "_id": "noop-logger@0.1.1", - "_inCache": true, - "_installable": true, - "_location": "/noop-logger", - "_nodeVersion": "4.2.4", - "_npmOperationalInternal": { - "host": "packages-6-west.internal.npmjs.com", - "tmp": "tmp/noop-logger-0.1.1.tgz_1455640849747_0.5082028021570295" - }, - "_npmUser": { - "name": "segment", - "email": "tools+npm@segment.com" - }, - "_npmVersion": "2.14.12", - "_phantomChildren": {}, - "_requested": { - "raw": "noop-logger@^0.1.1", - "scope": null, - "escapedName": "noop-logger", - "name": "noop-logger", - "rawSpec": "^0.1.1", - "spec": ">=0.1.1 <0.2.0", - "type": "range" - }, - "_requiredBy": [ - "/prebuild-install" - ], - "_resolved": "http://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", - "_shasum": "94a2b1633c4f1317553007d8966fd0e841b6a4c2", - "_shrinkwrap": null, - "_spec": "noop-logger@^0.1.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install", - "bugs": { - "url": "https://github.com/segmentio/noop-logger/issues" - }, - "dependencies": {}, - "description": "A logger that does exactly nothing.", - "devDependencies": { - "mocha": "1.x" - }, - "directories": {}, - "dist": { - "shasum": "94a2b1633c4f1317553007d8966fd0e841b6a4c2", - "tarball": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz" - }, - "gitHead": "992174718b157fdfd6f9fd065b53ff7aa4696cf5", - "homepage": "https://github.com/segmentio/noop-logger#readme", - "license": "MIT", - "main": "lib/index.js", - "maintainers": [ - { - "name": "segmentio", - "email": "team@segment.io" - }, - { - "name": "segment", - "email": "tj@segment.io" - } - ], - "name": "noop-logger", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/segmentio/noop-logger.git" - }, - "scripts": { - "test": "mocha" - }, - "version": "0.1.1" -} diff --git a/node_modules/noop-logger/test/index.js b/node_modules/noop-logger/test/index.js deleted file mode 100644 index e9eac5b..0000000 --- a/node_modules/noop-logger/test/index.js +++ /dev/null @@ -1,18 +0,0 @@ - -var assert = require('assert'); -var logger = require('..'); - -describe('noop-logger', function(){ - it('should expose methods', function(){ - assert.equal('function', typeof logger.debug); - assert.equal('function', typeof logger.info); - assert.equal('function', typeof logger.warn); - assert.equal('function', typeof logger.error); - assert.equal('function', typeof logger.critical); - assert.equal('function', typeof logger.alert); - assert.equal('function', typeof logger.emergency); - assert.equal('function', typeof logger.notice); - assert.equal('function', typeof logger.verbose); - assert.equal('function', typeof logger.fatal); - }); -}); diff --git a/node_modules/npmlog/CHANGELOG.md b/node_modules/npmlog/CHANGELOG.md deleted file mode 100644 index 5567226..0000000 --- a/node_modules/npmlog/CHANGELOG.md +++ /dev/null @@ -1,45 +0,0 @@ -### v4.0.1 - -* Fix bugs where `log.progressEnabled` got out of sync with how `gauge` kept - track of these things resulting in a progressbar that couldn't be disabled. - -### v4.0.0 - -* Allow creating log levels that are an empty string or 0. - -### v3.1.2 - -* Update to `gauge@1.6.0` adding support for default values for template - items. - -### v3.1.1 - -* Update to `gauge@1.5.3` to fix to `1.x` compatibility when it comes to - when a progress bar is enabled. In `1.x` if you didn't have a TTY the - progress bar was never shown. In `2.x` it merely defaults to disabled, - but you can enable it explicitly if you still want progress updates. - -### v3.1.0 - -* Update to `gauge@2.5.2`: - * Updates the `signal-exit` dependency which fixes an incompatibility with - the node profiler. - * Uses externalizes its ansi code generation in `console-control-strings` -* Make the default progress bar include the last line printed, colored as it - would be when printing to a tty. - -### v3.0.0 - -* Switch to `gauge@2.0.0`, for better performance, better look. -* Set stderr/stdout blocking if they're tty's, so that we can hide a - progress bar going to stderr and then safely print to stdout. Without - this the two can end up overlapping producing confusing and sometimes - corrupted output. - -### v2.0.0 - -* Make the `error` event non-fatal so that folks can use it as a prefix. - -### v1.0.0 - -* Add progress bar with `gauge@1.1.0` diff --git a/node_modules/npmlog/LICENSE b/node_modules/npmlog/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/node_modules/npmlog/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -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. diff --git a/node_modules/npmlog/README.md b/node_modules/npmlog/README.md deleted file mode 100644 index 268a4af..0000000 --- a/node_modules/npmlog/README.md +++ /dev/null @@ -1,216 +0,0 @@ -# npmlog - -The logger util that npm uses. - -This logger is very basic. It does the logging for npm. It supports -custom levels and colored output. - -By default, logs are written to stderr. If you want to send log messages -to outputs other than streams, then you can change the `log.stream` -member, or you can just listen to the events that it emits, and do -whatever you want with them. - -# Installation - -```console -npm install npmlog --save -``` - -# Basic Usage - -```javascript -var log = require('npmlog') - -// additional stuff ---------------------------+ -// message ----------+ | -// prefix ----+ | | -// level -+ | | | -// v v v v - log.info('fyi', 'I have a kitty cat: %j', myKittyCat) -``` - -## log.level - -* {String} - -The level to display logs at. Any logs at or above this level will be -displayed. The special level `silent` will prevent anything from being -displayed ever. - -## log.record - -* {Array} - -An array of all the log messages that have been entered. - -## log.maxRecordSize - -* {Number} - -The maximum number of records to keep. If log.record gets bigger than -10% over this value, then it is sliced down to 90% of this value. - -The reason for the 10% window is so that it doesn't have to resize a -large array on every log entry. - -## log.prefixStyle - -* {Object} - -A style object that specifies how prefixes are styled. (See below) - -## log.headingStyle - -* {Object} - -A style object that specifies how the heading is styled. (See below) - -## log.heading - -* {String} Default: "" - -If set, a heading that is printed at the start of every line. - -## log.stream - -* {Stream} Default: `process.stderr` - -The stream where output is written. - -## log.enableColor() - -Force colors to be used on all messages, regardless of the output -stream. - -## log.disableColor() - -Disable colors on all messages. - -## log.enableProgress() - -Enable the display of log activity spinner and progress bar - -## log.disableProgress() - -Disable the display of a progress bar - -## log.enableUnicode() - -Force the unicode theme to be used for the progress bar. - -## log.disableUnicode() - -Disable the use of unicode in the progress bar. - -## log.setGaugeTemplate(template) - -Set a template for outputting the progress bar. See the [gauge documentation] for details. - -[gauge documentation]: https://npmjs.com/package/gauge - -## log.setGaugeThemeset(themes) - -Select a themeset to pick themes from for the progress bar. See the [gauge documentation] for details. - -## log.pause() - -Stop emitting messages to the stream, but do not drop them. - -## log.resume() - -Emit all buffered messages that were written while paused. - -## log.log(level, prefix, message, ...) - -* `level` {String} The level to emit the message at -* `prefix` {String} A string prefix. Set to "" to skip. -* `message...` Arguments to `util.format` - -Emit a log message at the specified level. - -## log\[level](prefix, message, ...) - -For example, - -* log.silly(prefix, message, ...) -* log.verbose(prefix, message, ...) -* log.info(prefix, message, ...) -* log.http(prefix, message, ...) -* log.warn(prefix, message, ...) -* log.error(prefix, message, ...) - -Like `log.log(level, prefix, message, ...)`. In this way, each level is -given a shorthand, so you can do `log.info(prefix, message)`. - -## log.addLevel(level, n, style, disp) - -* `level` {String} Level indicator -* `n` {Number} The numeric level -* `style` {Object} Object with fg, bg, inverse, etc. -* `disp` {String} Optional replacement for `level` in the output. - -Sets up a new level with a shorthand function and so forth. - -Note that if the number is `Infinity`, then setting the level to that -will cause all log messages to be suppressed. If the number is -`-Infinity`, then the only way to show it is to enable all log messages. - -## log.newItem(name, todo, weight) - -* `name` {String} Optional; progress item name. -* `todo` {Number} Optional; total amount of work to be done. Default 0. -* `weight` {Number} Optional; the weight of this item relative to others. Default 1. - -This adds a new `are-we-there-yet` item tracker to the progress tracker. The -object returned has the `log[level]` methods but is otherwise an -`are-we-there-yet` `Tracker` object. - -## log.newStream(name, todo, weight) - -This adds a new `are-we-there-yet` stream tracker to the progress tracker. The -object returned has the `log[level]` methods but is otherwise an -`are-we-there-yet` `TrackerStream` object. - -## log.newGroup(name, weight) - -This adds a new `are-we-there-yet` tracker group to the progress tracker. The -object returned has the `log[level]` methods but is otherwise an -`are-we-there-yet` `TrackerGroup` object. - -# Events - -Events are all emitted with the message object. - -* `log` Emitted for all messages -* `log.` Emitted for all messages with the `` level. -* `` Messages with prefixes also emit their prefix as an event. - -# Style Objects - -Style objects can have the following fields: - -* `fg` {String} Color for the foreground text -* `bg` {String} Color for the background -* `bold`, `inverse`, `underline` {Boolean} Set the associated property -* `bell` {Boolean} Make a noise (This is pretty annoying, probably.) - -# Message Objects - -Every log event is emitted with a message object, and the `log.record` -list contains all of them that have been created. They have the -following fields: - -* `id` {Number} -* `level` {String} -* `prefix` {String} -* `message` {String} Result of `util.format()` -* `messageRaw` {Array} Arguments to `util.format()` - -# Blocking TTYs - -We use [`set-blocking`](https://npmjs.com/package/set-blocking) to set -stderr and stdout blocking if they are tty's and have the setBlocking call. -This is a work around for an issue in early versions of Node.js 6.x, which -made stderr and stdout non-blocking on OSX. (They are always blocking -Windows and were never blocking on Linux.) `npmlog` needs them to be blocking -so that it can allow output to stdout and stderr to be interlaced. diff --git a/node_modules/npmlog/log.js b/node_modules/npmlog/log.js deleted file mode 100644 index be67567..0000000 --- a/node_modules/npmlog/log.js +++ /dev/null @@ -1,302 +0,0 @@ -'use strict' -var Progress = require('are-we-there-yet') -var Gauge = require('gauge') -var EE = require('events').EventEmitter -var log = exports = module.exports = new EE() -var util = require('util') - -var setBlocking = require('set-blocking') -var consoleControl = require('console-control-strings') - -setBlocking(true) -var stream = process.stderr -Object.defineProperty(log, 'stream', { - set: function (newStream) { - stream = newStream - if (this.gauge) this.gauge.setWriteTo(stream, stream) - }, - get: function () { - return stream - } -}) - -// by default, decide based on tty-ness. -var colorEnabled -log.useColor = function () { - return colorEnabled != null ? colorEnabled : stream.isTTY -} - -log.enableColor = function () { - colorEnabled = true - this.gauge.setTheme({hasColor: colorEnabled, hasUnicode: unicodeEnabled}) -} -log.disableColor = function () { - colorEnabled = false - this.gauge.setTheme({hasColor: colorEnabled, hasUnicode: unicodeEnabled}) -} - -// default level -log.level = 'info' - -log.gauge = new Gauge(stream, { - enabled: false, // no progress bars unless asked - theme: {hasColor: log.useColor()}, - template: [ - {type: 'progressbar', length: 20}, - {type: 'activityIndicator', kerning: 1, length: 1}, - {type: 'section', default: ''}, - ':', - {type: 'logline', kerning: 1, default: ''} - ] -}) - -log.tracker = new Progress.TrackerGroup() - -// we track this separately as we may need to temporarily disable the -// display of the status bar for our own loggy purposes. -log.progressEnabled = log.gauge.isEnabled() - -var unicodeEnabled - -log.enableUnicode = function () { - unicodeEnabled = true - this.gauge.setTheme({hasColor: this.useColor(), hasUnicode: unicodeEnabled}) -} - -log.disableUnicode = function () { - unicodeEnabled = false - this.gauge.setTheme({hasColor: this.useColor(), hasUnicode: unicodeEnabled}) -} - -log.setGaugeThemeset = function (themes) { - this.gauge.setThemeset(themes) -} - -log.setGaugeTemplate = function (template) { - this.gauge.setTemplate(template) -} - -log.enableProgress = function () { - if (this.progressEnabled) return - this.progressEnabled = true - this.tracker.on('change', this.showProgress) - if (this._pause) return - this.gauge.enable() -} - -log.disableProgress = function () { - if (!this.progressEnabled) return - this.progressEnabled = false - this.tracker.removeListener('change', this.showProgress) - this.gauge.disable() -} - -var trackerConstructors = ['newGroup', 'newItem', 'newStream'] - -var mixinLog = function (tracker) { - // mixin the public methods from log into the tracker - // (except: conflicts and one's we handle specially) - Object.keys(log).forEach(function (P) { - if (P[0] === '_') return - if (trackerConstructors.filter(function (C) { return C === P }).length) return - if (tracker[P]) return - if (typeof log[P] !== 'function') return - var func = log[P] - tracker[P] = function () { - return func.apply(log, arguments) - } - }) - // if the new tracker is a group, make sure any subtrackers get - // mixed in too - if (tracker instanceof Progress.TrackerGroup) { - trackerConstructors.forEach(function (C) { - var func = tracker[C] - tracker[C] = function () { return mixinLog(func.apply(tracker, arguments)) } - }) - } - return tracker -} - -// Add tracker constructors to the top level log object -trackerConstructors.forEach(function (C) { - log[C] = function () { return mixinLog(this.tracker[C].apply(this.tracker, arguments)) } -}) - -log.clearProgress = function (cb) { - if (!this.progressEnabled) return cb && process.nextTick(cb) - this.gauge.hide(cb) -} - -log.showProgress = function (name, completed) { - if (!this.progressEnabled) return - var values = {} - if (name) values.section = name - var last = log.record[log.record.length - 1] - if (last) { - values.subsection = last.prefix - var disp = log.disp[last.level] || last.level - var logline = this._format(disp, log.style[last.level]) - if (last.prefix) logline += ' ' + this._format(last.prefix, this.prefixStyle) - logline += ' ' + last.message.split(/\r?\n/)[0] - values.logline = logline - } - values.completed = completed || this.tracker.completed() - this.gauge.show(values) -}.bind(log) // bind for use in tracker's on-change listener - -// temporarily stop emitting, but don't drop -log.pause = function () { - this._paused = true - if (this.progressEnabled) this.gauge.disable() -} - -log.resume = function () { - if (!this._paused) return - this._paused = false - - var b = this._buffer - this._buffer = [] - b.forEach(function (m) { - this.emitLog(m) - }, this) - if (this.progressEnabled) this.gauge.enable() -} - -log._buffer = [] - -var id = 0 -log.record = [] -log.maxRecordSize = 10000 -log.log = function (lvl, prefix, message) { - var l = this.levels[lvl] - if (l === undefined) { - return this.emit('error', new Error(util.format( - 'Undefined log level: %j', lvl))) - } - - var a = new Array(arguments.length - 2) - var stack = null - for (var i = 2; i < arguments.length; i++) { - var arg = a[i - 2] = arguments[i] - - // resolve stack traces to a plain string. - if (typeof arg === 'object' && arg && - (arg instanceof Error) && arg.stack) { - arg.stack = stack = arg.stack + '' - } - } - if (stack) a.unshift(stack + '\n') - message = util.format.apply(util, a) - - var m = { id: id++, - level: lvl, - prefix: String(prefix || ''), - message: message, - messageRaw: a } - - this.emit('log', m) - this.emit('log.' + lvl, m) - if (m.prefix) this.emit(m.prefix, m) - - this.record.push(m) - var mrs = this.maxRecordSize - var n = this.record.length - mrs - if (n > mrs / 10) { - var newSize = Math.floor(mrs * 0.9) - this.record = this.record.slice(-1 * newSize) - } - - this.emitLog(m) -}.bind(log) - -log.emitLog = function (m) { - if (this._paused) { - this._buffer.push(m) - return - } - if (this.progressEnabled) this.gauge.pulse(m.prefix) - var l = this.levels[m.level] - if (l === undefined) return - if (l < this.levels[this.level]) return - if (l > 0 && !isFinite(l)) return - - // If 'disp' is null or undefined, use the lvl as a default - // Allows: '', 0 as valid disp - var disp = log.disp[m.level] != null ? log.disp[m.level] : m.level - this.clearProgress() - m.message.split(/\r?\n/).forEach(function (line) { - if (this.heading) { - this.write(this.heading, this.headingStyle) - this.write(' ') - } - this.write(disp, log.style[m.level]) - var p = m.prefix || '' - if (p) this.write(' ') - this.write(p, this.prefixStyle) - this.write(' ' + line + '\n') - }, this) - this.showProgress() -} - -log._format = function (msg, style) { - if (!stream) return - - var output = '' - if (this.useColor()) { - style = style || {} - var settings = [] - if (style.fg) settings.push(style.fg) - if (style.bg) settings.push('bg' + style.bg[0].toUpperCase() + style.bg.slice(1)) - if (style.bold) settings.push('bold') - if (style.underline) settings.push('underline') - if (style.inverse) settings.push('inverse') - if (settings.length) output += consoleControl.color(settings) - if (style.beep) output += consoleControl.beep() - } - output += msg - if (this.useColor()) { - output += consoleControl.color('reset') - } - return output -} - -log.write = function (msg, style) { - if (!stream) return - - stream.write(this._format(msg, style)) -} - -log.addLevel = function (lvl, n, style, disp) { - // If 'disp' is null or undefined, use the lvl as a default - if (disp == null) disp = lvl - this.levels[lvl] = n - this.style[lvl] = style - if (!this[lvl]) { - this[lvl] = function () { - var a = new Array(arguments.length + 1) - a[0] = lvl - for (var i = 0; i < arguments.length; i++) { - a[i + 1] = arguments[i] - } - return this.log.apply(this, a) - }.bind(this) - } - this.disp[lvl] = disp -} - -log.prefixStyle = { fg: 'magenta' } -log.headingStyle = { fg: 'white', bg: 'black' } - -log.style = {} -log.levels = {} -log.disp = {} -log.addLevel('silly', -Infinity, { inverse: true }, 'sill') -log.addLevel('verbose', 1000, { fg: 'blue', bg: 'black' }, 'verb') -log.addLevel('info', 2000, { fg: 'green' }) -log.addLevel('http', 3000, { fg: 'green', bg: 'black' }) -log.addLevel('warn', 4000, { fg: 'black', bg: 'yellow' }, 'WARN') -log.addLevel('error', 5000, { fg: 'red', bg: 'black' }, 'ERR!') -log.addLevel('silent', Infinity) - -// allow 'error' prefix -log.on('error', function () {}) diff --git a/node_modules/npmlog/package.json b/node_modules/npmlog/package.json deleted file mode 100644 index 0ca9c36..0000000 --- a/node_modules/npmlog/package.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "npmlog@^4.0.1", - "scope": null, - "escapedName": "npmlog", - "name": "npmlog", - "rawSpec": "^4.0.1", - "spec": ">=4.0.1 <5.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install" - ] - ], - "_cnpm_publish_time": 1481572338463, - "_from": "npmlog@>=4.0.1 <5.0.0", - "_id": "npmlog@4.0.2", - "_inCache": true, - "_installable": true, - "_location": "/npmlog", - "_nodeVersion": "7.2.0", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/npmlog-4.0.2.tgz_1481572338217_0.2948465726803988" - }, - "_npmUser": { - "name": "othiym23", - "email": "ogd@aoaioxxysz.net" - }, - "_npmVersion": "4.0.5", - "_phantomChildren": {}, - "_requested": { - "raw": "npmlog@^4.0.1", - "scope": null, - "escapedName": "npmlog", - "name": "npmlog", - "rawSpec": "^4.0.1", - "spec": ">=4.0.1 <5.0.0", - "type": "range" - }, - "_requiredBy": [ - "/prebuild-install" - ], - "_resolved": "https://registry.npm.taobao.org/npmlog/download/npmlog-4.0.2.tgz", - "_shasum": "d03950e0e78ce1527ba26d2a7592e9348ac3e75f", - "_shrinkwrap": null, - "_spec": "npmlog@^4.0.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/npm/npmlog/issues" - }, - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.1", - "set-blocking": "~2.0.0" - }, - "description": "logger for npm", - "devDependencies": { - "standard": "~7.1.2", - "tap": "~5.7.0" - }, - "directories": {}, - "dist": { - "shasum": "d03950e0e78ce1527ba26d2a7592e9348ac3e75f", - "tarball": "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz" - }, - "files": [ - "log.js" - ], - "gitHead": "a3b7aed07790b674aa1fecfc81a61481abeaf882", - "homepage": "https://github.com/npm/npmlog#readme", - "license": "ISC", - "main": "log.js", - "maintainers": [ - { - "name": "iarna", - "email": "me@re-becca.org" - }, - { - "name": "isaacs", - "email": "i@izs.me" - }, - { - "name": "othiym23", - "email": "ogd@aoaioxxysz.net" - }, - { - "name": "zkat", - "email": "kat@sykosomatic.org" - } - ], - "name": "npmlog", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/npm/npmlog.git" - }, - "scripts": { - "test": "standard && tap test/*.js" - }, - "version": "4.0.2" -} diff --git a/node_modules/number-is-nan/index.js b/node_modules/number-is-nan/index.js deleted file mode 100644 index 79be4b9..0000000 --- a/node_modules/number-is-nan/index.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; -module.exports = Number.isNaN || function (x) { - return x !== x; -}; diff --git a/node_modules/number-is-nan/license b/node_modules/number-is-nan/license deleted file mode 100644 index 654d0bf..0000000 --- a/node_modules/number-is-nan/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -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. diff --git a/node_modules/number-is-nan/package.json b/node_modules/number-is-nan/package.json deleted file mode 100644 index 6c695d9..0000000 --- a/node_modules/number-is-nan/package.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "number-is-nan@^1.0.0", - "scope": null, - "escapedName": "number-is-nan", - "name": "number-is-nan", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/is-fullwidth-code-point" - ] - ], - "_from": "number-is-nan@>=1.0.0 <2.0.0", - "_id": "number-is-nan@1.0.1", - "_inCache": true, - "_installable": true, - "_location": "/number-is-nan", - "_nodeVersion": "4.5.0", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/number-is-nan-1.0.1.tgz_1475212313367_0.9480371843092144" - }, - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "2.15.9", - "_phantomChildren": {}, - "_requested": { - "raw": "number-is-nan@^1.0.0", - "scope": null, - "escapedName": "number-is-nan", - "name": "number-is-nan", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/is-fullwidth-code-point" - ], - "_resolved": "http://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "_shasum": "097b602b53422a522c1afb8790318336941a011d", - "_shrinkwrap": null, - "_spec": "number-is-nan@^1.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/is-fullwidth-code-point", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/number-is-nan/issues" - }, - "dependencies": {}, - "description": "ES2015 Number.isNaN() ponyfill", - "devDependencies": { - "ava": "*" - }, - "directories": {}, - "dist": { - "shasum": "097b602b53422a522c1afb8790318336941a011d", - "tarball": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "ed9cdac3f428cc929b61bb230da42c87477af4b9", - "homepage": "https://github.com/sindresorhus/number-is-nan#readme", - "keywords": [ - "es2015", - "ecmascript", - "ponyfill", - "polyfill", - "shim", - "number", - "is", - "nan", - "not" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "number-is-nan", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/number-is-nan.git" - }, - "scripts": { - "test": "ava" - }, - "version": "1.0.1" -} diff --git a/node_modules/number-is-nan/readme.md b/node_modules/number-is-nan/readme.md deleted file mode 100644 index 2463508..0000000 --- a/node_modules/number-is-nan/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# number-is-nan [![Build Status](https://travis-ci.org/sindresorhus/number-is-nan.svg?branch=master)](https://travis-ci.org/sindresorhus/number-is-nan) - -> ES2015 [`Number.isNaN()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN) [ponyfill](https://ponyfill.com) - - -## Install - -``` -$ npm install --save number-is-nan -``` - - -## Usage - -```js -var numberIsNan = require('number-is-nan'); - -numberIsNan(NaN); -//=> true - -numberIsNan('unicorn'); -//=> false -``` - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/object-assign/index.js b/node_modules/object-assign/index.js deleted file mode 100644 index 0930cf8..0000000 --- a/node_modules/object-assign/index.js +++ /dev/null @@ -1,90 +0,0 @@ -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ - -'use strict'; -/* eslint-disable no-unused-vars */ -var getOwnPropertySymbols = Object.getOwnPropertySymbols; -var hasOwnProperty = Object.prototype.hasOwnProperty; -var propIsEnumerable = Object.prototype.propertyIsEnumerable; - -function toObject(val) { - if (val === null || val === undefined) { - throw new TypeError('Object.assign cannot be called with null or undefined'); - } - - return Object(val); -} - -function shouldUseNative() { - try { - if (!Object.assign) { - return false; - } - - // Detect buggy property enumeration order in older V8 versions. - - // https://bugs.chromium.org/p/v8/issues/detail?id=4118 - var test1 = new String('abc'); // eslint-disable-line no-new-wrappers - test1[5] = 'de'; - if (Object.getOwnPropertyNames(test1)[0] === '5') { - return false; - } - - // https://bugs.chromium.org/p/v8/issues/detail?id=3056 - var test2 = {}; - for (var i = 0; i < 10; i++) { - test2['_' + String.fromCharCode(i)] = i; - } - var order2 = Object.getOwnPropertyNames(test2).map(function (n) { - return test2[n]; - }); - if (order2.join('') !== '0123456789') { - return false; - } - - // https://bugs.chromium.org/p/v8/issues/detail?id=3056 - var test3 = {}; - 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { - test3[letter] = letter; - }); - if (Object.keys(Object.assign({}, test3)).join('') !== - 'abcdefghijklmnopqrst') { - return false; - } - - return true; - } catch (err) { - // We don't expect any of the above to throw, but better to be safe. - return false; - } -} - -module.exports = shouldUseNative() ? Object.assign : function (target, source) { - var from; - var to = toObject(target); - var symbols; - - for (var s = 1; s < arguments.length; s++) { - from = Object(arguments[s]); - - for (var key in from) { - if (hasOwnProperty.call(from, key)) { - to[key] = from[key]; - } - } - - if (getOwnPropertySymbols) { - symbols = getOwnPropertySymbols(from); - for (var i = 0; i < symbols.length; i++) { - if (propIsEnumerable.call(from, symbols[i])) { - to[symbols[i]] = from[symbols[i]]; - } - } - } - } - - return to; -}; diff --git a/node_modules/object-assign/license b/node_modules/object-assign/license deleted file mode 100644 index 654d0bf..0000000 --- a/node_modules/object-assign/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -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. diff --git a/node_modules/object-assign/package.json b/node_modules/object-assign/package.json deleted file mode 100644 index dbdb246..0000000 --- a/node_modules/object-assign/package.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "object-assign@^4.1.0", - "scope": null, - "escapedName": "object-assign", - "name": "object-assign", - "rawSpec": "^4.1.0", - "spec": ">=4.1.0 <5.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/gauge" - ] - ], - "_from": "object-assign@>=4.1.0 <5.0.0", - "_id": "object-assign@4.1.1", - "_inCache": true, - "_installable": true, - "_location": "/object-assign", - "_nodeVersion": "4.6.2", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/object-assign-4.1.1.tgz_1484580915042_0.07107710791751742" - }, - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "2.15.11", - "_phantomChildren": {}, - "_requested": { - "raw": "object-assign@^4.1.0", - "scope": null, - "escapedName": "object-assign", - "name": "object-assign", - "rawSpec": "^4.1.0", - "spec": ">=4.1.0 <5.0.0", - "type": "range" - }, - "_requiredBy": [ - "/gauge" - ], - "_resolved": "http://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "_shasum": "2109adc7965887cfc05cbbd442cac8bfbb360863", - "_shrinkwrap": null, - "_spec": "object-assign@^4.1.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/gauge", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/object-assign/issues" - }, - "dependencies": {}, - "description": "ES2015 `Object.assign()` ponyfill", - "devDependencies": { - "ava": "^0.16.0", - "lodash": "^4.16.4", - "matcha": "^0.7.0", - "xo": "^0.16.0" - }, - "directories": {}, - "dist": { - "shasum": "2109adc7965887cfc05cbbd442cac8bfbb360863", - "tarball": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "a89774b252c91612203876984bbd6addbe3b5a0e", - "homepage": "https://github.com/sindresorhus/object-assign#readme", - "keywords": [ - "object", - "assign", - "extend", - "properties", - "es2015", - "ecmascript", - "harmony", - "ponyfill", - "prollyfill", - "polyfill", - "shim", - "browser" - ], - "license": "MIT", - "maintainers": [ - { - "name": "gaearon", - "email": "dan.abramov@gmail.com" - }, - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - { - "name": "spicyj", - "email": "ben@benalpert.com" - } - ], - "name": "object-assign", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/object-assign.git" - }, - "scripts": { - "bench": "matcha bench.js", - "test": "xo && ava" - }, - "version": "4.1.1" -} diff --git a/node_modules/object-assign/readme.md b/node_modules/object-assign/readme.md deleted file mode 100644 index 1be09d3..0000000 --- a/node_modules/object-assign/readme.md +++ /dev/null @@ -1,61 +0,0 @@ -# object-assign [![Build Status](https://travis-ci.org/sindresorhus/object-assign.svg?branch=master)](https://travis-ci.org/sindresorhus/object-assign) - -> ES2015 [`Object.assign()`](http://www.2ality.com/2014/01/object-assign.html) [ponyfill](https://ponyfill.com) - - -## Use the built-in - -Node.js 4 and up, as well as every evergreen browser (Chrome, Edge, Firefox, Opera, Safari), -support `Object.assign()` :tada:. If you target only those environments, then by all -means, use `Object.assign()` instead of this package. - - -## Install - -``` -$ npm install --save object-assign -``` - - -## Usage - -```js -const objectAssign = require('object-assign'); - -objectAssign({foo: 0}, {bar: 1}); -//=> {foo: 0, bar: 1} - -// multiple sources -objectAssign({foo: 0}, {bar: 1}, {baz: 2}); -//=> {foo: 0, bar: 1, baz: 2} - -// overwrites equal keys -objectAssign({foo: 0}, {foo: 1}, {foo: 2}); -//=> {foo: 2} - -// ignores null and undefined sources -objectAssign({foo: 0}, null, {bar: 1}, undefined); -//=> {foo: 0, bar: 1} -``` - - -## API - -### objectAssign(target, [source, ...]) - -Assigns enumerable own properties of `source` objects to the `target` object and returns the `target` object. Additional `source` objects will overwrite previous ones. - - -## Resources - -- [ES2015 spec - Object.assign](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign) - - -## Related - -- [deep-assign](https://github.com/sindresorhus/deep-assign) - Recursive `Object.assign()` - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/once/LICENSE b/node_modules/once/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/node_modules/once/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -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. diff --git a/node_modules/once/README.md b/node_modules/once/README.md deleted file mode 100644 index 1f1ffca..0000000 --- a/node_modules/once/README.md +++ /dev/null @@ -1,79 +0,0 @@ -# once - -Only call a function once. - -## usage - -```javascript -var once = require('once') - -function load (file, cb) { - cb = once(cb) - loader.load('file') - loader.once('load', cb) - loader.once('error', cb) -} -``` - -Or add to the Function.prototype in a responsible way: - -```javascript -// only has to be done once -require('once').proto() - -function load (file, cb) { - cb = cb.once() - loader.load('file') - loader.once('load', cb) - loader.once('error', cb) -} -``` - -Ironically, the prototype feature makes this module twice as -complicated as necessary. - -To check whether you function has been called, use `fn.called`. Once the -function is called for the first time the return value of the original -function is saved in `fn.value` and subsequent calls will continue to -return this value. - -```javascript -var once = require('once') - -function load (cb) { - cb = once(cb) - var stream = createStream() - stream.once('data', cb) - stream.once('end', function () { - if (!cb.called) cb(new Error('not found')) - }) -} -``` - -## `once.strict(func)` - -Throw an error if the function is called twice. - -Some functions are expected to be called only once. Using `once` for them would -potentially hide logical errors. - -In the example below, the `greet` function has to call the callback only once: - -```javascript -function greet (name, cb) { - // return is missing from the if statement - // when no name is passed, the callback is called twice - if (!name) cb('Hello anonymous') - cb('Hello ' + name) -} - -function log (msg) { - console.log(msg) -} - -// this will print 'Hello anonymous' but the logical error will be missed -greet(null, once(msg)) - -// once.strict will print 'Hello anonymous' and throw an error when the callback will be called the second time -greet(null, once.strict(msg)) -``` diff --git a/node_modules/once/once.js b/node_modules/once/once.js deleted file mode 100644 index 2354067..0000000 --- a/node_modules/once/once.js +++ /dev/null @@ -1,42 +0,0 @@ -var wrappy = require('wrappy') -module.exports = wrappy(once) -module.exports.strict = wrappy(onceStrict) - -once.proto = once(function () { - Object.defineProperty(Function.prototype, 'once', { - value: function () { - return once(this) - }, - configurable: true - }) - - Object.defineProperty(Function.prototype, 'onceStrict', { - value: function () { - return onceStrict(this) - }, - configurable: true - }) -}) - -function once (fn) { - var f = function () { - if (f.called) return f.value - f.called = true - return f.value = fn.apply(this, arguments) - } - f.called = false - return f -} - -function onceStrict (fn) { - var f = function () { - if (f.called) - throw new Error(f.onceError) - f.called = true - return f.value = fn.apply(this, arguments) - } - var name = fn.name || 'Function wrapped with `once`' - f.onceError = name + " shouldn't be called more than once" - f.called = false - return f -} diff --git a/node_modules/once/package.json b/node_modules/once/package.json deleted file mode 100644 index dd2a0dd..0000000 --- a/node_modules/once/package.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "once@^1.3.1", - "scope": null, - "escapedName": "once", - "name": "once", - "rawSpec": "^1.3.1", - "spec": ">=1.3.1 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/pump" - ] - ], - "_from": "once@>=1.3.1 <2.0.0", - "_id": "once@1.4.0", - "_inCache": true, - "_installable": true, - "_location": "/once", - "_nodeVersion": "6.5.0", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/once-1.4.0.tgz_1473196269128_0.537820661207661" - }, - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "_npmVersion": "3.10.7", - "_phantomChildren": {}, - "_requested": { - "raw": "once@^1.3.1", - "scope": null, - "escapedName": "once", - "name": "once", - "rawSpec": "^1.3.1", - "spec": ">=1.3.1 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/end-of-stream", - "/pump", - "/simple-get" - ], - "_resolved": "http://registry.npmjs.org/once/-/once-1.4.0.tgz", - "_shasum": "583b1aa775961d4b113ac17d9c50baef9dd76bd1", - "_shrinkwrap": null, - "_spec": "once@^1.3.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/pump", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/once/issues" - }, - "dependencies": { - "wrappy": "1" - }, - "description": "Run a function exactly one time", - "devDependencies": { - "tap": "^7.0.1" - }, - "directories": { - "test": "test" - }, - "dist": { - "shasum": "583b1aa775961d4b113ac17d9c50baef9dd76bd1", - "tarball": "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - }, - "files": [ - "once.js" - ], - "gitHead": "0e614d9f5a7e6f0305c625f6b581f6d80b33b8a6", - "homepage": "https://github.com/isaacs/once#readme", - "keywords": [ - "once", - "function", - "one", - "single" - ], - "license": "ISC", - "main": "once.js", - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "name": "once", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/once.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "1.4.0" -} diff --git a/node_modules/os-homedir/index.js b/node_modules/os-homedir/index.js deleted file mode 100644 index 3306616..0000000 --- a/node_modules/os-homedir/index.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; -var os = require('os'); - -function homedir() { - var env = process.env; - var home = env.HOME; - var user = env.LOGNAME || env.USER || env.LNAME || env.USERNAME; - - if (process.platform === 'win32') { - return env.USERPROFILE || env.HOMEDRIVE + env.HOMEPATH || home || null; - } - - if (process.platform === 'darwin') { - return home || (user ? '/Users/' + user : null); - } - - if (process.platform === 'linux') { - return home || (process.getuid() === 0 ? '/root' : (user ? '/home/' + user : null)); - } - - return home || null; -} - -module.exports = typeof os.homedir === 'function' ? os.homedir : homedir; diff --git a/node_modules/os-homedir/license b/node_modules/os-homedir/license deleted file mode 100644 index 654d0bf..0000000 --- a/node_modules/os-homedir/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -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. diff --git a/node_modules/os-homedir/package.json b/node_modules/os-homedir/package.json deleted file mode 100644 index 147b1dc..0000000 --- a/node_modules/os-homedir/package.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "os-homedir@^1.0.1", - "scope": null, - "escapedName": "os-homedir", - "name": "os-homedir", - "rawSpec": "^1.0.1", - "spec": ">=1.0.1 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install" - ] - ], - "_from": "os-homedir@>=1.0.1 <2.0.0", - "_id": "os-homedir@1.0.2", - "_inCache": true, - "_installable": true, - "_location": "/os-homedir", - "_nodeVersion": "6.6.0", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/os-homedir-1.0.2.tgz_1475211519628_0.7873868853785098" - }, - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "3.10.3", - "_phantomChildren": {}, - "_requested": { - "raw": "os-homedir@^1.0.1", - "scope": null, - "escapedName": "os-homedir", - "name": "os-homedir", - "rawSpec": "^1.0.1", - "spec": ">=1.0.1 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/prebuild-install" - ], - "_resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "_shasum": "ffbc4988336e0e833de0c168c7ef152121aa7fb3", - "_shrinkwrap": null, - "_spec": "os-homedir@^1.0.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/os-homedir/issues" - }, - "dependencies": {}, - "description": "Node.js 4 `os.homedir()` ponyfill", - "devDependencies": { - "ava": "*", - "path-exists": "^2.0.0", - "xo": "^0.16.0" - }, - "directories": {}, - "dist": { - "shasum": "ffbc4988336e0e833de0c168c7ef152121aa7fb3", - "tarball": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "b1b0ae70a5965fef7005ff6509a5dd1a78c95e36", - "homepage": "https://github.com/sindresorhus/os-homedir#readme", - "keywords": [ - "builtin", - "core", - "ponyfill", - "polyfill", - "shim", - "os", - "homedir", - "home", - "dir", - "directory", - "folder", - "user", - "path" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "os-homedir", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/os-homedir.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "1.0.2" -} diff --git a/node_modules/os-homedir/readme.md b/node_modules/os-homedir/readme.md deleted file mode 100644 index 856ae61..0000000 --- a/node_modules/os-homedir/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -# os-homedir [![Build Status](https://travis-ci.org/sindresorhus/os-homedir.svg?branch=master)](https://travis-ci.org/sindresorhus/os-homedir) - -> Node.js 4 [`os.homedir()`](https://nodejs.org/api/os.html#os_os_homedir) [ponyfill](https://ponyfill.com) - - -## Install - -``` -$ npm install --save os-homedir -``` - - -## Usage - -```js -const osHomedir = require('os-homedir'); - -console.log(osHomedir()); -//=> '/Users/sindresorhus' -``` - - -## Related - -- [user-home](https://github.com/sindresorhus/user-home) - Same as this module but caches the result -- [home-or-tmp](https://github.com/sindresorhus/home-or-tmp) - Get the user home directory with fallback to the system temp directory - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/prebuild-install/.npmignore b/node_modules/prebuild-install/.npmignore deleted file mode 100644 index aebc526..0000000 --- a/node_modules/prebuild-install/.npmignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules -npm-debug.log -test diff --git a/node_modules/prebuild-install/.travis.yml b/node_modules/prebuild-install/.travis.yml deleted file mode 100644 index 1a29d49..0000000 --- a/node_modules/prebuild-install/.travis.yml +++ /dev/null @@ -1,8 +0,0 @@ -language: node_js -node_js: - - '7' - - '6' - - '5' - - '4' - - '0.12' - - '0.10' diff --git a/node_modules/prebuild-install/CONTRIBUTING.md b/node_modules/prebuild-install/CONTRIBUTING.md deleted file mode 100644 index f89c7c9..0000000 --- a/node_modules/prebuild-install/CONTRIBUTING.md +++ /dev/null @@ -1,8 +0,0 @@ -# Contributing to prebuild - -* no commits direct to master -* all commits as pull requests (one or several per PR) -* each commit solves one identifiable problem -* never merge one's own PRs, another contributor does this - - diff --git a/node_modules/prebuild-install/LICENSE b/node_modules/prebuild-install/LICENSE deleted file mode 100644 index 66a4d2a..0000000 --- a/node_modules/prebuild-install/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Mathias Buus - -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. diff --git a/node_modules/prebuild-install/README.md b/node_modules/prebuild-install/README.md deleted file mode 100644 index 22b7f8c..0000000 --- a/node_modules/prebuild-install/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# prebuild-install [![Build Status](https://travis-ci.org/mafintosh/prebuild-install.svg?branch=master)](https://travis-ci.org/mafintosh/prebuild-install) - -A command line tool for easily install prebuilds for multiple version of node/iojs on a specific platform. - -`prebuild-install` supports installing prebuilt binaries from GitHub by default. - -## Usage - -Change your package.json install script to: -``` -... - "scripts": { - "install": "prebuild-install || node-gyp rebuild" - } -... -``` - -### Requirements - -You need to provide prebuilds made by [prebuild](https://github.com/mafintosh/prebuild) - -### Help -``` -prebuild-install [options] - - --download -d [url] (download prebuilds, no url means github) - --target -t version (version to install for) - --runtime -r runtime (Node runtime [node or electron] to build or install for, default is node) - --path -p path (make a prebuild-install here) - --build-from-source (skip prebuild download) - --verbose (log verbosely) - --libc (use provided libc rather than system default) - --debug (set Debug or Release configuration) - --version (print prebuild-install version and exit) - ``` - -## License - -MIT diff --git a/node_modules/prebuild-install/bin.js b/node_modules/prebuild-install/bin.js deleted file mode 100755 index 9bacf6a..0000000 --- a/node_modules/prebuild-install/bin.js +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env node - -var path = require('path') -var log = require('npmlog') -var fs = require('fs') -var extend = require('xtend') - -var pkg = require(path.resolve('package.json')) -var rc = require('./rc')(pkg) -var download = require('./download') -var util = require('./util') - -var prebuildClientVersion = require('./package.json').version -if (rc.version) { - console.log(prebuildClientVersion) - process.exit(0) -} - -if (rc.path) process.chdir(rc.path) - -log.heading = 'prebuild-install' -if (rc.verbose) { - log.level = 'verbose' -} - -if (!fs.existsSync('package.json')) { - log.error('setup', 'No package.json found. Aborting...') - process.exit(1) -} - -if (rc.help) { - console.error(fs.readFileSync(path.join(__dirname, 'help.txt'), 'utf-8')) - process.exit(0) -} - -log.info('begin', 'Prebuild-install version', prebuildClientVersion) - -var opts = extend(rc, {pkg: pkg, log: log}) - -var execPath = process.env.npm_execpath || process.env.NPM_CLI_JS - -if (util.isYarnPath(execPath) && /node_modules/.test(process.cwd())) { - // From yarn repository -} else if (!(typeof pkg._from === 'string')) { - log.info('install', 'installing inside prebuild-install directory, skipping download.') - process.exit(1) -} else if (pkg._from.length > 4 && pkg._from.substr(0, 4) === 'git+') { - log.info('install', 'installing from git repository, skipping download.') - process.exit(1) -} else if (opts.compile === true || opts.prebuild === false) { - log.info('install', '--build-from-source specified, not attempting download.') - process.exit(1) -} - -download(opts, function (err) { - if (err) { - log.warn('install', err.message) - return process.exit(1) - } - log.info('install', 'Prebuild successfully installed!') -}) diff --git a/node_modules/prebuild-install/download.js b/node_modules/prebuild-install/download.js deleted file mode 100644 index c1059f6..0000000 --- a/node_modules/prebuild-install/download.js +++ /dev/null @@ -1,160 +0,0 @@ -var path = require('path') -var fs = require('fs') -var get = require('simple-get') -var pump = require('pump') -var tfs = require('tar-fs') -var noop = require('noop-logger') -var zlib = require('zlib') -var util = require('./util') -var error = require('./error') -var url = require('url') -var tunnel = require('tunnel-agent') - -function downloadPrebuild (opts, cb) { - var downloadUrl = util.getDownloadUrl(opts) - var cachedPrebuild = util.cachedPrebuild(downloadUrl) - var localPrebuild = util.localPrebuild(downloadUrl) - var tempFile = util.tempFile(cachedPrebuild) - - var log = opts.log || noop - - if (opts.nolocal) return download() - - log.info('looking for local prebuild @', localPrebuild) - fs.exists(localPrebuild, function (exists) { - if (exists) { - log.info('found local prebuild') - cachedPrebuild = localPrebuild - return unpack() - } - - download() - }) - - function download () { - ensureNpmCacheDir(function (err) { - if (err) return onerror(err) - - log.info('looking for cached prebuild @', cachedPrebuild) - fs.exists(cachedPrebuild, function (exists) { - if (exists) { - log.info('found cached prebuild') - return unpack() - } - - log.http('request', 'GET ' + downloadUrl) - var reqOpts = { url: downloadUrl } - var proxy = opts['https-proxy'] || opts.proxy - - if (proxy) { - var parsedDownloadUrl = url.parse(downloadUrl) - var parsedProxy = url.parse(proxy) - var uriProtocol = (parsedDownloadUrl.protocol === 'https:' ? 'https' : 'http') - var proxyProtocol = (parsedProxy.protocol === 'https:' ? 'Https' : 'Http') - var tunnelFnName = [uriProtocol, proxyProtocol].join('Over') - reqOpts.agent = tunnel[tunnelFnName]({ - proxy: { - host: parsedProxy.hostname, - port: +parsedProxy.port, - proxyAuth: parsedProxy.auth - } - }) - } - - var req = get(reqOpts, function (err, res) { - if (err) return onerror(err) - log.http(res.statusCode, downloadUrl) - if (res.statusCode !== 200) return onerror() - fs.mkdir(util.prebuildCache(), function () { - log.info('downloading to @', tempFile) - pump(res, fs.createWriteStream(tempFile), function (err) { - if (err) return onerror(err) - fs.rename(tempFile, cachedPrebuild, function (err) { - if (err) return cb(err) - log.info('renaming to @', cachedPrebuild) - unpack() - }) - }) - }) - }) - - req.setTimeout(30 * 1000, function () { - req.abort() - }) - }) - - function onerror (err) { - fs.unlink(tempFile, function () { - cb(err || error.noPrebuilts(opts)) - }) - } - }) - } - - function unpack () { - var binaryName - - var updateName = opts.updateName || function (entry) { - if (/\.node$/i.test(entry.name)) binaryName = entry.name - } - - log.info('unpacking @', cachedPrebuild) - - var options = { - readable: true, - writable: true, - hardlinkAsFilesFallback: true - } - var extract = tfs.extract(opts.path, options).on('entry', updateName) - - pump(fs.createReadStream(cachedPrebuild), zlib.createGunzip(), extract, - function (err) { - if (err) return cb(err) - - var resolved - if (binaryName) { - try { - resolved = path.resolve(opts.path || '.', binaryName) - } catch (err) { - return cb(err) - } - log.info('unpack', 'resolved to ' + resolved) - - if (opts.abi === process.versions.modules) { - try { - require(resolved) - } catch (err) { - return cb(err) - } - log.info('unpack', 'required ' + resolved + ' successfully') - } - } - - cb(null, resolved) - }) - } - - function ensureNpmCacheDir (cb) { - var cacheFolder = util.npmCache() - if (fs.access) { - fs.access(cacheFolder, fs.R_OK | fs.W_OK, function (err) { - if (err && err.code === 'ENOENT') { - return makeNpmCacheDir() - } - cb(err) - }) - } else { - fs.exists(cacheFolder, function (exists) { - if (!exists) return makeNpmCacheDir() - cb() - }) - } - - function makeNpmCacheDir () { - log.info('npm cache directory missing, creating it...') - fs.mkdir(cacheFolder, cb) - } - } -} - -module.exports = downloadPrebuild diff --git a/node_modules/prebuild-install/error.js b/node_modules/prebuild-install/error.js deleted file mode 100644 index 8bec48e..0000000 --- a/node_modules/prebuild-install/error.js +++ /dev/null @@ -1,13 +0,0 @@ -exports.noPrebuilts = function (opts) { - return new Error([ - 'No prebuilt binaries found', - '(target=' + opts.target, - 'runtime=' + opts.runtime, - 'arch=' + opts.arch, - 'platform=' + opts.platform + ')' - ].join(' ')) -} - -exports.invalidArchive = function () { - return new Error('Missing .node file in archive') -} diff --git a/node_modules/prebuild-install/help.txt b/node_modules/prebuild-install/help.txt deleted file mode 100644 index 78ad872..0000000 --- a/node_modules/prebuild-install/help.txt +++ /dev/null @@ -1,11 +0,0 @@ -prebuild-install [options] - - --download -d [url] (download prebuilds, no url means github) - --target -t version (version to install for) - --runtime -r runtime (Node runtime [node or electron] to build or install for, default is node) - --path -p path (make a prebuild-install here) - --build-from-source (skip prebuild download) - --verbose (log verbosely) - --libc (use provided libc rather than system default) - --debug (set Debug or Release configuration) - --version (print prebuild-install version and exit) diff --git a/node_modules/prebuild-install/index.js b/node_modules/prebuild-install/index.js deleted file mode 100644 index b5fc28a..0000000 --- a/node_modules/prebuild-install/index.js +++ /dev/null @@ -1 +0,0 @@ -exports.download = require('./download') diff --git a/node_modules/prebuild-install/package.json b/node_modules/prebuild-install/package.json deleted file mode 100644 index ce8e0d2..0000000 --- a/node_modules/prebuild-install/package.json +++ /dev/null @@ -1,165 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "prebuild-install@~2.1.0", - "scope": null, - "escapedName": "prebuild-install", - "name": "prebuild-install", - "rawSpec": "~2.1.0", - "spec": ">=2.1.0 <2.2.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/bufferutil" - ] - ], - "_from": "prebuild-install@>=2.1.0 <2.2.0", - "_id": "prebuild-install@2.1.1", - "_inCache": true, - "_installable": true, - "_location": "/prebuild-install", - "_nodeVersion": "7.4.0", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/prebuild-install-2.1.1.tgz_1488477426320_0.6201443427708" - }, - "_npmUser": { - "name": "ralphtheninja", - "email": "ralphtheninja@riseup.net" - }, - "_npmVersion": "4.0.5", - "_phantomChildren": {}, - "_requested": { - "raw": "prebuild-install@~2.1.0", - "scope": null, - "escapedName": "prebuild-install", - "name": "prebuild-install", - "rawSpec": "~2.1.0", - "spec": ">=2.1.0 <2.2.0", - "type": "range" - }, - "_requiredBy": [ - "/bufferutil" - ], - "_resolved": "http://registry.npmjs.org/prebuild-install/-/prebuild-install-2.1.1.tgz", - "_shasum": "d0a77ea51b6a00f928cb71bc0ccea24f87ec171e", - "_shrinkwrap": null, - "_spec": "prebuild-install@~2.1.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/bufferutil", - "author": { - "name": "Mathias Buus", - "url": "@mafintosh" - }, - "bin": { - "prebuild-install": "./bin.js" - }, - "bugs": { - "url": "https://github.com/mafintosh/prebuild-install/issues" - }, - "contributors": [ - { - "name": "Julian Gruber", - "email": "julian@juliangruber.com", - "url": "https://github.com/juliangruber" - }, - { - "name": "Brett Lawson", - "email": "brett19@gmail.com", - "url": "https://github.com/brett19" - }, - { - "name": "Pieter Hintjens", - "email": "ph@imatix.com", - "url": "https://github.com/hintjens" - }, - { - "name": "Lars-Magnus Skog", - "email": "ralphtheninja@riseup.net", - "url": "https://github.com/ralphtheninja" - }, - { - "name": "Jesús Leganés Combarro", - "email": "piranna@gmail.com", - "url": "https://github.com/piranna" - }, - { - "name": "Mathias Küsel", - "email": "mathiask@hotmail.de", - "url": "https://github.com/mathiask88" - }, - { - "name": "Lukas Geiger", - "email": "lukas.geiger94@gmail.com", - "url": "https://github.com/lgeiger" - } - ], - "dependencies": { - "expand-template": "^1.0.2", - "github-from-package": "0.0.0", - "minimist": "^1.2.0", - "node-abi": "^2.0.0", - "noop-logger": "^0.1.1", - "npmlog": "^4.0.1", - "os-homedir": "^1.0.1", - "pump": "^1.0.1", - "rc": "^1.1.6", - "simple-get": "^1.4.2", - "tar-fs": "^1.13.0", - "tunnel-agent": "^0.4.3", - "xtend": "4.0.1" - }, - "description": "A command line tool for easily install prebuilds for multiple version of node/iojs on a specific platform", - "devDependencies": { - "a-native-module": "^1.0.0", - "nsp": "^2.3.0", - "rimraf": "^2.5.2", - "standard": "^8.6.0", - "tape": "^4.5.1" - }, - "directories": {}, - "dist": { - "shasum": "d0a77ea51b6a00f928cb71bc0ccea24f87ec171e", - "tarball": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.1.1.tgz" - }, - "gitHead": "1024bb0e794ff13f1b31a7b2f6614b632c7c7e3f", - "homepage": "https://github.com/mafintosh/prebuild-install", - "keywords": [ - "prebuilt", - "binaries", - "native", - "addon", - "module", - "c", - "c++", - "bindings", - "devops" - ], - "license": "MIT", - "maintainers": [ - { - "name": "mafintosh", - "email": "mathiasbuus@gmail.com" - }, - { - "name": "piranna", - "email": "piranna@gmail.com" - }, - { - "name": "ralphtheninja", - "email": "ralphtheninja@riseup.net" - } - ], - "name": "prebuild-install", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/mafintosh/prebuild-install.git" - }, - "scripts": { - "audit": "nsp check", - "lint": "standard", - "test": "tape test/*-test.js && npm run audit && npm run lint" - }, - "version": "2.1.1" -} diff --git a/node_modules/prebuild-install/rc.js b/node_modules/prebuild-install/rc.js deleted file mode 100644 index 4a5f531..0000000 --- a/node_modules/prebuild-install/rc.js +++ /dev/null @@ -1,65 +0,0 @@ -var minimist = require('minimist') -var getAbi = require('node-abi').getAbi - -var env = process.env - -// Get `prebuild-install` arguments that were passed to the `npm` command -if (env.npm_config_argv) { - var npmargs = ['prebuild', 'compile', 'build-from-source', 'debug'] - try { - var npmArgv = JSON.parse(env.npm_config_argv).cooked - for (var i = 0; i < npmargs.length; ++i) { - if (npmArgv.indexOf('--' + npmargs[i]) !== -1) { - process.argv.push('--' + npmargs[i]) - } - if (npmArgv.indexOf('--no-' + npmargs[i]) !== -1) { - process.argv.push('--no-' + npmargs[i]) - } - } - } catch (e) { } -} - -// Get the configuration -module.exports = function (pkg) { - var pkgConf = pkg.config || {} - var rc = require('rc')('prebuild-install', { - target: pkgConf.target || env.npm_config_target || process.versions.node, - runtime: pkgConf.runtime || env.npm_config_runtime || 'node', - arch: pkgConf.arch || env.npm_config_arch || process.arch, - libc: env.LIBC, - platform: env.npm_config_platform || process.platform, - debug: false, - verbose: false, - prebuild: true, - compile: false, - path: '.', - proxy: env.npm_config_proxy || env['HTTP_PROXY'], - 'https-proxy': env.npm_config_https_proxy || env['HTTPS_PROXY'], - 'local-address': env.npm_config_local_address - }, minimist(process.argv, { - alias: { - target: 't', - runtime: 'r', - help: 'h', - arch: 'a', - path: 'p', - version: 'v', - download: 'd', - 'build-from-source': 'compile', - compile: 'c' - } - })) - - if (rc.path === true) { - delete rc.path - } - - rc.abi = getAbi(rc.target, rc.runtime) - - return rc -} - -// Print the configuration values when executed standalone for testing purposses -if (!module.parent) { - console.log(JSON.stringify(module.exports({}), null, 2)) -} diff --git a/node_modules/prebuild-install/util.js b/node_modules/prebuild-install/util.js deleted file mode 100644 index f43ac95..0000000 --- a/node_modules/prebuild-install/util.js +++ /dev/null @@ -1,81 +0,0 @@ -var path = require('path') -var github = require('github-from-package') -var home = require('os-homedir') -var expandTemplate = require('expand-template')() - -function getDownloadUrl (opts) { - var pkgName = opts.pkg.name.replace(/^@\w+\//, '') - return expandTemplate(urlTemplate(opts), { - name: pkgName, - package_name: pkgName, - version: opts.pkg.version, - major: opts.pkg.version.split('.')[0], - minor: opts.pkg.version.split('.')[1], - patch: opts.pkg.version.split('.')[2], - prerelease: opts.pkg.version.split('-')[1], - build: opts.pkg.version.split('+')[1], - abi: opts.abi || process.versions.modules, - node_abi: process.versions.modules, - runtime: opts.runtime || 'node', - platform: opts.platform, - arch: opts.arch, - libc: opts.libc || process.env.LIBC || '', - configuration: (opts.debug ? 'Debug' : 'Release'), - module_name: opts.pkg.binary && opts.pkg.binary.module_name - }) -} - -function urlTemplate (opts) { - if (typeof opts.download === 'string') { - return opts.download - } - - var packageName = '{name}-v{version}-{runtime}-v{abi}-{platform}{libc}-{arch}.tar.gz' - if (opts.pkg.binary) { - return [ - opts.pkg.binary.host, - opts.pkg.binary.remote_path, - opts.pkg.binary.package_name || packageName - ].map(function (path) { - return trimSlashes(path) - }).filter(Boolean).join('/') - } - return github(opts.pkg) + '/releases/download/v{version}/' + packageName -} - -function trimSlashes (str) { - if (str) return str.replace(/^\.\/|^\/|\/$/g, '') -} - -function cachedPrebuild (url) { - return path.join(prebuildCache(), url.replace(/[^a-zA-Z0-9.]+/g, '-')) -} - -function npmCache () { - return process.env.APPDATA ? path.join(process.env.APPDATA, 'npm-cache') : path.join(home(), '.npm') -} - -function prebuildCache () { - return path.join(npmCache(), '_prebuilds') -} - -function tempFile (cached) { - return cached + '.' + process.pid + '-' + Math.random().toString(16).slice(2) + '.tmp' -} - -function localPrebuild (url) { - return path.join('prebuilds', path.basename(url)) -} - -function isYarnPath (execPath) { - return execPath ? /^yarn/.test(path.basename(execPath)) : false -} - -exports.getDownloadUrl = getDownloadUrl -exports.urlTemplate = urlTemplate -exports.cachedPrebuild = cachedPrebuild -exports.localPrebuild = localPrebuild -exports.prebuildCache = prebuildCache -exports.npmCache = npmCache -exports.tempFile = tempFile -exports.isYarnPath = isYarnPath diff --git a/node_modules/prebuild-install/yarn.lock b/node_modules/prebuild-install/yarn.lock deleted file mode 100644 index d35d489..0000000 --- a/node_modules/prebuild-install/yarn.lock +++ /dev/null @@ -1,1293 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -a-native-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/a-native-module/-/a-native-module-1.0.0.tgz#acb702912654f21685e2776da8cee05d2477fefe" - -acorn-jsx@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" - dependencies: - acorn "^3.0.4" - -acorn@4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a" - -acorn@^3.0.4: - version "3.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" - -agent-base@2: - version "2.0.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-2.0.1.tgz#bd8f9e86a8eb221fffa07bd14befd55df142815e" - dependencies: - extend "~3.0.0" - semver "~5.0.1" - -ajv-keywords@^1.0.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" - -ajv@^4.7.0: - version "4.11.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.3.tgz#ce30bdb90d1254f762c75af915fb3a63e7183d22" - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - -ansi-escapes@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - -aproba@^1.0.3: - version "1.1.1" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" - -are-we-there-yet@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.0 || ^1.1.13" - -argparse@^1.0.7: - version "1.0.9" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" - dependencies: - sprintf-js "~1.0.2" - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - -arrify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - -babel-code-frame@^6.16.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" - dependencies: - chalk "^1.1.0" - esutils "^2.0.2" - js-tokens "^3.0.0" - -balanced-match@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" - -bl@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.0.tgz#1397e7ec42c5f5dc387470c500e34a9f6be9ea98" - dependencies: - readable-stream "^2.0.5" - -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - dependencies: - hoek "2.x.x" - -brace-expansion@^1.0.0: - version "1.1.6" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" - dependencies: - balanced-match "^0.4.1" - concat-map "0.0.1" - -buffer-shims@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" - -caller-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" - dependencies: - callsites "^0.2.0" - -callsites@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" - -chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chownr@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" - -circular-json@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" - -cli-cursor@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - dependencies: - restore-cursor "^1.0.1" - -cli-table@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" - dependencies: - colors "1.0.3" - -cli-width@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" - -cliclopts@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/cliclopts/-/cliclopts-1.1.1.tgz#69431c7cb5af723774b0d3911b4c37512431910f" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - -colors@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -concat-stream@^1.4.6: - version "1.6.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - -core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - -d@^0.1.1, d@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309" - dependencies: - es5-ext "~0.10.2" - -debug-log@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" - -debug@2, debug@^2.1.1, debug@^2.1.3: - version "2.6.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351" - dependencies: - ms "0.7.2" - -deep-equal@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - -deep-extend@~0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - -define-properties@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" - dependencies: - foreach "^2.0.5" - object-keys "^1.0.8" - -defined@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" - -deglob@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/deglob/-/deglob-2.1.0.tgz#4d44abe16ef32c779b4972bd141a80325029a14a" - dependencies: - find-root "^1.0.0" - glob "^7.0.5" - ignore "^3.0.9" - pkg-config "^1.1.0" - run-parallel "^1.1.2" - uniq "^1.0.1" - -del@^2.0.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" - dependencies: - globby "^5.0.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - rimraf "^2.2.8" - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - -doctrine@^1.2.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.1.0.tgz#e9353258baa9108965efc41cb0ef8ade2f3cfb07" - dependencies: - once "~1.3.0" - -es-abstract@^1.5.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c" - dependencies: - es-to-primitive "^1.1.1" - function-bind "^1.1.0" - is-callable "^1.1.3" - is-regex "^1.0.3" - -es-to-primitive@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" - dependencies: - is-callable "^1.1.1" - is-date-object "^1.0.1" - is-symbol "^1.0.1" - -es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7: - version "0.10.12" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" - dependencies: - es6-iterator "2" - es6-symbol "~3.1" - -es6-iterator@2: - version "2.0.0" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac" - dependencies: - d "^0.1.1" - es5-ext "^0.10.7" - es6-symbol "3" - -es6-map@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897" - dependencies: - d "~0.1.1" - es5-ext "~0.10.11" - es6-iterator "2" - es6-set "~0.1.3" - es6-symbol "~3.1.0" - event-emitter "~0.3.4" - -es6-set@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8" - dependencies: - d "~0.1.1" - es5-ext "~0.10.11" - es6-iterator "2" - es6-symbol "3" - event-emitter "~0.3.4" - -es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" - dependencies: - d "~0.1.1" - es5-ext "~0.10.11" - -es6-weak-map@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81" - dependencies: - d "^0.1.1" - es5-ext "^0.10.8" - es6-iterator "2" - es6-symbol "3" - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -escope@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" - dependencies: - es6-map "^0.1.3" - es6-weak-map "^2.0.1" - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-config-standard-jsx@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-3.2.0.tgz#c240e26ed919a11a42aa4de8059472b38268d620" - -eslint-config-standard@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-6.2.1.tgz#d3a68aafc7191639e7ee441e7348739026354292" - -eslint-plugin-promise@~3.4.0: - version "3.4.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.4.2.tgz#1be2793eafe2d18b5b123b8136c269f804fe7122" - -eslint-plugin-react@~6.7.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.7.1.tgz#1af96aea545856825157d97c1b50d5a8fb64a5a7" - dependencies: - doctrine "^1.2.2" - jsx-ast-utils "^1.3.3" - -eslint-plugin-standard@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-2.0.1.tgz#3589699ff9c917f2c25f76a916687f641c369ff3" - -eslint@~3.10.2: - version "3.10.2" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.10.2.tgz#c9a10e8bf6e9d65651204778c503341f1eac3ce7" - dependencies: - babel-code-frame "^6.16.0" - chalk "^1.1.3" - concat-stream "^1.4.6" - debug "^2.1.1" - doctrine "^1.2.2" - escope "^3.6.0" - espree "^3.3.1" - estraverse "^4.2.0" - esutils "^2.0.2" - file-entry-cache "^2.0.0" - glob "^7.0.3" - globals "^9.2.0" - ignore "^3.2.0" - imurmurhash "^0.1.4" - inquirer "^0.12.0" - is-my-json-valid "^2.10.0" - is-resolvable "^1.0.0" - js-yaml "^3.5.1" - json-stable-stringify "^1.0.0" - levn "^0.3.0" - lodash "^4.0.0" - mkdirp "^0.5.0" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.1" - pluralize "^1.2.1" - progress "^1.1.8" - require-uncached "^1.0.2" - shelljs "^0.7.5" - strip-bom "^3.0.0" - strip-json-comments "~1.0.1" - table "^3.7.8" - text-table "~0.2.0" - user-home "^2.0.0" - -espree@^3.3.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d" - dependencies: - acorn "4.0.4" - acorn-jsx "^3.0.0" - -esprima@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - -esrecurse@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" - dependencies: - estraverse "~4.1.0" - object-assign "^4.0.1" - -estraverse@^4.1.1, estraverse@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - -estraverse@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" - -esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - -event-emitter@~0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5" - dependencies: - d "~0.1.1" - es5-ext "~0.10.7" - -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - -expand-template@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-1.0.3.tgz#6c303323177a62b1b22c070279f7861287b69b1a" - -extend@3, extend@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" - -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - -figures@^1.3.5: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - -file-entry-cache@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" - dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" - -find-root@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.0.0.tgz#962ff211aab25c6520feeeb8d6287f8f6e95807a" - -flat-cache@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" - dependencies: - circular-json "^0.3.1" - del "^2.0.2" - graceful-fs "^4.1.2" - write "^0.2.1" - -for-each@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.2.tgz#2c40450b9348e97f281322593ba96704b9abd4d4" - dependencies: - is-function "~1.0.0" - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -function-bind@^1.0.2, function-bind@^1.1.0, function-bind@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" - -gauge@~2.7.1: - version "2.7.3" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09" - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -generate-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - dependencies: - is-property "^1.0.0" - -get-stdin@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" - -github-from-package@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" - -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@~7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^9.2.0: - version "9.16.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.16.0.tgz#63e903658171ec2d9f51b1d31de5e2b8dc01fb80" - -globby@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -graceful-fs@^4.1.2: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - -has@^1.0.1, has@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" - dependencies: - function-bind "^1.0.2" - -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - -home-or-tmp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.1" - -https-proxy-agent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6" - dependencies: - agent-base "2" - debug "2" - extend "3" - -ignore@^3.0.9, ignore@^3.2.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.4.tgz#4055e03596729a8fabe45a43c100ad5ed815c4e8" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -ini@~1.3.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" - -inquirer@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" - dependencies: - ansi-escapes "^1.1.0" - ansi-regex "^2.0.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" - cli-width "^2.0.0" - figures "^1.3.5" - lodash "^4.3.0" - readline2 "^1.0.1" - run-async "^0.1.0" - rx-lite "^3.1.2" - string-width "^1.0.1" - strip-ansi "^3.0.0" - through "^2.3.6" - -interpret@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" - -is-callable@^1.1.1, is-callable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" - -is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - -is-function@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" - -is-my-json-valid@^2.10.0: - version "2.16.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" - -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - -is-path-in-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" - dependencies: - path-is-inside "^1.0.1" - -is-property@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" - -is-regex@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - dependencies: - has "^1.0.1" - -is-resolvable@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" - dependencies: - tryit "^1.0.1" - -is-symbol@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" - -isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -isemail@1.x.x: - version "1.2.0" - resolved "https://registry.yarnpkg.com/isemail/-/isemail-1.2.0.tgz#be03df8cc3e29de4d2c5df6501263f1fa4595e9a" - -joi@^6.9.1: - version "6.10.1" - resolved "https://registry.yarnpkg.com/joi/-/joi-6.10.1.tgz#4d50c318079122000fe5f16af1ff8e1917b77e06" - dependencies: - hoek "2.x.x" - isemail "1.x.x" - moment "2.x.x" - topo "1.x.x" - -js-tokens@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" - -js-yaml@^3.5.1: - version "3.8.2" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.2.tgz#02d3e2c0f6beab20248d412c352203827d786721" - dependencies: - argparse "^1.0.7" - esprima "^3.1.1" - -json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - dependencies: - jsonify "~0.0.0" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - -jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - -jsx-ast-utils@^1.3.3: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.0.tgz#5afe38868f56bc8cc7aeaef0100ba8c75bd12591" - dependencies: - object-assign "^4.1.0" - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lodash@^4.0.0, lodash@^4.3.0: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -minimatch@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" - dependencies: - brace-expansion "^1.0.0" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@^1.1.0, minimist@^1.2.0, minimist@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - -mkdirp@^0.5.0, mkdirp@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - -moment@2.x.x: - version "2.17.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.17.1.tgz#fed9506063f36b10f066c8b59a144d7faebe1d82" - -ms@0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" - -mute-stream@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - -node-abi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.0.0.tgz#443bfd151b599231028ae425e592e76cd31cb537" - -nodesecurity-npm-utils@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/nodesecurity-npm-utils/-/nodesecurity-npm-utils-5.0.0.tgz#05aa30de30ca8c845c4048e94fd78e5e08b55ed9" - -noop-logger@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" - -npmlog@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.1" - set-blocking "~2.0.0" - -nsp@^2.3.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/nsp/-/nsp-2.6.2.tgz#93dfb4c5b2885cc354d8ca18b73f09e52b9c8b16" - dependencies: - chalk "^1.1.1" - cli-table "^0.3.1" - https-proxy-agent "^1.0.0" - joi "^6.9.1" - nodesecurity-npm-utils "^5.0.0" - path-is-absolute "^1.0.0" - rc "^1.1.2" - semver "^5.0.3" - subcommand "^2.0.3" - wreck "^6.3.0" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - -object-inspect@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.2.1.tgz#3b62226eb8f6d441751c7d8f22a20ff80ac9dc3f" - -object-keys@^1.0.8: - version "1.0.11" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" - -once@^1.3.0, once@^1.3.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -once@~1.3.0: - version "1.3.3" - resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" - dependencies: - wrappy "1" - -onetime@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - -optionator@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -os-homedir@^1.0.0, os-homedir@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - -os-tmpdir@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - -pkg-config@^1.0.1, pkg-config@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pkg-config/-/pkg-config-1.1.1.tgz#557ef22d73da3c8837107766c52eadabde298fe4" - dependencies: - debug-log "^1.0.0" - find-root "^1.0.0" - xtend "^4.0.1" - -pluralize@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - -progress@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" - -pump@^1.0.0, pump@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.2.tgz#3b3ee6512f94f0e575538c17995f9f16990a5d51" - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -rc@^1.1.2, rc@^1.1.6: - version "1.1.7" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.7.tgz#c5ea564bb07aff9fd3a5b32e906c1d3a65940fea" - dependencies: - deep-extend "~0.4.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.5, readable-stream@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.3.tgz#9cf49463985df016c8ae8813097a9293a9b33729" - dependencies: - buffer-shims "^1.0.0" - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readline2@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - mute-stream "0.0.5" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - dependencies: - resolve "^1.1.6" - -require-uncached@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" - dependencies: - caller-path "^0.1.0" - resolve-from "^1.0.0" - -resolve-from@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" - -resolve@^1.1.6, resolve@~1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" - -resumer@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" - dependencies: - through "~2.3.4" - -rimraf@^2.2.8, rimraf@^2.5.2: - version "2.6.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" - dependencies: - glob "^7.0.5" - -run-async@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" - dependencies: - once "^1.3.0" - -run-parallel@^1.1.2: - version "1.1.6" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.6.tgz#29003c9a2163e01e2d2dfc90575f2c6c1d61a039" - -rx-lite@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" - -semver@^5.0.3: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - -semver@~5.0.1: - version "5.0.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" - -set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - -shelljs@^0.7.5: - version "0.7.6" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad" - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -signal-exit@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - -simple-get@^1.4.2: - version "1.4.3" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-1.4.3.tgz#e9755eda407e96da40c5e5158c9ea37b33becbeb" - dependencies: - once "^1.3.1" - unzip-response "^1.0.0" - xtend "^4.0.0" - -slice-ansi@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - -standard-engine@~5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/standard-engine/-/standard-engine-5.2.0.tgz#400660ae5acce8afd4db60ff2214a9190ad790a3" - dependencies: - deglob "^2.0.0" - find-root "^1.0.0" - get-stdin "^5.0.1" - home-or-tmp "^2.0.0" - minimist "^1.1.0" - pkg-config "^1.0.1" - -standard@^8.6.0: - version "8.6.0" - resolved "https://registry.yarnpkg.com/standard/-/standard-8.6.0.tgz#635132be7bfb567c2921005f30f9e350e4752aad" - dependencies: - eslint "~3.10.2" - eslint-config-standard "6.2.1" - eslint-config-standard-jsx "3.2.0" - eslint-plugin-promise "~3.4.0" - eslint-plugin-react "~6.7.1" - eslint-plugin-standard "~2.0.1" - standard-engine "~5.2.0" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^3.0.0" - -string.prototype.trim@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" - dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.0" - function-bind "^1.0.2" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - -strip-json-comments@~1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - -subcommand@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/subcommand/-/subcommand-2.1.0.tgz#5e4ceca5a3779e3365b1511e05f866877302f760" - dependencies: - cliclopts "^1.1.0" - debug "^2.1.3" - minimist "^1.2.0" - xtend "^4.0.0" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -table@^3.7.8: - version "3.8.3" - resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" - dependencies: - ajv "^4.7.0" - ajv-keywords "^1.0.0" - chalk "^1.1.1" - lodash "^4.0.0" - slice-ansi "0.0.4" - string-width "^2.0.0" - -tape@^4.5.1: - version "4.6.3" - resolved "https://registry.yarnpkg.com/tape/-/tape-4.6.3.tgz#637e77581e9ab2ce17577e9bd4ce4f575806d8b6" - dependencies: - deep-equal "~1.0.1" - defined "~1.0.0" - for-each "~0.3.2" - function-bind "~1.1.0" - glob "~7.1.1" - has "~1.0.1" - inherits "~2.0.3" - minimist "~1.2.0" - object-inspect "~1.2.1" - resolve "~1.1.7" - resumer "~0.0.0" - string.prototype.trim "~1.1.2" - through "~2.3.8" - -tar-fs@^1.13.0: - version "1.15.1" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.15.1.tgz#f4622f5d5e250742b3679a9a8463acfc12cdefd1" - dependencies: - chownr "^1.0.1" - mkdirp "^0.5.0" - pump "^1.0.0" - tar-stream "^1.1.2" - -tar-stream@^1.1.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.2.tgz#fbc6c6e83c1a19d4cb48c7d96171fc248effc7bf" - dependencies: - bl "^1.0.0" - end-of-stream "^1.0.0" - readable-stream "^2.0.0" - xtend "^4.0.0" - -text-table@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - -through@^2.3.6, through@~2.3.4, through@~2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - -topo@1.x.x: - version "1.1.0" - resolved "https://registry.yarnpkg.com/topo/-/topo-1.1.0.tgz#e9d751615d1bb87dc865db182fa1ca0a5ef536d5" - dependencies: - hoek "2.x.x" - -tryit@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" - -tunnel-agent@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - dependencies: - prelude-ls "~1.1.2" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - -unzip-response@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" - -user-home@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" - dependencies: - os-homedir "^1.0.0" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - -wide-align@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" - dependencies: - string-width "^1.0.1" - -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -wreck@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/wreck/-/wreck-6.3.0.tgz#a1369769f07bbb62d6a378336a7871fc773c740b" - dependencies: - boom "2.x.x" - hoek "2.x.x" - -write@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" - dependencies: - mkdirp "^0.5.1" - -xtend@4.0.1, xtend@^4.0.0, xtend@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" diff --git a/node_modules/process-nextick-args/.travis.yml b/node_modules/process-nextick-args/.travis.yml deleted file mode 100644 index 36201b1..0000000 --- a/node_modules/process-nextick-args/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -language: node_js -node_js: - - "0.8" - - "0.10" - - "0.11" - - "0.12" - - "1.7.1" - - 1 - - 2 - - 3 - - 4 - - 5 diff --git a/node_modules/process-nextick-args/index.js b/node_modules/process-nextick-args/index.js deleted file mode 100644 index a4f40f8..0000000 --- a/node_modules/process-nextick-args/index.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -if (!process.version || - process.version.indexOf('v0.') === 0 || - process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) { - module.exports = nextTick; -} else { - module.exports = process.nextTick; -} - -function nextTick(fn, arg1, arg2, arg3) { - if (typeof fn !== 'function') { - throw new TypeError('"callback" argument must be a function'); - } - var len = arguments.length; - var args, i; - switch (len) { - case 0: - case 1: - return process.nextTick(fn); - case 2: - return process.nextTick(function afterTickOne() { - fn.call(null, arg1); - }); - case 3: - return process.nextTick(function afterTickTwo() { - fn.call(null, arg1, arg2); - }); - case 4: - return process.nextTick(function afterTickThree() { - fn.call(null, arg1, arg2, arg3); - }); - default: - args = new Array(len - 1); - i = 0; - while (i < args.length) { - args[i++] = arguments[i]; - } - return process.nextTick(function afterTick() { - fn.apply(null, args); - }); - } -} diff --git a/node_modules/process-nextick-args/license.md b/node_modules/process-nextick-args/license.md deleted file mode 100644 index c67e353..0000000 --- a/node_modules/process-nextick-args/license.md +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright (c) 2015 Calvin Metcalf - -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.** diff --git a/node_modules/process-nextick-args/package.json b/node_modules/process-nextick-args/package.json deleted file mode 100644 index e6d129c..0000000 --- a/node_modules/process-nextick-args/package.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "process-nextick-args@~1.0.6", - "scope": null, - "escapedName": "process-nextick-args", - "name": "process-nextick-args", - "rawSpec": "~1.0.6", - "spec": ">=1.0.6 <1.1.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/readable-stream" - ] - ], - "_from": "process-nextick-args@>=1.0.6 <1.1.0", - "_id": "process-nextick-args@1.0.7", - "_inCache": true, - "_installable": true, - "_location": "/process-nextick-args", - "_nodeVersion": "5.11.0", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/process-nextick-args-1.0.7.tgz_1462394251778_0.36989671061746776" - }, - "_npmUser": { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" - }, - "_npmVersion": "3.8.6", - "_phantomChildren": {}, - "_requested": { - "raw": "process-nextick-args@~1.0.6", - "scope": null, - "escapedName": "process-nextick-args", - "name": "process-nextick-args", - "rawSpec": "~1.0.6", - "spec": ">=1.0.6 <1.1.0", - "type": "range" - }, - "_requiredBy": [ - "/readable-stream" - ], - "_resolved": "http://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "_shasum": "150e20b756590ad3f91093f25a4f2ad8bff30ba3", - "_shrinkwrap": null, - "_spec": "process-nextick-args@~1.0.6", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/readable-stream", - "author": "", - "bugs": { - "url": "https://github.com/calvinmetcalf/process-nextick-args/issues" - }, - "dependencies": {}, - "description": "process.nextTick but always with args", - "devDependencies": { - "tap": "~0.2.6" - }, - "directories": {}, - "dist": { - "shasum": "150e20b756590ad3f91093f25a4f2ad8bff30ba3", - "tarball": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" - }, - "gitHead": "5c00899ab01dd32f93ad4b5743da33da91404f39", - "homepage": "https://github.com/calvinmetcalf/process-nextick-args", - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" - } - ], - "name": "process-nextick-args", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/calvinmetcalf/process-nextick-args.git" - }, - "scripts": { - "test": "node test.js" - }, - "version": "1.0.7" -} diff --git a/node_modules/process-nextick-args/readme.md b/node_modules/process-nextick-args/readme.md deleted file mode 100644 index 78e7cfa..0000000 --- a/node_modules/process-nextick-args/readme.md +++ /dev/null @@ -1,18 +0,0 @@ -process-nextick-args -===== - -[![Build Status](https://travis-ci.org/calvinmetcalf/process-nextick-args.svg?branch=master)](https://travis-ci.org/calvinmetcalf/process-nextick-args) - -```bash -npm install --save process-nextick-args -``` - -Always be able to pass arguments to process.nextTick, no matter the platform - -```js -var nextTick = require('process-nextick-args'); - -nextTick(function (a, b, c) { - console.log(a, b, c); -}, 'step', 3, 'profit'); -``` diff --git a/node_modules/process-nextick-args/test.js b/node_modules/process-nextick-args/test.js deleted file mode 100644 index ef15721..0000000 --- a/node_modules/process-nextick-args/test.js +++ /dev/null @@ -1,24 +0,0 @@ -var test = require("tap").test; -var nextTick = require('./'); - -test('should work', function (t) { - t.plan(5); - nextTick(function (a) { - t.ok(a); - nextTick(function (thing) { - t.equals(thing, 7); - }, 7); - }, true); - nextTick(function (a, b, c) { - t.equals(a, 'step'); - t.equals(b, 3); - t.equals(c, 'profit'); - }, 'step', 3, 'profit'); -}); - -test('correct number of arguments', function (t) { - t.plan(1); - nextTick(function () { - t.equals(2, arguments.length, 'correct number'); - }, 1, 2); -}); diff --git a/node_modules/pump/.npmignore b/node_modules/pump/.npmignore deleted file mode 100644 index 3c3629e..0000000 --- a/node_modules/pump/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/node_modules/pump/.travis.yml b/node_modules/pump/.travis.yml deleted file mode 100644 index 17f9433..0000000 --- a/node_modules/pump/.travis.yml +++ /dev/null @@ -1,5 +0,0 @@ -language: node_js -node_js: - - "0.10" - -script: "npm test" diff --git a/node_modules/pump/LICENSE b/node_modules/pump/LICENSE deleted file mode 100644 index 757562e..0000000 --- a/node_modules/pump/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Mathias Buus - -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. \ No newline at end of file diff --git a/node_modules/pump/README.md b/node_modules/pump/README.md deleted file mode 100644 index 5029b27..0000000 --- a/node_modules/pump/README.md +++ /dev/null @@ -1,56 +0,0 @@ -# pump - -pump is a small node module that pipes streams together and destroys all of them if one of them closes. - -``` -npm install pump -``` - -[![build status](http://img.shields.io/travis/mafintosh/pump.svg?style=flat)](http://travis-ci.org/mafintosh/pump) - -## What problem does it solve? - -When using standard `source.pipe(dest)` source will _not_ be destroyed if dest emits close or an error. -You are also not able to provide a callback to tell when then pipe has finished. - -pump does these two things for you - -## Usage - -Simply pass the streams you want to pipe together to pump and add an optional callback - -``` js -var pump = require('pump') -var fs = require('fs') - -var source = fs.createReadStream('/dev/random') -var dest = fs.createWriteStream('/dev/null') - -pump(source, dest, function(err) { - console.log('pipe finished', err) -}) - -setTimeout(function() { - dest.destroy() // when dest is closed pump will destroy source -}, 1000) -``` - -You can use pump to pipe more than two streams together as well - -``` js -var transform = someTransformStream() - -pump(source, transform, anotherTransform, dest, function(err) { - console.log('pipe finished', err) -}) -``` - -If `source`, `transform`, `anotherTransform` or `dest` closes all of them will be destroyed. - -## License - -MIT - -## Related - -`pump` is part of the [mississippi stream utility collection](https://github.com/maxogden/mississippi) which includes more useful stream modules similar to this one. diff --git a/node_modules/pump/index.js b/node_modules/pump/index.js deleted file mode 100644 index 060ce5f..0000000 --- a/node_modules/pump/index.js +++ /dev/null @@ -1,80 +0,0 @@ -var once = require('once') -var eos = require('end-of-stream') -var fs = require('fs') // we only need fs to get the ReadStream and WriteStream prototypes - -var noop = function () {} - -var isFn = function (fn) { - return typeof fn === 'function' -} - -var isFS = function (stream) { - if (!fs) return false // browser - return (stream instanceof (fs.ReadStream || noop) || stream instanceof (fs.WriteStream || noop)) && isFn(stream.close) -} - -var isRequest = function (stream) { - return stream.setHeader && isFn(stream.abort) -} - -var destroyer = function (stream, reading, writing, callback) { - callback = once(callback) - - var closed = false - stream.on('close', function () { - closed = true - }) - - eos(stream, {readable: reading, writable: writing}, function (err) { - if (err) return callback(err) - closed = true - callback() - }) - - var destroyed = false - return function (err) { - if (closed) return - if (destroyed) return - destroyed = true - - if (isFS(stream)) return stream.close() // use close for fs streams to avoid fd leaks - if (isRequest(stream)) return stream.abort() // request.destroy just do .end - .abort is what we want - - if (isFn(stream.destroy)) return stream.destroy() - - callback(err || new Error('stream was destroyed')) - } -} - -var call = function (fn) { - fn() -} - -var pipe = function (from, to) { - return from.pipe(to) -} - -var pump = function () { - var streams = Array.prototype.slice.call(arguments) - var callback = isFn(streams[streams.length - 1] || noop) && streams.pop() || noop - - if (Array.isArray(streams[0])) streams = streams[0] - if (streams.length < 2) throw new Error('pump requires two streams per minimum') - - var error - var destroys = streams.map(function (stream, i) { - var reading = i < streams.length - 1 - var writing = i > 0 - return destroyer(stream, reading, writing, function (err) { - if (!error) error = err - if (err) destroys.forEach(call) - if (reading) return - destroys.forEach(call) - callback(error) - }) - }) - - return streams.reduce(pipe) -} - -module.exports = pump diff --git a/node_modules/pump/package.json b/node_modules/pump/package.json deleted file mode 100644 index a410a0c..0000000 --- a/node_modules/pump/package.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "pump@^1.0.1", - "scope": null, - "escapedName": "pump", - "name": "pump", - "rawSpec": "^1.0.1", - "spec": ">=1.0.1 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install" - ] - ], - "_from": "pump@>=1.0.1 <2.0.0", - "_id": "pump@1.0.2", - "_inCache": true, - "_installable": true, - "_location": "/pump", - "_nodeVersion": "4.6.2", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/pump-1.0.2.tgz_1482243286673_0.09530888125300407" - }, - "_npmUser": { - "name": "mafintosh", - "email": "mathiasbuus@gmail.com" - }, - "_npmVersion": "2.15.11", - "_phantomChildren": {}, - "_requested": { - "raw": "pump@^1.0.1", - "scope": null, - "escapedName": "pump", - "name": "pump", - "rawSpec": "^1.0.1", - "spec": ">=1.0.1 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/prebuild-install", - "/tar-fs" - ], - "_resolved": "http://registry.npmjs.org/pump/-/pump-1.0.2.tgz", - "_shasum": "3b3ee6512f94f0e575538c17995f9f16990a5d51", - "_shrinkwrap": null, - "_spec": "pump@^1.0.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install", - "author": { - "name": "Mathias Buus Madsen", - "email": "mathiasbuus@gmail.com" - }, - "browser": { - "fs": false - }, - "bugs": { - "url": "https://github.com/mafintosh/pump/issues" - }, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - }, - "description": "pipe streams together and close all of them if one of them closes", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "3b3ee6512f94f0e575538c17995f9f16990a5d51", - "tarball": "https://registry.npmjs.org/pump/-/pump-1.0.2.tgz" - }, - "gitHead": "90ed7ae8923ade7c7589e3db28c29fbc5c2d42ca", - "homepage": "https://github.com/mafintosh/pump", - "keywords": [ - "streams", - "pipe", - "destroy", - "callback" - ], - "license": "MIT", - "maintainers": [ - { - "name": "mafintosh", - "email": "mathiasbuus@gmail.com" - } - ], - "name": "pump", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/mafintosh/pump.git" - }, - "scripts": { - "test": "node test.js" - }, - "version": "1.0.2" -} diff --git a/node_modules/pump/test-browser.js b/node_modules/pump/test-browser.js deleted file mode 100644 index 80e852c..0000000 --- a/node_modules/pump/test-browser.js +++ /dev/null @@ -1,58 +0,0 @@ -var stream = require('stream') -var pump = require('./index') - -var rs = new stream.Readable() -var ws = new stream.Writable() - -rs._read = function (size) { - this.push(Buffer(size).fill('abc')) -} - -ws._write = function (chunk, encoding, cb) { - setTimeout(function () { - cb() - }, 100) -} - -var toHex = function () { - var reverse = new (require('stream').Transform)() - - reverse._transform = function (chunk, enc, callback) { - reverse.push(chunk.toString('hex')) - callback() - } - - return reverse -} - -var wsClosed = false -var rsClosed = false -var callbackCalled = false - -var check = function () { - if (wsClosed && rsClosed && callbackCalled) console.log('done') -} - -ws.on('finish', function () { - wsClosed = true - check() -}) - -rs.on('end', function () { - rsClosed = true - check() -}) - -pump(rs, toHex(), toHex(), toHex(), ws, function () { - callbackCalled = true - check() -}) - -setTimeout(function () { - rs.push(null) - rs.emit('close') -}, 1000) - -setTimeout(function () { - if (!check()) throw new Error('timeout') -}, 5000) diff --git a/node_modules/pump/test.js b/node_modules/pump/test.js deleted file mode 100644 index 64e772c..0000000 --- a/node_modules/pump/test.js +++ /dev/null @@ -1,46 +0,0 @@ -var pump = require('./index') - -var rs = require('fs').createReadStream('/dev/random') -var ws = require('fs').createWriteStream('/dev/null') - -var toHex = function () { - var reverse = new (require('stream').Transform)() - - reverse._transform = function (chunk, enc, callback) { - reverse.push(chunk.toString('hex')) - callback() - } - - return reverse -} - -var wsClosed = false -var rsClosed = false -var callbackCalled = false - -var check = function () { - if (wsClosed && rsClosed && callbackCalled) process.exit(0) -} - -ws.on('close', function () { - wsClosed = true - check() -}) - -rs.on('close', function () { - rsClosed = true - check() -}) - -pump(rs, toHex(), toHex(), toHex(), ws, function () { - callbackCalled = true - check() -}) - -setTimeout(function () { - rs.destroy() -}, 1000) - -setTimeout(function () { - throw new Error('timeout') -}, 5000) diff --git a/node_modules/rc/.npmignore b/node_modules/rc/.npmignore deleted file mode 100644 index 13abef4..0000000 --- a/node_modules/rc/.npmignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules -node_modules/* -npm_debug.log diff --git a/node_modules/rc/LICENSE.APACHE2 b/node_modules/rc/LICENSE.APACHE2 deleted file mode 100644 index 6366c04..0000000 --- a/node_modules/rc/LICENSE.APACHE2 +++ /dev/null @@ -1,15 +0,0 @@ -Apache License, Version 2.0 - -Copyright (c) 2011 Dominic Tarr - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/node_modules/rc/LICENSE.BSD b/node_modules/rc/LICENSE.BSD deleted file mode 100644 index 96bb796..0000000 --- a/node_modules/rc/LICENSE.BSD +++ /dev/null @@ -1,26 +0,0 @@ -Copyright (c) 2013, Dominic Tarr -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -The views and conclusions contained in the software and documentation are those -of the authors and should not be interpreted as representing official policies, -either expressed or implied, of the FreeBSD Project. diff --git a/node_modules/rc/LICENSE.MIT b/node_modules/rc/LICENSE.MIT deleted file mode 100644 index 6eafbd7..0000000 --- a/node_modules/rc/LICENSE.MIT +++ /dev/null @@ -1,24 +0,0 @@ -The MIT License - -Copyright (c) 2011 Dominic Tarr - -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. diff --git a/node_modules/rc/README.md b/node_modules/rc/README.md deleted file mode 100644 index 65a5f06..0000000 --- a/node_modules/rc/README.md +++ /dev/null @@ -1,149 +0,0 @@ -# rc - -The non-configurable configuration loader for lazy people. - -## Usage - -The only option is to pass rc the name of your app, and your default configuration. - -```javascript -var conf = require('rc')(appname, { - //defaults go here. - port: 2468, - - //defaults which are objects will be merged, not replaced - views: { - engine: 'jade' - } -}); -``` - -`rc` will return your configuration options merged with the defaults you specify. -If you pass in a predefined defaults object, it will be mutated: - -```javascript -var conf = {}; -require('rc')(appname, conf); -``` - -If `rc` finds any config files for your app, the returned config object will have -a `configs` array containing their paths: - -```javascript -var appCfg = require('rc')(appname, conf); -appCfg.configs[0] // /etc/appnamerc -appCfg.configs[1] // /home/dominictarr/.config/appname -appCfg.config // same as appCfg.configs[appCfg.configs.length - 1] -``` - -## Standards - -Given your application name (`appname`), rc will look in all the obvious places for configuration. - - * command line arguments (parsed by minimist) - * environment variables prefixed with `${appname}_` - * or use "\_\_" to indicate nested properties
_(e.g. `appname_foo__bar__baz` => `foo.bar.baz`)_ - * if you passed an option `--config file` then from that file - * a local `.${appname}rc` or the first found looking in `./ ../ ../../ ../../../` etc. - * `$HOME/.${appname}rc` - * `$HOME/.${appname}/config` - * `$HOME/.config/${appname}` - * `$HOME/.config/${appname}/config` - * `/etc/${appname}rc` - * `/etc/${appname}/config` - * the defaults object you passed in. - -All configuration sources that were found will be flattened into one object, -so that sources **earlier** in this list override later ones. - - -## Configuration File Formats - -Configuration files (e.g. `.appnamerc`) may be in either [json](http://json.org/example) or [ini](http://en.wikipedia.org/wiki/INI_file) format. The example configurations below are equivalent: - - -#### Formatted as `ini` - -``` -; You can include comments in `ini` format if you want. - -dependsOn=0.10.0 - - -; `rc` has built-in support for ini sections, see? - -[commands] - www = ./commands/www - console = ./commands/repl - - -; You can even do nested sections - -[generators.options] - engine = ejs - -[generators.modules] - new = generate-new - engine = generate-backend - -``` - -#### Formatted as `json` - -```javascript -{ - // You can even comment your JSON, if you want - "dependsOn": "0.10.0", - "commands": { - "www": "./commands/www", - "console": "./commands/repl" - }, - "generators": { - "options": { - "engine": "ejs" - }, - "modules": { - "new": "generate-new", - "backend": "generate-backend" - } - } -} -``` - -Comments are stripped from JSON config via [strip-json-comments](https://github.com/sindresorhus/strip-json-comments). - -> Since ini, and env variables do not have a standard for types, your application needs be prepared for strings. - - - -## Advanced Usage - -#### Pass in your own `argv` - -You may pass in your own `argv` as the third argument to `rc`. This is in case you want to [use your own command-line opts parser](https://github.com/dominictarr/rc/pull/12). - -```javascript -require('rc')(appname, defaults, customArgvParser); -``` - -## Pass in your own parser - -If you have a special need to use a non-standard parser, -you can do so by passing in the parser as the 4th argument. -(leave the 3rd as null to get the default args parser) - -```javascript -require('rc')(appname, defaults, null, parser); -``` - -This may also be used to force a more strict format, -such as strict, valid JSON only. - -## Note on Performance - -`rc` is running `fs.statSync`-- so make sure you don't use it in a hot code path (e.g. a request handler) - - -## License - -Multi-licensed under the two-clause BSD License, MIT License, or Apache License, version 2.0 diff --git a/node_modules/rc/browser.js b/node_modules/rc/browser.js deleted file mode 100644 index 8c230c5..0000000 --- a/node_modules/rc/browser.js +++ /dev/null @@ -1,7 +0,0 @@ - -// when this is loaded into the browser, -// just use the defaults... - -module.exports = function (name, defaults) { - return defaults -} diff --git a/node_modules/rc/index.js b/node_modules/rc/index.js deleted file mode 100755 index 6f8f113..0000000 --- a/node_modules/rc/index.js +++ /dev/null @@ -1,60 +0,0 @@ -#! /usr/bin/env node -var cc = require('./lib/utils') -var join = require('path').join -var deepExtend = require('deep-extend') -var etc = '/etc' -var win = process.platform === "win32" -var home = win - ? process.env.USERPROFILE - : process.env.HOME - -module.exports = function (name, defaults, argv, parse) { - if('string' !== typeof name) - throw new Error('rc(name): name *must* be string') - if(!argv) - argv = require('minimist')(process.argv.slice(2)) - defaults = ( - 'string' === typeof defaults - ? cc.json(defaults) : defaults - ) || {} - - parse = parse || cc.parse - - var env = cc.env(name + '_') - - var configs = [defaults] - var configFiles = [] - function addConfigFile (file) { - if (configFiles.indexOf(file) >= 0) return - var fileConfig = cc.file(file) - if (fileConfig) { - configs.push(parse(fileConfig)) - configFiles.push(file) - } - } - - // which files do we look at? - if (!win) - [join(etc, name, 'config'), - join(etc, name + 'rc')].forEach(addConfigFile) - if (home) - [join(home, '.config', name, 'config'), - join(home, '.config', name), - join(home, '.' + name, 'config'), - join(home, '.' + name + 'rc')].forEach(addConfigFile) - addConfigFile(cc.find('.'+name+'rc')) - if (env.config) addConfigFile(env.config) - if (argv.config) addConfigFile(argv.config) - - return deepExtend.apply(null, configs.concat([ - env, - argv, - configFiles.length ? {configs: configFiles, config: configFiles[configFiles.length - 1]} : undefined, - ])) -} - -if(!module.parent) { - console.log( - JSON.stringify(module.exports(process.argv[2]), false, 2) - ) -} diff --git a/node_modules/rc/lib/utils.js b/node_modules/rc/lib/utils.js deleted file mode 100644 index 8b3beff..0000000 --- a/node_modules/rc/lib/utils.js +++ /dev/null @@ -1,104 +0,0 @@ -'use strict'; -var fs = require('fs') -var ini = require('ini') -var path = require('path') -var stripJsonComments = require('strip-json-comments') - -var parse = exports.parse = function (content) { - - //if it ends in .json or starts with { then it must be json. - //must be done this way, because ini accepts everything. - //can't just try and parse it and let it throw if it's not ini. - //everything is ini. even json with a syntax error. - - if(/^\s*{/.test(content)) - return JSON.parse(stripJsonComments(content)) - return ini.parse(content) - -} - -var file = exports.file = function () { - var args = [].slice.call(arguments).filter(function (arg) { return arg != null }) - - //path.join breaks if it's a not a string, so just skip this. - for(var i in args) - if('string' !== typeof args[i]) - return - - var file = path.join.apply(null, args) - var content - try { - return fs.readFileSync(file,'utf-8') - } catch (err) { - return - } -} - -var json = exports.json = function () { - var content = file.apply(null, arguments) - return content ? parse(content) : null -} - -var env = exports.env = function (prefix, env) { - env = env || process.env - var obj = {} - var l = prefix.length - for(var k in env) { - if(k.toLowerCase().indexOf(prefix.toLowerCase()) === 0) { - - var keypath = k.substring(l).split('__') - - // Trim empty strings from keypath array - var _emptyStringIndex - while ((_emptyStringIndex=keypath.indexOf('')) > -1) { - keypath.splice(_emptyStringIndex, 1) - } - - var cursor = obj - keypath.forEach(function _buildSubObj(_subkey,i){ - - // (check for _subkey first so we ignore empty strings) - // (check for cursor to avoid assignment to primitive objects) - if (!_subkey || typeof cursor !== 'object') - return - - // If this is the last key, just stuff the value in there - // Assigns actual value from env variable to final key - // (unless it's just an empty string- in that case use the last valid key) - if (i === keypath.length-1) - cursor[_subkey] = env[k] - - - // Build sub-object if nothing already exists at the keypath - if (cursor[_subkey] === undefined) - cursor[_subkey] = {} - - // Increment cursor used to track the object at the current depth - cursor = cursor[_subkey] - - }) - - } - - } - - return obj -} - -var find = exports.find = function () { - var rel = path.join.apply(null, [].slice.call(arguments)) - - function find(start, rel) { - var file = path.join(start, rel) - try { - fs.statSync(file) - return file - } catch (err) { - if(path.dirname(start) !== start) // root - return find(path.dirname(start), rel) - } - } - return find(process.cwd(), rel) -} - - diff --git a/node_modules/rc/package.json b/node_modules/rc/package.json deleted file mode 100644 index f872463..0000000 --- a/node_modules/rc/package.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "rc@^1.1.6", - "scope": null, - "escapedName": "rc", - "name": "rc", - "rawSpec": "^1.1.6", - "spec": ">=1.1.6 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install" - ] - ], - "_from": "rc@>=1.1.6 <2.0.0", - "_id": "rc@1.2.1", - "_inCache": true, - "_installable": true, - "_location": "/rc", - "_nodeVersion": "6.9.4", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/rc-1.2.1.tgz_1491263242441_0.15247246017679572" - }, - "_npmUser": { - "name": "dominictarr", - "email": "dominic.tarr@gmail.com" - }, - "_npmVersion": "3.10.10", - "_phantomChildren": {}, - "_requested": { - "raw": "rc@^1.1.6", - "scope": null, - "escapedName": "rc", - "name": "rc", - "rawSpec": "^1.1.6", - "spec": ">=1.1.6 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/prebuild-install" - ], - "_resolved": "http://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "_shasum": "2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95", - "_shrinkwrap": null, - "_spec": "rc@^1.1.6", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install", - "author": { - "name": "Dominic Tarr", - "email": "dominic.tarr@gmail.com", - "url": "dominictarr.com" - }, - "bin": { - "rc": "./index.js" - }, - "browserify": "browser.js", - "bugs": { - "url": "https://github.com/dominictarr/rc/issues" - }, - "dependencies": { - "deep-extend": "~0.4.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "description": "hardwired configuration loader", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95", - "tarball": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz" - }, - "gitHead": "41251ff2bdc6a067dd3bf77efcdad57cae23b515", - "homepage": "https://github.com/dominictarr/rc#readme", - "keywords": [ - "config", - "rc", - "unix", - "defaults" - ], - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "main": "index.js", - "maintainers": [ - { - "name": "dominictarr", - "email": "dominic.tarr@gmail.com" - } - ], - "name": "rc", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/dominictarr/rc.git" - }, - "scripts": { - "test": "set -e; node test/test.js; node test/ini.js; node test/nested-env-vars.js" - }, - "version": "1.2.1" -} diff --git a/node_modules/rc/test/ini.js b/node_modules/rc/test/ini.js deleted file mode 100644 index e6857f8..0000000 --- a/node_modules/rc/test/ini.js +++ /dev/null @@ -1,16 +0,0 @@ -var cc =require('../lib/utils') -var INI = require('ini') -var assert = require('assert') - -function test(obj) { - - var _json, _ini - var json = cc.parse (_json = JSON.stringify(obj)) - var ini = cc.parse (_ini = INI.stringify(obj)) - console.log(_ini, _json) - assert.deepEqual(json, ini) -} - - -test({hello: true}) - diff --git a/node_modules/rc/test/nested-env-vars.js b/node_modules/rc/test/nested-env-vars.js deleted file mode 100644 index 0ecd176..0000000 --- a/node_modules/rc/test/nested-env-vars.js +++ /dev/null @@ -1,50 +0,0 @@ - -var seed = Math.random(); -var n = 'rc'+ seed; -var N = 'RC'+ seed; -var assert = require('assert') - - -// Basic usage -process.env[n+'_someOpt__a'] = 42 -process.env[n+'_someOpt__x__'] = 99 -process.env[n+'_someOpt__a__b'] = 186 -process.env[n+'_someOpt__a__b__c'] = 243 -process.env[n+'_someOpt__x__y'] = 1862 -process.env[n+'_someOpt__z'] = 186577 - -// Should ignore empty strings from orphaned '__' -process.env[n+'_someOpt__z__x__'] = 18629 -process.env[n+'_someOpt__w__w__'] = 18629 - -// Leading '__' should ignore everything up to 'z' -process.env[n+'___z__i__'] = 9999 - -// should ignore case for config name section. -process.env[N+'_test_upperCase'] = 187 - -function testPrefix(prefix) { - var config = require('../')(prefix, { - option: true - }) - - console.log('\n\n------ nested-env-vars ------\n',{prefix: prefix}, '\n', config); - - assert.equal(config.option, true) - assert.equal(config.someOpt.a, 42) - assert.equal(config.someOpt.x, 99) - // Should not override `a` once it's been set - assert.equal(config.someOpt.a/*.b*/, 42) - // Should not override `x` once it's been set - assert.equal(config.someOpt.x/*.y*/, 99) - assert.equal(config.someOpt.z, 186577) - // Should not override `z` once it's been set - assert.equal(config.someOpt.z/*.x*/, 186577) - assert.equal(config.someOpt.w.w, 18629) - assert.equal(config.z.i, 9999) - - assert.equal(config.test_upperCase, 187) -} - -testPrefix(n); -testPrefix(N); diff --git a/node_modules/rc/test/test.js b/node_modules/rc/test/test.js deleted file mode 100644 index 4f63351..0000000 --- a/node_modules/rc/test/test.js +++ /dev/null @@ -1,59 +0,0 @@ - -var n = 'rc'+Math.random() -var assert = require('assert') - -process.env[n+'_envOption'] = 42 - -var config = require('../')(n, { - option: true -}) - -console.log(config) - -assert.equal(config.option, true) -assert.equal(config.envOption, 42) - -var customArgv = require('../')(n, { - option: true -}, { // nopt-like argv - option: false, - envOption: 24, - argv: { - remain: [], - cooked: ['--no-option', '--envOption', '24'], - original: ['--no-option', '--envOption=24'] - } -}) - -console.log(customArgv) - -assert.equal(customArgv.option, false) -assert.equal(customArgv.envOption, 24) - -var fs = require('fs') -var path = require('path') -var jsonrc = path.resolve('.' + n + 'rc'); - -fs.writeFileSync(jsonrc, [ - '{', - '// json overrides default', - '"option": false,', - '/* env overrides json */', - '"envOption": 24', - '}' -].join('\n')); - -var commentedJSON = require('../')(n, { - option: true -}) - -fs.unlinkSync(jsonrc); - -console.log(commentedJSON) - -assert.equal(commentedJSON.option, false) -assert.equal(commentedJSON.envOption, 42) - -assert.equal(commentedJSON.config, jsonrc) -assert.equal(commentedJSON.configs.length, 1) -assert.equal(commentedJSON.configs[0], jsonrc) diff --git a/node_modules/readable-stream/.npmignore b/node_modules/readable-stream/.npmignore deleted file mode 100644 index 6d270c6..0000000 --- a/node_modules/readable-stream/.npmignore +++ /dev/null @@ -1,9 +0,0 @@ -build/ -test/ -examples/ -fs.js -zlib.js -.zuul.yml -.nyc_output -coverage -docs/ diff --git a/node_modules/readable-stream/.travis.yml b/node_modules/readable-stream/.travis.yml deleted file mode 100644 index 76b4b0c..0000000 --- a/node_modules/readable-stream/.travis.yml +++ /dev/null @@ -1,49 +0,0 @@ -sudo: false -language: node_js -before_install: - - npm install -g npm@2 - - npm install -g npm -notifications: - email: false -matrix: - fast_finish: true - include: - - node_js: '0.8' - env: TASK=test - - node_js: '0.10' - env: TASK=test - - node_js: '0.11' - env: TASK=test - - node_js: '0.12' - env: TASK=test - - node_js: 1 - env: TASK=test - - node_js: 2 - env: TASK=test - - node_js: 3 - env: TASK=test - - node_js: 4 - env: TASK=test - - node_js: 5 - env: TASK=test - - node_js: 6 - env: TASK=test - - node_js: 7 - env: TASK=test - - node_js: 5 - env: TASK=browser BROWSER_NAME=ie BROWSER_VERSION="9..latest" - - node_js: 5 - env: TASK=browser BROWSER_NAME=opera BROWSER_VERSION="11..latest" - - node_js: 5 - env: TASK=browser BROWSER_NAME=chrome BROWSER_VERSION="-3..latest" - - node_js: 5 - env: TASK=browser BROWSER_NAME=firefox BROWSER_VERSION="-3..latest" - - node_js: 5 - env: TASK=browser BROWSER_NAME=safari BROWSER_VERSION="5..latest" - - node_js: 5 - env: TASK=browser BROWSER_NAME=microsoftedge BROWSER_VERSION=latest -script: "npm run $TASK" -env: - global: - - secure: rE2Vvo7vnjabYNULNyLFxOyt98BoJexDqsiOnfiD6kLYYsiQGfr/sbZkPMOFm9qfQG7pjqx+zZWZjGSswhTt+626C0t/njXqug7Yps4c3dFblzGfreQHp7wNX5TFsvrxd6dAowVasMp61sJcRnB2w8cUzoe3RAYUDHyiHktwqMc= - - secure: g9YINaKAdMatsJ28G9jCGbSaguXCyxSTy+pBO6Ch0Cf57ZLOTka3HqDj8p3nV28LUIHZ3ut5WO43CeYKwt4AUtLpBS3a0dndHdY6D83uY6b2qh5hXlrcbeQTq2cvw2y95F7hm4D1kwrgZ7ViqaKggRcEupAL69YbJnxeUDKWEdI= diff --git a/node_modules/readable-stream/CONTRIBUTING.md b/node_modules/readable-stream/CONTRIBUTING.md deleted file mode 100644 index f478d58..0000000 --- a/node_modules/readable-stream/CONTRIBUTING.md +++ /dev/null @@ -1,38 +0,0 @@ -# Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -* (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -* (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -* (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -* (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. - -## Moderation Policy - -The [Node.js Moderation Policy] applies to this WG. - -## Code of Conduct - -The [Node.js Code of Conduct][] applies to this WG. - -[Node.js Code of Conduct]: -https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md -[Node.js Moderation Policy]: -https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md diff --git a/node_modules/readable-stream/GOVERNANCE.md b/node_modules/readable-stream/GOVERNANCE.md deleted file mode 100644 index 16ffb93..0000000 --- a/node_modules/readable-stream/GOVERNANCE.md +++ /dev/null @@ -1,136 +0,0 @@ -### Streams Working Group - -The Node.js Streams is jointly governed by a Working Group -(WG) -that is responsible for high-level guidance of the project. - -The WG has final authority over this project including: - -* Technical direction -* Project governance and process (including this policy) -* Contribution policy -* GitHub repository hosting -* Conduct guidelines -* Maintaining the list of additional Collaborators - -For the current list of WG members, see the project -[README.md](./README.md#current-project-team-members). - -### Collaborators - -The readable-stream GitHub repository is -maintained by the WG and additional Collaborators who are added by the -WG on an ongoing basis. - -Individuals making significant and valuable contributions are made -Collaborators and given commit-access to the project. These -individuals are identified by the WG and their addition as -Collaborators is discussed during the WG meeting. - -_Note:_ If you make a significant contribution and are not considered -for commit-access log an issue or contact a WG member directly and it -will be brought up in the next WG meeting. - -Modifications of the contents of the readable-stream repository are -made on -a collaborative basis. Anybody with a GitHub account may propose a -modification via pull request and it will be considered by the project -Collaborators. All pull requests must be reviewed and accepted by a -Collaborator with sufficient expertise who is able to take full -responsibility for the change. In the case of pull requests proposed -by an existing Collaborator, an additional Collaborator is required -for sign-off. Consensus should be sought if additional Collaborators -participate and there is disagreement around a particular -modification. See _Consensus Seeking Process_ below for further detail -on the consensus model used for governance. - -Collaborators may opt to elevate significant or controversial -modifications, or modifications that have not found consensus to the -WG for discussion by assigning the ***WG-agenda*** tag to a pull -request or issue. The WG should serve as the final arbiter where -required. - -For the current list of Collaborators, see the project -[README.md](./README.md#members). - -### WG Membership - -WG seats are not time-limited. There is no fixed size of the WG. -However, the expected target is between 6 and 12, to ensure adequate -coverage of important areas of expertise, balanced with the ability to -make decisions efficiently. - -There is no specific set of requirements or qualifications for WG -membership beyond these rules. - -The WG may add additional members to the WG by unanimous consensus. - -A WG member may be removed from the WG by voluntary resignation, or by -unanimous consensus of all other WG members. - -Changes to WG membership should be posted in the agenda, and may be -suggested as any other agenda item (see "WG Meetings" below). - -If an addition or removal is proposed during a meeting, and the full -WG is not in attendance to participate, then the addition or removal -is added to the agenda for the subsequent meeting. This is to ensure -that all members are given the opportunity to participate in all -membership decisions. If a WG member is unable to attend a meeting -where a planned membership decision is being made, then their consent -is assumed. - -No more than 1/3 of the WG members may be affiliated with the same -employer. If removal or resignation of a WG member, or a change of -employment by a WG member, creates a situation where more than 1/3 of -the WG membership shares an employer, then the situation must be -immediately remedied by the resignation or removal of one or more WG -members affiliated with the over-represented employer(s). - -### WG Meetings - -The WG meets occasionally on a Google Hangout On Air. A designated moderator -approved by the WG runs the meeting. Each meeting should be -published to YouTube. - -Items are added to the WG agenda that are considered contentious or -are modifications of governance, contribution policy, WG membership, -or release process. - -The intention of the agenda is not to approve or review all patches; -that should happen continuously on GitHub and be handled by the larger -group of Collaborators. - -Any community member or contributor can ask that something be added to -the next meeting's agenda by logging a GitHub Issue. Any Collaborator, -WG member or the moderator can add the item to the agenda by adding -the ***WG-agenda*** tag to the issue. - -Prior to each WG meeting the moderator will share the Agenda with -members of the WG. WG members can add any items they like to the -agenda at the beginning of each meeting. The moderator and the WG -cannot veto or remove items. - -The WG may invite persons or representatives from certain projects to -participate in a non-voting capacity. - -The moderator is responsible for summarizing the discussion of each -agenda item and sends it as a pull request after the meeting. - -### Consensus Seeking Process - -The WG follows a -[Consensus -Seeking](http://en.wikipedia.org/wiki/Consensus-seeking_decision-making) -decision-making model. - -When an agenda item has appeared to reach a consensus the moderator -will ask "Does anyone object?" as a final call for dissent from the -consensus. - -If an agenda item cannot reach a consensus a WG member can call for -either a closing vote or a vote to table the issue to the next -meeting. The call for a vote must be seconded by a majority of the WG -or else the discussion will continue. Simple majority wins. - -Note that changes to WG membership require a majority consensus. See -"WG Membership" above. diff --git a/node_modules/readable-stream/LICENSE b/node_modules/readable-stream/LICENSE deleted file mode 100644 index 2873b3b..0000000 --- a/node_modules/readable-stream/LICENSE +++ /dev/null @@ -1,47 +0,0 @@ -Node.js is licensed for use as follows: - -""" -Copyright Node.js contributors. All rights reserved. - -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. -""" - -This license applies to parts of Node.js originating from the -https://github.com/joyent/node repository: - -""" -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -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. -""" diff --git a/node_modules/readable-stream/README.md b/node_modules/readable-stream/README.md deleted file mode 100644 index ff75b0d..0000000 --- a/node_modules/readable-stream/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# readable-stream - -***Node-core v7.0.0 streams for userland*** [![Build Status](https://travis-ci.org/nodejs/readable-stream.svg?branch=master)](https://travis-ci.org/nodejs/readable-stream) - - -[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/) -[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/) - - -[![Sauce Test Status](https://saucelabs.com/browser-matrix/readable-stream.svg)](https://saucelabs.com/u/readable-stream) - -```bash -npm install --save readable-stream -``` - -***Node-core streams for userland*** - -This package is a mirror of the Streams2 and Streams3 implementations in -Node-core. - -Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v7.7.3/docs/api/). - -If you want to guarantee a stable streams base, regardless of what version of -Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html). - -As of version 2.0.0 **readable-stream** uses semantic versioning. - -# Streams Working Group - -`readable-stream` is maintained by the Streams Working Group, which -oversees the development and maintenance of the Streams API within -Node.js. The responsibilities of the Streams Working Group include: - -* Addressing stream issues on the Node.js issue tracker. -* Authoring and editing stream documentation within the Node.js project. -* Reviewing changes to stream subclasses within the Node.js project. -* Redirecting changes to streams from the Node.js project to this - project. -* Assisting in the implementation of stream providers within Node.js. -* Recommending versions of `readable-stream` to be included in Node.js. -* Messaging about the future of streams to give the community advance - notice of changes. - - -## Team Members - -* **Chris Dickinson** ([@chrisdickinson](https://github.com/chrisdickinson)) <christopher.s.dickinson@gmail.com> - - Release GPG key: 9554F04D7259F04124DE6B476D5A82AC7E37093B -* **Calvin Metcalf** ([@calvinmetcalf](https://github.com/calvinmetcalf)) <calvin.metcalf@gmail.com> - - Release GPG key: F3EF5F62A87FC27A22E643F714CE4FF5015AA242 -* **Rod Vagg** ([@rvagg](https://github.com/rvagg)) <rod@vagg.org> - - Release GPG key: DD8F2338BAE7501E3DD5AC78C273792F7D83545D -* **Sam Newman** ([@sonewman](https://github.com/sonewman)) <newmansam@outlook.com> -* **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) <mathiasbuus@gmail.com> -* **Domenic Denicola** ([@domenic](https://github.com/domenic)) <d@domenic.me> -* **Matteo Collina** ([@mcollina](https://github.com/mcollina)) <matteo.collina@gmail.com> - - Release GPG key: 3ABC01543F22DD2239285CDD818674489FBC127E diff --git a/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md b/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md deleted file mode 100644 index 83275f1..0000000 --- a/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +++ /dev/null @@ -1,60 +0,0 @@ -# streams WG Meeting 2015-01-30 - -## Links - -* **Google Hangouts Video**: http://www.youtube.com/watch?v=I9nDOSGfwZg -* **GitHub Issue**: https://github.com/iojs/readable-stream/issues/106 -* **Original Minutes Google Doc**: https://docs.google.com/document/d/17aTgLnjMXIrfjgNaTUnHQO7m3xgzHR2VXBTmi03Qii4/ - -## Agenda - -Extracted from https://github.com/iojs/readable-stream/labels/wg-agenda prior to meeting. - -* adopt a charter [#105](https://github.com/iojs/readable-stream/issues/105) -* release and versioning strategy [#101](https://github.com/iojs/readable-stream/issues/101) -* simpler stream creation [#102](https://github.com/iojs/readable-stream/issues/102) -* proposal: deprecate implicit flowing of streams [#99](https://github.com/iojs/readable-stream/issues/99) - -## Minutes - -### adopt a charter - -* group: +1's all around - -### What versioning scheme should be adopted? -* group: +1’s 3.0.0 -* domenic+group: pulling in patches from other sources where appropriate -* mikeal: version independently, suggesting versions for io.js -* mikeal+domenic: work with TC to notify in advance of changes -simpler stream creation - -### streamline creation of streams -* sam: streamline creation of streams -* domenic: nice simple solution posted - but, we lose the opportunity to change the model - may not be backwards incompatible (double check keys) - - **action item:** domenic will check - -### remove implicit flowing of streams on(‘data’) -* add isFlowing / isPaused -* mikeal: worrying that we’re documenting polyfill methods – confuses users -* domenic: more reflective API is probably good, with warning labels for users -* new section for mad scientists (reflective stream access) -* calvin: name the “third state” -* mikeal: maybe borrow the name from whatwg? -* domenic: we’re missing the “third state” -* consensus: kind of difficult to name the third state -* mikeal: figure out differences in states / compat -* mathias: always flow on data – eliminates third state - * explore what it breaks - -**action items:** -* ask isaac for ability to list packages by what public io.js APIs they use (esp. Stream) -* ask rod/build for infrastructure -* **chris**: explore the “flow on data” approach -* add isPaused/isFlowing -* add new docs section -* move isPaused to that section - - diff --git a/node_modules/readable-stream/duplex.js b/node_modules/readable-stream/duplex.js deleted file mode 100644 index ca807af..0000000 --- a/node_modules/readable-stream/duplex.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_duplex.js") diff --git a/node_modules/readable-stream/lib/_stream_duplex.js b/node_modules/readable-stream/lib/_stream_duplex.js deleted file mode 100644 index 736693b..0000000 --- a/node_modules/readable-stream/lib/_stream_duplex.js +++ /dev/null @@ -1,75 +0,0 @@ -// a duplex stream is just a stream that is both readable and writable. -// Since JS doesn't have multiple prototypal inheritance, this class -// prototypally inherits from Readable, and then parasitically from -// Writable. - -'use strict'; - -/**/ - -var objectKeys = Object.keys || function (obj) { - var keys = []; - for (var key in obj) { - keys.push(key); - }return keys; -}; -/**/ - -module.exports = Duplex; - -/**/ -var processNextTick = require('process-nextick-args'); -/**/ - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -var Readable = require('./_stream_readable'); -var Writable = require('./_stream_writable'); - -util.inherits(Duplex, Readable); - -var keys = objectKeys(Writable.prototype); -for (var v = 0; v < keys.length; v++) { - var method = keys[v]; - if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; -} - -function Duplex(options) { - if (!(this instanceof Duplex)) return new Duplex(options); - - Readable.call(this, options); - Writable.call(this, options); - - if (options && options.readable === false) this.readable = false; - - if (options && options.writable === false) this.writable = false; - - this.allowHalfOpen = true; - if (options && options.allowHalfOpen === false) this.allowHalfOpen = false; - - this.once('end', onend); -} - -// the no-half-open enforcer -function onend() { - // if we allow half-open state, or if the writable side ended, - // then we're ok. - if (this.allowHalfOpen || this._writableState.ended) return; - - // no more data can be written. - // But allow more writes to happen in this tick. - processNextTick(onEndNT, this); -} - -function onEndNT(self) { - self.end(); -} - -function forEach(xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); - } -} \ No newline at end of file diff --git a/node_modules/readable-stream/lib/_stream_passthrough.js b/node_modules/readable-stream/lib/_stream_passthrough.js deleted file mode 100644 index d06f71f..0000000 --- a/node_modules/readable-stream/lib/_stream_passthrough.js +++ /dev/null @@ -1,26 +0,0 @@ -// a passthrough stream. -// basically just the most minimal sort of Transform stream. -// Every written chunk gets output as-is. - -'use strict'; - -module.exports = PassThrough; - -var Transform = require('./_stream_transform'); - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -util.inherits(PassThrough, Transform); - -function PassThrough(options) { - if (!(this instanceof PassThrough)) return new PassThrough(options); - - Transform.call(this, options); -} - -PassThrough.prototype._transform = function (chunk, encoding, cb) { - cb(null, chunk); -}; \ No newline at end of file diff --git a/node_modules/readable-stream/lib/_stream_readable.js b/node_modules/readable-stream/lib/_stream_readable.js deleted file mode 100644 index 13b5a74..0000000 --- a/node_modules/readable-stream/lib/_stream_readable.js +++ /dev/null @@ -1,941 +0,0 @@ -'use strict'; - -module.exports = Readable; - -/**/ -var processNextTick = require('process-nextick-args'); -/**/ - -/**/ -var isArray = require('isarray'); -/**/ - -/**/ -var Duplex; -/**/ - -Readable.ReadableState = ReadableState; - -/**/ -var EE = require('events').EventEmitter; - -var EElistenerCount = function (emitter, type) { - return emitter.listeners(type).length; -}; -/**/ - -/**/ -var Stream; -(function () { - try { - Stream = require('st' + 'ream'); - } catch (_) {} finally { - if (!Stream) Stream = require('events').EventEmitter; - } -})(); -/**/ - -var Buffer = require('buffer').Buffer; -/**/ -var bufferShim = require('buffer-shims'); -/**/ - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -/**/ -var debugUtil = require('util'); -var debug = void 0; -if (debugUtil && debugUtil.debuglog) { - debug = debugUtil.debuglog('stream'); -} else { - debug = function () {}; -} -/**/ - -var BufferList = require('./internal/streams/BufferList'); -var StringDecoder; - -util.inherits(Readable, Stream); - -function prependListener(emitter, event, fn) { - // Sadly this is not cacheable as some libraries bundle their own - // event emitter implementation with them. - if (typeof emitter.prependListener === 'function') { - return emitter.prependListener(event, fn); - } else { - // This is a hack to make sure that our error handler is attached before any - // userland ones. NEVER DO THIS. This is here only because this code needs - // to continue to work with older versions of Node.js that do not include - // the prependListener() method. The goal is to eventually remove this hack. - if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]]; - } -} - -function ReadableState(options, stream) { - Duplex = Duplex || require('./_stream_duplex'); - - options = options || {}; - - // object stream flag. Used to make read(n) ignore n and to - // make all the buffer merging and length checks go away - this.objectMode = !!options.objectMode; - - if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.readableObjectMode; - - // the point at which it stops calling _read() to fill the buffer - // Note: 0 is a valid value, means "don't call _read preemptively ever" - var hwm = options.highWaterMark; - var defaultHwm = this.objectMode ? 16 : 16 * 1024; - this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm; - - // cast to ints. - this.highWaterMark = ~~this.highWaterMark; - - // A linked list is used to store data chunks instead of an array because the - // linked list can remove elements from the beginning faster than - // array.shift() - this.buffer = new BufferList(); - this.length = 0; - this.pipes = null; - this.pipesCount = 0; - this.flowing = null; - this.ended = false; - this.endEmitted = false; - this.reading = false; - - // a flag to be able to tell if the onwrite cb is called immediately, - // or on a later tick. We set this to true at first, because any - // actions that shouldn't happen until "later" should generally also - // not happen before the first write call. - this.sync = true; - - // whenever we return null, then we set a flag to say - // that we're awaiting a 'readable' event emission. - this.needReadable = false; - this.emittedReadable = false; - this.readableListening = false; - this.resumeScheduled = false; - - // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - this.defaultEncoding = options.defaultEncoding || 'utf8'; - - // when piping, we only care about 'readable' events that happen - // after read()ing all the bytes and not getting any pushback. - this.ranOut = false; - - // the number of writers that are awaiting a drain event in .pipe()s - this.awaitDrain = 0; - - // if true, a maybeReadMore has been scheduled - this.readingMore = false; - - this.decoder = null; - this.encoding = null; - if (options.encoding) { - if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; - this.decoder = new StringDecoder(options.encoding); - this.encoding = options.encoding; - } -} - -function Readable(options) { - Duplex = Duplex || require('./_stream_duplex'); - - if (!(this instanceof Readable)) return new Readable(options); - - this._readableState = new ReadableState(options, this); - - // legacy - this.readable = true; - - if (options && typeof options.read === 'function') this._read = options.read; - - Stream.call(this); -} - -// Manually shove something into the read() buffer. -// This returns true if the highWaterMark has not been hit yet, -// similar to how Writable.write() returns true if you should -// write() some more. -Readable.prototype.push = function (chunk, encoding) { - var state = this._readableState; - - if (!state.objectMode && typeof chunk === 'string') { - encoding = encoding || state.defaultEncoding; - if (encoding !== state.encoding) { - chunk = bufferShim.from(chunk, encoding); - encoding = ''; - } - } - - return readableAddChunk(this, state, chunk, encoding, false); -}; - -// Unshift should *always* be something directly out of read() -Readable.prototype.unshift = function (chunk) { - var state = this._readableState; - return readableAddChunk(this, state, chunk, '', true); -}; - -Readable.prototype.isPaused = function () { - return this._readableState.flowing === false; -}; - -function readableAddChunk(stream, state, chunk, encoding, addToFront) { - var er = chunkInvalid(state, chunk); - if (er) { - stream.emit('error', er); - } else if (chunk === null) { - state.reading = false; - onEofChunk(stream, state); - } else if (state.objectMode || chunk && chunk.length > 0) { - if (state.ended && !addToFront) { - var e = new Error('stream.push() after EOF'); - stream.emit('error', e); - } else if (state.endEmitted && addToFront) { - var _e = new Error('stream.unshift() after end event'); - stream.emit('error', _e); - } else { - var skipAdd; - if (state.decoder && !addToFront && !encoding) { - chunk = state.decoder.write(chunk); - skipAdd = !state.objectMode && chunk.length === 0; - } - - if (!addToFront) state.reading = false; - - // Don't add to the buffer if we've decoded to an empty string chunk and - // we're not in object mode - if (!skipAdd) { - // if we want the data now, just emit it. - if (state.flowing && state.length === 0 && !state.sync) { - stream.emit('data', chunk); - stream.read(0); - } else { - // update the buffer info. - state.length += state.objectMode ? 1 : chunk.length; - if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk); - - if (state.needReadable) emitReadable(stream); - } - } - - maybeReadMore(stream, state); - } - } else if (!addToFront) { - state.reading = false; - } - - return needMoreData(state); -} - -// if it's past the high water mark, we can push in some more. -// Also, if we have no data yet, we can stand some -// more bytes. This is to work around cases where hwm=0, -// such as the repl. Also, if the push() triggered a -// readable event, and the user called read(largeNumber) such that -// needReadable was set, then we ought to push more, so that another -// 'readable' event will be triggered. -function needMoreData(state) { - return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0); -} - -// backwards compatibility. -Readable.prototype.setEncoding = function (enc) { - if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; - this._readableState.decoder = new StringDecoder(enc); - this._readableState.encoding = enc; - return this; -}; - -// Don't raise the hwm > 8MB -var MAX_HWM = 0x800000; -function computeNewHighWaterMark(n) { - if (n >= MAX_HWM) { - n = MAX_HWM; - } else { - // Get the next highest power of 2 to prevent increasing hwm excessively in - // tiny amounts - n--; - n |= n >>> 1; - n |= n >>> 2; - n |= n >>> 4; - n |= n >>> 8; - n |= n >>> 16; - n++; - } - return n; -} - -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function howMuchToRead(n, state) { - if (n <= 0 || state.length === 0 && state.ended) return 0; - if (state.objectMode) return 1; - if (n !== n) { - // Only flow one buffer at a time - if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length; - } - // If we're asking for more than the current hwm, then raise the hwm. - if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); - if (n <= state.length) return n; - // Don't have enough - if (!state.ended) { - state.needReadable = true; - return 0; - } - return state.length; -} - -// you can override either this method, or the async _read(n) below. -Readable.prototype.read = function (n) { - debug('read', n); - n = parseInt(n, 10); - var state = this._readableState; - var nOrig = n; - - if (n !== 0) state.emittedReadable = false; - - // if we're doing read(0) to trigger a readable event, but we - // already have a bunch of data in the buffer, then just trigger - // the 'readable' event and move on. - if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) { - debug('read: emitReadable', state.length, state.ended); - if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this); - return null; - } - - n = howMuchToRead(n, state); - - // if we've ended, and we're now clear, then finish it up. - if (n === 0 && state.ended) { - if (state.length === 0) endReadable(this); - return null; - } - - // All the actual chunk generation logic needs to be - // *below* the call to _read. The reason is that in certain - // synthetic stream cases, such as passthrough streams, _read - // may be a completely synchronous operation which may change - // the state of the read buffer, providing enough data when - // before there was *not* enough. - // - // So, the steps are: - // 1. Figure out what the state of things will be after we do - // a read from the buffer. - // - // 2. If that resulting state will trigger a _read, then call _read. - // Note that this may be asynchronous, or synchronous. Yes, it is - // deeply ugly to write APIs this way, but that still doesn't mean - // that the Readable class should behave improperly, as streams are - // designed to be sync/async agnostic. - // Take note if the _read call is sync or async (ie, if the read call - // has returned yet), so that we know whether or not it's safe to emit - // 'readable' etc. - // - // 3. Actually pull the requested chunks out of the buffer and return. - - // if we need a readable event, then we need to do some reading. - var doRead = state.needReadable; - debug('need readable', doRead); - - // if we currently have less than the highWaterMark, then also read some - if (state.length === 0 || state.length - n < state.highWaterMark) { - doRead = true; - debug('length less than watermark', doRead); - } - - // however, if we've ended, then there's no point, and if we're already - // reading, then it's unnecessary. - if (state.ended || state.reading) { - doRead = false; - debug('reading or ended', doRead); - } else if (doRead) { - debug('do read'); - state.reading = true; - state.sync = true; - // if the length is currently zero, then we *need* a readable event. - if (state.length === 0) state.needReadable = true; - // call internal read method - this._read(state.highWaterMark); - state.sync = false; - // If _read pushed data synchronously, then `reading` will be false, - // and we need to re-evaluate how much data we can return to the user. - if (!state.reading) n = howMuchToRead(nOrig, state); - } - - var ret; - if (n > 0) ret = fromList(n, state);else ret = null; - - if (ret === null) { - state.needReadable = true; - n = 0; - } else { - state.length -= n; - } - - if (state.length === 0) { - // If we have nothing in the buffer, then we want to know - // as soon as we *do* get something into the buffer. - if (!state.ended) state.needReadable = true; - - // If we tried to read() past the EOF, then emit end on the next tick. - if (nOrig !== n && state.ended) endReadable(this); - } - - if (ret !== null) this.emit('data', ret); - - return ret; -}; - -function chunkInvalid(state, chunk) { - var er = null; - if (!Buffer.isBuffer(chunk) && typeof chunk !== 'string' && chunk !== null && chunk !== undefined && !state.objectMode) { - er = new TypeError('Invalid non-string/buffer chunk'); - } - return er; -} - -function onEofChunk(stream, state) { - if (state.ended) return; - if (state.decoder) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) { - state.buffer.push(chunk); - state.length += state.objectMode ? 1 : chunk.length; - } - } - state.ended = true; - - // emit 'readable' now to make sure it gets picked up. - emitReadable(stream); -} - -// Don't emit readable right away in sync mode, because this can trigger -// another read() call => stack overflow. This way, it might trigger -// a nextTick recursion warning, but that's not so bad. -function emitReadable(stream) { - var state = stream._readableState; - state.needReadable = false; - if (!state.emittedReadable) { - debug('emitReadable', state.flowing); - state.emittedReadable = true; - if (state.sync) processNextTick(emitReadable_, stream);else emitReadable_(stream); - } -} - -function emitReadable_(stream) { - debug('emit readable'); - stream.emit('readable'); - flow(stream); -} - -// at this point, the user has presumably seen the 'readable' event, -// and called read() to consume some data. that may have triggered -// in turn another _read(n) call, in which case reading = true if -// it's in progress. -// However, if we're not ended, or reading, and the length < hwm, -// then go ahead and try to read some more preemptively. -function maybeReadMore(stream, state) { - if (!state.readingMore) { - state.readingMore = true; - processNextTick(maybeReadMore_, stream, state); - } -} - -function maybeReadMore_(stream, state) { - var len = state.length; - while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) { - debug('maybeReadMore read 0'); - stream.read(0); - if (len === state.length) - // didn't get any data, stop spinning. - break;else len = state.length; - } - state.readingMore = false; -} - -// abstract method. to be overridden in specific implementation classes. -// call cb(er, data) where data is <= n in length. -// for virtual (non-string, non-buffer) streams, "length" is somewhat -// arbitrary, and perhaps not very meaningful. -Readable.prototype._read = function (n) { - this.emit('error', new Error('_read() is not implemented')); -}; - -Readable.prototype.pipe = function (dest, pipeOpts) { - var src = this; - var state = this._readableState; - - switch (state.pipesCount) { - case 0: - state.pipes = dest; - break; - case 1: - state.pipes = [state.pipes, dest]; - break; - default: - state.pipes.push(dest); - break; - } - state.pipesCount += 1; - debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts); - - var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; - - var endFn = doEnd ? onend : cleanup; - if (state.endEmitted) processNextTick(endFn);else src.once('end', endFn); - - dest.on('unpipe', onunpipe); - function onunpipe(readable) { - debug('onunpipe'); - if (readable === src) { - cleanup(); - } - } - - function onend() { - debug('onend'); - dest.end(); - } - - // when the dest drains, it reduces the awaitDrain counter - // on the source. This would be more elegant with a .once() - // handler in flow(), but adding and removing repeatedly is - // too slow. - var ondrain = pipeOnDrain(src); - dest.on('drain', ondrain); - - var cleanedUp = false; - function cleanup() { - debug('cleanup'); - // cleanup event handlers once the pipe is broken - dest.removeListener('close', onclose); - dest.removeListener('finish', onfinish); - dest.removeListener('drain', ondrain); - dest.removeListener('error', onerror); - dest.removeListener('unpipe', onunpipe); - src.removeListener('end', onend); - src.removeListener('end', cleanup); - src.removeListener('data', ondata); - - cleanedUp = true; - - // if the reader is waiting for a drain event from this - // specific writer, then it would cause it to never start - // flowing again. - // So, if this is awaiting a drain, then we just call it now. - // If we don't know, then assume that we are waiting for one. - if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain(); - } - - // If the user pushes more data while we're writing to dest then we'll end up - // in ondata again. However, we only want to increase awaitDrain once because - // dest will only emit one 'drain' event for the multiple writes. - // => Introduce a guard on increasing awaitDrain. - var increasedAwaitDrain = false; - src.on('data', ondata); - function ondata(chunk) { - debug('ondata'); - increasedAwaitDrain = false; - var ret = dest.write(chunk); - if (false === ret && !increasedAwaitDrain) { - // If the user unpiped during `dest.write()`, it is possible - // to get stuck in a permanently paused state if that write - // also returned false. - // => Check whether `dest` is still a piping destination. - if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) { - debug('false write response, pause', src._readableState.awaitDrain); - src._readableState.awaitDrain++; - increasedAwaitDrain = true; - } - src.pause(); - } - } - - // if the dest has an error, then stop piping into it. - // however, don't suppress the throwing behavior for this. - function onerror(er) { - debug('onerror', er); - unpipe(); - dest.removeListener('error', onerror); - if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er); - } - - // Make sure our error handler is attached before userland ones. - prependListener(dest, 'error', onerror); - - // Both close and finish should trigger unpipe, but only once. - function onclose() { - dest.removeListener('finish', onfinish); - unpipe(); - } - dest.once('close', onclose); - function onfinish() { - debug('onfinish'); - dest.removeListener('close', onclose); - unpipe(); - } - dest.once('finish', onfinish); - - function unpipe() { - debug('unpipe'); - src.unpipe(dest); - } - - // tell the dest that it's being piped to - dest.emit('pipe', src); - - // start the flow if it hasn't been started already. - if (!state.flowing) { - debug('pipe resume'); - src.resume(); - } - - return dest; -}; - -function pipeOnDrain(src) { - return function () { - var state = src._readableState; - debug('pipeOnDrain', state.awaitDrain); - if (state.awaitDrain) state.awaitDrain--; - if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) { - state.flowing = true; - flow(src); - } - }; -} - -Readable.prototype.unpipe = function (dest) { - var state = this._readableState; - - // if we're not piping anywhere, then do nothing. - if (state.pipesCount === 0) return this; - - // just one destination. most common case. - if (state.pipesCount === 1) { - // passed in one, but it's not the right one. - if (dest && dest !== state.pipes) return this; - - if (!dest) dest = state.pipes; - - // got a match. - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - if (dest) dest.emit('unpipe', this); - return this; - } - - // slow case. multiple pipe destinations. - - if (!dest) { - // remove all. - var dests = state.pipes; - var len = state.pipesCount; - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - - for (var i = 0; i < len; i++) { - dests[i].emit('unpipe', this); - }return this; - } - - // try to find the right one. - var index = indexOf(state.pipes, dest); - if (index === -1) return this; - - state.pipes.splice(index, 1); - state.pipesCount -= 1; - if (state.pipesCount === 1) state.pipes = state.pipes[0]; - - dest.emit('unpipe', this); - - return this; -}; - -// set up data events if they are asked for -// Ensure readable listeners eventually get something -Readable.prototype.on = function (ev, fn) { - var res = Stream.prototype.on.call(this, ev, fn); - - if (ev === 'data') { - // Start flowing on next tick if stream isn't explicitly paused - if (this._readableState.flowing !== false) this.resume(); - } else if (ev === 'readable') { - var state = this._readableState; - if (!state.endEmitted && !state.readableListening) { - state.readableListening = state.needReadable = true; - state.emittedReadable = false; - if (!state.reading) { - processNextTick(nReadingNextTick, this); - } else if (state.length) { - emitReadable(this, state); - } - } - } - - return res; -}; -Readable.prototype.addListener = Readable.prototype.on; - -function nReadingNextTick(self) { - debug('readable nexttick read 0'); - self.read(0); -} - -// pause() and resume() are remnants of the legacy readable stream API -// If the user uses them, then switch into old mode. -Readable.prototype.resume = function () { - var state = this._readableState; - if (!state.flowing) { - debug('resume'); - state.flowing = true; - resume(this, state); - } - return this; -}; - -function resume(stream, state) { - if (!state.resumeScheduled) { - state.resumeScheduled = true; - processNextTick(resume_, stream, state); - } -} - -function resume_(stream, state) { - if (!state.reading) { - debug('resume read 0'); - stream.read(0); - } - - state.resumeScheduled = false; - state.awaitDrain = 0; - stream.emit('resume'); - flow(stream); - if (state.flowing && !state.reading) stream.read(0); -} - -Readable.prototype.pause = function () { - debug('call pause flowing=%j', this._readableState.flowing); - if (false !== this._readableState.flowing) { - debug('pause'); - this._readableState.flowing = false; - this.emit('pause'); - } - return this; -}; - -function flow(stream) { - var state = stream._readableState; - debug('flow', state.flowing); - while (state.flowing && stream.read() !== null) {} -} - -// wrap an old-style stream as the async data source. -// This is *not* part of the readable stream interface. -// It is an ugly unfortunate mess of history. -Readable.prototype.wrap = function (stream) { - var state = this._readableState; - var paused = false; - - var self = this; - stream.on('end', function () { - debug('wrapped end'); - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) self.push(chunk); - } - - self.push(null); - }); - - stream.on('data', function (chunk) { - debug('wrapped data'); - if (state.decoder) chunk = state.decoder.write(chunk); - - // don't skip over falsy values in objectMode - if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return; - - var ret = self.push(chunk); - if (!ret) { - paused = true; - stream.pause(); - } - }); - - // proxy all the other methods. - // important when wrapping filters and duplexes. - for (var i in stream) { - if (this[i] === undefined && typeof stream[i] === 'function') { - this[i] = function (method) { - return function () { - return stream[method].apply(stream, arguments); - }; - }(i); - } - } - - // proxy certain important events. - var events = ['error', 'close', 'destroy', 'pause', 'resume']; - forEach(events, function (ev) { - stream.on(ev, self.emit.bind(self, ev)); - }); - - // when we try to consume some more bytes, simply unpause the - // underlying stream. - self._read = function (n) { - debug('wrapped _read', n); - if (paused) { - paused = false; - stream.resume(); - } - }; - - return self; -}; - -// exposed for testing purposes only. -Readable._fromList = fromList; - -// Pluck off n bytes from an array of buffers. -// Length is the combined lengths of all the buffers in the list. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function fromList(n, state) { - // nothing buffered - if (state.length === 0) return null; - - var ret; - if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) { - // read it all, truncate the list - if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length); - state.buffer.clear(); - } else { - // read part of list - ret = fromListPartial(n, state.buffer, state.decoder); - } - - return ret; -} - -// Extracts only enough buffered data to satisfy the amount requested. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function fromListPartial(n, list, hasStrings) { - var ret; - if (n < list.head.data.length) { - // slice is the same for buffers and strings - ret = list.head.data.slice(0, n); - list.head.data = list.head.data.slice(n); - } else if (n === list.head.data.length) { - // first chunk is a perfect match - ret = list.shift(); - } else { - // result spans more than one buffer - ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list); - } - return ret; -} - -// Copies a specified amount of characters from the list of buffered data -// chunks. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function copyFromBufferString(n, list) { - var p = list.head; - var c = 1; - var ret = p.data; - n -= ret.length; - while (p = p.next) { - var str = p.data; - var nb = n > str.length ? str.length : n; - if (nb === str.length) ret += str;else ret += str.slice(0, n); - n -= nb; - if (n === 0) { - if (nb === str.length) { - ++c; - if (p.next) list.head = p.next;else list.head = list.tail = null; - } else { - list.head = p; - p.data = str.slice(nb); - } - break; - } - ++c; - } - list.length -= c; - return ret; -} - -// Copies a specified amount of bytes from the list of buffered data chunks. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function copyFromBuffer(n, list) { - var ret = bufferShim.allocUnsafe(n); - var p = list.head; - var c = 1; - p.data.copy(ret); - n -= p.data.length; - while (p = p.next) { - var buf = p.data; - var nb = n > buf.length ? buf.length : n; - buf.copy(ret, ret.length - n, 0, nb); - n -= nb; - if (n === 0) { - if (nb === buf.length) { - ++c; - if (p.next) list.head = p.next;else list.head = list.tail = null; - } else { - list.head = p; - p.data = buf.slice(nb); - } - break; - } - ++c; - } - list.length -= c; - return ret; -} - -function endReadable(stream) { - var state = stream._readableState; - - // If we get here before consuming all the bytes, then that is a - // bug in node. Should never happen. - if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream'); - - if (!state.endEmitted) { - state.ended = true; - processNextTick(endReadableNT, state, stream); - } -} - -function endReadableNT(state, stream) { - // Check that we didn't get one last unshift. - if (!state.endEmitted && state.length === 0) { - state.endEmitted = true; - stream.readable = false; - stream.emit('end'); - } -} - -function forEach(xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); - } -} - -function indexOf(xs, x) { - for (var i = 0, l = xs.length; i < l; i++) { - if (xs[i] === x) return i; - } - return -1; -} \ No newline at end of file diff --git a/node_modules/readable-stream/lib/_stream_transform.js b/node_modules/readable-stream/lib/_stream_transform.js deleted file mode 100644 index cd25832..0000000 --- a/node_modules/readable-stream/lib/_stream_transform.js +++ /dev/null @@ -1,182 +0,0 @@ -// a transform stream is a readable/writable stream where you do -// something with the data. Sometimes it's called a "filter", -// but that's not a great name for it, since that implies a thing where -// some bits pass through, and others are simply ignored. (That would -// be a valid example of a transform, of course.) -// -// While the output is causally related to the input, it's not a -// necessarily symmetric or synchronous transformation. For example, -// a zlib stream might take multiple plain-text writes(), and then -// emit a single compressed chunk some time in the future. -// -// Here's how this works: -// -// The Transform stream has all the aspects of the readable and writable -// stream classes. When you write(chunk), that calls _write(chunk,cb) -// internally, and returns false if there's a lot of pending writes -// buffered up. When you call read(), that calls _read(n) until -// there's enough pending readable data buffered up. -// -// In a transform stream, the written data is placed in a buffer. When -// _read(n) is called, it transforms the queued up data, calling the -// buffered _write cb's as it consumes chunks. If consuming a single -// written chunk would result in multiple output chunks, then the first -// outputted bit calls the readcb, and subsequent chunks just go into -// the read buffer, and will cause it to emit 'readable' if necessary. -// -// This way, back-pressure is actually determined by the reading side, -// since _read has to be called to start processing a new chunk. However, -// a pathological inflate type of transform can cause excessive buffering -// here. For example, imagine a stream where every byte of input is -// interpreted as an integer from 0-255, and then results in that many -// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in -// 1kb of data being output. In this case, you could write a very small -// amount of input, and end up with a very large amount of output. In -// such a pathological inflating mechanism, there'd be no way to tell -// the system to stop doing the transform. A single 4MB write could -// cause the system to run out of memory. -// -// However, even in such a pathological case, only a single written chunk -// would be consumed, and then the rest would wait (un-transformed) until -// the results of the previous transformed chunk were consumed. - -'use strict'; - -module.exports = Transform; - -var Duplex = require('./_stream_duplex'); - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -util.inherits(Transform, Duplex); - -function TransformState(stream) { - this.afterTransform = function (er, data) { - return afterTransform(stream, er, data); - }; - - this.needTransform = false; - this.transforming = false; - this.writecb = null; - this.writechunk = null; - this.writeencoding = null; -} - -function afterTransform(stream, er, data) { - var ts = stream._transformState; - ts.transforming = false; - - var cb = ts.writecb; - - if (!cb) return stream.emit('error', new Error('no writecb in Transform class')); - - ts.writechunk = null; - ts.writecb = null; - - if (data !== null && data !== undefined) stream.push(data); - - cb(er); - - var rs = stream._readableState; - rs.reading = false; - if (rs.needReadable || rs.length < rs.highWaterMark) { - stream._read(rs.highWaterMark); - } -} - -function Transform(options) { - if (!(this instanceof Transform)) return new Transform(options); - - Duplex.call(this, options); - - this._transformState = new TransformState(this); - - var stream = this; - - // start out asking for a readable event once data is transformed. - this._readableState.needReadable = true; - - // we have implemented the _read method, and done the other things - // that Readable wants before the first _read call, so unset the - // sync guard flag. - this._readableState.sync = false; - - if (options) { - if (typeof options.transform === 'function') this._transform = options.transform; - - if (typeof options.flush === 'function') this._flush = options.flush; - } - - // When the writable side finishes, then flush out anything remaining. - this.once('prefinish', function () { - if (typeof this._flush === 'function') this._flush(function (er, data) { - done(stream, er, data); - });else done(stream); - }); -} - -Transform.prototype.push = function (chunk, encoding) { - this._transformState.needTransform = false; - return Duplex.prototype.push.call(this, chunk, encoding); -}; - -// This is the part where you do stuff! -// override this function in implementation classes. -// 'chunk' is an input chunk. -// -// Call `push(newChunk)` to pass along transformed output -// to the readable side. You may call 'push' zero or more times. -// -// Call `cb(err)` when you are done with this chunk. If you pass -// an error, then that'll put the hurt on the whole operation. If you -// never call cb(), then you'll never get another chunk. -Transform.prototype._transform = function (chunk, encoding, cb) { - throw new Error('_transform() is not implemented'); -}; - -Transform.prototype._write = function (chunk, encoding, cb) { - var ts = this._transformState; - ts.writecb = cb; - ts.writechunk = chunk; - ts.writeencoding = encoding; - if (!ts.transforming) { - var rs = this._readableState; - if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark); - } -}; - -// Doesn't matter what the args are here. -// _transform does all the work. -// That we got here means that the readable side wants more data. -Transform.prototype._read = function (n) { - var ts = this._transformState; - - if (ts.writechunk !== null && ts.writecb && !ts.transforming) { - ts.transforming = true; - this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); - } else { - // mark that we need a transform, so that any data that comes in - // will get processed, now that we've asked for it. - ts.needTransform = true; - } -}; - -function done(stream, er, data) { - if (er) return stream.emit('error', er); - - if (data !== null && data !== undefined) stream.push(data); - - // if there's nothing in the write buffer, then that means - // that nothing more will ever be provided - var ws = stream._writableState; - var ts = stream._transformState; - - if (ws.length) throw new Error('Calling transform done when ws.length != 0'); - - if (ts.transforming) throw new Error('Calling transform done when still transforming'); - - return stream.push(null); -} \ No newline at end of file diff --git a/node_modules/readable-stream/lib/_stream_writable.js b/node_modules/readable-stream/lib/_stream_writable.js deleted file mode 100644 index 575beb3..0000000 --- a/node_modules/readable-stream/lib/_stream_writable.js +++ /dev/null @@ -1,551 +0,0 @@ -// A bit simpler than readable streams. -// Implement an async ._write(chunk, encoding, cb), and it'll handle all -// the drain event emission and buffering. - -'use strict'; - -module.exports = Writable; - -/**/ -var processNextTick = require('process-nextick-args'); -/**/ - -/**/ -var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : processNextTick; -/**/ - -/**/ -var Duplex; -/**/ - -Writable.WritableState = WritableState; - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -/**/ -var internalUtil = { - deprecate: require('util-deprecate') -}; -/**/ - -/**/ -var Stream; -(function () { - try { - Stream = require('st' + 'ream'); - } catch (_) {} finally { - if (!Stream) Stream = require('events').EventEmitter; - } -})(); -/**/ - -var Buffer = require('buffer').Buffer; -/**/ -var bufferShim = require('buffer-shims'); -/**/ - -util.inherits(Writable, Stream); - -function nop() {} - -function WriteReq(chunk, encoding, cb) { - this.chunk = chunk; - this.encoding = encoding; - this.callback = cb; - this.next = null; -} - -function WritableState(options, stream) { - Duplex = Duplex || require('./_stream_duplex'); - - options = options || {}; - - // object stream flag to indicate whether or not this stream - // contains buffers or objects. - this.objectMode = !!options.objectMode; - - if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.writableObjectMode; - - // the point at which write() starts returning false - // Note: 0 is a valid value, means that we always return false if - // the entire buffer is not flushed immediately on write() - var hwm = options.highWaterMark; - var defaultHwm = this.objectMode ? 16 : 16 * 1024; - this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm; - - // cast to ints. - this.highWaterMark = ~~this.highWaterMark; - - // drain event flag. - this.needDrain = false; - // at the start of calling end() - this.ending = false; - // when end() has been called, and returned - this.ended = false; - // when 'finish' is emitted - this.finished = false; - - // should we decode strings into buffers before passing to _write? - // this is here so that some node-core streams can optimize string - // handling at a lower level. - var noDecode = options.decodeStrings === false; - this.decodeStrings = !noDecode; - - // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - this.defaultEncoding = options.defaultEncoding || 'utf8'; - - // not an actual buffer we keep track of, but a measurement - // of how much we're waiting to get pushed to some underlying - // socket or file. - this.length = 0; - - // a flag to see when we're in the middle of a write. - this.writing = false; - - // when true all writes will be buffered until .uncork() call - this.corked = 0; - - // a flag to be able to tell if the onwrite cb is called immediately, - // or on a later tick. We set this to true at first, because any - // actions that shouldn't happen until "later" should generally also - // not happen before the first write call. - this.sync = true; - - // a flag to know if we're processing previously buffered items, which - // may call the _write() callback in the same tick, so that we don't - // end up in an overlapped onwrite situation. - this.bufferProcessing = false; - - // the callback that's passed to _write(chunk,cb) - this.onwrite = function (er) { - onwrite(stream, er); - }; - - // the callback that the user supplies to write(chunk,encoding,cb) - this.writecb = null; - - // the amount that is being written when _write is called. - this.writelen = 0; - - this.bufferedRequest = null; - this.lastBufferedRequest = null; - - // number of pending user-supplied write callbacks - // this must be 0 before 'finish' can be emitted - this.pendingcb = 0; - - // emit prefinish if the only thing we're waiting for is _write cbs - // This is relevant for synchronous Transform streams - this.prefinished = false; - - // True if the error was already emitted and should not be thrown again - this.errorEmitted = false; - - // count buffered requests - this.bufferedRequestCount = 0; - - // allocate the first CorkedRequest, there is always - // one allocated and free to use, and we maintain at most two - this.corkedRequestsFree = new CorkedRequest(this); -} - -WritableState.prototype.getBuffer = function getBuffer() { - var current = this.bufferedRequest; - var out = []; - while (current) { - out.push(current); - current = current.next; - } - return out; -}; - -(function () { - try { - Object.defineProperty(WritableState.prototype, 'buffer', { - get: internalUtil.deprecate(function () { - return this.getBuffer(); - }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.') - }); - } catch (_) {} -})(); - -// Test _writableState for inheritance to account for Duplex streams, -// whose prototype chain only points to Readable. -var realHasInstance; -if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') { - realHasInstance = Function.prototype[Symbol.hasInstance]; - Object.defineProperty(Writable, Symbol.hasInstance, { - value: function (object) { - if (realHasInstance.call(this, object)) return true; - - return object && object._writableState instanceof WritableState; - } - }); -} else { - realHasInstance = function (object) { - return object instanceof this; - }; -} - -function Writable(options) { - Duplex = Duplex || require('./_stream_duplex'); - - // Writable ctor is applied to Duplexes, too. - // `realHasInstance` is necessary because using plain `instanceof` - // would return false, as no `_writableState` property is attached. - - // Trying to use the custom `instanceof` for Writable here will also break the - // Node.js LazyTransform implementation, which has a non-trivial getter for - // `_writableState` that would lead to infinite recursion. - if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) { - return new Writable(options); - } - - this._writableState = new WritableState(options, this); - - // legacy. - this.writable = true; - - if (options) { - if (typeof options.write === 'function') this._write = options.write; - - if (typeof options.writev === 'function') this._writev = options.writev; - } - - Stream.call(this); -} - -// Otherwise people can pipe Writable streams, which is just wrong. -Writable.prototype.pipe = function () { - this.emit('error', new Error('Cannot pipe, not readable')); -}; - -function writeAfterEnd(stream, cb) { - var er = new Error('write after end'); - // TODO: defer error events consistently everywhere, not just the cb - stream.emit('error', er); - processNextTick(cb, er); -} - -// Checks that a user-supplied chunk is valid, especially for the particular -// mode the stream is in. Currently this means that `null` is never accepted -// and undefined/non-string values are only allowed in object mode. -function validChunk(stream, state, chunk, cb) { - var valid = true; - var er = false; - - if (chunk === null) { - er = new TypeError('May not write null values to stream'); - } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { - er = new TypeError('Invalid non-string/buffer chunk'); - } - if (er) { - stream.emit('error', er); - processNextTick(cb, er); - valid = false; - } - return valid; -} - -Writable.prototype.write = function (chunk, encoding, cb) { - var state = this._writableState; - var ret = false; - var isBuf = Buffer.isBuffer(chunk); - - if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding; - - if (typeof cb !== 'function') cb = nop; - - if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) { - state.pendingcb++; - ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb); - } - - return ret; -}; - -Writable.prototype.cork = function () { - var state = this._writableState; - - state.corked++; -}; - -Writable.prototype.uncork = function () { - var state = this._writableState; - - if (state.corked) { - state.corked--; - - if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state); - } -}; - -Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { - // node::ParseEncoding() requires lower case. - if (typeof encoding === 'string') encoding = encoding.toLowerCase(); - if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding); - this._writableState.defaultEncoding = encoding; - return this; -}; - -function decodeChunk(state, chunk, encoding) { - if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') { - chunk = bufferShim.from(chunk, encoding); - } - return chunk; -} - -// if we're already writing something, then just put this -// in the queue, and wait our turn. Otherwise, call _write -// If we return false, then we need a drain event, so set that flag. -function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) { - if (!isBuf) { - chunk = decodeChunk(state, chunk, encoding); - if (Buffer.isBuffer(chunk)) encoding = 'buffer'; - } - var len = state.objectMode ? 1 : chunk.length; - - state.length += len; - - var ret = state.length < state.highWaterMark; - // we must ensure that previous needDrain will not be reset to false. - if (!ret) state.needDrain = true; - - if (state.writing || state.corked) { - var last = state.lastBufferedRequest; - state.lastBufferedRequest = new WriteReq(chunk, encoding, cb); - if (last) { - last.next = state.lastBufferedRequest; - } else { - state.bufferedRequest = state.lastBufferedRequest; - } - state.bufferedRequestCount += 1; - } else { - doWrite(stream, state, false, len, chunk, encoding, cb); - } - - return ret; -} - -function doWrite(stream, state, writev, len, chunk, encoding, cb) { - state.writelen = len; - state.writecb = cb; - state.writing = true; - state.sync = true; - if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite); - state.sync = false; -} - -function onwriteError(stream, state, sync, er, cb) { - --state.pendingcb; - if (sync) processNextTick(cb, er);else cb(er); - - stream._writableState.errorEmitted = true; - stream.emit('error', er); -} - -function onwriteStateUpdate(state) { - state.writing = false; - state.writecb = null; - state.length -= state.writelen; - state.writelen = 0; -} - -function onwrite(stream, er) { - var state = stream._writableState; - var sync = state.sync; - var cb = state.writecb; - - onwriteStateUpdate(state); - - if (er) onwriteError(stream, state, sync, er, cb);else { - // Check if we're actually ready to finish, but don't emit yet - var finished = needFinish(state); - - if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { - clearBuffer(stream, state); - } - - if (sync) { - /**/ - asyncWrite(afterWrite, stream, state, finished, cb); - /**/ - } else { - afterWrite(stream, state, finished, cb); - } - } -} - -function afterWrite(stream, state, finished, cb) { - if (!finished) onwriteDrain(stream, state); - state.pendingcb--; - cb(); - finishMaybe(stream, state); -} - -// Must force callback to be called on nextTick, so that we don't -// emit 'drain' before the write() consumer gets the 'false' return -// value, and has a chance to attach a 'drain' listener. -function onwriteDrain(stream, state) { - if (state.length === 0 && state.needDrain) { - state.needDrain = false; - stream.emit('drain'); - } -} - -// if there's something in the buffer waiting, then process it -function clearBuffer(stream, state) { - state.bufferProcessing = true; - var entry = state.bufferedRequest; - - if (stream._writev && entry && entry.next) { - // Fast case, write everything using _writev() - var l = state.bufferedRequestCount; - var buffer = new Array(l); - var holder = state.corkedRequestsFree; - holder.entry = entry; - - var count = 0; - while (entry) { - buffer[count] = entry; - entry = entry.next; - count += 1; - } - - doWrite(stream, state, true, state.length, buffer, '', holder.finish); - - // doWrite is almost always async, defer these to save a bit of time - // as the hot path ends with doWrite - state.pendingcb++; - state.lastBufferedRequest = null; - if (holder.next) { - state.corkedRequestsFree = holder.next; - holder.next = null; - } else { - state.corkedRequestsFree = new CorkedRequest(state); - } - } else { - // Slow case, write chunks one-by-one - while (entry) { - var chunk = entry.chunk; - var encoding = entry.encoding; - var cb = entry.callback; - var len = state.objectMode ? 1 : chunk.length; - - doWrite(stream, state, false, len, chunk, encoding, cb); - entry = entry.next; - // if we didn't call the onwrite immediately, then - // it means that we need to wait until it does. - // also, that means that the chunk and cb are currently - // being processed, so move the buffer counter past them. - if (state.writing) { - break; - } - } - - if (entry === null) state.lastBufferedRequest = null; - } - - state.bufferedRequestCount = 0; - state.bufferedRequest = entry; - state.bufferProcessing = false; -} - -Writable.prototype._write = function (chunk, encoding, cb) { - cb(new Error('_write() is not implemented')); -}; - -Writable.prototype._writev = null; - -Writable.prototype.end = function (chunk, encoding, cb) { - var state = this._writableState; - - if (typeof chunk === 'function') { - cb = chunk; - chunk = null; - encoding = null; - } else if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); - - // .end() fully uncorks - if (state.corked) { - state.corked = 1; - this.uncork(); - } - - // ignore unnecessary end() calls. - if (!state.ending && !state.finished) endWritable(this, state, cb); -}; - -function needFinish(state) { - return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; -} - -function prefinish(stream, state) { - if (!state.prefinished) { - state.prefinished = true; - stream.emit('prefinish'); - } -} - -function finishMaybe(stream, state) { - var need = needFinish(state); - if (need) { - if (state.pendingcb === 0) { - prefinish(stream, state); - state.finished = true; - stream.emit('finish'); - } else { - prefinish(stream, state); - } - } - return need; -} - -function endWritable(stream, state, cb) { - state.ending = true; - finishMaybe(stream, state); - if (cb) { - if (state.finished) processNextTick(cb);else stream.once('finish', cb); - } - state.ended = true; - stream.writable = false; -} - -// It seems a linked list but it is not -// there will be only 2 of these for each stream -function CorkedRequest(state) { - var _this = this; - - this.next = null; - this.entry = null; - this.finish = function (err) { - var entry = _this.entry; - _this.entry = null; - while (entry) { - var cb = entry.callback; - state.pendingcb--; - cb(err); - entry = entry.next; - } - if (state.corkedRequestsFree) { - state.corkedRequestsFree.next = _this; - } else { - state.corkedRequestsFree = _this; - } - }; -} \ No newline at end of file diff --git a/node_modules/readable-stream/lib/internal/streams/BufferList.js b/node_modules/readable-stream/lib/internal/streams/BufferList.js deleted file mode 100644 index e4bfcf0..0000000 --- a/node_modules/readable-stream/lib/internal/streams/BufferList.js +++ /dev/null @@ -1,64 +0,0 @@ -'use strict'; - -var Buffer = require('buffer').Buffer; -/**/ -var bufferShim = require('buffer-shims'); -/**/ - -module.exports = BufferList; - -function BufferList() { - this.head = null; - this.tail = null; - this.length = 0; -} - -BufferList.prototype.push = function (v) { - var entry = { data: v, next: null }; - if (this.length > 0) this.tail.next = entry;else this.head = entry; - this.tail = entry; - ++this.length; -}; - -BufferList.prototype.unshift = function (v) { - var entry = { data: v, next: this.head }; - if (this.length === 0) this.tail = entry; - this.head = entry; - ++this.length; -}; - -BufferList.prototype.shift = function () { - if (this.length === 0) return; - var ret = this.head.data; - if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next; - --this.length; - return ret; -}; - -BufferList.prototype.clear = function () { - this.head = this.tail = null; - this.length = 0; -}; - -BufferList.prototype.join = function (s) { - if (this.length === 0) return ''; - var p = this.head; - var ret = '' + p.data; - while (p = p.next) { - ret += s + p.data; - }return ret; -}; - -BufferList.prototype.concat = function (n) { - if (this.length === 0) return bufferShim.alloc(0); - if (this.length === 1) return this.head.data; - var ret = bufferShim.allocUnsafe(n >>> 0); - var p = this.head; - var i = 0; - while (p) { - p.data.copy(ret, i); - i += p.data.length; - p = p.next; - } - return ret; -}; \ No newline at end of file diff --git a/node_modules/readable-stream/package.json b/node_modules/readable-stream/package.json deleted file mode 100644 index c3b89ed..0000000 --- a/node_modules/readable-stream/package.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "readable-stream@^2.0.0 || ^1.1.13", - "scope": null, - "escapedName": "readable-stream", - "name": "readable-stream", - "rawSpec": "^2.0.0 || ^1.1.13", - "spec": ">=2.0.0 <3.0.0||>=1.1.13 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/are-we-there-yet" - ] - ], - "_cnpm_publish_time": 1489651347637, - "_from": "readable-stream@>=2.0.0 <3.0.0||>=1.1.13 <2.0.0", - "_id": "readable-stream@2.2.6", - "_inCache": true, - "_installable": true, - "_location": "/readable-stream", - "_nodeVersion": "6.9.4", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/readable-stream-2.2.6.tgz_1489651345676_0.6984770004637539" - }, - "_npmUser": { - "name": "matteo.collina", - "email": "hello@matteocollina.com" - }, - "_npmVersion": "3.10.10", - "_phantomChildren": {}, - "_requested": { - "raw": "readable-stream@^2.0.0 || ^1.1.13", - "scope": null, - "escapedName": "readable-stream", - "name": "readable-stream", - "rawSpec": "^2.0.0 || ^1.1.13", - "spec": ">=2.0.0 <3.0.0||>=1.1.13 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/are-we-there-yet", - "/bl", - "/tar-stream" - ], - "_resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.2.6.tgz", - "_shasum": "8b43aed76e71483938d12a8d46c6cf1a00b1f816", - "_shrinkwrap": null, - "_spec": "readable-stream@^2.0.0 || ^1.1.13", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/are-we-there-yet", - "browser": { - "util": false - }, - "bugs": { - "url": "https://github.com/nodejs/readable-stream/issues" - }, - "dependencies": { - "buffer-shims": "^1.0.0", - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - }, - "description": "Streams3, a user-land copy of the stream library from Node.js", - "devDependencies": { - "assert": "~1.4.0", - "babel-polyfill": "^6.9.1", - "buffer": "^4.9.0", - "nyc": "^6.4.0", - "tap": "~0.7.1", - "tape": "~4.5.1", - "zuul": "~3.10.0" - }, - "directories": {}, - "dist": { - "shasum": "8b43aed76e71483938d12a8d46c6cf1a00b1f816", - "tarball": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.6.tgz" - }, - "gitHead": "f94eebc1c5b637e6575735e6923ec79ee3139284", - "homepage": "https://github.com/nodejs/readable-stream#readme", - "keywords": [ - "readable", - "stream", - "pipe" - ], - "license": "MIT", - "main": "readable.js", - "maintainers": [ - { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" - }, - { - "name": "isaacs", - "email": "i@izs.me" - }, - { - "name": "matteo.collina", - "email": "hello@matteocollina.com" - }, - { - "name": "rvagg", - "email": "rod@vagg.org" - }, - { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - } - ], - "name": "readable-stream", - "nyc": { - "include": [ - "lib/**.js" - ] - }, - "optionalDependencies": {}, - "react-native": { - "stream": false - }, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/nodejs/readable-stream.git" - }, - "scripts": { - "browser": "npm run write-zuul && zuul --browser-retries 2 -- test/browser.js", - "cover": "nyc npm test", - "local": "zuul --local 3000 --no-coverage -- test/browser.js", - "report": "nyc report --reporter=lcov", - "test": "tap test/parallel/*.js test/ours/*.js", - "write-zuul": "printf \"ui: tape\nbrowsers:\n - name: $BROWSER_NAME\n version: $BROWSER_VERSION\n\">.zuul.yml" - }, - "version": "2.2.6" -} diff --git a/node_modules/readable-stream/passthrough.js b/node_modules/readable-stream/passthrough.js deleted file mode 100644 index 27e8d8a..0000000 --- a/node_modules/readable-stream/passthrough.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_passthrough.js") diff --git a/node_modules/readable-stream/readable.js b/node_modules/readable-stream/readable.js deleted file mode 100644 index be2688a..0000000 --- a/node_modules/readable-stream/readable.js +++ /dev/null @@ -1,16 +0,0 @@ -var Stream = (function (){ - try { - return require('st' + 'ream'); // hack to fix a circular dependency issue when used with browserify - } catch(_){} -}()); -exports = module.exports = require('./lib/_stream_readable.js'); -exports.Stream = Stream || exports; -exports.Readable = exports; -exports.Writable = require('./lib/_stream_writable.js'); -exports.Duplex = require('./lib/_stream_duplex.js'); -exports.Transform = require('./lib/_stream_transform.js'); -exports.PassThrough = require('./lib/_stream_passthrough.js'); - -if (!process.browser && process.env.READABLE_STREAM === 'disable' && Stream) { - module.exports = Stream; -} diff --git a/node_modules/readable-stream/transform.js b/node_modules/readable-stream/transform.js deleted file mode 100644 index 5d482f0..0000000 --- a/node_modules/readable-stream/transform.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_transform.js") diff --git a/node_modules/readable-stream/writable.js b/node_modules/readable-stream/writable.js deleted file mode 100644 index e1e9efd..0000000 --- a/node_modules/readable-stream/writable.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_writable.js") diff --git a/node_modules/safe-buffer/.travis.yml b/node_modules/safe-buffer/.travis.yml deleted file mode 100644 index 7b20f28..0000000 --- a/node_modules/safe-buffer/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -language: node_js -node_js: - - 'node' - - '5' - - '4' - - '0.12' - - '0.10' diff --git a/node_modules/safe-buffer/LICENSE b/node_modules/safe-buffer/LICENSE deleted file mode 100644 index 0c068ce..0000000 --- a/node_modules/safe-buffer/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Feross Aboukhadijeh - -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. diff --git a/node_modules/safe-buffer/README.md b/node_modules/safe-buffer/README.md deleted file mode 100644 index 96eb387..0000000 --- a/node_modules/safe-buffer/README.md +++ /dev/null @@ -1,581 +0,0 @@ -# safe-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][npm-url] - -#### Safer Node.js Buffer API - -**Use the new Node.js v6 Buffer APIs (`Buffer.from`, `Buffer.alloc`, -`Buffer.allocUnsafe`, `Buffer.allocUnsafeSlow`) in Node.js v0.10, v0.12, v4.x, and v5.x.** - -**Uses the built-in implementations when available.** - -[travis-image]: https://img.shields.io/travis/feross/safe-buffer.svg -[travis-url]: https://travis-ci.org/feross/safe-buffer -[npm-image]: https://img.shields.io/npm/v/safe-buffer.svg -[npm-url]: https://npmjs.org/package/safe-buffer -[downloads-image]: https://img.shields.io/npm/dm/safe-buffer.svg - -## install - -``` -npm install safe-buffer -``` - -## usage - -The goal of this package is to provide a safe replacement for the node.js `Buffer`. - -It's a drop-in replacement for `Buffer`. You can use it by adding one `require` line to -the top of your node.js modules: - -```js -var Buffer = require('safe-buffer').Buffer - -// Existing buffer code will continue to work without issues: - -new Buffer('hey', 'utf8') -new Buffer([1, 2, 3], 'utf8') -new Buffer(obj) -new Buffer(16) // create an uninitialized buffer (potentially unsafe) - -// But you can use these new explicit APIs to make clear what you want: - -Buffer.from('hey', 'utf8') // convert from many types to a Buffer -Buffer.alloc(16) // create a zero-filled buffer (safe) -Buffer.allocUnsafe(16) // create an uninitialized buffer (potentially unsafe) -``` - -## api - -### Class Method: Buffer.from(array) - - -* `array` {Array} - -Allocates a new `Buffer` using an `array` of octets. - -```js -const buf = Buffer.from([0x62,0x75,0x66,0x66,0x65,0x72]); - // creates a new Buffer containing ASCII bytes - // ['b','u','f','f','e','r'] -``` - -A `TypeError` will be thrown if `array` is not an `Array`. - -### Class Method: Buffer.from(arrayBuffer[, byteOffset[, length]]) - - -* `arrayBuffer` {ArrayBuffer} The `.buffer` property of a `TypedArray` or - a `new ArrayBuffer()` -* `byteOffset` {Number} Default: `0` -* `length` {Number} Default: `arrayBuffer.length - byteOffset` - -When passed a reference to the `.buffer` property of a `TypedArray` instance, -the newly created `Buffer` will share the same allocated memory as the -TypedArray. - -```js -const arr = new Uint16Array(2); -arr[0] = 5000; -arr[1] = 4000; - -const buf = Buffer.from(arr.buffer); // shares the memory with arr; - -console.log(buf); - // Prints: - -// changing the TypedArray changes the Buffer also -arr[1] = 6000; - -console.log(buf); - // Prints: -``` - -The optional `byteOffset` and `length` arguments specify a memory range within -the `arrayBuffer` that will be shared by the `Buffer`. - -```js -const ab = new ArrayBuffer(10); -const buf = Buffer.from(ab, 0, 2); -console.log(buf.length); - // Prints: 2 -``` - -A `TypeError` will be thrown if `arrayBuffer` is not an `ArrayBuffer`. - -### Class Method: Buffer.from(buffer) - - -* `buffer` {Buffer} - -Copies the passed `buffer` data onto a new `Buffer` instance. - -```js -const buf1 = Buffer.from('buffer'); -const buf2 = Buffer.from(buf1); - -buf1[0] = 0x61; -console.log(buf1.toString()); - // 'auffer' -console.log(buf2.toString()); - // 'buffer' (copy is not changed) -``` - -A `TypeError` will be thrown if `buffer` is not a `Buffer`. - -### Class Method: Buffer.from(str[, encoding]) - - -* `str` {String} String to encode. -* `encoding` {String} Encoding to use, Default: `'utf8'` - -Creates a new `Buffer` containing the given JavaScript string `str`. If -provided, the `encoding` parameter identifies the character encoding. -If not provided, `encoding` defaults to `'utf8'`. - -```js -const buf1 = Buffer.from('this is a tést'); -console.log(buf1.toString()); - // prints: this is a tést -console.log(buf1.toString('ascii')); - // prints: this is a tC)st - -const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex'); -console.log(buf2.toString()); - // prints: this is a tést -``` - -A `TypeError` will be thrown if `str` is not a string. - -### Class Method: Buffer.alloc(size[, fill[, encoding]]) - - -* `size` {Number} -* `fill` {Value} Default: `undefined` -* `encoding` {String} Default: `utf8` - -Allocates a new `Buffer` of `size` bytes. If `fill` is `undefined`, the -`Buffer` will be *zero-filled*. - -```js -const buf = Buffer.alloc(5); -console.log(buf); - // -``` - -The `size` must be less than or equal to the value of -`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is -`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will -be created if a `size` less than or equal to 0 is specified. - -If `fill` is specified, the allocated `Buffer` will be initialized by calling -`buf.fill(fill)`. See [`buf.fill()`][] for more information. - -```js -const buf = Buffer.alloc(5, 'a'); -console.log(buf); - // -``` - -If both `fill` and `encoding` are specified, the allocated `Buffer` will be -initialized by calling `buf.fill(fill, encoding)`. For example: - -```js -const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64'); -console.log(buf); - // -``` - -Calling `Buffer.alloc(size)` can be significantly slower than the alternative -`Buffer.allocUnsafe(size)` but ensures that the newly created `Buffer` instance -contents will *never contain sensitive data*. - -A `TypeError` will be thrown if `size` is not a number. - -### Class Method: Buffer.allocUnsafe(size) - - -* `size` {Number} - -Allocates a new *non-zero-filled* `Buffer` of `size` bytes. The `size` must -be less than or equal to the value of `require('buffer').kMaxLength` (on 64-bit -architectures, `kMaxLength` is `(2^31)-1`). Otherwise, a [`RangeError`][] is -thrown. A zero-length Buffer will be created if a `size` less than or equal to -0 is specified. - -The underlying memory for `Buffer` instances created in this way is *not -initialized*. The contents of the newly created `Buffer` are unknown and -*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such -`Buffer` instances to zeroes. - -```js -const buf = Buffer.allocUnsafe(5); -console.log(buf); - // - // (octets will be different, every time) -buf.fill(0); -console.log(buf); - // -``` - -A `TypeError` will be thrown if `size` is not a number. - -Note that the `Buffer` module pre-allocates an internal `Buffer` instance of -size `Buffer.poolSize` that is used as a pool for the fast allocation of new -`Buffer` instances created using `Buffer.allocUnsafe(size)` (and the deprecated -`new Buffer(size)` constructor) only when `size` is less than or equal to -`Buffer.poolSize >> 1` (floor of `Buffer.poolSize` divided by two). The default -value of `Buffer.poolSize` is `8192` but can be modified. - -Use of this pre-allocated internal memory pool is a key difference between -calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`. -Specifically, `Buffer.alloc(size, fill)` will *never* use the internal Buffer -pool, while `Buffer.allocUnsafe(size).fill(fill)` *will* use the internal -Buffer pool if `size` is less than or equal to half `Buffer.poolSize`. The -difference is subtle but can be important when an application requires the -additional performance that `Buffer.allocUnsafe(size)` provides. - -### Class Method: Buffer.allocUnsafeSlow(size) - - -* `size` {Number} - -Allocates a new *non-zero-filled* and non-pooled `Buffer` of `size` bytes. The -`size` must be less than or equal to the value of -`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is -`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will -be created if a `size` less than or equal to 0 is specified. - -The underlying memory for `Buffer` instances created in this way is *not -initialized*. The contents of the newly created `Buffer` are unknown and -*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such -`Buffer` instances to zeroes. - -When using `Buffer.allocUnsafe()` to allocate new `Buffer` instances, -allocations under 4KB are, by default, sliced from a single pre-allocated -`Buffer`. This allows applications to avoid the garbage collection overhead of -creating many individually allocated Buffers. This approach improves both -performance and memory usage by eliminating the need to track and cleanup as -many `Persistent` objects. - -However, in the case where a developer may need to retain a small chunk of -memory from a pool for an indeterminate amount of time, it may be appropriate -to create an un-pooled Buffer instance using `Buffer.allocUnsafeSlow()` then -copy out the relevant bits. - -```js -// need to keep around a few small chunks of memory -const store = []; - -socket.on('readable', () => { - const data = socket.read(); - // allocate for retained data - const sb = Buffer.allocUnsafeSlow(10); - // copy the data into the new allocation - data.copy(sb, 0, 0, 10); - store.push(sb); -}); -``` - -Use of `Buffer.allocUnsafeSlow()` should be used only as a last resort *after* -a developer has observed undue memory retention in their applications. - -A `TypeError` will be thrown if `size` is not a number. - -### All the Rest - -The rest of the `Buffer` API is exactly the same as in node.js. -[See the docs](https://nodejs.org/api/buffer.html). - - -## Related links - -- [Node.js issue: Buffer(number) is unsafe](https://github.com/nodejs/node/issues/4660) -- [Node.js Enhancement Proposal: Buffer.from/Buffer.alloc/Buffer.zalloc/Buffer() soft-deprecate](https://github.com/nodejs/node-eps/pull/4) - -## Why is `Buffer` unsafe? - -Today, the node.js `Buffer` constructor is overloaded to handle many different argument -types like `String`, `Array`, `Object`, `TypedArrayView` (`Uint8Array`, etc.), -`ArrayBuffer`, and also `Number`. - -The API is optimized for convenience: you can throw any type at it, and it will try to do -what you want. - -Because the Buffer constructor is so powerful, you often see code like this: - -```js -// Convert UTF-8 strings to hex -function toHex (str) { - return new Buffer(str).toString('hex') -} -``` - -***But what happens if `toHex` is called with a `Number` argument?*** - -### Remote Memory Disclosure - -If an attacker can make your program call the `Buffer` constructor with a `Number` -argument, then they can make it allocate uninitialized memory from the node.js process. -This could potentially disclose TLS private keys, user data, or database passwords. - -When the `Buffer` constructor is passed a `Number` argument, it returns an -**UNINITIALIZED** block of memory of the specified `size`. When you create a `Buffer` like -this, you **MUST** overwrite the contents before returning it to the user. - -From the [node.js docs](https://nodejs.org/api/buffer.html#buffer_new_buffer_size): - -> `new Buffer(size)` -> -> - `size` Number -> -> The underlying memory for `Buffer` instances created in this way is not initialized. -> **The contents of a newly created `Buffer` are unknown and could contain sensitive -> data.** Use `buf.fill(0)` to initialize a Buffer to zeroes. - -(Emphasis our own.) - -Whenever the programmer intended to create an uninitialized `Buffer` you often see code -like this: - -```js -var buf = new Buffer(16) - -// Immediately overwrite the uninitialized buffer with data from another buffer -for (var i = 0; i < buf.length; i++) { - buf[i] = otherBuf[i] -} -``` - - -### Would this ever be a problem in real code? - -Yes. It's surprisingly common to forget to check the type of your variables in a -dynamically-typed language like JavaScript. - -Usually the consequences of assuming the wrong type is that your program crashes with an -uncaught exception. But the failure mode for forgetting to check the type of arguments to -the `Buffer` constructor is more catastrophic. - -Here's an example of a vulnerable service that takes a JSON payload and converts it to -hex: - -```js -// Take a JSON payload {str: "some string"} and convert it to hex -var server = http.createServer(function (req, res) { - var data = '' - req.setEncoding('utf8') - req.on('data', function (chunk) { - data += chunk - }) - req.on('end', function () { - var body = JSON.parse(data) - res.end(new Buffer(body.str).toString('hex')) - }) -}) - -server.listen(8080) -``` - -In this example, an http client just has to send: - -```json -{ - "str": 1000 -} -``` - -and it will get back 1,000 bytes of uninitialized memory from the server. - -This is a very serious bug. It's similar in severity to the -[the Heartbleed bug](http://heartbleed.com/) that allowed disclosure of OpenSSL process -memory by remote attackers. - - -### Which real-world packages were vulnerable? - -#### [`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht) - -[Mathias Buus](https://github.com/mafintosh) and I -([Feross Aboukhadijeh](http://feross.org/)) found this issue in one of our own packages, -[`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht). The bug would allow -anyone on the internet to send a series of messages to a user of `bittorrent-dht` and get -them to reveal 20 bytes at a time of uninitialized memory from the node.js process. - -Here's -[the commit](https://github.com/feross/bittorrent-dht/commit/6c7da04025d5633699800a99ec3fbadf70ad35b8) -that fixed it. We released a new fixed version, created a -[Node Security Project disclosure](https://nodesecurity.io/advisories/68), and deprecated all -vulnerable versions on npm so users will get a warning to upgrade to a newer version. - -#### [`ws`](https://www.npmjs.com/package/ws) - -That got us wondering if there were other vulnerable packages. Sure enough, within a short -period of time, we found the same issue in [`ws`](https://www.npmjs.com/package/ws), the -most popular WebSocket implementation in node.js. - -If certain APIs were called with `Number` parameters instead of `String` or `Buffer` as -expected, then uninitialized server memory would be disclosed to the remote peer. - -These were the vulnerable methods: - -```js -socket.send(number) -socket.ping(number) -socket.pong(number) -``` - -Here's a vulnerable socket server with some echo functionality: - -```js -server.on('connection', function (socket) { - socket.on('message', function (message) { - message = JSON.parse(message) - if (message.type === 'echo') { - socket.send(message.data) // send back the user's message - } - }) -}) -``` - -`socket.send(number)` called on the server, will disclose server memory. - -Here's [the release](https://github.com/websockets/ws/releases/tag/1.0.1) where the issue -was fixed, with a more detailed explanation. Props to -[Arnout Kazemier](https://github.com/3rd-Eden) for the quick fix. Here's the -[Node Security Project disclosure](https://nodesecurity.io/advisories/67). - - -### What's the solution? - -It's important that node.js offers a fast way to get memory otherwise performance-critical -applications would needlessly get a lot slower. - -But we need a better way to *signal our intent* as programmers. **When we want -uninitialized memory, we should request it explicitly.** - -Sensitive functionality should not be packed into a developer-friendly API that loosely -accepts many different types. This type of API encourages the lazy practice of passing -variables in without checking the type very carefully. - -#### A new API: `Buffer.allocUnsafe(number)` - -The functionality of creating buffers with uninitialized memory should be part of another -API. We propose `Buffer.allocUnsafe(number)`. This way, it's not part of an API that -frequently gets user input of all sorts of different types passed into it. - -```js -var buf = Buffer.allocUnsafe(16) // careful, uninitialized memory! - -// Immediately overwrite the uninitialized buffer with data from another buffer -for (var i = 0; i < buf.length; i++) { - buf[i] = otherBuf[i] -} -``` - - -### How do we fix node.js core? - -We sent [a PR to node.js core](https://github.com/nodejs/node/pull/4514) (merged as -`semver-major`) which defends against one case: - -```js -var str = 16 -new Buffer(str, 'utf8') -``` - -In this situation, it's implied that the programmer intended the first argument to be a -string, since they passed an encoding as a second argument. Today, node.js will allocate -uninitialized memory in the case of `new Buffer(number, encoding)`, which is probably not -what the programmer intended. - -But this is only a partial solution, since if the programmer does `new Buffer(variable)` -(without an `encoding` parameter) there's no way to know what they intended. If `variable` -is sometimes a number, then uninitialized memory will sometimes be returned. - -### What's the real long-term fix? - -We could deprecate and remove `new Buffer(number)` and use `Buffer.allocUnsafe(number)` when -we need uninitialized memory. But that would break 1000s of packages. - -~~We believe the best solution is to:~~ - -~~1. Change `new Buffer(number)` to return safe, zeroed-out memory~~ - -~~2. Create a new API for creating uninitialized Buffers. We propose: `Buffer.allocUnsafe(number)`~~ - -#### Update - -We now support adding three new APIs: - -- `Buffer.from(value)` - convert from any type to a buffer -- `Buffer.alloc(size)` - create a zero-filled buffer -- `Buffer.allocUnsafe(size)` - create an uninitialized buffer with given size - -This solves the core problem that affected `ws` and `bittorrent-dht` which is -`Buffer(variable)` getting tricked into taking a number argument. - -This way, existing code continues working and the impact on the npm ecosystem will be -minimal. Over time, npm maintainers can migrate performance-critical code to use -`Buffer.allocUnsafe(number)` instead of `new Buffer(number)`. - - -### Conclusion - -We think there's a serious design issue with the `Buffer` API as it exists today. It -promotes insecure software by putting high-risk functionality into a convenient API -with friendly "developer ergonomics". - -This wasn't merely a theoretical exercise because we found the issue in some of the -most popular npm packages. - -Fortunately, there's an easy fix that can be applied today. Use `safe-buffer` in place of -`buffer`. - -```js -var Buffer = require('safe-buffer').Buffer -``` - -Eventually, we hope that node.js core can switch to this new, safer behavior. We believe -the impact on the ecosystem would be minimal since it's not a breaking change. -Well-maintained, popular packages would be updated to use `Buffer.alloc` quickly, while -older, insecure packages would magically become safe from this attack vector. - - -## links - -- [Node.js PR: buffer: throw if both length and enc are passed](https://github.com/nodejs/node/pull/4514) -- [Node Security Project disclosure for `ws`](https://nodesecurity.io/advisories/67) -- [Node Security Project disclosure for`bittorrent-dht`](https://nodesecurity.io/advisories/68) - - -## credit - -The original issues in `bittorrent-dht` -([disclosure](https://nodesecurity.io/advisories/68)) and -`ws` ([disclosure](https://nodesecurity.io/advisories/67)) were discovered by -[Mathias Buus](https://github.com/mafintosh) and -[Feross Aboukhadijeh](http://feross.org/). - -Thanks to [Adam Baldwin](https://github.com/evilpacket) for helping disclose these issues -and for his work running the [Node Security Project](https://nodesecurity.io/). - -Thanks to [John Hiesey](https://github.com/jhiesey) for proofreading this README and -auditing the code. - - -## license - -MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org) diff --git a/node_modules/safe-buffer/browser.js b/node_modules/safe-buffer/browser.js deleted file mode 100644 index 0bd1202..0000000 --- a/node_modules/safe-buffer/browser.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('buffer') diff --git a/node_modules/safe-buffer/index.js b/node_modules/safe-buffer/index.js deleted file mode 100644 index 74a7358..0000000 --- a/node_modules/safe-buffer/index.js +++ /dev/null @@ -1,58 +0,0 @@ -var buffer = require('buffer') - -if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { - module.exports = buffer -} else { - // Copy properties from require('buffer') - Object.keys(buffer).forEach(function (prop) { - exports[prop] = buffer[prop] - }) - exports.Buffer = SafeBuffer -} - -function SafeBuffer (arg, encodingOrOffset, length) { - return Buffer(arg, encodingOrOffset, length) -} - -// Copy static methods from Buffer -Object.keys(Buffer).forEach(function (prop) { - SafeBuffer[prop] = Buffer[prop] -}) - -SafeBuffer.from = function (arg, encodingOrOffset, length) { - if (typeof arg === 'number') { - throw new TypeError('Argument must not be a number') - } - return Buffer(arg, encodingOrOffset, length) -} - -SafeBuffer.alloc = function (size, fill, encoding) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number') - } - var buf = Buffer(size) - if (fill !== undefined) { - if (typeof encoding === 'string') { - buf.fill(fill, encoding) - } else { - buf.fill(fill) - } - } else { - buf.fill(0) - } - return buf -} - -SafeBuffer.allocUnsafe = function (size) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number') - } - return Buffer(size) -} - -SafeBuffer.allocUnsafeSlow = function (size) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number') - } - return buffer.SlowBuffer(size) -} diff --git a/node_modules/safe-buffer/package.json b/node_modules/safe-buffer/package.json deleted file mode 100644 index d9b2b1a..0000000 --- a/node_modules/safe-buffer/package.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "safe-buffer@~5.0.1", - "scope": null, - "escapedName": "safe-buffer", - "name": "safe-buffer", - "rawSpec": "~5.0.1", - "spec": ">=5.0.1 <5.1.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/ws" - ] - ], - "_from": "safe-buffer@>=5.0.1 <5.1.0", - "_id": "safe-buffer@5.0.1", - "_inCache": true, - "_installable": true, - "_location": "/safe-buffer", - "_nodeVersion": "4.4.5", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/safe-buffer-5.0.1.tgz_1464588482081_0.8112505874596536" - }, - "_npmUser": { - "name": "feross", - "email": "feross@feross.org" - }, - "_npmVersion": "2.15.5", - "_phantomChildren": {}, - "_requested": { - "raw": "safe-buffer@~5.0.1", - "scope": null, - "escapedName": "safe-buffer", - "name": "safe-buffer", - "rawSpec": "~5.0.1", - "spec": ">=5.0.1 <5.1.0", - "type": "range" - }, - "_requiredBy": [ - "/ws" - ], - "_resolved": "http://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "_shasum": "d263ca54696cd8a306b5ca6551e92de57918fbe7", - "_shrinkwrap": null, - "_spec": "safe-buffer@~5.0.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/ws", - "author": { - "name": "Feross Aboukhadijeh", - "email": "feross@feross.org", - "url": "http://feross.org" - }, - "browser": "./browser.js", - "bugs": { - "url": "https://github.com/feross/safe-buffer/issues" - }, - "dependencies": {}, - "description": "Safer Node.js Buffer API", - "devDependencies": { - "standard": "^7.0.0", - "tape": "^4.0.0", - "zuul": "^3.0.0" - }, - "directories": {}, - "dist": { - "shasum": "d263ca54696cd8a306b5ca6551e92de57918fbe7", - "tarball": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz" - }, - "gitHead": "1e371a367da962afae2bebc527b50271c739d28c", - "homepage": "https://github.com/feross/safe-buffer", - "keywords": [ - "buffer", - "buffer allocate", - "node security", - "safe", - "safe-buffer", - "security", - "uninitialized" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "feross", - "email": "feross@feross.org" - }, - { - "name": "mafintosh", - "email": "mathiasbuus@gmail.com" - } - ], - "name": "safe-buffer", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/feross/safe-buffer.git" - }, - "scripts": { - "test": "standard && tape test.js" - }, - "version": "5.0.1" -} diff --git a/node_modules/safe-buffer/test.js b/node_modules/safe-buffer/test.js deleted file mode 100644 index 7da8ad7..0000000 --- a/node_modules/safe-buffer/test.js +++ /dev/null @@ -1,99 +0,0 @@ -var test = require('tape') -var SafeBuffer = require('./').Buffer - -test('new SafeBuffer(value) works just like Buffer', function (t) { - t.deepEqual(new SafeBuffer('hey'), new Buffer('hey')) - t.deepEqual(new SafeBuffer('hey', 'utf8'), new Buffer('hey', 'utf8')) - t.deepEqual(new SafeBuffer('686579', 'hex'), new Buffer('686579', 'hex')) - t.deepEqual(new SafeBuffer([1, 2, 3]), new Buffer([1, 2, 3])) - t.deepEqual(new SafeBuffer(new Uint8Array([1, 2, 3])), new Buffer(new Uint8Array([1, 2, 3]))) - - t.equal(typeof SafeBuffer.isBuffer, 'function') - t.equal(SafeBuffer.isBuffer(new SafeBuffer('hey')), true) - t.equal(Buffer.isBuffer(new SafeBuffer('hey')), true) - t.notOk(SafeBuffer.isBuffer({})) - - t.end() -}) - -test('SafeBuffer.from(value) converts to a Buffer', function (t) { - t.deepEqual(SafeBuffer.from('hey'), new Buffer('hey')) - t.deepEqual(SafeBuffer.from('hey', 'utf8'), new Buffer('hey', 'utf8')) - t.deepEqual(SafeBuffer.from('686579', 'hex'), new Buffer('686579', 'hex')) - t.deepEqual(SafeBuffer.from([1, 2, 3]), new Buffer([1, 2, 3])) - t.deepEqual(SafeBuffer.from(new Uint8Array([1, 2, 3])), new Buffer(new Uint8Array([1, 2, 3]))) - - t.end() -}) - -test('SafeBuffer.alloc(number) returns zeroed-out memory', function (t) { - for (var i = 0; i < 10; i++) { - var expected1 = new Buffer(1000) - expected1.fill(0) - t.deepEqual(SafeBuffer.alloc(1000), expected1) - - var expected2 = new Buffer(1000 * 1000) - expected2.fill(0) - t.deepEqual(SafeBuffer.alloc(1000 * 1000), expected2) - } - t.end() -}) - -test('SafeBuffer.allocUnsafe(number)', function (t) { - var buf = SafeBuffer.allocUnsafe(100) // unitialized memory - t.equal(buf.length, 100) - t.equal(SafeBuffer.isBuffer(buf), true) - t.equal(Buffer.isBuffer(buf), true) - t.end() -}) - -test('SafeBuffer.from() throws with number types', function (t) { - t.plan(5) - t.throws(function () { - SafeBuffer.from(0) - }) - t.throws(function () { - SafeBuffer.from(-1) - }) - t.throws(function () { - SafeBuffer.from(NaN) - }) - t.throws(function () { - SafeBuffer.from(Infinity) - }) - t.throws(function () { - SafeBuffer.from(99) - }) -}) - -test('SafeBuffer.allocUnsafe() throws with non-number types', function (t) { - t.plan(4) - t.throws(function () { - SafeBuffer.allocUnsafe('hey') - }) - t.throws(function () { - SafeBuffer.allocUnsafe('hey', 'utf8') - }) - t.throws(function () { - SafeBuffer.allocUnsafe([1, 2, 3]) - }) - t.throws(function () { - SafeBuffer.allocUnsafe({}) - }) -}) - -test('SafeBuffer.alloc() throws with non-number types', function (t) { - t.plan(4) - t.throws(function () { - SafeBuffer.alloc('hey') - }) - t.throws(function () { - SafeBuffer.alloc('hey', 'utf8') - }) - t.throws(function () { - SafeBuffer.alloc([1, 2, 3]) - }) - t.throws(function () { - SafeBuffer.alloc({}) - }) -}) diff --git a/node_modules/semver/LICENSE b/node_modules/semver/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/node_modules/semver/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -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. diff --git a/node_modules/semver/README.md b/node_modules/semver/README.md deleted file mode 100644 index cbd9565..0000000 --- a/node_modules/semver/README.md +++ /dev/null @@ -1,350 +0,0 @@ -semver(1) -- The semantic versioner for npm -=========================================== - -## Usage - - $ npm install semver - $ node - var semver = require('semver') - - semver.valid('1.2.3') // '1.2.3' - semver.valid('a.b.c') // null - semver.clean(' =v1.2.3 ') // '1.2.3' - semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true - semver.gt('1.2.3', '9.8.7') // false - semver.lt('1.2.3', '9.8.7') // true - -As a command-line utility: - - $ semver -h - - SemVer 5.1.0 - - A JavaScript implementation of the http://semver.org/ specification - Copyright Isaac Z. Schlueter - - Usage: semver [options] [ [...]] - Prints valid versions sorted by SemVer precedence - - Options: - -r --range - Print versions that match the specified range. - - -i --increment [] - Increment a version by the specified level. Level can - be one of: major, minor, patch, premajor, preminor, - prepatch, or prerelease. Default level is 'patch'. - Only one version may be specified. - - --preid - Identifier to be used to prefix premajor, preminor, - prepatch or prerelease version increments. - - -l --loose - Interpret versions and ranges loosely - - Program exits successfully if any valid version satisfies - all supplied ranges, and prints all satisfying versions. - - If no satisfying versions are found, then exits failure. - - Versions are printed in ascending order, so supplying - multiple versions to the utility will just sort them. - -## Versions - -A "version" is described by the `v2.0.0` specification found at -. - -A leading `"="` or `"v"` character is stripped off and ignored. - -## Ranges - -A `version range` is a set of `comparators` which specify versions -that satisfy the range. - -A `comparator` is composed of an `operator` and a `version`. The set -of primitive `operators` is: - -* `<` Less than -* `<=` Less than or equal to -* `>` Greater than -* `>=` Greater than or equal to -* `=` Equal. If no operator is specified, then equality is assumed, - so this operator is optional, but MAY be included. - -For example, the comparator `>=1.2.7` would match the versions -`1.2.7`, `1.2.8`, `2.5.3`, and `1.3.9`, but not the versions `1.2.6` -or `1.1.0`. - -Comparators can be joined by whitespace to form a `comparator set`, -which is satisfied by the **intersection** of all of the comparators -it includes. - -A range is composed of one or more comparator sets, joined by `||`. A -version matches a range if and only if every comparator in at least -one of the `||`-separated comparator sets is satisfied by the version. - -For example, the range `>=1.2.7 <1.3.0` would match the versions -`1.2.7`, `1.2.8`, and `1.2.99`, but not the versions `1.2.6`, `1.3.0`, -or `1.1.0`. - -The range `1.2.7 || >=1.2.9 <2.0.0` would match the versions `1.2.7`, -`1.2.9`, and `1.4.6`, but not the versions `1.2.8` or `2.0.0`. - -### Prerelease Tags - -If a version has a prerelease tag (for example, `1.2.3-alpha.3`) then -it will only be allowed to satisfy comparator sets if at least one -comparator with the same `[major, minor, patch]` tuple also has a -prerelease tag. - -For example, the range `>1.2.3-alpha.3` would be allowed to match the -version `1.2.3-alpha.7`, but it would *not* be satisfied by -`3.4.5-alpha.9`, even though `3.4.5-alpha.9` is technically "greater -than" `1.2.3-alpha.3` according to the SemVer sort rules. The version -range only accepts prerelease tags on the `1.2.3` version. The -version `3.4.5` *would* satisfy the range, because it does not have a -prerelease flag, and `3.4.5` is greater than `1.2.3-alpha.7`. - -The purpose for this behavior is twofold. First, prerelease versions -frequently are updated very quickly, and contain many breaking changes -that are (by the author's design) not yet fit for public consumption. -Therefore, by default, they are excluded from range matching -semantics. - -Second, a user who has opted into using a prerelease version has -clearly indicated the intent to use *that specific* set of -alpha/beta/rc versions. By including a prerelease tag in the range, -the user is indicating that they are aware of the risk. However, it -is still not appropriate to assume that they have opted into taking a -similar risk on the *next* set of prerelease versions. - -#### Prerelease Identifiers - -The method `.inc` takes an additional `identifier` string argument that -will append the value of the string as a prerelease identifier: - -```javascript -> semver.inc('1.2.3', 'prerelease', 'beta') -'1.2.4-beta.0' -``` - -command-line example: - -```shell -$ semver 1.2.3 -i prerelease --preid beta -1.2.4-beta.0 -``` - -Which then can be used to increment further: - -```shell -$ semver 1.2.4-beta.0 -i prerelease -1.2.4-beta.1 -``` - -### Advanced Range Syntax - -Advanced range syntax desugars to primitive comparators in -deterministic ways. - -Advanced ranges may be combined in the same way as primitive -comparators using white space or `||`. - -#### Hyphen Ranges `X.Y.Z - A.B.C` - -Specifies an inclusive set. - -* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4` - -If a partial version is provided as the first version in the inclusive -range, then the missing pieces are replaced with zeroes. - -* `1.2 - 2.3.4` := `>=1.2.0 <=2.3.4` - -If a partial version is provided as the second version in the -inclusive range, then all versions that start with the supplied parts -of the tuple are accepted, but nothing that would be greater than the -provided tuple parts. - -* `1.2.3 - 2.3` := `>=1.2.3 <2.4.0` -* `1.2.3 - 2` := `>=1.2.3 <3.0.0` - -#### X-Ranges `1.2.x` `1.X` `1.2.*` `*` - -Any of `X`, `x`, or `*` may be used to "stand in" for one of the -numeric values in the `[major, minor, patch]` tuple. - -* `*` := `>=0.0.0` (Any version satisfies) -* `1.x` := `>=1.0.0 <2.0.0` (Matching major version) -* `1.2.x` := `>=1.2.0 <1.3.0` (Matching major and minor versions) - -A partial version range is treated as an X-Range, so the special -character is in fact optional. - -* `""` (empty string) := `*` := `>=0.0.0` -* `1` := `1.x.x` := `>=1.0.0 <2.0.0` -* `1.2` := `1.2.x` := `>=1.2.0 <1.3.0` - -#### Tilde Ranges `~1.2.3` `~1.2` `~1` - -Allows patch-level changes if a minor version is specified on the -comparator. Allows minor-level changes if not. - -* `~1.2.3` := `>=1.2.3 <1.(2+1).0` := `>=1.2.3 <1.3.0` -* `~1.2` := `>=1.2.0 <1.(2+1).0` := `>=1.2.0 <1.3.0` (Same as `1.2.x`) -* `~1` := `>=1.0.0 <(1+1).0.0` := `>=1.0.0 <2.0.0` (Same as `1.x`) -* `~0.2.3` := `>=0.2.3 <0.(2+1).0` := `>=0.2.3 <0.3.0` -* `~0.2` := `>=0.2.0 <0.(2+1).0` := `>=0.2.0 <0.3.0` (Same as `0.2.x`) -* `~0` := `>=0.0.0 <(0+1).0.0` := `>=0.0.0 <1.0.0` (Same as `0.x`) -* `~1.2.3-beta.2` := `>=1.2.3-beta.2 <1.3.0` Note that prereleases in - the `1.2.3` version will be allowed, if they are greater than or - equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but - `1.2.4-beta.2` would not, because it is a prerelease of a - different `[major, minor, patch]` tuple. - -#### Caret Ranges `^1.2.3` `^0.2.5` `^0.0.4` - -Allows changes that do not modify the left-most non-zero digit in the -`[major, minor, patch]` tuple. In other words, this allows patch and -minor updates for versions `1.0.0` and above, patch updates for -versions `0.X >=0.1.0`, and *no* updates for versions `0.0.X`. - -Many authors treat a `0.x` version as if the `x` were the major -"breaking-change" indicator. - -Caret ranges are ideal when an author may make breaking changes -between `0.2.4` and `0.3.0` releases, which is a common practice. -However, it presumes that there will *not* be breaking changes between -`0.2.4` and `0.2.5`. It allows for changes that are presumed to be -additive (but non-breaking), according to commonly observed practices. - -* `^1.2.3` := `>=1.2.3 <2.0.0` -* `^0.2.3` := `>=0.2.3 <0.3.0` -* `^0.0.3` := `>=0.0.3 <0.0.4` -* `^1.2.3-beta.2` := `>=1.2.3-beta.2 <2.0.0` Note that prereleases in - the `1.2.3` version will be allowed, if they are greater than or - equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but - `1.2.4-beta.2` would not, because it is a prerelease of a - different `[major, minor, patch]` tuple. -* `^0.0.3-beta` := `>=0.0.3-beta <0.0.4` Note that prereleases in the - `0.0.3` version *only* will be allowed, if they are greater than or - equal to `beta`. So, `0.0.3-pr.2` would be allowed. - -When parsing caret ranges, a missing `patch` value desugars to the -number `0`, but will allow flexibility within that value, even if the -major and minor versions are both `0`. - -* `^1.2.x` := `>=1.2.0 <2.0.0` -* `^0.0.x` := `>=0.0.0 <0.1.0` -* `^0.0` := `>=0.0.0 <0.1.0` - -A missing `minor` and `patch` values will desugar to zero, but also -allow flexibility within those values, even if the major version is -zero. - -* `^1.x` := `>=1.0.0 <2.0.0` -* `^0.x` := `>=0.0.0 <1.0.0` - -### Range Grammar - -Putting all this together, here is a Backus-Naur grammar for ranges, -for the benefit of parser authors: - -```bnf -range-set ::= range ( logical-or range ) * -logical-or ::= ( ' ' ) * '||' ( ' ' ) * -range ::= hyphen | simple ( ' ' simple ) * | '' -hyphen ::= partial ' - ' partial -simple ::= primitive | partial | tilde | caret -primitive ::= ( '<' | '>' | '>=' | '<=' | '=' | ) partial -partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? -xr ::= 'x' | 'X' | '*' | nr -nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) * -tilde ::= '~' partial -caret ::= '^' partial -qualifier ::= ( '-' pre )? ( '+' build )? -pre ::= parts -build ::= parts -parts ::= part ( '.' part ) * -part ::= nr | [-0-9A-Za-z]+ -``` - -## Functions - -All methods and classes take a final `loose` boolean argument that, if -true, will be more forgiving about not-quite-valid semver strings. -The resulting output will always be 100% strict, of course. - -Strict-mode Comparators and Ranges will be strict about the SemVer -strings that they parse. - -* `valid(v)`: Return the parsed version, or null if it's not valid. -* `inc(v, release)`: Return the version incremented by the release - type (`major`, `premajor`, `minor`, `preminor`, `patch`, - `prepatch`, or `prerelease`), or null if it's not valid - * `premajor` in one call will bump the version up to the next major - version and down to a prerelease of that major version. - `preminor`, and `prepatch` work the same way. - * If called from a non-prerelease version, the `prerelease` will work the - same as `prepatch`. It increments the patch version, then makes a - prerelease. If the input version is already a prerelease it simply - increments it. -* `prerelease(v)`: Returns an array of prerelease components, or null - if none exist. Example: `prerelease('1.2.3-alpha.1') -> ['alpha', 1]` -* `major(v)`: Return the major version number. -* `minor(v)`: Return the minor version number. -* `patch(v)`: Return the patch version number. - -### Comparison - -* `gt(v1, v2)`: `v1 > v2` -* `gte(v1, v2)`: `v1 >= v2` -* `lt(v1, v2)`: `v1 < v2` -* `lte(v1, v2)`: `v1 <= v2` -* `eq(v1, v2)`: `v1 == v2` This is true if they're logically equivalent, - even if they're not the exact same string. You already know how to - compare strings. -* `neq(v1, v2)`: `v1 != v2` The opposite of `eq`. -* `cmp(v1, comparator, v2)`: Pass in a comparison string, and it'll call - the corresponding function above. `"==="` and `"!=="` do simple - string comparison, but are included for completeness. Throws if an - invalid comparison string is provided. -* `compare(v1, v2)`: Return `0` if `v1 == v2`, or `1` if `v1` is greater, or `-1` if - `v2` is greater. Sorts in ascending order if passed to `Array.sort()`. -* `rcompare(v1, v2)`: The reverse of compare. Sorts an array of versions - in descending order when passed to `Array.sort()`. -* `diff(v1, v2)`: Returns difference between two versions by the release type - (`major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, or `prerelease`), - or null if the versions are the same. - - -### Ranges - -* `validRange(range)`: Return the valid range or null if it's not valid -* `satisfies(version, range)`: Return true if the version satisfies the - range. -* `maxSatisfying(versions, range)`: Return the highest version in the list - that satisfies the range, or `null` if none of them do. -* `minSatisfying(versions, range)`: Return the lowest version in the list - that satisfies the range, or `null` if none of them do. -* `gtr(version, range)`: Return `true` if version is greater than all the - versions possible in the range. -* `ltr(version, range)`: Return `true` if version is less than all the - versions possible in the range. -* `outside(version, range, hilo)`: Return true if the version is outside - the bounds of the range in either the high or low direction. The - `hilo` argument must be either the string `'>'` or `'<'`. (This is - the function called by `gtr` and `ltr`.) - -Note that, since ranges may be non-contiguous, a version might not be -greater than a range, less than a range, *or* satisfy a range! For -example, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9` -until `2.0.0`, so the version `1.2.10` would not be greater than the -range (because `2.0.1` satisfies, which is higher), nor less than the -range (since `1.2.8` satisfies, which is lower), and it also does not -satisfy the range. - -If you want to know if a version satisfies or does not satisfy a -range, use the `satisfies(version, range)` function. diff --git a/node_modules/semver/bin/semver b/node_modules/semver/bin/semver deleted file mode 100755 index c5f2e85..0000000 --- a/node_modules/semver/bin/semver +++ /dev/null @@ -1,133 +0,0 @@ -#!/usr/bin/env node -// Standalone semver comparison program. -// Exits successfully and prints matching version(s) if -// any supplied version is valid and passes all tests. - -var argv = process.argv.slice(2) - , versions = [] - , range = [] - , gt = [] - , lt = [] - , eq = [] - , inc = null - , version = require("../package.json").version - , loose = false - , identifier = undefined - , semver = require("../semver") - , reverse = false - -main() - -function main () { - if (!argv.length) return help() - while (argv.length) { - var a = argv.shift() - var i = a.indexOf('=') - if (i !== -1) { - a = a.slice(0, i) - argv.unshift(a.slice(i + 1)) - } - switch (a) { - case "-rv": case "-rev": case "--rev": case "--reverse": - reverse = true - break - case "-l": case "--loose": - loose = true - break - case "-v": case "--version": - versions.push(argv.shift()) - break - case "-i": case "--inc": case "--increment": - switch (argv[0]) { - case "major": case "minor": case "patch": case "prerelease": - case "premajor": case "preminor": case "prepatch": - inc = argv.shift() - break - default: - inc = "patch" - break - } - break - case "--preid": - identifier = argv.shift() - break - case "-r": case "--range": - range.push(argv.shift()) - break - case "-h": case "--help": case "-?": - return help() - default: - versions.push(a) - break - } - } - - versions = versions.filter(function (v) { - return semver.valid(v, loose) - }) - if (!versions.length) return fail() - if (inc && (versions.length !== 1 || range.length)) - return failInc() - - for (var i = 0, l = range.length; i < l ; i ++) { - versions = versions.filter(function (v) { - return semver.satisfies(v, range[i], loose) - }) - if (!versions.length) return fail() - } - return success(versions) -} - -function failInc () { - console.error("--inc can only be used on a single version with no range") - fail() -} - -function fail () { process.exit(1) } - -function success () { - var compare = reverse ? "rcompare" : "compare" - versions.sort(function (a, b) { - return semver[compare](a, b, loose) - }).map(function (v) { - return semver.clean(v, loose) - }).map(function (v) { - return inc ? semver.inc(v, inc, loose, identifier) : v - }).forEach(function (v,i,_) { console.log(v) }) -} - -function help () { - console.log(["SemVer " + version - ,"" - ,"A JavaScript implementation of the http://semver.org/ specification" - ,"Copyright Isaac Z. Schlueter" - ,"" - ,"Usage: semver [options] [ [...]]" - ,"Prints valid versions sorted by SemVer precedence" - ,"" - ,"Options:" - ,"-r --range " - ," Print versions that match the specified range." - ,"" - ,"-i --increment []" - ," Increment a version by the specified level. Level can" - ," be one of: major, minor, patch, premajor, preminor," - ," prepatch, or prerelease. Default level is 'patch'." - ," Only one version may be specified." - ,"" - ,"--preid " - ," Identifier to be used to prefix premajor, preminor," - ," prepatch or prerelease version increments." - ,"" - ,"-l --loose" - ," Interpret versions and ranges loosely" - ,"" - ,"Program exits successfully if any valid version satisfies" - ,"all supplied ranges, and prints all satisfying versions." - ,"" - ,"If no satisfying versions are found, then exits failure." - ,"" - ,"Versions are printed in ascending order, so supplying" - ,"multiple versions to the utility will just sort them." - ].join("\n")) -} diff --git a/node_modules/semver/package.json b/node_modules/semver/package.json deleted file mode 100644 index cb0ea18..0000000 --- a/node_modules/semver/package.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "semver@^5.3.0", - "scope": null, - "escapedName": "semver", - "name": "semver", - "rawSpec": "^5.3.0", - "spec": ">=5.3.0 <6.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/log4js" - ] - ], - "_from": "semver@>=5.3.0 <6.0.0", - "_id": "semver@5.3.0", - "_inCache": true, - "_installable": true, - "_location": "/semver", - "_nodeVersion": "4.4.4", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/semver-5.3.0.tgz_1468515166602_0.9155273644719273" - }, - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "_npmVersion": "3.10.6", - "_phantomChildren": {}, - "_requested": { - "raw": "semver@^5.3.0", - "scope": null, - "escapedName": "semver", - "name": "semver", - "rawSpec": "^5.3.0", - "spec": ">=5.3.0 <6.0.0", - "type": "range" - }, - "_requiredBy": [ - "/log4js" - ], - "_resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "_shasum": "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f", - "_shrinkwrap": null, - "_spec": "semver@^5.3.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/log4js", - "bin": { - "semver": "./bin/semver" - }, - "bugs": { - "url": "https://github.com/npm/node-semver/issues" - }, - "dependencies": {}, - "description": "The semantic version parser used by npm.", - "devDependencies": { - "tap": "^2.0.0" - }, - "directories": {}, - "dist": { - "shasum": "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f", - "tarball": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz" - }, - "files": [ - "bin", - "range.bnf", - "semver.js" - ], - "gitHead": "d21444a0658224b152ce54965d02dbe0856afb84", - "homepage": "https://github.com/npm/node-semver#readme", - "license": "ISC", - "main": "semver.js", - "maintainers": [ - { - "name": "isaacs", - "email": "isaacs@npmjs.com" - }, - { - "name": "othiym23", - "email": "ogd@aoaioxxysz.net" - } - ], - "name": "semver", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/npm/node-semver.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "5.3.0" -} diff --git a/node_modules/semver/range.bnf b/node_modules/semver/range.bnf deleted file mode 100644 index 25ebd5c..0000000 --- a/node_modules/semver/range.bnf +++ /dev/null @@ -1,16 +0,0 @@ -range-set ::= range ( logical-or range ) * -logical-or ::= ( ' ' ) * '||' ( ' ' ) * -range ::= hyphen | simple ( ' ' simple ) * | '' -hyphen ::= partial ' - ' partial -simple ::= primitive | partial | tilde | caret -primitive ::= ( '<' | '>' | '>=' | '<=' | '=' | ) partial -partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? -xr ::= 'x' | 'X' | '*' | nr -nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) * -tilde ::= '~' partial -caret ::= '^' partial -qualifier ::= ( '-' pre )? ( '+' build )? -pre ::= parts -build ::= parts -parts ::= part ( '.' part ) * -part ::= nr | [-0-9A-Za-z]+ diff --git a/node_modules/semver/semver.js b/node_modules/semver/semver.js deleted file mode 100644 index 5f1a3c5..0000000 --- a/node_modules/semver/semver.js +++ /dev/null @@ -1,1203 +0,0 @@ -exports = module.exports = SemVer; - -// The debug function is excluded entirely from the minified version. -/* nomin */ var debug; -/* nomin */ if (typeof process === 'object' && - /* nomin */ process.env && - /* nomin */ process.env.NODE_DEBUG && - /* nomin */ /\bsemver\b/i.test(process.env.NODE_DEBUG)) - /* nomin */ debug = function() { - /* nomin */ var args = Array.prototype.slice.call(arguments, 0); - /* nomin */ args.unshift('SEMVER'); - /* nomin */ console.log.apply(console, args); - /* nomin */ }; -/* nomin */ else - /* nomin */ debug = function() {}; - -// Note: this is the semver.org version of the spec that it implements -// Not necessarily the package version of this code. -exports.SEMVER_SPEC_VERSION = '2.0.0'; - -var MAX_LENGTH = 256; -var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; - -// The actual regexps go on exports.re -var re = exports.re = []; -var src = exports.src = []; -var R = 0; - -// The following Regular Expressions can be used for tokenizing, -// validating, and parsing SemVer version strings. - -// ## Numeric Identifier -// A single `0`, or a non-zero digit followed by zero or more digits. - -var NUMERICIDENTIFIER = R++; -src[NUMERICIDENTIFIER] = '0|[1-9]\\d*'; -var NUMERICIDENTIFIERLOOSE = R++; -src[NUMERICIDENTIFIERLOOSE] = '[0-9]+'; - - -// ## Non-numeric Identifier -// Zero or more digits, followed by a letter or hyphen, and then zero or -// more letters, digits, or hyphens. - -var NONNUMERICIDENTIFIER = R++; -src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'; - - -// ## Main Version -// Three dot-separated numeric identifiers. - -var MAINVERSION = R++; -src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' + - '(' + src[NUMERICIDENTIFIER] + ')\\.' + - '(' + src[NUMERICIDENTIFIER] + ')'; - -var MAINVERSIONLOOSE = R++; -src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + - '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + - '(' + src[NUMERICIDENTIFIERLOOSE] + ')'; - -// ## Pre-release Version Identifier -// A numeric identifier, or a non-numeric identifier. - -var PRERELEASEIDENTIFIER = R++; -src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] + - '|' + src[NONNUMERICIDENTIFIER] + ')'; - -var PRERELEASEIDENTIFIERLOOSE = R++; -src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] + - '|' + src[NONNUMERICIDENTIFIER] + ')'; - - -// ## Pre-release Version -// Hyphen, followed by one or more dot-separated pre-release version -// identifiers. - -var PRERELEASE = R++; -src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] + - '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))'; - -var PRERELEASELOOSE = R++; -src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] + - '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'; - -// ## Build Metadata Identifier -// Any combination of digits, letters, or hyphens. - -var BUILDIDENTIFIER = R++; -src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'; - -// ## Build Metadata -// Plus sign, followed by one or more period-separated build metadata -// identifiers. - -var BUILD = R++; -src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] + - '(?:\\.' + src[BUILDIDENTIFIER] + ')*))'; - - -// ## Full Version String -// A main version, followed optionally by a pre-release version and -// build metadata. - -// Note that the only major, minor, patch, and pre-release sections of -// the version string are capturing groups. The build metadata is not a -// capturing group, because it should not ever be used in version -// comparison. - -var FULL = R++; -var FULLPLAIN = 'v?' + src[MAINVERSION] + - src[PRERELEASE] + '?' + - src[BUILD] + '?'; - -src[FULL] = '^' + FULLPLAIN + '$'; - -// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. -// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty -// common in the npm registry. -var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] + - src[PRERELEASELOOSE] + '?' + - src[BUILD] + '?'; - -var LOOSE = R++; -src[LOOSE] = '^' + LOOSEPLAIN + '$'; - -var GTLT = R++; -src[GTLT] = '((?:<|>)?=?)'; - -// Something like "2.*" or "1.2.x". -// Note that "x.x" is a valid xRange identifer, meaning "any version" -// Only the first item is strictly required. -var XRANGEIDENTIFIERLOOSE = R++; -src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'; -var XRANGEIDENTIFIER = R++; -src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*'; - -var XRANGEPLAIN = R++; -src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + - '(?:' + src[PRERELEASE] + ')?' + - src[BUILD] + '?' + - ')?)?'; - -var XRANGEPLAINLOOSE = R++; -src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:' + src[PRERELEASELOOSE] + ')?' + - src[BUILD] + '?' + - ')?)?'; - -var XRANGE = R++; -src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$'; -var XRANGELOOSE = R++; -src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$'; - -// Tilde ranges. -// Meaning is "reasonably at or greater than" -var LONETILDE = R++; -src[LONETILDE] = '(?:~>?)'; - -var TILDETRIM = R++; -src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+'; -re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g'); -var tildeTrimReplace = '$1~'; - -var TILDE = R++; -src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'; -var TILDELOOSE = R++; -src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'; - -// Caret ranges. -// Meaning is "at least and backwards compatible with" -var LONECARET = R++; -src[LONECARET] = '(?:\\^)'; - -var CARETTRIM = R++; -src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+'; -re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g'); -var caretTrimReplace = '$1^'; - -var CARET = R++; -src[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'; -var CARETLOOSE = R++; -src[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'; - -// A simple gt/lt/eq thing, or just "" to indicate "any version" -var COMPARATORLOOSE = R++; -src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$'; -var COMPARATOR = R++; -src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$'; - - -// An expression to strip any whitespace between the gtlt and the thing -// it modifies, so that `> 1.2.3` ==> `>1.2.3` -var COMPARATORTRIM = R++; -src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] + - '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'; - -// this one has to use the /g flag -re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g'); -var comparatorTrimReplace = '$1$2$3'; - - -// Something like `1.2.3 - 1.2.4` -// Note that these all use the loose form, because they'll be -// checked against either the strict or loose comparator form -// later. -var HYPHENRANGE = R++; -src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' + - '\\s+-\\s+' + - '(' + src[XRANGEPLAIN] + ')' + - '\\s*$'; - -var HYPHENRANGELOOSE = R++; -src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' + - '\\s+-\\s+' + - '(' + src[XRANGEPLAINLOOSE] + ')' + - '\\s*$'; - -// Star ranges basically just allow anything at all. -var STAR = R++; -src[STAR] = '(<|>)?=?\\s*\\*'; - -// Compile to actual regexp objects. -// All are flag-free, unless they were created above with a flag. -for (var i = 0; i < R; i++) { - debug(i, src[i]); - if (!re[i]) - re[i] = new RegExp(src[i]); -} - -exports.parse = parse; -function parse(version, loose) { - if (version instanceof SemVer) - return version; - - if (typeof version !== 'string') - return null; - - if (version.length > MAX_LENGTH) - return null; - - var r = loose ? re[LOOSE] : re[FULL]; - if (!r.test(version)) - return null; - - try { - return new SemVer(version, loose); - } catch (er) { - return null; - } -} - -exports.valid = valid; -function valid(version, loose) { - var v = parse(version, loose); - return v ? v.version : null; -} - - -exports.clean = clean; -function clean(version, loose) { - var s = parse(version.trim().replace(/^[=v]+/, ''), loose); - return s ? s.version : null; -} - -exports.SemVer = SemVer; - -function SemVer(version, loose) { - if (version instanceof SemVer) { - if (version.loose === loose) - return version; - else - version = version.version; - } else if (typeof version !== 'string') { - throw new TypeError('Invalid Version: ' + version); - } - - if (version.length > MAX_LENGTH) - throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters') - - if (!(this instanceof SemVer)) - return new SemVer(version, loose); - - debug('SemVer', version, loose); - this.loose = loose; - var m = version.trim().match(loose ? re[LOOSE] : re[FULL]); - - if (!m) - throw new TypeError('Invalid Version: ' + version); - - this.raw = version; - - // these are actually numbers - this.major = +m[1]; - this.minor = +m[2]; - this.patch = +m[3]; - - if (this.major > MAX_SAFE_INTEGER || this.major < 0) - throw new TypeError('Invalid major version') - - if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) - throw new TypeError('Invalid minor version') - - if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) - throw new TypeError('Invalid patch version') - - // numberify any prerelease numeric ids - if (!m[4]) - this.prerelease = []; - else - this.prerelease = m[4].split('.').map(function(id) { - if (/^[0-9]+$/.test(id)) { - var num = +id; - if (num >= 0 && num < MAX_SAFE_INTEGER) - return num; - } - return id; - }); - - this.build = m[5] ? m[5].split('.') : []; - this.format(); -} - -SemVer.prototype.format = function() { - this.version = this.major + '.' + this.minor + '.' + this.patch; - if (this.prerelease.length) - this.version += '-' + this.prerelease.join('.'); - return this.version; -}; - -SemVer.prototype.toString = function() { - return this.version; -}; - -SemVer.prototype.compare = function(other) { - debug('SemVer.compare', this.version, this.loose, other); - if (!(other instanceof SemVer)) - other = new SemVer(other, this.loose); - - return this.compareMain(other) || this.comparePre(other); -}; - -SemVer.prototype.compareMain = function(other) { - if (!(other instanceof SemVer)) - other = new SemVer(other, this.loose); - - return compareIdentifiers(this.major, other.major) || - compareIdentifiers(this.minor, other.minor) || - compareIdentifiers(this.patch, other.patch); -}; - -SemVer.prototype.comparePre = function(other) { - if (!(other instanceof SemVer)) - other = new SemVer(other, this.loose); - - // NOT having a prerelease is > having one - if (this.prerelease.length && !other.prerelease.length) - return -1; - else if (!this.prerelease.length && other.prerelease.length) - return 1; - else if (!this.prerelease.length && !other.prerelease.length) - return 0; - - var i = 0; - do { - var a = this.prerelease[i]; - var b = other.prerelease[i]; - debug('prerelease compare', i, a, b); - if (a === undefined && b === undefined) - return 0; - else if (b === undefined) - return 1; - else if (a === undefined) - return -1; - else if (a === b) - continue; - else - return compareIdentifiers(a, b); - } while (++i); -}; - -// preminor will bump the version up to the next minor release, and immediately -// down to pre-release. premajor and prepatch work the same way. -SemVer.prototype.inc = function(release, identifier) { - switch (release) { - case 'premajor': - this.prerelease.length = 0; - this.patch = 0; - this.minor = 0; - this.major++; - this.inc('pre', identifier); - break; - case 'preminor': - this.prerelease.length = 0; - this.patch = 0; - this.minor++; - this.inc('pre', identifier); - break; - case 'prepatch': - // If this is already a prerelease, it will bump to the next version - // drop any prereleases that might already exist, since they are not - // relevant at this point. - this.prerelease.length = 0; - this.inc('patch', identifier); - this.inc('pre', identifier); - break; - // If the input is a non-prerelease version, this acts the same as - // prepatch. - case 'prerelease': - if (this.prerelease.length === 0) - this.inc('patch', identifier); - this.inc('pre', identifier); - break; - - case 'major': - // If this is a pre-major version, bump up to the same major version. - // Otherwise increment major. - // 1.0.0-5 bumps to 1.0.0 - // 1.1.0 bumps to 2.0.0 - if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) - this.major++; - this.minor = 0; - this.patch = 0; - this.prerelease = []; - break; - case 'minor': - // If this is a pre-minor version, bump up to the same minor version. - // Otherwise increment minor. - // 1.2.0-5 bumps to 1.2.0 - // 1.2.1 bumps to 1.3.0 - if (this.patch !== 0 || this.prerelease.length === 0) - this.minor++; - this.patch = 0; - this.prerelease = []; - break; - case 'patch': - // If this is not a pre-release version, it will increment the patch. - // If it is a pre-release it will bump up to the same patch version. - // 1.2.0-5 patches to 1.2.0 - // 1.2.0 patches to 1.2.1 - if (this.prerelease.length === 0) - this.patch++; - this.prerelease = []; - break; - // This probably shouldn't be used publicly. - // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction. - case 'pre': - if (this.prerelease.length === 0) - this.prerelease = [0]; - else { - var i = this.prerelease.length; - while (--i >= 0) { - if (typeof this.prerelease[i] === 'number') { - this.prerelease[i]++; - i = -2; - } - } - if (i === -1) // didn't increment anything - this.prerelease.push(0); - } - if (identifier) { - // 1.2.0-beta.1 bumps to 1.2.0-beta.2, - // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 - if (this.prerelease[0] === identifier) { - if (isNaN(this.prerelease[1])) - this.prerelease = [identifier, 0]; - } else - this.prerelease = [identifier, 0]; - } - break; - - default: - throw new Error('invalid increment argument: ' + release); - } - this.format(); - this.raw = this.version; - return this; -}; - -exports.inc = inc; -function inc(version, release, loose, identifier) { - if (typeof(loose) === 'string') { - identifier = loose; - loose = undefined; - } - - try { - return new SemVer(version, loose).inc(release, identifier).version; - } catch (er) { - return null; - } -} - -exports.diff = diff; -function diff(version1, version2) { - if (eq(version1, version2)) { - return null; - } else { - var v1 = parse(version1); - var v2 = parse(version2); - if (v1.prerelease.length || v2.prerelease.length) { - for (var key in v1) { - if (key === 'major' || key === 'minor' || key === 'patch') { - if (v1[key] !== v2[key]) { - return 'pre'+key; - } - } - } - return 'prerelease'; - } - for (var key in v1) { - if (key === 'major' || key === 'minor' || key === 'patch') { - if (v1[key] !== v2[key]) { - return key; - } - } - } - } -} - -exports.compareIdentifiers = compareIdentifiers; - -var numeric = /^[0-9]+$/; -function compareIdentifiers(a, b) { - var anum = numeric.test(a); - var bnum = numeric.test(b); - - if (anum && bnum) { - a = +a; - b = +b; - } - - return (anum && !bnum) ? -1 : - (bnum && !anum) ? 1 : - a < b ? -1 : - a > b ? 1 : - 0; -} - -exports.rcompareIdentifiers = rcompareIdentifiers; -function rcompareIdentifiers(a, b) { - return compareIdentifiers(b, a); -} - -exports.major = major; -function major(a, loose) { - return new SemVer(a, loose).major; -} - -exports.minor = minor; -function minor(a, loose) { - return new SemVer(a, loose).minor; -} - -exports.patch = patch; -function patch(a, loose) { - return new SemVer(a, loose).patch; -} - -exports.compare = compare; -function compare(a, b, loose) { - return new SemVer(a, loose).compare(b); -} - -exports.compareLoose = compareLoose; -function compareLoose(a, b) { - return compare(a, b, true); -} - -exports.rcompare = rcompare; -function rcompare(a, b, loose) { - return compare(b, a, loose); -} - -exports.sort = sort; -function sort(list, loose) { - return list.sort(function(a, b) { - return exports.compare(a, b, loose); - }); -} - -exports.rsort = rsort; -function rsort(list, loose) { - return list.sort(function(a, b) { - return exports.rcompare(a, b, loose); - }); -} - -exports.gt = gt; -function gt(a, b, loose) { - return compare(a, b, loose) > 0; -} - -exports.lt = lt; -function lt(a, b, loose) { - return compare(a, b, loose) < 0; -} - -exports.eq = eq; -function eq(a, b, loose) { - return compare(a, b, loose) === 0; -} - -exports.neq = neq; -function neq(a, b, loose) { - return compare(a, b, loose) !== 0; -} - -exports.gte = gte; -function gte(a, b, loose) { - return compare(a, b, loose) >= 0; -} - -exports.lte = lte; -function lte(a, b, loose) { - return compare(a, b, loose) <= 0; -} - -exports.cmp = cmp; -function cmp(a, op, b, loose) { - var ret; - switch (op) { - case '===': - if (typeof a === 'object') a = a.version; - if (typeof b === 'object') b = b.version; - ret = a === b; - break; - case '!==': - if (typeof a === 'object') a = a.version; - if (typeof b === 'object') b = b.version; - ret = a !== b; - break; - case '': case '=': case '==': ret = eq(a, b, loose); break; - case '!=': ret = neq(a, b, loose); break; - case '>': ret = gt(a, b, loose); break; - case '>=': ret = gte(a, b, loose); break; - case '<': ret = lt(a, b, loose); break; - case '<=': ret = lte(a, b, loose); break; - default: throw new TypeError('Invalid operator: ' + op); - } - return ret; -} - -exports.Comparator = Comparator; -function Comparator(comp, loose) { - if (comp instanceof Comparator) { - if (comp.loose === loose) - return comp; - else - comp = comp.value; - } - - if (!(this instanceof Comparator)) - return new Comparator(comp, loose); - - debug('comparator', comp, loose); - this.loose = loose; - this.parse(comp); - - if (this.semver === ANY) - this.value = ''; - else - this.value = this.operator + this.semver.version; - - debug('comp', this); -} - -var ANY = {}; -Comparator.prototype.parse = function(comp) { - var r = this.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]; - var m = comp.match(r); - - if (!m) - throw new TypeError('Invalid comparator: ' + comp); - - this.operator = m[1]; - if (this.operator === '=') - this.operator = ''; - - // if it literally is just '>' or '' then allow anything. - if (!m[2]) - this.semver = ANY; - else - this.semver = new SemVer(m[2], this.loose); -}; - -Comparator.prototype.toString = function() { - return this.value; -}; - -Comparator.prototype.test = function(version) { - debug('Comparator.test', version, this.loose); - - if (this.semver === ANY) - return true; - - if (typeof version === 'string') - version = new SemVer(version, this.loose); - - return cmp(version, this.operator, this.semver, this.loose); -}; - - -exports.Range = Range; -function Range(range, loose) { - if ((range instanceof Range) && range.loose === loose) - return range; - - if (!(this instanceof Range)) - return new Range(range, loose); - - this.loose = loose; - - // First, split based on boolean or || - this.raw = range; - this.set = range.split(/\s*\|\|\s*/).map(function(range) { - return this.parseRange(range.trim()); - }, this).filter(function(c) { - // throw out any that are not relevant for whatever reason - return c.length; - }); - - if (!this.set.length) { - throw new TypeError('Invalid SemVer Range: ' + range); - } - - this.format(); -} - -Range.prototype.format = function() { - this.range = this.set.map(function(comps) { - return comps.join(' ').trim(); - }).join('||').trim(); - return this.range; -}; - -Range.prototype.toString = function() { - return this.range; -}; - -Range.prototype.parseRange = function(range) { - var loose = this.loose; - range = range.trim(); - debug('range', range, loose); - // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` - var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]; - range = range.replace(hr, hyphenReplace); - debug('hyphen replace', range); - // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` - range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace); - debug('comparator trim', range, re[COMPARATORTRIM]); - - // `~ 1.2.3` => `~1.2.3` - range = range.replace(re[TILDETRIM], tildeTrimReplace); - - // `^ 1.2.3` => `^1.2.3` - range = range.replace(re[CARETTRIM], caretTrimReplace); - - // normalize spaces - range = range.split(/\s+/).join(' '); - - // At this point, the range is completely trimmed and - // ready to be split into comparators. - - var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]; - var set = range.split(' ').map(function(comp) { - return parseComparator(comp, loose); - }).join(' ').split(/\s+/); - if (this.loose) { - // in loose mode, throw out any that are not valid comparators - set = set.filter(function(comp) { - return !!comp.match(compRe); - }); - } - set = set.map(function(comp) { - return new Comparator(comp, loose); - }); - - return set; -}; - -// Mostly just for testing and legacy API reasons -exports.toComparators = toComparators; -function toComparators(range, loose) { - return new Range(range, loose).set.map(function(comp) { - return comp.map(function(c) { - return c.value; - }).join(' ').trim().split(' '); - }); -} - -// comprised of xranges, tildes, stars, and gtlt's at this point. -// already replaced the hyphen ranges -// turn into a set of JUST comparators. -function parseComparator(comp, loose) { - debug('comp', comp); - comp = replaceCarets(comp, loose); - debug('caret', comp); - comp = replaceTildes(comp, loose); - debug('tildes', comp); - comp = replaceXRanges(comp, loose); - debug('xrange', comp); - comp = replaceStars(comp, loose); - debug('stars', comp); - return comp; -} - -function isX(id) { - return !id || id.toLowerCase() === 'x' || id === '*'; -} - -// ~, ~> --> * (any, kinda silly) -// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0 -// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0 -// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0 -// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0 -// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0 -function replaceTildes(comp, loose) { - return comp.trim().split(/\s+/).map(function(comp) { - return replaceTilde(comp, loose); - }).join(' '); -} - -function replaceTilde(comp, loose) { - var r = loose ? re[TILDELOOSE] : re[TILDE]; - return comp.replace(r, function(_, M, m, p, pr) { - debug('tilde', comp, _, M, m, p, pr); - var ret; - - if (isX(M)) - ret = ''; - else if (isX(m)) - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - else if (isX(p)) - // ~1.2 == >=1.2.0 <1.3.0 - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - else if (pr) { - debug('replaceTilde pr', pr); - if (pr.charAt(0) !== '-') - pr = '-' + pr; - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + M + '.' + (+m + 1) + '.0'; - } else - // ~1.2.3 == >=1.2.3 <1.3.0 - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + (+m + 1) + '.0'; - - debug('tilde return', ret); - return ret; - }); -} - -// ^ --> * (any, kinda silly) -// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0 -// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0 -// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0 -// ^1.2.3 --> >=1.2.3 <2.0.0 -// ^1.2.0 --> >=1.2.0 <2.0.0 -function replaceCarets(comp, loose) { - return comp.trim().split(/\s+/).map(function(comp) { - return replaceCaret(comp, loose); - }).join(' '); -} - -function replaceCaret(comp, loose) { - debug('caret', comp, loose); - var r = loose ? re[CARETLOOSE] : re[CARET]; - return comp.replace(r, function(_, M, m, p, pr) { - debug('caret', comp, _, M, m, p, pr); - var ret; - - if (isX(M)) - ret = ''; - else if (isX(m)) - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - else if (isX(p)) { - if (M === '0') - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - else - ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'; - } else if (pr) { - debug('replaceCaret pr', pr); - if (pr.charAt(0) !== '-') - pr = '-' + pr; - if (M === '0') { - if (m === '0') - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + M + '.' + m + '.' + (+p + 1); - else - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + M + '.' + (+m + 1) + '.0'; - } else - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + (+M + 1) + '.0.0'; - } else { - debug('no pr'); - if (M === '0') { - if (m === '0') - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + m + '.' + (+p + 1); - else - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + (+m + 1) + '.0'; - } else - ret = '>=' + M + '.' + m + '.' + p + - ' <' + (+M + 1) + '.0.0'; - } - - debug('caret return', ret); - return ret; - }); -} - -function replaceXRanges(comp, loose) { - debug('replaceXRanges', comp, loose); - return comp.split(/\s+/).map(function(comp) { - return replaceXRange(comp, loose); - }).join(' '); -} - -function replaceXRange(comp, loose) { - comp = comp.trim(); - var r = loose ? re[XRANGELOOSE] : re[XRANGE]; - return comp.replace(r, function(ret, gtlt, M, m, p, pr) { - debug('xRange', comp, ret, gtlt, M, m, p, pr); - var xM = isX(M); - var xm = xM || isX(m); - var xp = xm || isX(p); - var anyX = xp; - - if (gtlt === '=' && anyX) - gtlt = ''; - - if (xM) { - if (gtlt === '>' || gtlt === '<') { - // nothing is allowed - ret = '<0.0.0'; - } else { - // nothing is forbidden - ret = '*'; - } - } else if (gtlt && anyX) { - // replace X with 0 - if (xm) - m = 0; - if (xp) - p = 0; - - if (gtlt === '>') { - // >1 => >=2.0.0 - // >1.2 => >=1.3.0 - // >1.2.3 => >= 1.2.4 - gtlt = '>='; - if (xm) { - M = +M + 1; - m = 0; - p = 0; - } else if (xp) { - m = +m + 1; - p = 0; - } - } else if (gtlt === '<=') { - // <=0.7.x is actually <0.8.0, since any 0.7.x should - // pass. Similarly, <=7.x is actually <8.0.0, etc. - gtlt = '<'; - if (xm) - M = +M + 1; - else - m = +m + 1; - } - - ret = gtlt + M + '.' + m + '.' + p; - } else if (xm) { - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - } else if (xp) { - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - } - - debug('xRange return', ret); - - return ret; - }); -} - -// Because * is AND-ed with everything else in the comparator, -// and '' means "any version", just remove the *s entirely. -function replaceStars(comp, loose) { - debug('replaceStars', comp, loose); - // Looseness is ignored here. star is always as loose as it gets! - return comp.trim().replace(re[STAR], ''); -} - -// This function is passed to string.replace(re[HYPHENRANGE]) -// M, m, patch, prerelease, build -// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 -// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do -// 1.2 - 3.4 => >=1.2.0 <3.5.0 -function hyphenReplace($0, - from, fM, fm, fp, fpr, fb, - to, tM, tm, tp, tpr, tb) { - - if (isX(fM)) - from = ''; - else if (isX(fm)) - from = '>=' + fM + '.0.0'; - else if (isX(fp)) - from = '>=' + fM + '.' + fm + '.0'; - else - from = '>=' + from; - - if (isX(tM)) - to = ''; - else if (isX(tm)) - to = '<' + (+tM + 1) + '.0.0'; - else if (isX(tp)) - to = '<' + tM + '.' + (+tm + 1) + '.0'; - else if (tpr) - to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr; - else - to = '<=' + to; - - return (from + ' ' + to).trim(); -} - - -// if ANY of the sets match ALL of its comparators, then pass -Range.prototype.test = function(version) { - if (!version) - return false; - - if (typeof version === 'string') - version = new SemVer(version, this.loose); - - for (var i = 0; i < this.set.length; i++) { - if (testSet(this.set[i], version)) - return true; - } - return false; -}; - -function testSet(set, version) { - for (var i = 0; i < set.length; i++) { - if (!set[i].test(version)) - return false; - } - - if (version.prerelease.length) { - // Find the set of versions that are allowed to have prereleases - // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 - // That should allow `1.2.3-pr.2` to pass. - // However, `1.2.4-alpha.notready` should NOT be allowed, - // even though it's within the range set by the comparators. - for (var i = 0; i < set.length; i++) { - debug(set[i].semver); - if (set[i].semver === ANY) - continue; - - if (set[i].semver.prerelease.length > 0) { - var allowed = set[i].semver; - if (allowed.major === version.major && - allowed.minor === version.minor && - allowed.patch === version.patch) - return true; - } - } - - // Version has a -pre, but it's not one of the ones we like. - return false; - } - - return true; -} - -exports.satisfies = satisfies; -function satisfies(version, range, loose) { - try { - range = new Range(range, loose); - } catch (er) { - return false; - } - return range.test(version); -} - -exports.maxSatisfying = maxSatisfying; -function maxSatisfying(versions, range, loose) { - return versions.filter(function(version) { - return satisfies(version, range, loose); - }).sort(function(a, b) { - return rcompare(a, b, loose); - })[0] || null; -} - -exports.minSatisfying = minSatisfying; -function minSatisfying(versions, range, loose) { - return versions.filter(function(version) { - return satisfies(version, range, loose); - }).sort(function(a, b) { - return compare(a, b, loose); - })[0] || null; -} - -exports.validRange = validRange; -function validRange(range, loose) { - try { - // Return '*' instead of '' so that truthiness works. - // This will throw if it's invalid anyway - return new Range(range, loose).range || '*'; - } catch (er) { - return null; - } -} - -// Determine if version is less than all the versions possible in the range -exports.ltr = ltr; -function ltr(version, range, loose) { - return outside(version, range, '<', loose); -} - -// Determine if version is greater than all the versions possible in the range. -exports.gtr = gtr; -function gtr(version, range, loose) { - return outside(version, range, '>', loose); -} - -exports.outside = outside; -function outside(version, range, hilo, loose) { - version = new SemVer(version, loose); - range = new Range(range, loose); - - var gtfn, ltefn, ltfn, comp, ecomp; - switch (hilo) { - case '>': - gtfn = gt; - ltefn = lte; - ltfn = lt; - comp = '>'; - ecomp = '>='; - break; - case '<': - gtfn = lt; - ltefn = gte; - ltfn = gt; - comp = '<'; - ecomp = '<='; - break; - default: - throw new TypeError('Must provide a hilo val of "<" or ">"'); - } - - // If it satisifes the range it is not outside - if (satisfies(version, range, loose)) { - return false; - } - - // From now on, variable terms are as if we're in "gtr" mode. - // but note that everything is flipped for the "ltr" function. - - for (var i = 0; i < range.set.length; ++i) { - var comparators = range.set[i]; - - var high = null; - var low = null; - - comparators.forEach(function(comparator) { - if (comparator.semver === ANY) { - comparator = new Comparator('>=0.0.0') - } - high = high || comparator; - low = low || comparator; - if (gtfn(comparator.semver, high.semver, loose)) { - high = comparator; - } else if (ltfn(comparator.semver, low.semver, loose)) { - low = comparator; - } - }); - - // If the edge version comparator has a operator then our version - // isn't outside it - if (high.operator === comp || high.operator === ecomp) { - return false; - } - - // If the lowest version comparator has an operator and our version - // is less than it then it isn't higher than the range - if ((!low.operator || low.operator === comp) && - ltefn(version, low.semver)) { - return false; - } else if (low.operator === ecomp && ltfn(version, low.semver)) { - return false; - } - } - return true; -} - -exports.prerelease = prerelease; -function prerelease(version, loose) { - var parsed = parse(version, loose); - return (parsed && parsed.prerelease.length) ? parsed.prerelease : null; -} diff --git a/node_modules/set-blocking/CHANGELOG.md b/node_modules/set-blocking/CHANGELOG.md deleted file mode 100644 index 03bf591..0000000 --- a/node_modules/set-blocking/CHANGELOG.md +++ /dev/null @@ -1,26 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - - -# [2.0.0](https://github.com/yargs/set-blocking/compare/v1.0.0...v2.0.0) (2016-05-17) - - -### Features - -* add an isTTY check ([#3](https://github.com/yargs/set-blocking/issues/3)) ([66ce277](https://github.com/yargs/set-blocking/commit/66ce277)) - - -### BREAKING CHANGES - -* stdio/stderr will not be set to blocking if isTTY === false - - - - -# 1.0.0 (2016-05-14) - - -### Features - -* implemented shim for stream._handle.setBlocking ([6bde0c0](https://github.com/yargs/set-blocking/commit/6bde0c0)) diff --git a/node_modules/set-blocking/LICENSE.txt b/node_modules/set-blocking/LICENSE.txt deleted file mode 100644 index 836440b..0000000 --- a/node_modules/set-blocking/LICENSE.txt +++ /dev/null @@ -1,14 +0,0 @@ -Copyright (c) 2016, Contributors - -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. diff --git a/node_modules/set-blocking/README.md b/node_modules/set-blocking/README.md deleted file mode 100644 index e93b420..0000000 --- a/node_modules/set-blocking/README.md +++ /dev/null @@ -1,31 +0,0 @@ -# set-blocking - -[![Build Status](https://travis-ci.org/yargs/set-blocking.svg)](https://travis-ci.org/yargs/set-blocking) -[![NPM version](https://img.shields.io/npm/v/set-blocking.svg)](https://www.npmjs.com/package/set-blocking) -[![Coverage Status](https://coveralls.io/repos/yargs/set-blocking/badge.svg?branch=)](https://coveralls.io/r/yargs/set-blocking?branch=master) -[![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version) - -set blocking `stdio` and `stderr` ensuring that terminal output does not truncate. - -```js -const setBlocking = require('set-blocking') -setBlocking(true) -console.log(someLargeStringToOutput) -``` - -## Historical Context/Word of Warning - -This was created as a shim to address the bug discussed in [node #6456](https://github.com/nodejs/node/issues/6456). This bug crops up on -newer versions of Node.js (`0.12+`), truncating terminal output. - -You should be mindful of the side-effects caused by using `set-blocking`: - -* if your module sets blocking to `true`, it will effect other modules - consuming your library. In [yargs](https://github.com/yargs/yargs/blob/master/yargs.js#L653) we only call - `setBlocking(true)` once we already know we are about to call `process.exit(code)`. -* this patch will not apply to subprocesses spawned with `isTTY = true`, this is - the [default `spawn()` behavior](https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options). - -## License - -ISC diff --git a/node_modules/set-blocking/index.js b/node_modules/set-blocking/index.js deleted file mode 100644 index 6f78774..0000000 --- a/node_modules/set-blocking/index.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = function (blocking) { - [process.stdout, process.stderr].forEach(function (stream) { - if (stream._handle && stream.isTTY && typeof stream._handle.setBlocking === 'function') { - stream._handle.setBlocking(blocking) - } - }) -} diff --git a/node_modules/set-blocking/package.json b/node_modules/set-blocking/package.json deleted file mode 100644 index 857585f..0000000 --- a/node_modules/set-blocking/package.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "set-blocking@~2.0.0", - "scope": null, - "escapedName": "set-blocking", - "name": "set-blocking", - "rawSpec": "~2.0.0", - "spec": ">=2.0.0 <2.1.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/npmlog" - ] - ], - "_from": "set-blocking@>=2.0.0 <2.1.0", - "_id": "set-blocking@2.0.0", - "_inCache": true, - "_installable": true, - "_location": "/set-blocking", - "_nodeVersion": "0.12.7", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/set-blocking-2.0.0.tgz_1463525966987_0.5456729622092098" - }, - "_npmUser": { - "name": "bcoe", - "email": "ben@npmjs.com" - }, - "_npmVersion": "2.11.3", - "_phantomChildren": {}, - "_requested": { - "raw": "set-blocking@~2.0.0", - "scope": null, - "escapedName": "set-blocking", - "name": "set-blocking", - "rawSpec": "~2.0.0", - "spec": ">=2.0.0 <2.1.0", - "type": "range" - }, - "_requiredBy": [ - "/npmlog" - ], - "_resolved": "http://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "_shasum": "045f9782d011ae9a6803ddd382b24392b3d890f7", - "_shrinkwrap": null, - "_spec": "set-blocking@~2.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/npmlog", - "author": { - "name": "Ben Coe", - "email": "ben@npmjs.com" - }, - "bugs": { - "url": "https://github.com/yargs/set-blocking/issues" - }, - "dependencies": {}, - "description": "set blocking stdio and stderr ensuring that terminal output does not truncate", - "devDependencies": { - "chai": "^3.5.0", - "coveralls": "^2.11.9", - "mocha": "^2.4.5", - "nyc": "^6.4.4", - "standard": "^7.0.1", - "standard-version": "^2.2.1" - }, - "directories": {}, - "dist": { - "shasum": "045f9782d011ae9a6803ddd382b24392b3d890f7", - "tarball": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - }, - "files": [ - "index.js", - "LICENSE.txt" - ], - "gitHead": "7eec10577b5fff264de477ba3b9d07f404946eff", - "homepage": "https://github.com/yargs/set-blocking#readme", - "keywords": [ - "flush", - "terminal", - "blocking", - "shim", - "stdio", - "stderr" - ], - "license": "ISC", - "main": "index.js", - "maintainers": [ - { - "name": "bcoe", - "email": "ben@npmjs.com" - } - ], - "name": "set-blocking", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/yargs/set-blocking.git" - }, - "scripts": { - "coverage": "nyc report --reporter=text-lcov | coveralls", - "pretest": "standard", - "test": "nyc mocha ./test/*.js", - "version": "standard-version" - }, - "version": "2.0.0" -} diff --git a/node_modules/shadowsocks/.idea/.name b/node_modules/shadowsocks/.idea/.name deleted file mode 100644 index 2999336..0000000 --- a/node_modules/shadowsocks/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -shadowsocks-nodejs \ No newline at end of file diff --git a/node_modules/shadowsocks/.idea/encodings.xml b/node_modules/shadowsocks/.idea/encodings.xml deleted file mode 100644 index e206d70..0000000 --- a/node_modules/shadowsocks/.idea/encodings.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/node_modules/shadowsocks/.idea/inspectionProfiles/Project_Default.xml b/node_modules/shadowsocks/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index d72c9e8..0000000 --- a/node_modules/shadowsocks/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - \ No newline at end of file diff --git a/node_modules/shadowsocks/.idea/inspectionProfiles/profiles_settings.xml b/node_modules/shadowsocks/.idea/inspectionProfiles/profiles_settings.xml deleted file mode 100644 index 3b31283..0000000 --- a/node_modules/shadowsocks/.idea/inspectionProfiles/profiles_settings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - \ No newline at end of file diff --git a/node_modules/shadowsocks/.idea/jsLibraryMappings.xml b/node_modules/shadowsocks/.idea/jsLibraryMappings.xml deleted file mode 100644 index 62c621f..0000000 --- a/node_modules/shadowsocks/.idea/jsLibraryMappings.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/node_modules/shadowsocks/.idea/misc.xml b/node_modules/shadowsocks/.idea/misc.xml deleted file mode 100644 index 31bf132..0000000 --- a/node_modules/shadowsocks/.idea/misc.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/node_modules/shadowsocks/.idea/modules.xml b/node_modules/shadowsocks/.idea/modules.xml deleted file mode 100644 index c5eecf4..0000000 --- a/node_modules/shadowsocks/.idea/modules.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/node_modules/shadowsocks/.idea/other.xml b/node_modules/shadowsocks/.idea/other.xml deleted file mode 100644 index 9d2e7e9..0000000 --- a/node_modules/shadowsocks/.idea/other.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - diff --git a/node_modules/shadowsocks/.idea/scopes/scope_settings.xml b/node_modules/shadowsocks/.idea/scopes/scope_settings.xml deleted file mode 100644 index 922003b..0000000 --- a/node_modules/shadowsocks/.idea/scopes/scope_settings.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/node_modules/shadowsocks/.idea/shadowsocks-nodejs.iml b/node_modules/shadowsocks/.idea/shadowsocks-nodejs.iml deleted file mode 100644 index 903b0fc..0000000 --- a/node_modules/shadowsocks/.idea/shadowsocks-nodejs.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/node_modules/shadowsocks/.idea/testrunner.xml b/node_modules/shadowsocks/.idea/testrunner.xml deleted file mode 100644 index 0d97b74..0000000 --- a/node_modules/shadowsocks/.idea/testrunner.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - diff --git a/node_modules/shadowsocks/.idea/vcs.xml b/node_modules/shadowsocks/.idea/vcs.xml deleted file mode 100644 index c80f219..0000000 --- a/node_modules/shadowsocks/.idea/vcs.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/node_modules/shadowsocks/.idea/workspace.xml b/node_modules/shadowsocks/.idea/workspace.xml deleted file mode 100644 index dc56edc..0000000 --- a/node_modules/shadowsocks/.idea/workspace.xml +++ /dev/null @@ -1,837 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1383023461576 - 1383023461576 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/node_modules/shadowsocks/.travis.yml b/node_modules/shadowsocks/.travis.yml deleted file mode 100644 index 5d7304b..0000000 --- a/node_modules/shadowsocks/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: node_js -node_js: - - "0.10" - - "0.11" -before_install: - - npm install coffee-script -script: - - cake build - - cake test diff --git a/node_modules/shadowsocks/CHANGES b/node_modules/shadowsocks/CHANGES deleted file mode 100644 index 452805c..0000000 --- a/node_modules/shadowsocks/CHANGES +++ /dev/null @@ -1,141 +0,0 @@ -1.5.3 2014-11-01 -- Fix multiple servers on local side - -1.5.2 2014-09-09 -- Fix IPv6 address on client side - -1.5.1 2014-09-09 -- Fix wrong key cached when changing method on the fly - -1.5.0 2014-09-09 -- Add RC4-MD5 encryption - -1.4.14 2014-07-04 -- Fix UDP header length detection - -1.4.13 2014-06-12 -- Better logging -- Extract the 2 function inetNtoa and inetAton to utils - -1.4.12 2014-04-23 -- Support -t timeout -- Fix a potential memory leak during server connect() -- Fix remote value not checked before setNoDelay() - -1.4.11 2014-04-18 -- Lower local latency -- Fix a typo in help - -1.4.8 2014-04-12 -- Fix can not bind two or more IPs - -1.4.6 2014-04-10 -- Fix a typo in help - -1.4.5 2014-04-07 -- Add help - -1.4.4 2014-03-25 -- Support local address binding with -b argument - -1.4.3 2014-02-17 -- Fix bug with ipv6 proxy in utorrent -- Better error message with bad config.json format and wrong password - -1.4.2 2013-10-29 -- Client now support multiple server ports and multiple server/port pairs. See test/config-client-*.json for example - -1.4.1 2013-07-30 -- Change default cipher to AES-256-CFB in config.json -- Fix a typo in local - -1.4.0 2013-07-21 -- Support Socks5 UDP relay - -1.3.8 2013-07-18 -- Fix "Cannot call method 'resume' of null" -- -1.3.7 2013-07-09 -- Fix default key length of rc2 -- Call gc() every 30s if --expose-gc is supplied to node args - -1.3.6 2013-07-04 -- Check config and show some warning messages - -1.3.5 2013-06-29 -- Make local.js and server.js runnable - -1.3.4 2013-06-29 -- Flush logs when exit with error - -1.3.3 2013-06-27 -- Fix util not found - -1.3.2 2013-06-27 -- Fix -c arg - -1.3.1 2013-06-24 -- Fix unsupported addrtype: undefined - -1.3.0 2013-06-22 -- Move to npm - -1.2.4 2013-06-18 -- Fix crash on timeout - -1.2.3 2013-06-18 -- Handle close event instead of error event -- Do byte_to_key only once -- Add an arg: -v - -1.2.2 2013-05-28 -- More encryption methods -- Convert local into a runnable module -- Close #41, crash on invalid data - -1.2.1 2013-05-22 -- Fix node 0.8 -- Add local.bat for Windows - -1.2 2013-05-22 -- Use random iv, we finally have strong encryption - -1.1.1 2013-05-21 -- Add encryption, AES, blowfish, etc - -1.1 2013-05-16 -- Support IPv6 address - -1.0 2013-04-03 -- Update readme - -0.9.6 2013-01-15 -- Server listens to IP specified in config.json - -0.9.5 2013-01-15 -- Listen on both IPv4 and IPv6 - -0.9.3 2013-01-07 -- Change default timeout - -0.9.1 2013-01-06 -- Fix issue #20, error when using multiple ports - -0.9 2012-12-30 -- RC4 encryption -- Use util.log instead of console.log - -0.4 2012-12-14 -- Support multiple ports - -0.3 2012-06-26 -- Convert to coffee -- Move config into a separate file -- Change default timeout - -0.2 2012-06-06 -- Move socks5 negotiation to local -- Bug fixes - -0.1 2012-05-20 -- Initial version diff --git a/node_modules/shadowsocks/CONTRIBUTING.md b/node_modules/shadowsocks/CONTRIBUTING.md deleted file mode 100644 index cca3953..0000000 --- a/node_modules/shadowsocks/CONTRIBUTING.md +++ /dev/null @@ -1,34 +0,0 @@ -How to contribute -================= - -Before you submit issues, please take a few minutes to read this guide. - -在你提交问题前,请花两分钟阅读一下这份指南。 - -Issues ------- - -Please include the following information in your submission: - -1. How did you set up your environment? (OS, version of Shadowsocks) -2. Where did you see this error, was it on local or on server? -3. What happened in your browser? Just no response, or any error message? -4. 10 lines of log on the local side of shadowsocks when the error happened. -5. 10 lines of log on the server side of shadowsocks when the error happened. -6. Any other useful information. - -Skip any of them if you don't know its meaning. - -问题反馈 -------- - -请提交下面的信息: - -1. 你是如何搭建环境的?(操作系统,Shadowsocks 版本) -2. 错误是发生在哪里,本地还是服务器? -3. 浏览器里的现象是什么?一直转菊花,还是有提示错误? -4. 发生错误时,本地端的十行完整的日志。 -5. 发生错误时,服务器端的十行完整的日志。 -6. 其它你认为可能和问题有关的信息。 - -如果你不清楚其中某条的含义, 可以直接跳过那一条。 diff --git a/node_modules/shadowsocks/Cakefile b/node_modules/shadowsocks/Cakefile deleted file mode 100644 index b74381b..0000000 --- a/node_modules/shadowsocks/Cakefile +++ /dev/null @@ -1,35 +0,0 @@ -{print} = require 'util' -{spawn} = require 'child_process' - -build = () -> - os = require 'os' - if os.platform() == 'win32' - coffeeCmd = 'coffee.cmd' - else - coffeeCmd = 'coffee' - coffee = spawn coffeeCmd, ['-c', '-o', 'lib/shadowsocks', 'src'] - coffee.stderr.on 'data', (data) -> - process.stderr.write data.toString() - coffee.stdout.on 'data', (data) -> - print data.toString() - coffee.on 'exit', (code) -> - if code != 0 - process.exit code - -test = () -> - os = require 'os' - coffee = spawn 'node', ['lib/shadowsocks/test.js'] - coffee.stderr.on 'data', (data) -> - process.stderr.write data.toString() - coffee.stdout.on 'data', (data) -> - print data.toString() - coffee.on 'exit', (code) -> - if code != 0 - process.exit code - -task 'build', 'Build ./ from src/', -> - build() - -task 'test', 'Run unit test', -> - test() - diff --git a/node_modules/shadowsocks/LICENSE b/node_modules/shadowsocks/LICENSE deleted file mode 100644 index f367084..0000000 --- a/node_modules/shadowsocks/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -shadowsocks - -Copyright (c) 2014 clowwindy - -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. diff --git a/node_modules/shadowsocks/README.md b/node_modules/shadowsocks/README.md deleted file mode 100644 index 7be4378..0000000 --- a/node_modules/shadowsocks/README.md +++ /dev/null @@ -1,104 +0,0 @@ -shadowsocks-nodejs -=========== - -[![NPM version]][NPM] [![Build Status]][Travis CI] - -shadowsocks-nodejs is a node.js port of [shadowsocks]. - -**Deprecated; please use [Other versions].** - -Many people are asking why. Here's why. - -- https://github.com/clowwindy/shadowsocks-nodejs/issues/35 -- https://github.com/joyent/node/issues/5949 - -The GC of node.js sucks. - -Python version [handles 5000 connections with 50MB RAM](https://github.com/clowwindy/shadowsocks/wiki/Optimizing-Shadowsocks) while node.js version -handles 100 connections with 300MB RAM. Why should we continue to support -node.js? - -Usage ------------ - -Download the lastest [Node stable] release. Don't just use master branch of -Node source code from Github! It's not stable. - -Run - - npm install -g shadowsocks - -Create a file named `config.json`, with the following content. - - { - "server":"my_server_ip", - "server_port":8388, - "local_port":1080, - "password":"barfoo!", - "timeout":600, - "method":"table", - "local_address":"127.0.0.1" - } - -Explaination of the fields: - - server your server IP (IPv4/IPv6), notice that your server will listen to this IP - server_port server port - local_port local port - password a password used to encrypt transfer - timeout in seconds - method encryption method, "bf-cfb", "aes-256-cfb", "des-cfb", "rc4", etc. Default is table - local_address local binding address, leave it alone if you don't know what it means - -`cd` into the directory of `config.json`. Run `ssserver` on your server. Use [Supervisor]. - -On your client machine, run `sslocal`. - -Change the proxy setting in your browser into - - protocol: socks5 - hostname: 127.0.0.1 - port: your local_port - -Advanced ------------- - -You can use args to override settings from `config.json`. - - sslocal -s server_name -p server_port -l local_port -k password -m bf-cfb -b local_address - ssserver -p server_port -k password -m bf-cfb -t timeout - ssserver -c /etc/shadowsocks/config.json - -Example of multi-user server support can be found in `test/config-multi-passwd.json`. - -Developing ------------------------------ - -You can build coffee source code and test it: - - npm install -g coffee-script - cake build test - -License ------------------ -MIT - -Bugs and Issues ----------------- -Please visit [Issue Tracker] - -Mailing list: http://groups.google.com/group/shadowsocks - -Also see [Troubleshooting] - - -[Build Status]: https://img.shields.io/travis/clowwindy/shadowsocks-nodejs/master.svg?style=flat -[Issue Tracker]: https://github.com/clowwindy/shadowsocks-nodejs/issues?state=open -[Node stable]: http://nodejs.org/ -[NPM]: https://www.npmjs.org/package/shadowsocks -[NPM version]: https://img.shields.io/npm/v/shadowsocks.svg?style=flatp -[Travis CI]: https://travis-ci.org/clowwindy/shadowsocks-nodejs -[shadowsocks]: https://github.com/clowwindy/shadowsocks -[Supervisor]: https://github.com/clowwindy/shadowsocks-nodejs/wiki/Configure-Shadowsocks-nodejs-with-Supervisor -[Other versions]: https://github.com/clowwindy/shadowsocks/wiki/Ports-and-Clients -[Troubleshooting]: https://github.com/clowwindy/shadowsocks/wiki/Troubleshooting diff --git a/node_modules/shadowsocks/bin/sslocal b/node_modules/shadowsocks/bin/sslocal deleted file mode 100755 index 5305336..0000000 --- a/node_modules/shadowsocks/bin/sslocal +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env node - -var path = require('path'); -var fs = require('fs'); -var lib = path.join(path.dirname(fs.realpathSync(__filename)), '../lib'); - -require(lib + '/shadowsocks/local').main() diff --git a/node_modules/shadowsocks/bin/ssserver b/node_modules/shadowsocks/bin/ssserver deleted file mode 100755 index 67b8815..0000000 --- a/node_modules/shadowsocks/bin/ssserver +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env node - -var path = require('path'); -var fs = require('fs'); -var lib = path.join(path.dirname(fs.realpathSync(__filename)), '../lib'); - -require(lib + '/shadowsocks/server').main() diff --git a/node_modules/shadowsocks/config.json b/node_modules/shadowsocks/config.json deleted file mode 100644 index 90c918d..0000000 --- a/node_modules/shadowsocks/config.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "server":"127.0.0.1", - "server_port":8388, - "local_address":"127.0.0.1", - "local_port":1080, - "password":"barfoo!", - "timeout":600, - "method":"aes-256-cfb" -} diff --git a/node_modules/shadowsocks/lib/shadowsocks/encrypt.js b/node_modules/shadowsocks/lib/shadowsocks/encrypt.js deleted file mode 100644 index dcbd337..0000000 --- a/node_modules/shadowsocks/lib/shadowsocks/encrypt.js +++ /dev/null @@ -1,274 +0,0 @@ -// Generated by CoffeeScript 1.8.0 - -/* - Copyright (c) 2014 clowwindy - - 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. - */ - -(function() { - var EVP_BytesToKey, Encryptor, bytes_to_key_results, cachedTables, create_rc4_md5_cipher, crypto, encryptAll, getTable, int32Max, merge_sort, method_supported, substitute, util; - - crypto = require("crypto"); - - util = require("util"); - - merge_sort = require("./merge_sort").merge_sort; - - int32Max = Math.pow(2, 32); - - cachedTables = {}; - - getTable = function(key) { - var ah, al, decrypt_table, hash, i, md5sum, result, table; - if (cachedTables[key]) { - return cachedTables[key]; - } - util.log("calculating ciphers"); - table = new Array(256); - decrypt_table = new Array(256); - md5sum = crypto.createHash("md5"); - md5sum.update(key); - hash = new Buffer(md5sum.digest(), "binary"); - al = hash.readUInt32LE(0); - ah = hash.readUInt32LE(4); - i = 0; - while (i < 256) { - table[i] = i; - i++; - } - i = 1; - while (i < 1024) { - table = merge_sort(table, function(x, y) { - return ((ah % (x + i)) * int32Max + al) % (x + i) - ((ah % (y + i)) * int32Max + al) % (y + i); - }); - i++; - } - i = 0; - while (i < 256) { - decrypt_table[table[i]] = i; - ++i; - } - result = [table, decrypt_table]; - cachedTables[key] = result; - return result; - }; - - substitute = function(table, buf) { - var i; - i = 0; - while (i < buf.length) { - buf[i] = table[buf[i]]; - i++; - } - return buf; - }; - - bytes_to_key_results = {}; - - EVP_BytesToKey = function(password, key_len, iv_len) { - var count, d, data, i, iv, key, m, md5, ms; - if (bytes_to_key_results["" + password + ":" + key_len + ":" + iv_len]) { - return bytes_to_key_results["" + password + ":" + key_len + ":" + iv_len]; - } - m = []; - i = 0; - count = 0; - while (count < key_len + iv_len) { - md5 = crypto.createHash('md5'); - data = password; - if (i > 0) { - data = Buffer.concat([m[i - 1], password]); - } - md5.update(data); - d = md5.digest(); - m.push(d); - count += d.length; - i += 1; - } - ms = Buffer.concat(m); - key = ms.slice(0, key_len); - iv = ms.slice(key_len, key_len + iv_len); - bytes_to_key_results[password] = [key, iv]; - return [key, iv]; - }; - - method_supported = { - 'aes-128-cfb': [16, 16], - 'aes-192-cfb': [24, 16], - 'aes-256-cfb': [32, 16], - 'bf-cfb': [16, 8], - 'camellia-128-cfb': [16, 16], - 'camellia-192-cfb': [24, 16], - 'camellia-256-cfb': [32, 16], - 'cast5-cfb': [16, 8], - 'des-cfb': [8, 8], - 'idea-cfb': [16, 8], - 'rc2-cfb': [16, 8], - 'rc4': [16, 0], - 'rc4-md5': [16, 16], - 'seed-cfb': [16, 16] - }; - - create_rc4_md5_cipher = function(key, iv, op) { - var md5, rc4_key; - md5 = crypto.createHash('md5'); - md5.update(key); - md5.update(iv); - rc4_key = md5.digest(); - if (op === 1) { - return crypto.createCipheriv('rc4', rc4_key, ''); - } else { - return crypto.createDecipheriv('rc4', rc4_key, ''); - } - }; - - Encryptor = (function() { - function Encryptor(key, method) { - var _ref; - this.key = key; - this.method = method; - this.iv_sent = false; - if (this.method === 'table') { - this.method = null; - } - if (this.method != null) { - this.cipher = this.get_cipher(this.key, this.method, 1, crypto.randomBytes(32)); - } else { - _ref = getTable(this.key), this.encryptTable = _ref[0], this.decryptTable = _ref[1]; - } - } - - Encryptor.prototype.get_cipher_len = function(method) { - var m; - method = method.toLowerCase(); - m = method_supported[method]; - return m; - }; - - Encryptor.prototype.get_cipher = function(password, method, op, iv) { - var iv_, key, m, _ref; - method = method.toLowerCase(); - password = new Buffer(password, 'binary'); - m = this.get_cipher_len(method); - if (m != null) { - _ref = EVP_BytesToKey(password, m[0], m[1]), key = _ref[0], iv_ = _ref[1]; - if (iv == null) { - iv = iv_; - } - if (op === 1) { - this.cipher_iv = iv.slice(0, m[1]); - } - iv = iv.slice(0, m[1]); - if (method === 'rc4-md5') { - return create_rc4_md5_cipher(key, iv, op); - } else { - if (op === 1) { - return crypto.createCipheriv(method, key, iv); - } else { - return crypto.createDecipheriv(method, key, iv); - } - } - } - }; - - Encryptor.prototype.encrypt = function(buf) { - var result; - if (this.method != null) { - result = this.cipher.update(buf); - if (this.iv_sent) { - return result; - } else { - this.iv_sent = true; - return Buffer.concat([this.cipher_iv, result]); - } - } else { - return substitute(this.encryptTable, buf); - } - }; - - Encryptor.prototype.decrypt = function(buf) { - var decipher_iv, decipher_iv_len, result; - if (this.method != null) { - if (this.decipher == null) { - decipher_iv_len = this.get_cipher_len(this.method)[1]; - decipher_iv = buf.slice(0, decipher_iv_len); - this.decipher = this.get_cipher(this.key, this.method, 0, decipher_iv); - result = this.decipher.update(buf.slice(decipher_iv_len)); - return result; - } else { - result = this.decipher.update(buf); - return result; - } - } else { - return substitute(this.decryptTable, buf); - } - }; - - return Encryptor; - - })(); - - encryptAll = function(password, method, op, data) { - var cipher, decryptTable, encryptTable, iv, ivLen, iv_, key, keyLen, result, _ref, _ref1, _ref2; - if (method === 'table') { - method = null; - } - if (method == null) { - _ref = getTable(password), encryptTable = _ref[0], decryptTable = _ref[1]; - if (op === 0) { - return substitute(decryptTable, data); - } else { - return substitute(encryptTable, data); - } - } else { - result = []; - method = method.toLowerCase(); - _ref1 = method_supported[method], keyLen = _ref1[0], ivLen = _ref1[1]; - password = Buffer(password, 'binary'); - _ref2 = EVP_BytesToKey(password, keyLen, ivLen), key = _ref2[0], iv_ = _ref2[1]; - if (op === 1) { - iv = crypto.randomBytes(ivLen); - result.push(iv); - } else { - iv = data.slice(0, ivLen); - data = data.slice(ivLen); - } - if (method === 'rc4-md5') { - cipher = create_rc4_md5_cipher(key, iv, op); - } else { - if (op === 1) { - cipher = crypto.createCipheriv(method, key, iv); - } else { - cipher = crypto.createDecipheriv(method, key, iv); - } - } - result.push(cipher.update(data)); - result.push(cipher.final()); - return Buffer.concat(result); - } - }; - - exports.Encryptor = Encryptor; - - exports.getTable = getTable; - - exports.encryptAll = encryptAll; - -}).call(this); diff --git a/node_modules/shadowsocks/lib/shadowsocks/inet.js b/node_modules/shadowsocks/lib/shadowsocks/inet.js deleted file mode 100644 index df912e6..0000000 --- a/node_modules/shadowsocks/lib/shadowsocks/inet.js +++ /dev/null @@ -1,103 +0,0 @@ -// The functions in source file is from phpjs -// https://github.com/kvz/phpjs -// See license below -// -// Copyright (c) 2013 Kevin van Zonneveld (http://kvz.io) -// and Contributors (http://phpjs.org/authors) -// -// 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. - - -function inet_pton (a) { - // http://kevin.vanzonneveld.net - // + original by: Theriault - // * example 1: inet_pton('::'); - // * returns 1: '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0' (binary) - // * example 2: inet_pton('127.0.0.1'); - // * returns 2: '\x7F\x00\x00\x01' (binary) - var r, m, x, i, j, f = String.fromCharCode; - m = a.match(/^(?:\d{1,3}(?:\.|$)){4}/); // IPv4 - if (m) { - m = m[0].split('.'); - m = f(m[0]) + f(m[1]) + f(m[2]) + f(m[3]); - // Return if 4 bytes, otherwise false. - return m.length === 4 ? m : false; - } - r = /^((?:[\da-f]{1,4}(?::|)){0,8})(::)?((?:[\da-f]{1,4}(?::|)){0,8})$/; - m = a.match(r); // IPv6 - if (m) { - // Translate each hexadecimal value. - for (j = 1; j < 4; j++) { - // Indice 2 is :: and if no length, continue. - if (j === 2 || m[j].length === 0) { - continue; - } - m[j] = m[j].split(':'); - for (i = 0; i < m[j].length; i++) { - m[j][i] = parseInt(m[j][i], 16); - // Would be NaN if it was blank, return false. - if (isNaN(m[j][i])) { - return false; // Invalid IP. - } - m[j][i] = f(m[j][i] >> 8) + f(m[j][i] & 0xFF); - } - m[j] = m[j].join(''); - } - x = m[1].length + m[3].length; - if (x === 16) { - return m[1] + m[3]; - } else if (x < 16 && m[2].length > 0) { - return m[1] + (new Array(16 - x + 1)).join('\x00') + m[3]; - } - } - return false; // Invalid IP. -} - -function inet_ntop (a) { - // http://kevin.vanzonneveld.net - // + original by: Theriault - // * example 1: inet_ntop('\x7F\x00\x00\x01'); - // * returns 1: '127.0.0.1' - // * example 2: inet_ntop('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1'); - // * returns 2: '::1' - var i = 0, - m = '', - c = []; - if (a.length === 4) { // IPv4 - a += ''; - return [ - a.charCodeAt(0), a.charCodeAt(1), a.charCodeAt(2), a.charCodeAt(3)].join('.'); - } else if (a.length === 16) { // IPv6 - for (i = 0; i < 16; i += 2) { - var group = (a.slice(i, i + 2)).toString("hex"); - //replace 00b1 => b1 0000=>0 - while(group.length > 1 && group.slice(0,1) == '0') - group = group.slice(1); - c.push(group); - } - return c.join(':').replace(/((^|:)0(?=:|$))+:?/g, function (t) { - m = (t.length > m.length) ? t : m; - return t; - }).replace(m || ' ', '::'); - } else { // Invalid length - return false; - } -} -exports.inet_pton = inet_pton; -exports.inet_ntop = inet_ntop; diff --git a/node_modules/shadowsocks/lib/shadowsocks/local.js b/node_modules/shadowsocks/lib/shadowsocks/local.js deleted file mode 100644 index 79762bb..0000000 --- a/node_modules/shadowsocks/lib/shadowsocks/local.js +++ /dev/null @@ -1,395 +0,0 @@ -// Generated by CoffeeScript 1.8.0 - -/* - Copyright (c) 2014 clowwindy - - 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. - */ - -(function() { - var Encryptor, connections, createServer, fs, inet, net, path, udpRelay, utils; - - net = require("net"); - - fs = require("fs"); - - path = require("path"); - - udpRelay = require("./udprelay"); - - utils = require('./utils'); - - inet = require('./inet'); - - Encryptor = require("./encrypt").Encryptor; - - connections = 0; - - createServer = function(serverAddr, serverPort, port, key, method, timeout, local_address) { - var getServer, server, udpServer; - if (local_address == null) { - local_address = '127.0.0.1'; - } - udpServer = udpRelay.createServer(local_address, port, serverAddr, serverPort, key, method, timeout, true); - getServer = function() { - var aPort, aServer, r; - aPort = serverPort; - aServer = serverAddr; - if (serverPort instanceof Array) { - aPort = serverPort[Math.floor(Math.random() * serverPort.length)]; - } - if (serverAddr instanceof Array) { - aServer = serverAddr[Math.floor(Math.random() * serverAddr.length)]; - } - r = /^([^:]*)\:(\d+)$/.exec(aServer); - if (r != null) { - aServer = r[1]; - aPort = +r[2]; - } - return [aServer, aPort]; - }; - server = net.createServer(function(connection) { - var addrLen, addrToSend, clean, connected, encryptor, headerLength, remote, remoteAddr, remotePort, stage; - connections += 1; - connected = true; - encryptor = new Encryptor(key, method); - stage = 0; - headerLength = 0; - remote = null; - addrLen = 0; - remoteAddr = null; - remotePort = null; - addrToSend = ""; - utils.debug("connections: " + connections); - clean = function() { - utils.debug("clean"); - connections -= 1; - remote = null; - connection = null; - encryptor = null; - return utils.debug("connections: " + connections); - }; - connection.on("data", function(data) { - var aPort, aServer, addrToSendBuf, addrtype, buf, cmd, e, piece, reply, tempBuf, _ref; - utils.log(utils.EVERYTHING, "connection on data"); - if (stage === 5) { - data = encryptor.encrypt(data); - if (!remote.write(data)) { - connection.pause(); - } - return; - } - if (stage === 0) { - tempBuf = new Buffer(2); - tempBuf.write("\u0005\u0000", 0); - connection.write(tempBuf); - stage = 1; - utils.debug("stage = 1"); - return; - } - if (stage === 1) { - try { - cmd = data[1]; - addrtype = data[3]; - if (cmd === 1) { - - } else if (cmd === 3) { - utils.info("UDP assc request from " + connection.localAddress + ":" + connection.localPort); - reply = new Buffer(10); - reply.write("\u0005\u0000\u0000\u0001", 0, 4, "binary"); - utils.debug(connection.localAddress); - utils.inetAton(connection.localAddress).copy(reply, 4); - reply.writeUInt16BE(connection.localPort, 8); - connection.write(reply); - stage = 10; - } else { - utils.error("unsupported cmd: " + cmd); - reply = new Buffer("\u0005\u0007\u0000\u0001", "binary"); - connection.end(reply); - return; - } - if (addrtype === 3) { - addrLen = data[4]; - } else if (addrtype !== 1 && addrtype !== 4) { - utils.error("unsupported addrtype: " + addrtype); - connection.destroy(); - return; - } - addrToSend = data.slice(3, 4).toString("binary"); - if (addrtype === 1) { - remoteAddr = utils.inetNtoa(data.slice(4, 8)); - addrToSend += data.slice(4, 10).toString("binary"); - remotePort = data.readUInt16BE(8); - headerLength = 10; - } else if (addrtype === 4) { - remoteAddr = inet.inet_ntop(data.slice(4, 20)); - addrToSend += data.slice(4, 22).toString("binary"); - remotePort = data.readUInt16BE(20); - headerLength = 22; - } else { - remoteAddr = data.slice(5, 5 + addrLen).toString("binary"); - addrToSend += data.slice(4, 5 + addrLen + 2).toString("binary"); - remotePort = data.readUInt16BE(5 + addrLen); - headerLength = 5 + addrLen + 2; - } - if (cmd === 3) { - utils.info("UDP assc: " + remoteAddr + ":" + remotePort); - return; - } - buf = new Buffer(10); - buf.write("\u0005\u0000\u0000\u0001", 0, 4, "binary"); - buf.write("\u0000\u0000\u0000\u0000", 4, 4, "binary"); - buf.writeInt16BE(2222, 8); - connection.write(buf); - _ref = getServer(), aServer = _ref[0], aPort = _ref[1]; - utils.info("connecting " + aServer + ":" + aPort); - remote = net.connect(aPort, aServer, function() { - if (remote) { - remote.setNoDelay(true); - } - stage = 5; - return utils.debug("stage = 5"); - }); - remote.on("data", function(data) { - var e; - if (!connected) { - return; - } - utils.log(utils.EVERYTHING, "remote on data"); - try { - if (encryptor) { - data = encryptor.decrypt(data); - if (!connection.write(data)) { - return remote.pause(); - } - } else { - return remote.destroy(); - } - } catch (_error) { - e = _error; - utils.error(e); - if (remote) { - remote.destroy(); - } - if (connection) { - return connection.destroy(); - } - } - }); - remote.on("end", function() { - utils.debug("remote on end"); - if (connection) { - return connection.end(); - } - }); - remote.on("error", function(e) { - utils.debug("remote on error"); - return utils.error("remote " + remoteAddr + ":" + remotePort + " error: " + e); - }); - remote.on("close", function(had_error) { - utils.debug("remote on close:" + had_error); - if (had_error) { - if (connection) { - return connection.destroy(); - } - } else { - if (connection) { - return connection.end(); - } - } - }); - remote.on("drain", function() { - utils.debug("remote on drain"); - if (connection) { - return connection.resume(); - } - }); - remote.setTimeout(timeout, function() { - utils.debug("remote on timeout"); - if (remote) { - remote.destroy(); - } - if (connection) { - return connection.destroy(); - } - }); - addrToSendBuf = new Buffer(addrToSend, "binary"); - addrToSendBuf = encryptor.encrypt(addrToSendBuf); - remote.setNoDelay(false); - remote.write(addrToSendBuf); - if (data.length > headerLength) { - buf = new Buffer(data.length - headerLength); - data.copy(buf, 0, headerLength); - piece = encryptor.encrypt(buf); - remote.write(piece); - } - stage = 4; - return utils.debug("stage = 4"); - } catch (_error) { - e = _error; - utils.error(e); - if (connection) { - connection.destroy(); - } - if (remote) { - remote.destroy(); - } - return clean(); - } - } else if (stage === 4) { - if (remote == null) { - if (connection) { - connection.destroy(); - } - return; - } - data = encryptor.encrypt(data); - remote.setNoDelay(true); - if (!remote.write(data)) { - return connection.pause(); - } - } - }); - connection.on("end", function() { - connected = false; - utils.debug("connection on end"); - if (remote) { - return remote.end(); - } - }); - connection.on("error", function(e) { - utils.debug("connection on error"); - return utils.error("local error: " + e); - }); - connection.on("close", function(had_error) { - connected = false; - utils.debug("connection on close:" + had_error); - if (had_error) { - if (remote) { - remote.destroy(); - } - } else { - if (remote) { - remote.end(); - } - } - return clean(); - }); - connection.on("drain", function() { - utils.debug("connection on drain"); - if (remote && stage === 5) { - return remote.resume(); - } - }); - return connection.setTimeout(timeout, function() { - utils.debug("connection on timeout"); - if (remote) { - remote.destroy(); - } - if (connection) { - return connection.destroy(); - } - }); - }); - if (local_address != null) { - server.listen(port, local_address, function() { - return utils.info("local listening at " + (server.address().address) + ":" + port); - }); - } else { - server.listen(port, function() { - return utils.info("local listening at 0.0.0.0:" + port); - }); - } - server.on("error", function(e) { - if (e.code === "EADDRINUSE") { - return utils.error("Address in use, aborting"); - } else { - return utils.error(e); - } - }); - server.on("close", function() { - return udpServer.close(); - }); - return server; - }; - - exports.createServer = createServer; - - exports.main = function() { - var KEY, METHOD, PORT, REMOTE_PORT, SERVER, config, configContent, configFromArgs, configPath, e, k, local_address, s, timeout, v; - console.log(utils.version); - configFromArgs = utils.parseArgs(); - configPath = 'config.json'; - if (configFromArgs.config_file) { - configPath = configFromArgs.config_file; - } - if (!fs.existsSync(configPath)) { - configPath = path.resolve(__dirname, "config.json"); - if (!fs.existsSync(configPath)) { - configPath = path.resolve(__dirname, "../../config.json"); - if (!fs.existsSync(configPath)) { - configPath = null; - } - } - } - if (configPath) { - utils.info('loading config from ' + configPath); - configContent = fs.readFileSync(configPath); - try { - config = JSON.parse(configContent); - } catch (_error) { - e = _error; - utils.error('found an error in config.json: ' + e.message); - process.exit(1); - } - } else { - config = {}; - } - for (k in configFromArgs) { - v = configFromArgs[k]; - config[k] = v; - } - if (config.verbose) { - utils.config(utils.DEBUG); - } - utils.checkConfig(config); - SERVER = config.server; - REMOTE_PORT = config.server_port; - PORT = config.local_port; - KEY = config.password; - METHOD = config.method; - local_address = config.local_address; - if (!(SERVER && REMOTE_PORT && PORT && KEY)) { - utils.warn('config.json not found, you have to specify all config in commandline'); - process.exit(1); - } - timeout = Math.floor(config.timeout * 1000) || 600000; - s = createServer(SERVER, REMOTE_PORT, PORT, KEY, METHOD, timeout, local_address); - return s.on("error", function(e) { - return process.stdout.on('drain', function() { - return process.exit(1); - }); - }); - }; - - if (require.main === module) { - exports.main(); - } - -}).call(this); diff --git a/node_modules/shadowsocks/lib/shadowsocks/merge_sort.js b/node_modules/shadowsocks/lib/shadowsocks/merge_sort.js deleted file mode 100644 index cbfa2d3..0000000 --- a/node_modules/shadowsocks/lib/shadowsocks/merge_sort.js +++ /dev/null @@ -1,58 +0,0 @@ -// Generated by CoffeeScript 1.8.0 - -/* - Copyright (c) 2014 clowwindy - - 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. - */ - -(function() { - var merge, merge_sort; - - merge = function(left, right, comparison) { - var result; - result = new Array(); - while ((left.length > 0) && (right.length > 0)) { - if (comparison(left[0], right[0]) <= 0) { - result.push(left.shift()); - } else { - result.push(right.shift()); - } - } - while (left.length > 0) { - result.push(left.shift()); - } - while (right.length > 0) { - result.push(right.shift()); - } - return result; - }; - - merge_sort = function(array, comparison) { - var middle; - if (array.length < 2) { - return array; - } - middle = Math.ceil(array.length / 2); - return merge(merge_sort(array.slice(0, middle), comparison), merge_sort(array.slice(middle), comparison), comparison); - }; - - exports.merge_sort = merge_sort; - -}).call(this); diff --git a/node_modules/shadowsocks/lib/shadowsocks/server.js b/node_modules/shadowsocks/lib/shadowsocks/server.js deleted file mode 100644 index 9f39c04..0000000 --- a/node_modules/shadowsocks/lib/shadowsocks/server.js +++ /dev/null @@ -1,352 +0,0 @@ -// Generated by CoffeeScript 1.8.0 - -/* - Copyright (c) 2014 clowwindy - - 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. - */ - -(function() { - var Encryptor, fs, inet, net, path, udpRelay, utils; - - net = require("net"); - - fs = require("fs"); - - path = require("path"); - - udpRelay = require("./udprelay"); - - utils = require("./utils"); - - inet = require("./inet"); - - Encryptor = require("./encrypt").Encryptor; - - exports.main = function() { - var METHOD, SERVER, a_server_ip, config, configContent, configFromArgs, configPath, connections, e, k, key, port, portPassword, servers, timeout, v, _results; - console.log(utils.version); - configFromArgs = utils.parseArgs(true); - configPath = 'config.json'; - if (configFromArgs.config_file) { - configPath = configFromArgs.config_file; - } - if (!fs.existsSync(configPath)) { - configPath = path.resolve(__dirname, "config.json"); - if (!fs.existsSync(configPath)) { - configPath = path.resolve(__dirname, "../../config.json"); - if (!fs.existsSync(configPath)) { - configPath = null; - } - } - } - if (configPath) { - utils.info('loading config from ' + configPath); - configContent = fs.readFileSync(configPath); - try { - config = JSON.parse(configContent); - } catch (_error) { - e = _error; - utils.error('found an error in config.json: ' + e.message); - process.exit(1); - } - } else { - config = {}; - } - for (k in configFromArgs) { - v = configFromArgs[k]; - config[k] = v; - } - if (config.verbose) { - utils.config(utils.DEBUG); - } - utils.checkConfig(config); - timeout = Math.floor(config.timeout * 1000) || 300000; - portPassword = config.port_password; - port = config.server_port; - key = config.password; - METHOD = config.method; - SERVER = config.server; - if (!(SERVER && (port || portPassword) && key)) { - utils.warn('config.json not found, you have to specify all config in commandline'); - process.exit(1); - } - connections = 0; - if (portPassword) { - if (port || key) { - utils.warn('warning: port_password should not be used with server_port and password. server_port and password will be ignored'); - } - } else { - portPassword = {}; - portPassword[port.toString()] = key; - } - _results = []; - for (port in portPassword) { - key = portPassword[port]; - servers = SERVER; - if (!(servers instanceof Array)) { - servers = [servers]; - } - _results.push((function() { - var _i, _len, _results1; - _results1 = []; - for (_i = 0, _len = servers.length; _i < _len; _i++) { - a_server_ip = servers[_i]; - _results1.push((function() { - var KEY, PORT, server, server_ip; - PORT = port; - KEY = key; - server_ip = a_server_ip; - utils.info("calculating ciphers for port " + PORT); - server = net.createServer(function(connection) { - var addrLen, cachedPieces, clean, encryptor, headerLength, remote, remoteAddr, remotePort, stage; - connections += 1; - encryptor = new Encryptor(KEY, METHOD); - stage = 0; - headerLength = 0; - remote = null; - cachedPieces = []; - addrLen = 0; - remoteAddr = null; - remotePort = null; - utils.debug("connections: " + connections); - clean = function() { - utils.debug("clean"); - connections -= 1; - remote = null; - connection = null; - encryptor = null; - return utils.debug("connections: " + connections); - }; - connection.on("data", function(data) { - var addrtype, buf; - utils.log(utils.EVERYTHING, "connection on data"); - try { - data = encryptor.decrypt(data); - } catch (_error) { - e = _error; - utils.error(e); - if (remote) { - remote.destroy(); - } - if (connection) { - connection.destroy(); - } - return; - } - if (stage === 5) { - if (!remote.write(data)) { - connection.pause(); - } - return; - } - if (stage === 0) { - try { - addrtype = data[0]; - if (addrtype === void 0) { - return; - } - if (addrtype === 3) { - addrLen = data[1]; - } else if (addrtype !== 1 && addrtype !== 4) { - utils.error("unsupported addrtype: " + addrtype + " maybe wrong password"); - connection.destroy(); - return; - } - if (addrtype === 1) { - remoteAddr = utils.inetNtoa(data.slice(1, 5)); - remotePort = data.readUInt16BE(5); - headerLength = 7; - } else if (addrtype === 4) { - remoteAddr = inet.inet_ntop(data.slice(1, 17)); - remotePort = data.readUInt16BE(17); - headerLength = 19; - } else { - remoteAddr = data.slice(2, 2 + addrLen).toString("binary"); - remotePort = data.readUInt16BE(2 + addrLen); - headerLength = 2 + addrLen + 2; - } - connection.pause(); - remote = net.connect(remotePort, remoteAddr, function() { - var i, piece; - utils.info("connecting " + remoteAddr + ":" + remotePort); - if (!encryptor || !remote || !connection) { - if (remote) { - remote.destroy(); - } - return; - } - i = 0; - connection.resume(); - while (i < cachedPieces.length) { - piece = cachedPieces[i]; - remote.write(piece); - i++; - } - cachedPieces = null; - remote.setTimeout(timeout, function() { - utils.debug("remote on timeout during connect()"); - if (remote) { - remote.destroy(); - } - if (connection) { - return connection.destroy(); - } - }); - stage = 5; - return utils.debug("stage = 5"); - }); - remote.on("data", function(data) { - utils.log(utils.EVERYTHING, "remote on data"); - if (!encryptor) { - if (remote) { - remote.destroy(); - } - return; - } - data = encryptor.encrypt(data); - if (!connection.write(data)) { - return remote.pause(); - } - }); - remote.on("end", function() { - utils.debug("remote on end"); - if (connection) { - return connection.end(); - } - }); - remote.on("error", function(e) { - utils.debug("remote on error"); - return utils.error("remote " + remoteAddr + ":" + remotePort + " error: " + e); - }); - remote.on("close", function(had_error) { - utils.debug("remote on close:" + had_error); - if (had_error) { - if (connection) { - return connection.destroy(); - } - } else { - if (connection) { - return connection.end(); - } - } - }); - remote.on("drain", function() { - utils.debug("remote on drain"); - if (connection) { - return connection.resume(); - } - }); - remote.setTimeout(15 * 1000, function() { - utils.debug("remote on timeout during connect()"); - if (remote) { - remote.destroy(); - } - if (connection) { - return connection.destroy(); - } - }); - if (data.length > headerLength) { - buf = new Buffer(data.length - headerLength); - data.copy(buf, 0, headerLength); - cachedPieces.push(buf); - buf = null; - } - stage = 4; - return utils.debug("stage = 4"); - } catch (_error) { - e = _error; - utils.error(e); - connection.destroy(); - if (remote) { - return remote.destroy(); - } - } - } else { - if (stage === 4) { - return cachedPieces.push(data); - } - } - }); - connection.on("end", function() { - utils.debug("connection on end"); - if (remote) { - return remote.end(); - } - }); - connection.on("error", function(e) { - utils.debug("connection on error"); - return utils.error("local error: " + e); - }); - connection.on("close", function(had_error) { - utils.debug("connection on close:" + had_error); - if (had_error) { - if (remote) { - remote.destroy(); - } - } else { - if (remote) { - remote.end(); - } - } - return clean(); - }); - connection.on("drain", function() { - utils.debug("connection on drain"); - if (remote) { - return remote.resume(); - } - }); - return connection.setTimeout(timeout, function() { - utils.debug("connection on timeout"); - if (remote) { - remote.destroy(); - } - if (connection) { - return connection.destroy(); - } - }); - }); - server.listen(PORT, server_ip, function() { - return utils.info("server listening at " + server_ip + ":" + PORT + " "); - }); - udpRelay.createServer(server_ip, PORT, null, null, key, METHOD, timeout, false); - return server.on("error", function(e) { - if (e.code === "EADDRINUSE") { - utils.error("Address in use, aborting"); - } else { - utils.error(e); - } - return process.stdout.on('drain', function() { - return process.exit(1); - }); - }); - })()); - } - return _results1; - })()); - } - return _results; - }; - - if (require.main === module) { - exports.main(); - } - -}).call(this); diff --git a/node_modules/shadowsocks/lib/shadowsocks/test.js b/node_modules/shadowsocks/lib/shadowsocks/test.js deleted file mode 100644 index e7abdc3..0000000 --- a/node_modules/shadowsocks/lib/shadowsocks/test.js +++ /dev/null @@ -1,100 +0,0 @@ -// Generated by CoffeeScript 1.8.0 -(function() { - var child_process, curlRunning, encrypt, i, local, localReady, runCurl, server, serverReady, tables, target; - - encrypt = require("./encrypt"); - - target = [[60, 53, 84, 138, 217, 94, 88, 23, 39, 242, 219, 35, 12, 157, 165, 181, 255, 143, 83, 247, 162, 16, 31, 209, 190, 171, 115, 65, 38, 41, 21, 245, 236, 46, 121, 62, 166, 233, 44, 154, 153, 145, 230, 49, 128, 216, 173, 29, 241, 119, 64, 229, 194, 103, 131, 110, 26, 197, 218, 59, 204, 56, 27, 34, 141, 221, 149, 239, 192, 195, 24, 155, 170, 183, 11, 254, 213, 37, 137, 226, 75, 203, 55, 19, 72, 248, 22, 129, 33, 175, 178, 10, 198, 71, 77, 36, 113, 167, 48, 2, 117, 140, 142, 66, 199, 232, 243, 32, 123, 54, 51, 82, 57, 177, 87, 251, 150, 196, 133, 5, 253, 130, 8, 184, 14, 152, 231, 3, 186, 159, 76, 89, 228, 205, 156, 96, 163, 146, 18, 91, 132, 85, 80, 109, 172, 176, 105, 13, 50, 235, 127, 0, 189, 95, 98, 136, 250, 200, 108, 179, 211, 214, 106, 168, 78, 79, 74, 210, 30, 73, 201, 151, 208, 114, 101, 174, 92, 52, 120, 240, 15, 169, 220, 182, 81, 224, 43, 185, 40, 99, 180, 17, 212, 158, 42, 90, 9, 191, 45, 6, 25, 4, 222, 67, 126, 1, 116, 124, 206, 69, 61, 7, 68, 97, 202, 63, 244, 20, 28, 58, 93, 134, 104, 144, 227, 147, 102, 118, 135, 148, 47, 238, 86, 112, 122, 70, 107, 215, 100, 139, 223, 225, 164, 237, 111, 125, 207, 160, 187, 246, 234, 161, 188, 193, 249, 252], [151, 205, 99, 127, 201, 119, 199, 211, 122, 196, 91, 74, 12, 147, 124, 180, 21, 191, 138, 83, 217, 30, 86, 7, 70, 200, 56, 62, 218, 47, 168, 22, 107, 88, 63, 11, 95, 77, 28, 8, 188, 29, 194, 186, 38, 198, 33, 230, 98, 43, 148, 110, 177, 1, 109, 82, 61, 112, 219, 59, 0, 210, 35, 215, 50, 27, 103, 203, 212, 209, 235, 93, 84, 169, 166, 80, 130, 94, 164, 165, 142, 184, 111, 18, 2, 141, 232, 114, 6, 131, 195, 139, 176, 220, 5, 153, 135, 213, 154, 189, 238, 174, 226, 53, 222, 146, 162, 236, 158, 143, 55, 244, 233, 96, 173, 26, 206, 100, 227, 49, 178, 34, 234, 108, 207, 245, 204, 150, 44, 87, 121, 54, 140, 118, 221, 228, 155, 78, 3, 239, 101, 64, 102, 17, 223, 41, 137, 225, 229, 66, 116, 171, 125, 40, 39, 71, 134, 13, 193, 129, 247, 251, 20, 136, 242, 14, 36, 97, 163, 181, 72, 25, 144, 46, 175, 89, 145, 113, 90, 159, 190, 15, 183, 73, 123, 187, 128, 248, 252, 152, 24, 197, 68, 253, 52, 69, 117, 57, 92, 104, 157, 170, 214, 81, 60, 133, 208, 246, 172, 23, 167, 160, 192, 76, 161, 237, 45, 4, 58, 10, 182, 65, 202, 240, 185, 241, 79, 224, 132, 51, 42, 126, 105, 37, 250, 149, 32, 243, 231, 67, 179, 48, 9, 106, 216, 31, 249, 19, 85, 254, 156, 115, 255, 120, 75, 16]]; - - tables = encrypt.getTable("foobar!"); - - console.log(JSON.stringify(tables)); - - i = 0; - - while (i < 256) { - console.assert(tables[0][i] === target[0][i]); - console.assert(tables[1][i] === target[1][i]); - i++; - } - - child_process = require('child_process'); - - local = child_process.spawn('bin/sslocal', []); - - server = child_process.spawn('bin/ssserver', []); - - curlRunning = false; - - local.on('exit', function(code) { - server.kill(); - if (!curlRunning) { - return process.exit(code); - } - }); - - server.on('exit', function(code) { - local.kill(); - if (!curlRunning) { - return process.exit(code); - } - }); - - localReady = false; - - serverReady = false; - - curlRunning = false; - - runCurl = function() { - var curl; - curlRunning = true; - curl = child_process.spawn('curl', ['-v', 'http://www.example.com/', '-L', '--socks5-hostname', '127.0.0.1:1080']); - curl.on('exit', function(code) { - local.kill(); - server.kill(); - if (code === 0) { - console.log('Test passed'); - return process.exit(0); - } else { - console.error('Test failed'); - return process.exit(code); - } - }); - curl.stdout.on('data', function(data) { - return process.stdout.write(data); - }); - return curl.stderr.on('data', function(data) { - return process.stderr.write(data); - }); - }; - - local.stderr.on('data', function(data) { - return process.stderr.write(data); - }); - - server.stderr.on('data', function(data) { - return process.stderr.write(data); - }); - - local.stdout.on('data', function(data) { - process.stdout.write(data); - if (data.toString().indexOf('listening at') >= 0) { - localReady = true; - if (localReady && serverReady && !curlRunning) { - return runCurl(); - } - } - }); - - server.stdout.on('data', function(data) { - process.stdout.write(data); - if (data.toString().indexOf('listening at') >= 0) { - serverReady = true; - if (localReady && serverReady && !curlRunning) { - return runCurl(); - } - } - }); - -}).call(this); diff --git a/node_modules/shadowsocks/lib/shadowsocks/udprelay.js b/node_modules/shadowsocks/lib/shadowsocks/udprelay.js deleted file mode 100644 index bf3c425..0000000 --- a/node_modules/shadowsocks/lib/shadowsocks/udprelay.js +++ /dev/null @@ -1,281 +0,0 @@ -// Generated by CoffeeScript 1.8.0 - -/* - Copyright (c) 2014 clowwindy - - 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. - */ - -(function() { - var LRUCache, decrypt, dgram, encrypt, encryptor, inet, net, parseHeader, utils; - - utils = require('./utils'); - - inet = require('./inet'); - - encryptor = require('./encrypt'); - - dgram = require('dgram'); - - net = require('net'); - - LRUCache = (function() { - function LRUCache(timeout, sweepInterval) { - var sweepFun, that; - this.timeout = timeout; - that = this; - sweepFun = function() { - return that.sweep(); - }; - this.interval = setInterval(sweepFun, sweepInterval); - this.dict = {}; - } - - LRUCache.prototype.setItem = function(key, value) { - var cur; - cur = process.hrtime(); - return this.dict[key] = [value, cur]; - }; - - LRUCache.prototype.getItem = function(key) { - var v; - v = this.dict[key]; - if (v) { - v[1] = process.hrtime(); - return v[0]; - } - return null; - }; - - LRUCache.prototype.delItem = function(key) { - return delete this.dict[key]; - }; - - LRUCache.prototype.destroy = function() { - return clearInterval(this.interval); - }; - - LRUCache.prototype.sweep = function() { - var dict, diff, k, keys, swept, v, v0, _i, _len; - utils.debug("sweeping"); - dict = this.dict; - keys = Object.keys(dict); - swept = 0; - for (_i = 0, _len = keys.length; _i < _len; _i++) { - k = keys[_i]; - v = dict[k]; - diff = process.hrtime(v[1]); - if (diff[0] > this.timeout * 0.001) { - swept += 1; - v0 = v[0]; - v0.close(); - delete dict[k]; - } - } - return utils.debug("" + swept + " keys swept"); - }; - - return LRUCache; - - })(); - - encrypt = function(password, method, data) { - var e; - try { - return encryptor.encryptAll(password, method, 1, data); - } catch (_error) { - e = _error; - utils.error(e); - return null; - } - }; - - decrypt = function(password, method, data) { - var e; - try { - return encryptor.encryptAll(password, method, 0, data); - } catch (_error) { - e = _error; - utils.error(e); - return null; - } - }; - - parseHeader = function(data, requestHeaderOffset) { - var addrLen, addrtype, destAddr, destPort, e, headerLength; - try { - addrtype = data[requestHeaderOffset]; - if (addrtype === 3) { - addrLen = data[requestHeaderOffset + 1]; - } else if (addrtype !== 1 && addrtype !== 4) { - utils.warn("unsupported addrtype: " + addrtype); - return null; - } - if (addrtype === 1) { - destAddr = utils.inetNtoa(data.slice(requestHeaderOffset + 1, requestHeaderOffset + 5)); - destPort = data.readUInt16BE(requestHeaderOffset + 5); - headerLength = requestHeaderOffset + 7; - } else if (addrtype === 4) { - destAddr = inet.inet_ntop(data.slice(requestHeaderOffset + 1, requestHeaderOffset + 17)); - destPort = data.readUInt16BE(requestHeaderOffset + 17); - headerLength = requestHeaderOffset + 19; - } else { - destAddr = data.slice(requestHeaderOffset + 2, requestHeaderOffset + 2 + addrLen).toString("binary"); - destPort = data.readUInt16BE(requestHeaderOffset + 2 + addrLen); - headerLength = requestHeaderOffset + 2 + addrLen + 2; - } - return [addrtype, destAddr, destPort, headerLength]; - } catch (_error) { - e = _error; - utils.error(e); - return null; - } - }; - - exports.createServer = function(listenAddr, listenPort, remoteAddr, remotePort, password, method, timeout, isLocal) { - var clientKey, clients, listenIPType, server, udpTypeToListen, udpTypesToListen, _i, _len; - udpTypesToListen = []; - if (listenAddr == null) { - udpTypesToListen = ['udp4', 'udp6']; - } else { - listenIPType = net.isIP(listenAddr); - if (listenIPType === 6) { - udpTypesToListen.push('udp6'); - } else { - udpTypesToListen.push('udp4'); - } - } - for (_i = 0, _len = udpTypesToListen.length; _i < _len; _i++) { - udpTypeToListen = udpTypesToListen[_i]; - server = dgram.createSocket(udpTypeToListen); - clients = new LRUCache(timeout, 10 * 1000); - clientKey = function(localAddr, localPort, destAddr, destPort) { - return "" + localAddr + ":" + localPort + ":" + destAddr + ":" + destPort; - }; - server.on("message", function(data, rinfo) { - var addrtype, client, clientUdpType, dataToSend, destAddr, destPort, frag, headerLength, headerResult, key, requestHeaderOffset, sendDataOffset, serverAddr, serverPort, _ref, _ref1; - requestHeaderOffset = 0; - if (isLocal) { - requestHeaderOffset = 3; - frag = data[2]; - if (frag !== 0) { - utils.debug("frag:" + frag); - utils.warn("drop a message since frag is not 0"); - return; - } - } else { - data = decrypt(password, method, data); - if (data == null) { - return; - } - } - headerResult = parseHeader(data, requestHeaderOffset); - if (headerResult === null) { - return; - } - addrtype = headerResult[0], destAddr = headerResult[1], destPort = headerResult[2], headerLength = headerResult[3]; - if (isLocal) { - sendDataOffset = requestHeaderOffset; - _ref = [remoteAddr, remotePort], serverAddr = _ref[0], serverPort = _ref[1]; - } else { - sendDataOffset = headerLength; - _ref1 = [destAddr, destPort], serverAddr = _ref1[0], serverPort = _ref1[1]; - } - key = clientKey(rinfo.address, rinfo.port, destAddr, destPort); - client = clients.getItem(key); - if (client == null) { - clientUdpType = net.isIP(serverAddr); - if (clientUdpType === 6) { - client = dgram.createSocket("udp6"); - } else { - client = dgram.createSocket("udp4"); - } - clients.setItem(key, client); - client.on("message", function(data1, rinfo1) { - var data2, responseHeader, serverIPBuf; - if (!isLocal) { - utils.debug("UDP recv from " + rinfo1.address + ":" + rinfo1.port); - serverIPBuf = utils.inetAton(rinfo1.address); - responseHeader = new Buffer(7); - responseHeader.write('\x01', 0); - serverIPBuf.copy(responseHeader, 1, 0, 4); - responseHeader.writeUInt16BE(rinfo1.port, 5); - data2 = Buffer.concat([responseHeader, data1]); - data2 = encrypt(password, method, data2); - if (data2 == null) { - return; - } - } else { - responseHeader = new Buffer("\x00\x00\x00"); - data1 = decrypt(password, method, data1); - if (data1 == null) { - return; - } - headerResult = parseHeader(data1, 0); - if (headerResult === null) { - return; - } - addrtype = headerResult[0], destAddr = headerResult[1], destPort = headerResult[2], headerLength = headerResult[3]; - utils.debug("UDP recv from " + destAddr + ":" + destPort); - data2 = Buffer.concat([responseHeader, data1]); - } - return server.send(data2, 0, data2.length, rinfo.port, rinfo.address, function(err, bytes) { - return utils.debug("remote to local sent"); - }); - }); - client.on("error", function(err) { - return utils.error("UDP client error: " + err); - }); - client.on("close", function() { - utils.debug("UDP client close"); - return clients.delItem(key); - }); - } - utils.debug("pairs: " + (Object.keys(clients.dict).length)); - dataToSend = data.slice(sendDataOffset, data.length); - if (isLocal) { - dataToSend = encrypt(password, method, dataToSend); - if (dataToSend == null) { - return; - } - } - utils.debug("UDP send to " + destAddr + ":" + destPort); - return client.send(dataToSend, 0, dataToSend.length, serverPort, serverAddr, function(err, bytes) { - return utils.debug("local to remote sent"); - }); - }); - server.on("listening", function() { - var address; - address = server.address(); - return utils.info("UDP server listening " + address.address + ":" + address.port); - }); - server.on("close", function() { - utils.info("UDP server closing"); - return clients.destroy(); - }); - if (listenAddr != null) { - server.bind(listenPort, listenAddr); - } else { - server.bind(listenPort); - } - return server; - } - }; - -}).call(this); diff --git a/node_modules/shadowsocks/lib/shadowsocks/utils.js b/node_modules/shadowsocks/lib/shadowsocks/utils.js deleted file mode 100644 index ed9a3ff..0000000 --- a/node_modules/shadowsocks/lib/shadowsocks/utils.js +++ /dev/null @@ -1,179 +0,0 @@ -// Generated by CoffeeScript 1.8.0 - -/* - Copyright (c) 2014 clowwindy - - 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. - */ - -(function() { - var pack, printLocalHelp, printServerHelp, util, _logging_level; - - util = require('util'); - - pack = require('../../package.json'); - - printLocalHelp = function() { - return console.log("usage: sslocal [-h] -s SERVER_ADDR -p SERVER_PORT [-b LOCAL_ADDR] -l LOCAL_PORT -k PASSWORD -m METHOD [-t TIMEOUT] [-c config]\n\noptional arguments:\n -h, --help show this help message and exit\n -s SERVER_ADDR server address\n -p SERVER_PORT server port\n -b LOCAL_ADDR local binding address, default is 127.0.0.1\n -l LOCAL_PORT local port\n -k PASSWORD password\n -m METHOD encryption method, for example, aes-256-cfb\n -t TIMEOUT timeout in seconds\n -c CONFIG path to config file"); - }; - - printServerHelp = function() { - return console.log("usage: ssserver [-h] -s SERVER_ADDR -p SERVER_PORT -k PASSWORD -m METHOD [-t TIMEOUT] [-c config]\n\noptional arguments:\n -h, --help show this help message and exit\n -s SERVER_ADDR server address\n -p SERVER_PORT server port\n -k PASSWORD password\n -m METHOD encryption method, for example, aes-256-cfb\n -t TIMEOUT timeout in seconds\n -c CONFIG path to config file"); - }; - - exports.parseArgs = function(isServer) { - var defination, lastKey, nextIsValue, oneArg, result, _, _ref; - if (isServer == null) { - isServer = false; - } - defination = { - '-l': 'local_port', - '-p': 'server_port', - '-s': 'server', - '-k': 'password', - '-c': 'config_file', - '-m': 'method', - '-b': 'local_address', - '-t': 'timeout' - }; - result = {}; - nextIsValue = false; - lastKey = null; - _ref = process.argv; - for (_ in _ref) { - oneArg = _ref[_]; - if (nextIsValue) { - result[lastKey] = oneArg; - nextIsValue = false; - } else if (oneArg in defination) { - lastKey = defination[oneArg]; - nextIsValue = true; - } else if ('-v' === oneArg) { - result['verbose'] = true; - } else if (oneArg.indexOf('-') === 0) { - if (isServer) { - printServerHelp(); - } else { - printLocalHelp(); - } - process.exit(2); - } - } - return result; - }; - - exports.checkConfig = function(config) { - var _ref; - if ((_ref = config.server) === '127.0.0.1' || _ref === 'localhost') { - exports.warn("Server is set to " + config.server + ", maybe it's not correct"); - exports.warn("Notice server will listen at " + config.server + ":" + config.server_port); - } - if ((config.method || '').toLowerCase() === 'rc4') { - return exports.warn('RC4 is not safe; please use a safer cipher, like AES-256-CFB'); - } - }; - - exports.version = "" + pack.name + " v" + pack.version; - - exports.EVERYTHING = 0; - - exports.DEBUG = 1; - - exports.INFO = 2; - - exports.WARN = 3; - - exports.ERROR = 4; - - _logging_level = exports.INFO; - - exports.config = function(level) { - return _logging_level = level; - }; - - exports.log = function(level, msg) { - if (level >= _logging_level) { - if (level >= exports.DEBUG) { - return util.log(new Date().getMilliseconds() + 'ms ' + msg); - } else { - return util.log(msg); - } - } - }; - - exports.debug = function(msg) { - return exports.log(exports.DEBUG, msg); - }; - - exports.info = function(msg) { - return exports.log(exports.INFO, msg); - }; - - exports.warn = function(msg) { - return exports.log(exports.WARN, msg); - }; - - exports.error = function(msg) { - return exports.log(exports.ERROR, (msg != null ? msg.stack : void 0) || msg); - }; - - exports.inetNtoa = function(buf) { - return buf[0] + "." + buf[1] + "." + buf[2] + "." + buf[3]; - }; - - exports.inetAton = function(ipStr) { - var buf, i, parts; - parts = ipStr.split("."); - if (parts.length !== 4) { - return null; - } else { - buf = new Buffer(4); - i = 0; - while (i < 4) { - buf[i] = +parts[i]; - i++; - } - return buf; - } - }; - - setInterval(function() { - var cwd, e, heapdump; - if (_logging_level <= exports.DEBUG) { - exports.debug(JSON.stringify(process.memoryUsage(), ' ', 2)); - if (global.gc) { - exports.debug('GC'); - gc(); - exports.debug(JSON.stringify(process.memoryUsage(), ' ', 2)); - cwd = process.cwd(); - if (_logging_level === exports.DEBUG) { - try { - heapdump = require('heapdump'); - process.chdir('/tmp'); - return process.chdir(cwd); - } catch (_error) { - e = _error; - return exports.debug(e); - } - } - } - } - }, 1000); - -}).call(this); diff --git a/node_modules/shadowsocks/package.json b/node_modules/shadowsocks/package.json deleted file mode 100644 index 99a760b..0000000 --- a/node_modules/shadowsocks/package.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "shadowsocks", - "scope": null, - "escapedName": "shadowsocks", - "name": "shadowsocks", - "rawSpec": "", - "spec": "latest", - "type": "tag" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket" - ] - ], - "_from": "shadowsocks@latest", - "_id": "shadowsocks@1.5.3", - "_inCache": true, - "_installable": true, - "_location": "/shadowsocks", - "_npmUser": { - "name": "clowwindy", - "email": "clowwindy42@gmail.com" - }, - "_npmVersion": "2.0.0", - "_phantomChildren": {}, - "_requested": { - "raw": "shadowsocks", - "scope": null, - "escapedName": "shadowsocks", - "name": "shadowsocks", - "rawSpec": "", - "spec": "latest", - "type": "tag" - }, - "_requiredBy": [ - "#USER", - "/" - ], - "_resolved": "http://registry.npmjs.org/shadowsocks/-/shadowsocks-1.5.3.tgz", - "_shasum": "9a45614ad4395486c1d4a31443c5c65ad379a1ef", - "_shrinkwrap": null, - "_spec": "shadowsocks", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket", - "author": { - "name": "clowwindy" - }, - "bin": { - "sslocal": "./bin/sslocal", - "ssserver": "./bin/ssserver" - }, - "bugs": { - "url": "https://github.com/clowwindy/shadowsocks-nodejs/issues" - }, - "dependencies": {}, - "description": "a tunnel proxy that help you get through firewalls", - "devDependencies": { - "coffee-script": ">=1.6.2" - }, - "directories": { - "lib": "./lib/shadowsocks" - }, - "dist": { - "shasum": "9a45614ad4395486c1d4a31443c5c65ad379a1ef", - "tarball": "https://registry.npmjs.org/shadowsocks/-/shadowsocks-1.5.3.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "gitHead": "b76a0a027e05fc8398dd8ff98856d54c3036c225", - "homepage": "https://github.com/clowwindy/shadowsocks-nodejs", - "keywords": [ - "shadowsocks", - "proxy", - "socks5" - ], - "licenses": [ - { - "type": "MIT", - "url": "https://raw.github.com/clowwindy/shadowsocks-nodejs/master/LICENSE" - } - ], - "main": "./lib/shadowsocks/local", - "maintainers": [ - { - "name": "clowwindy", - "email": "clowwindy42@gmail.com" - } - ], - "name": "shadowsocks", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/clowwindy/shadowsocks-nodejs.git" - }, - "scripts": { - "test": "cake test" - }, - "version": "1.5.3" -} diff --git a/node_modules/shadowsocks/src/encrypt.coffee b/node_modules/shadowsocks/src/encrypt.coffee deleted file mode 100644 index 985937b..0000000 --- a/node_modules/shadowsocks/src/encrypt.coffee +++ /dev/null @@ -1,217 +0,0 @@ -### - Copyright (c) 2014 clowwindy - - 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. -### - -crypto = require("crypto") -util = require("util") -merge_sort = require("./merge_sort").merge_sort -int32Max = Math.pow(2, 32) - -cachedTables = {} # password: [encryptTable, decryptTable] - -getTable = (key) -> - if cachedTables[key] - return cachedTables[key] - util.log "calculating ciphers" - table = new Array(256) - decrypt_table = new Array(256) - md5sum = crypto.createHash("md5") - md5sum.update key - hash = new Buffer(md5sum.digest(), "binary") - al = hash.readUInt32LE(0) - ah = hash.readUInt32LE(4) - i = 0 - - while i < 256 - table[i] = i - i++ - i = 1 - - while i < 1024 - table = merge_sort(table, (x, y) -> - ((ah % (x + i)) * int32Max + al) % (x + i) - ((ah % (y + i)) * int32Max + al) % (y + i) - ) - i++ - i = 0 - while i < 256 - decrypt_table[table[i]] = i - ++i - result = [table, decrypt_table] - cachedTables[key] = result - result - -substitute = (table, buf) -> - i = 0 - - while i < buf.length - buf[i] = table[buf[i]] - i++ - buf - -bytes_to_key_results = {} - -EVP_BytesToKey = (password, key_len, iv_len) -> - if bytes_to_key_results["#{password}:#{key_len}:#{iv_len}"] - return bytes_to_key_results["#{password}:#{key_len}:#{iv_len}"] - m = [] - i = 0 - count = 0 - while count < key_len + iv_len - md5 = crypto.createHash('md5') - data = password - if i > 0 - data = Buffer.concat([m[i - 1], password]) - md5.update(data) - d = md5.digest() - m.push(d) - count += d.length - i += 1 - ms = Buffer.concat(m) - key = ms.slice(0, key_len) - iv = ms.slice(key_len, key_len + iv_len) - bytes_to_key_results[password] = [key, iv] - return [key, iv] - - -method_supported = - 'aes-128-cfb': [16, 16] - 'aes-192-cfb': [24, 16] - 'aes-256-cfb': [32, 16] - 'bf-cfb': [16, 8] - 'camellia-128-cfb': [16, 16] - 'camellia-192-cfb': [24, 16] - 'camellia-256-cfb': [32, 16] - 'cast5-cfb': [16, 8] - 'des-cfb': [8, 8] - 'idea-cfb': [16, 8] - 'rc2-cfb': [16, 8] - 'rc4': [16, 0] - 'rc4-md5': [16, 16] - 'seed-cfb': [16, 16] - - -create_rc4_md5_cipher = (key, iv, op) -> - md5 = crypto.createHash('md5') - md5.update(key) - md5.update(iv) - rc4_key = md5.digest() - if op == 1 - return crypto.createCipheriv('rc4', rc4_key, '') - else - return crypto.createDecipheriv('rc4', rc4_key, '') - - -class Encryptor - constructor: (@key, @method) -> - @iv_sent = false - if @method == 'table' - @method = null - if @method? - @cipher = @get_cipher(@key, @method, 1, crypto.randomBytes(32)) - else - [@encryptTable, @decryptTable] = getTable(@key) - - get_cipher_len: (method) -> - method = method.toLowerCase() - m = method_supported[method] - return m - - get_cipher: (password, method, op, iv) -> - method = method.toLowerCase() - password = new Buffer(password, 'binary') - m = @get_cipher_len(method) - if m? - [key, iv_] = EVP_BytesToKey(password, m[0], m[1]) - if not iv? - iv = iv_ - if op == 1 - @cipher_iv = iv.slice(0, m[1]) - iv = iv.slice(0, m[1]) - if method == 'rc4-md5' - return create_rc4_md5_cipher(key, iv, op) - else - if op == 1 - return crypto.createCipheriv(method, key, iv) - else - return crypto.createDecipheriv(method, key, iv) - - encrypt: (buf) -> - if @method? - result = @cipher.update buf - if @iv_sent - return result - else - @iv_sent = true - return Buffer.concat([@cipher_iv, result]) - else - substitute @encryptTable, buf - - decrypt: (buf) -> - if @method? - if not @decipher? - decipher_iv_len = @get_cipher_len(@method)[1] - decipher_iv = buf.slice(0, decipher_iv_len) - @decipher = @get_cipher(@key, @method, 0, decipher_iv) - result = @decipher.update(buf.slice(decipher_iv_len)) - return result - else - result = @decipher.update(buf) - return result - else - substitute @decryptTable, buf - -encryptAll = (password, method, op, data) -> - if method == 'table' - method = null - if not method? - [encryptTable, decryptTable] = getTable(password) - if op is 0 - return substitute(decryptTable, data) - else - return substitute(encryptTable, data) - else - result = [] - method = method.toLowerCase() - [keyLen, ivLen] = method_supported[method] - password = Buffer(password, 'binary') - [key, iv_] = EVP_BytesToKey(password, keyLen, ivLen) - if op == 1 - iv = crypto.randomBytes ivLen - result.push iv - else - iv = data.slice 0, ivLen - data = data.slice ivLen - if method == 'rc4-md5' - cipher = create_rc4_md5_cipher(key, iv, op) - else - if op == 1 - cipher = crypto.createCipheriv(method, key, iv) - else - cipher = crypto.createDecipheriv(method, key, iv) - result.push cipher.update(data) - result.push cipher.final() - return Buffer.concat result - - -exports.Encryptor = Encryptor -exports.getTable = getTable -exports.encryptAll = encryptAll - diff --git a/node_modules/shadowsocks/src/local.coffee b/node_modules/shadowsocks/src/local.coffee deleted file mode 100644 index 4674ed8..0000000 --- a/node_modules/shadowsocks/src/local.coffee +++ /dev/null @@ -1,311 +0,0 @@ -### - Copyright (c) 2014 clowwindy - - 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. -### - - -net = require("net") -fs = require("fs") -path = require("path") -udpRelay = require("./udprelay") -utils = require('./utils') -inet = require('./inet') -Encryptor = require("./encrypt").Encryptor -connections = 0 - -createServer = (serverAddr, serverPort, port, key, method, timeout, local_address='127.0.0.1') -> - - udpServer = udpRelay.createServer(local_address, port, serverAddr, serverPort, key, method, timeout, true) - - getServer = -> - aPort = serverPort - aServer = serverAddr - if serverPort instanceof Array - # support config like "server_port": [8081, 8082] - aPort = serverPort[Math.floor(Math.random() * serverPort .length)] - if serverAddr instanceof Array - # support config like "server": ["123.123.123.1", "123.123.123.2"] - aServer = serverAddr[Math.floor(Math.random() * serverAddr .length)] - r = /^([^:]*)\:(\d+)$/.exec(aServer) - # support config like "server": "123.123.123.1:8381" - # or "server": ["123.123.123.1:8381", "123.123.123.2:8381", "123.123.123.2:8382"] - if r? - aServer = r[1] - aPort = +r[2] - return [aServer, aPort] - - server = net.createServer((connection) -> - connections += 1 - connected = true - encryptor = new Encryptor(key, method) - stage = 0 - headerLength = 0 - remote = null - addrLen = 0 - remoteAddr = null - remotePort = null - addrToSend = "" - utils.debug "connections: #{connections}" - clean = -> - utils.debug "clean" - connections -= 1 - remote = null - connection = null - encryptor = null - utils.debug "connections: #{connections}" - - connection.on "data", (data) -> - utils.log utils.EVERYTHING, "connection on data" - if stage is 5 - # pipe sockets - data = encryptor.encrypt data - connection.pause() unless remote.write(data) - return - if stage is 0 - tempBuf = new Buffer(2) - tempBuf.write "\u0005\u0000", 0 - connection.write tempBuf - stage = 1 - utils.debug "stage = 1" - return - if stage is 1 - try - # +----+-----+-------+------+----------+----------+ - # |VER | CMD | RSV | ATYP | DST.ADDR | DST.PORT | - # +----+-----+-------+------+----------+----------+ - # | 1 | 1 | X'00' | 1 | Variable | 2 | - # +----+-----+-------+------+----------+----------+ - - #cmd and addrtype - cmd = data[1] - addrtype = data[3] - if cmd is 1 - # TCP - else if cmd is 3 - # UDP - utils.info "UDP assc request from #{connection.localAddress}:#{connection.localPort}" - reply = new Buffer(10) - reply.write "\u0005\u0000\u0000\u0001", 0, 4, "binary" - utils.debug connection.localAddress - utils.inetAton(connection.localAddress).copy reply, 4 - reply.writeUInt16BE connection.localPort, 8 - connection.write reply - stage = 10 - else - utils.error "unsupported cmd: " + cmd - reply = new Buffer("\u0005\u0007\u0000\u0001", "binary") - connection.end reply - return - if addrtype is 3 - addrLen = data[4] - else unless addrtype in [1, 4] - utils.error "unsupported addrtype: " + addrtype - connection.destroy() - return - addrToSend = data.slice(3, 4).toString("binary") - # read address and port - if addrtype is 1 - remoteAddr = utils.inetNtoa(data.slice(4, 8)) - addrToSend += data.slice(4, 10).toString("binary") - remotePort = data.readUInt16BE(8) - headerLength = 10 - else if addrtype is 4 - remoteAddr = inet.inet_ntop(data.slice(4, 20)) - addrToSend += data.slice(4, 22).toString("binary") - remotePort = data.readUInt16BE(20) - headerLength = 22 - else - remoteAddr = data.slice(5, 5 + addrLen).toString("binary") - addrToSend += data.slice(4, 5 + addrLen + 2).toString("binary") - remotePort = data.readUInt16BE(5 + addrLen) - headerLength = 5 + addrLen + 2 - if cmd is 3 - utils.info "UDP assc: #{remoteAddr}:#{remotePort}" - return - buf = new Buffer(10) - buf.write "\u0005\u0000\u0000\u0001", 0, 4, "binary" - buf.write "\u0000\u0000\u0000\u0000", 4, 4, "binary" - # 2222 can be any number between 1 and 65535 - buf.writeInt16BE 2222, 8 - connection.write buf - # connect remote server - [aServer, aPort] = getServer() - utils.info "connecting #{aServer}:#{aPort}" - remote = net.connect(aPort, aServer, -> - remote.setNoDelay true if remote - stage = 5 - utils.debug "stage = 5" - ) - remote.on "data", (data) -> - return if !connected # returns when connection disconnected - utils.log utils.EVERYTHING, "remote on data" - try - if encryptor - data = encryptor.decrypt data - remote.pause() unless connection.write(data) - else - remote.destroy() - catch e - utils.error e - remote.destroy() if remote - connection.destroy() if connection - - remote.on "end", -> - utils.debug "remote on end" - connection.end() if connection - - remote.on "error", (e)-> - utils.debug "remote on error" - utils.error "remote #{remoteAddr}:#{remotePort} error: #{e}" - - remote.on "close", (had_error)-> - utils.debug "remote on close:#{had_error}" - if had_error - connection.destroy() if connection - else - connection.end() if connection - - remote.on "drain", -> - utils.debug "remote on drain" - connection.resume() if connection - - remote.setTimeout timeout, -> - utils.debug "remote on timeout" - remote.destroy() if remote - connection.destroy() if connection - - addrToSendBuf = new Buffer(addrToSend, "binary") - addrToSendBuf = encryptor.encrypt addrToSendBuf - remote.setNoDelay false - remote.write addrToSendBuf - - if data.length > headerLength - buf = new Buffer(data.length - headerLength) - data.copy buf, 0, headerLength - piece = encryptor.encrypt buf - remote.write piece - stage = 4 - utils.debug "stage = 4" - catch e - # may encounter index out of range - utils.error e - connection.destroy() if connection - remote.destroy() if remote - clean() - else if stage is 4 - if not remote? - connection.destroy() if connection - return - data = encryptor.encrypt data - remote.setNoDelay true - connection.pause() unless remote.write(data) - - connection.on "end", -> - connected = false - utils.debug "connection on end" - remote.end() if remote - - connection.on "error", (e)-> - utils.debug "connection on error" - utils.error "local error: #{e}" - - connection.on "close", (had_error)-> - connected = false - utils.debug "connection on close:#{had_error}" - if had_error - remote.destroy() if remote - else - remote.end() if remote - clean() - - connection.on "drain", -> - # calling resume() when remote not is connected will crash node.js - utils.debug "connection on drain" - remote.resume() if remote and stage is 5 - - connection.setTimeout timeout, -> - utils.debug "connection on timeout" - remote.destroy() if remote - connection.destroy() if connection - ) - if local_address? - server.listen port, local_address, -> - utils.info "local listening at #{server.address().address}:#{port}" - else - server.listen port, -> - utils.info "local listening at 0.0.0.0:" + port - - server.on "error", (e) -> - if e.code is "EADDRINUSE" - utils.error "Address in use, aborting" - else - utils.error e - - server.on "close", -> - udpServer.close() - - return server - -exports.createServer = createServer -exports.main = -> - console.log(utils.version) - configFromArgs = utils.parseArgs() - configPath = 'config.json' - if configFromArgs.config_file - configPath = configFromArgs.config_file - if not fs.existsSync(configPath) - configPath = path.resolve(__dirname, "config.json") - if not fs.existsSync(configPath) - configPath = path.resolve(__dirname, "../../config.json") - if not fs.existsSync(configPath) - configPath = null - if configPath - utils.info 'loading config from ' + configPath - configContent = fs.readFileSync(configPath) - try - config = JSON.parse(configContent) - catch e - utils.error('found an error in config.json: ' + e.message) - process.exit 1 - else - config = {} - for k, v of configFromArgs - config[k] = v - if config.verbose - utils.config(utils.DEBUG) - - utils.checkConfig config - - SERVER = config.server - REMOTE_PORT = config.server_port - PORT = config.local_port - KEY = config.password - METHOD = config.method - local_address = config.local_address - if not (SERVER and REMOTE_PORT and PORT and KEY) - utils.warn 'config.json not found, you have to specify all config in commandline' - process.exit 1 - timeout = Math.floor(config.timeout * 1000) or 600000 - s = createServer SERVER, REMOTE_PORT, PORT, KEY, METHOD, timeout, local_address - s.on "error", (e) -> - process.stdout.on 'drain', -> - process.exit 1 -if require.main is module - exports.main() diff --git a/node_modules/shadowsocks/src/merge_sort.coffee b/node_modules/shadowsocks/src/merge_sort.coffee deleted file mode 100644 index 997ef7b..0000000 --- a/node_modules/shadowsocks/src/merge_sort.coffee +++ /dev/null @@ -1,37 +0,0 @@ -### - Copyright (c) 2014 clowwindy - - 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. -### - -merge = (left, right, comparison) -> - result = new Array() - while (left.length > 0) and (right.length > 0) - if comparison(left[0], right[0]) <= 0 - result.push left.shift() - else - result.push right.shift() - result.push left.shift() while left.length > 0 - result.push right.shift() while right.length > 0 - result -merge_sort = (array, comparison) -> - return array if array.length < 2 - middle = Math.ceil(array.length / 2) - merge merge_sort(array.slice(0, middle), comparison), merge_sort(array.slice(middle), comparison), comparison -exports.merge_sort = merge_sort diff --git a/node_modules/shadowsocks/src/server.coffee b/node_modules/shadowsocks/src/server.coffee deleted file mode 100644 index da414b1..0000000 --- a/node_modules/shadowsocks/src/server.coffee +++ /dev/null @@ -1,271 +0,0 @@ -### - Copyright (c) 2014 clowwindy - - 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. -### - - -net = require("net") -fs = require("fs") -path = require("path") -udpRelay = require("./udprelay") -utils = require("./utils") -inet = require("./inet") -Encryptor = require("./encrypt").Encryptor - -exports.main = -> - - console.log(utils.version) - configFromArgs = utils.parseArgs(true) - configPath = 'config.json' - if configFromArgs.config_file - configPath = configFromArgs.config_file - if not fs.existsSync(configPath) - configPath = path.resolve(__dirname, "config.json") - if not fs.existsSync(configPath) - configPath = path.resolve(__dirname, "../../config.json") - if not fs.existsSync(configPath) - configPath = null - if configPath - utils.info 'loading config from ' + configPath - configContent = fs.readFileSync(configPath) - try - config = JSON.parse(configContent) - catch e - utils.error('found an error in config.json: ' + e.message) - process.exit 1 - else - config = {} - for k, v of configFromArgs - config[k] = v - if config.verbose - utils.config(utils.DEBUG) - - utils.checkConfig config - - timeout = Math.floor(config.timeout * 1000) or 300000 - portPassword = config.port_password - port = config.server_port - key = config.password - METHOD = config.method - SERVER = config.server - - if not (SERVER and (port or portPassword) and key) - utils.warn 'config.json not found, you have to specify all config in commandline' - process.exit 1 - - connections = 0 - - if portPassword - if port or key - utils.warn 'warning: port_password should not be used with server_port and password. server_port and password will be ignored' - else - portPassword = {} - portPassword[port.toString()] = key - - - for port, key of portPassword - servers = SERVER - unless servers instanceof Array - servers = [servers] - for a_server_ip in servers - (-> - # let's use enclosures to seperate scopes of different servers - PORT = port - KEY = key - server_ip = a_server_ip - utils.info "calculating ciphers for port #{PORT}" - server = net.createServer((connection) -> - connections += 1 - encryptor = new Encryptor(KEY, METHOD) - stage = 0 - headerLength = 0 - remote = null - cachedPieces = [] - addrLen = 0 - remoteAddr = null - remotePort = null - utils.debug "connections: #{connections}" - - clean = -> - utils.debug "clean" - connections -= 1 - remote = null - connection = null - encryptor = null - utils.debug "connections: #{connections}" - - connection.on "data", (data) -> - utils.log utils.EVERYTHING, "connection on data" - try - data = encryptor.decrypt data - catch e - utils.error e - remote.destroy() if remote - connection.destroy() if connection - return - if stage is 5 - connection.pause() unless remote.write(data) - return - if stage is 0 - try - addrtype = data[0] - if addrtype is undefined - return - if addrtype is 3 - addrLen = data[1] - else unless addrtype in [1, 4] - utils.error "unsupported addrtype: " + addrtype + " maybe wrong password" - connection.destroy() - return - # read address and port - if addrtype is 1 - remoteAddr = utils.inetNtoa(data.slice(1, 5)) - remotePort = data.readUInt16BE(5) - headerLength = 7 - else if addrtype is 4 - remoteAddr = inet.inet_ntop(data.slice(1, 17)) - remotePort = data.readUInt16BE(17) - headerLength = 19 - else - remoteAddr = data.slice(2, 2 + addrLen).toString("binary") - remotePort = data.readUInt16BE(2 + addrLen) - headerLength = 2 + addrLen + 2 - - # avoid reading from cache before getting connected - connection.pause() - - # connect remote server - remote = net.connect(remotePort, remoteAddr, -> - utils.info "connecting #{remoteAddr}:#{remotePort}" - if not encryptor or not remote or not connection - remote.destroy() if remote - return - i = 0 - - # now we get connected, resume data flow - connection.resume() - - while i < cachedPieces.length - piece = cachedPieces[i] - remote.write piece - i++ - cachedPieces = null # save memory - - # use a small timeout for connect() - remote.setTimeout timeout, -> - utils.debug "remote on timeout during connect()" - remote.destroy() if remote - connection.destroy() if connection - - stage = 5 - utils.debug "stage = 5" - ) - remote.on "data", (data) -> - utils.log utils.EVERYTHING, "remote on data" - if not encryptor - remote.destroy() if remote - return - data = encryptor.encrypt data - remote.pause() unless connection.write(data) - - remote.on "end", -> - utils.debug "remote on end" - connection.end() if connection - - remote.on "error", (e)-> - utils.debug "remote on error" - utils.error "remote #{remoteAddr}:#{remotePort} error: #{e}" - - remote.on "close", (had_error)-> - utils.debug "remote on close:#{had_error}" - if had_error - connection.destroy() if connection - else - connection.end() if connection - - remote.on "drain", -> - utils.debug "remote on drain" - connection.resume() if connection - - # use a small timeout for connect() - remote.setTimeout 15 * 1000, -> - utils.debug "remote on timeout during connect()" - remote.destroy() if remote - connection.destroy() if connection - - if data.length > headerLength - # make sure no data is lost - buf = new Buffer(data.length - headerLength) - data.copy buf, 0, headerLength - cachedPieces.push buf - buf = null - stage = 4 - utils.debug "stage = 4" - catch e - # may encouter index out of range - utils.error e - connection.destroy() - remote.destroy() if remote - else cachedPieces.push data if stage is 4 - # remote server not connected - # cache received buffers - # make sure no data is lost - - connection.on "end", -> - utils.debug "connection on end" - remote.end() if remote - - connection.on "error", (e)-> - utils.debug "connection on error" - utils.error "local error: #{e}" - - connection.on "close", (had_error)-> - utils.debug "connection on close:#{had_error}" - if had_error - remote.destroy() if remote - else - remote.end() if remote - clean() - - connection.on "drain", -> - utils.debug "connection on drain" - remote.resume() if remote - - connection.setTimeout timeout, -> - utils.debug "connection on timeout" - remote.destroy() if remote - connection.destroy() if connection - ) - - server.listen PORT, server_ip, -> - utils.info "server listening at #{server_ip}:#{PORT} " - udpRelay.createServer(server_ip, PORT, null, null, key, METHOD, timeout, false) - - server.on "error", (e) -> - if e.code is "EADDRINUSE" - utils.error "Address in use, aborting" - else - utils.error e - process.stdout.on 'drain', -> - process.exit 1 - )() - -if require.main is module - exports.main() diff --git a/node_modules/shadowsocks/src/test.coffee b/node_modules/shadowsocks/src/test.coffee deleted file mode 100644 index 055841b..0000000 --- a/node_modules/shadowsocks/src/test.coffee +++ /dev/null @@ -1,76 +0,0 @@ -# test encryption -encrypt = require("./encrypt") -target = [ - [ 60, 53, 84, 138, 217, 94, 88, 23, 39, 242, 219, 35, 12, 157, 165, 181, 255, 143, 83, 247, 162, 16, 31, 209, 190, 171, 115, 65, 38, 41, 21, 245, 236, 46, 121, 62, 166, 233, 44, 154, 153, 145, 230, 49, 128, 216, 173, 29, 241, 119, 64, 229, 194, 103, 131, 110, 26, 197, 218, 59, 204, 56, 27, 34, 141, 221, 149, 239, 192, 195, 24, 155, 170, 183, 11, 254, 213, 37, 137, 226, 75, 203, 55, 19, 72, 248, 22, 129, 33, 175, 178, 10, 198, 71, 77, 36, 113, 167, 48, 2, 117, 140, 142, 66, 199, 232, 243, 32, 123, 54, 51, 82, 57, 177, 87, 251, 150, 196, 133, 5, 253, 130, 8, 184, 14, 152, 231, 3, 186, 159, 76, 89, 228, 205, 156, 96, 163, 146, 18, 91, 132, 85, 80, 109, 172, 176, 105, 13, 50, 235, 127, 0, 189, 95, 98, 136, 250, 200, 108, 179, 211, 214, 106, 168, 78, 79, 74, 210, 30, 73, 201, 151, 208, 114, 101, 174, 92, 52, 120, 240, 15, 169, 220, 182, 81, 224, 43, 185, 40, 99, 180, 17, 212, 158, 42, 90, 9, 191, 45, 6, 25, 4, 222, 67, 126, 1, 116, 124, 206, 69, 61, 7, 68, 97, 202, 63, 244, 20, 28, 58, 93, 134, 104, 144, 227, 147, 102, 118, 135, 148, 47, 238, 86, 112, 122, 70, 107, 215, 100, 139, 223, 225, 164, 237, 111, 125, 207, 160, 187, 246, 234, 161, 188, 193, 249, 252 ], - [ 151, 205, 99, 127, 201, 119, 199, 211, 122, 196, 91, 74, 12, 147, 124, 180, 21, 191, 138, 83, 217, 30, 86, 7, 70, 200, 56, 62, 218, 47, 168, 22, 107, 88, 63, 11, 95, 77, 28, 8, 188, 29, 194, 186, 38, 198, 33, 230, 98, 43, 148, 110, 177, 1, 109, 82, 61, 112, 219, 59, 0, 210, 35, 215, 50, 27, 103, 203, 212, 209, 235, 93, 84, 169, 166, 80, 130, 94, 164, 165, 142, 184, 111, 18, 2, 141, 232, 114, 6, 131, 195, 139, 176, 220, 5, 153, 135, 213, 154, 189, 238, 174, 226, 53, 222, 146, 162, 236, 158, 143, 55, 244, 233, 96, 173, 26, 206, 100, 227, 49, 178, 34, 234, 108, 207, 245, 204, 150, 44, 87, 121, 54, 140, 118, 221, 228, 155, 78, 3, 239, 101, 64, 102, 17, 223, 41, 137, 225, 229, 66, 116, 171, 125, 40, 39, 71, 134, 13, 193, 129, 247, 251, 20, 136, 242, 14, 36, 97, 163, 181, 72, 25, 144, 46, 175, 89, 145, 113, 90, 159, 190, 15, 183, 73, 123, 187, 128, 248, 252, 152, 24, 197, 68, 253, 52, 69, 117, 57, 92, 104, 157, 170, 214, 81, 60, 133, 208, 246, 172, 23, 167, 160, 192, 76, 161, 237, 45, 4, 58, 10, 182, 65, 202, 240, 185, 241, 79, 224, 132, 51, 42, 126, 105, 37, 250, 149, 32, 243, 231, 67, 179, 48, 9, 106, 216, 31, 249, 19, 85, 254, 156, 115, 255, 120, 75, 16 ] -] -tables = encrypt.getTable("foobar!") -console.log JSON.stringify(tables) -i = 0 - -while i < 256 - console.assert tables[0][i] is target[0][i] - console.assert tables[1][i] is target[1][i] - i++ - -# test proxy - -child_process = require('child_process') -local = child_process.spawn('bin/sslocal', []) -server = child_process.spawn('bin/ssserver', []) - -curlRunning = false - -local.on 'exit', (code)-> - server.kill() - if !curlRunning - process.exit code - -server.on 'exit', (code)-> - local.kill() - if !curlRunning - process.exit code - -localReady = false -serverReady = false -curlRunning = false - -runCurl = -> - curlRunning = true - curl = child_process.spawn 'curl', ['-v', 'http://www.example.com/', '-L', '--socks5-hostname', '127.0.0.1:1080'] - curl.on 'exit', (code)-> - local.kill() - server.kill() - if code is 0 - console.log 'Test passed' - process.exit 0 - else - console.error 'Test failed' - process.exit code - - curl.stdout.on 'data', (data) -> - process.stdout.write(data) - - curl.stderr.on 'data', (data) -> - process.stderr.write(data) - -local.stderr.on 'data', (data) -> - process.stderr.write(data) - -server.stderr.on 'data', (data) -> - process.stderr.write(data) - -local.stdout.on 'data', (data) -> - process.stdout.write(data) - if data.toString().indexOf('listening at') >= 0 - localReady = true - if localReady and serverReady and not curlRunning - runCurl() - -server.stdout.on 'data', (data) -> - process.stdout.write(data) - if data.toString().indexOf('listening at') >= 0 - serverReady = true - if localReady and serverReady and not curlRunning - runCurl() - diff --git a/node_modules/shadowsocks/src/udprelay.coffee b/node_modules/shadowsocks/src/udprelay.coffee deleted file mode 100644 index e4126ec..0000000 --- a/node_modules/shadowsocks/src/udprelay.coffee +++ /dev/null @@ -1,286 +0,0 @@ -### - Copyright (c) 2014 clowwindy - - 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. -### - - -utils = require('./utils') -inet = require('./inet') -encryptor = require('./encrypt') - -dgram = require 'dgram' -net = require 'net' - -class LRUCache - constructor: (@timeout, sweepInterval) -> - that = this - sweepFun = -> - that.sweep() - - @interval = setInterval(sweepFun, sweepInterval) - @dict = {} - - setItem: (key, value) -> - cur = process.hrtime() - @dict[key] = [value, cur] - - getItem: (key) -> - v = @dict[key] - if v - v[1] = process.hrtime() - return v[0] - return null - - delItem: (key) -> - delete @dict[key] - - destroy: -> - clearInterval @interval - - sweep: -> - utils.debug "sweeping" - dict = @dict - keys = Object.keys(dict) - swept = 0 - for k in keys - v = dict[k] - diff = process.hrtime(v[1]) - if diff[0] > @timeout * 0.001 - swept += 1 - v0 = v[0] - v0.close() - delete dict[k] - utils.debug "#{swept} keys swept" - -# SOCKS5 UDP Request -# +----+------+------+----------+----------+----------+ -# |RSV | FRAG | ATYP | DST.ADDR | DST.PORT | DATA | -# +----+------+------+----------+----------+----------+ -# | 2 | 1 | 1 | Variable | 2 | Variable | -# +----+------+------+----------+----------+----------+ - -# SOCKS5 UDP Response -# +----+------+------+----------+----------+----------+ -# |RSV | FRAG | ATYP | DST.ADDR | DST.PORT | DATA | -# +----+------+------+----------+----------+----------+ -# | 2 | 1 | 1 | Variable | 2 | Variable | -# +----+------+------+----------+----------+----------+ - -# shadowsocks UDP Request (before encrypted) -# +------+----------+----------+----------+ -# | ATYP | DST.ADDR | DST.PORT | DATA | -# +------+----------+----------+----------+ -# | 1 | Variable | 2 | Variable | -# +------+----------+----------+----------+ - -# shadowsocks UDP Response (before encrypted) -# +------+----------+----------+----------+ -# | ATYP | DST.ADDR | DST.PORT | DATA | -# +------+----------+----------+----------+ -# | 1 | Variable | 2 | Variable | -# +------+----------+----------+----------+ - -# shadowsocks UDP Request and Response (after encrypted) -# +-------+--------------+ -# | IV | PAYLOAD | -# +-------+--------------+ -# | Fixed | Variable | -# +-------+--------------+ - -# HOW TO NAME THINGS -# ------------------ -# `dest` means destination server, which is from DST fields in the SOCKS5 request -# `local` means local server of shadowsocks -# `remote` means remote server of shadowsocks -# `client` means UDP client, which is used for connecting, or the client that connects our server -# `server` means UDP server, which is used for listening, or the server for our client to connect - -encrypt = (password, method, data) -> - try - return encryptor.encryptAll(password, method, 1, data) - catch e - utils.error e - return null - -decrypt = (password, method, data) -> - try - return encryptor.encryptAll(password, method, 0, data) - catch e - utils.error e - return null - -parseHeader = (data, requestHeaderOffset) -> - try - addrtype = data[requestHeaderOffset] - if addrtype is 3 - addrLen = data[requestHeaderOffset + 1] - else unless addrtype in [1, 4] - utils.warn "unsupported addrtype: " + addrtype - return null - if addrtype is 1 - destAddr = utils.inetNtoa(data.slice(requestHeaderOffset + 1, requestHeaderOffset + 5)) - destPort = data.readUInt16BE(requestHeaderOffset + 5) - headerLength = requestHeaderOffset + 7 - else if addrtype is 4 - destAddr = inet.inet_ntop(data.slice(requestHeaderOffset + 1, requestHeaderOffset + 17)) - destPort = data.readUInt16BE(requestHeaderOffset + 17) - headerLength = requestHeaderOffset + 19 - else - destAddr = data.slice(requestHeaderOffset + 2, requestHeaderOffset + 2 + addrLen).toString("binary") - destPort = data.readUInt16BE(requestHeaderOffset + 2 + addrLen) - headerLength = requestHeaderOffset + 2 + addrLen + 2 - return [addrtype, destAddr, destPort, headerLength] - catch e - utils.error e - return null - - -exports.createServer = (listenAddr, listenPort, remoteAddr, remotePort, - password, method, timeout, isLocal) -> - # if listen to ANY, listen to both IPv4 and IPv6 - # or listen to IP family of IP address - udpTypesToListen = [] - if not listenAddr? - udpTypesToListen = ['udp4', 'udp6'] - else - listenIPType = net.isIP(listenAddr) - if listenIPType == 6 - udpTypesToListen.push 'udp6' - else - udpTypesToListen.push 'udp4' - for udpTypeToListen in udpTypesToListen - server = dgram.createSocket(udpTypeToListen) - clients = new LRUCache(timeout, 10 * 1000) - - clientKey = (localAddr, localPort, destAddr, destPort) -> - return "#{localAddr}:#{localPort}:#{destAddr}:#{destPort}" - - server.on("message", (data, rinfo) -> - # Parse request - requestHeaderOffset = 0 - if isLocal - requestHeaderOffset = 3 - frag = data[2] - if frag != 0 - utils.debug "frag:#{frag}" - utils.warn "drop a message since frag is not 0" - return - else - # on remote, client to server - data = decrypt(password, method, data) - if not data? - # drop - return - headerResult = parseHeader(data, requestHeaderOffset) - if headerResult == null - # drop - return - [addrtype, destAddr, destPort, headerLength] = headerResult - - if isLocal - sendDataOffset = requestHeaderOffset - [serverAddr, serverPort] = [remoteAddr, remotePort] - else - sendDataOffset = headerLength - [serverAddr, serverPort] = [destAddr, destPort] - - key = clientKey(rinfo.address, rinfo.port, destAddr, destPort) - client = clients.getItem(key) - if not client? - # Create IPv6 UDP socket if serverAddr is an IPv6 address - clientUdpType = net.isIP(serverAddr) - if clientUdpType == 6 - client = dgram.createSocket("udp6") - else - client = dgram.createSocket("udp4") - clients.setItem(key, client) - - client.on "message", (data1, rinfo1) -> -# utils.debug "client got #{data1} from #{rinfo1.address}:#{rinfo1.port}" - if not isLocal - # on remote, server to client - # append shadowsocks response header - # TODO: support receive from IPv6 addr - utils.debug "UDP recv from #{rinfo1.address}:#{rinfo1.port}" - serverIPBuf = utils.inetAton(rinfo1.address) - responseHeader = new Buffer(7) - responseHeader.write('\x01', 0) - serverIPBuf.copy(responseHeader, 1, 0, 4) - responseHeader.writeUInt16BE(rinfo1.port, 5) - data2 = Buffer.concat([responseHeader, data1]) - data2 = encrypt(password, method, data2) - if not data2? - # drop - return - else - # on local, server to client - # append socks5 response header - responseHeader = new Buffer("\x00\x00\x00") - data1 = decrypt(password, method, data1) - if not data1? - # drop - return - headerResult = parseHeader(data1, 0) - if headerResult == null - # drop - return - [addrtype, destAddr, destPort, headerLength] = headerResult - utils.debug "UDP recv from #{destAddr}:#{destPort}" - data2 = Buffer.concat([responseHeader, data1]) - server.send data2, 0, data2.length, rinfo.port, rinfo.address, (err, bytes) -> - utils.debug "remote to local sent" - - client.on "error", (err) -> - utils.error "UDP client error: #{err}" - - client.on "close", -> - utils.debug "UDP client close" - clients.delItem(key) - - utils.debug "pairs: #{Object.keys(clients.dict).length}" - - dataToSend = data.slice(sendDataOffset, data.length) - if isLocal - # on local, client to server - dataToSend = encrypt password, method, dataToSend - if not dataToSend? - # drop - return - - utils.debug "UDP send to #{destAddr}:#{destPort}" - client.send dataToSend, 0, dataToSend.length, serverPort, serverAddr, (err, bytes) -> - utils.debug "local to remote sent" - - ) - - server.on "listening", -> - address = server.address() - utils.info("UDP server listening " + address.address + ":" + address.port) - - server.on "close", -> - utils.info "UDP server closing" - clients.destroy() - - if listenAddr? - server.bind(listenPort, listenAddr) - else - server.bind(listenPort) - - return server diff --git a/node_modules/shadowsocks/src/utils.coffee b/node_modules/shadowsocks/src/utils.coffee deleted file mode 100644 index 8f990de..0000000 --- a/node_modules/shadowsocks/src/utils.coffee +++ /dev/null @@ -1,158 +0,0 @@ -### - Copyright (c) 2014 clowwindy - - 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. -### - - -util = require 'util' -pack = require '../../package.json' - -printLocalHelp = -> - console.log """ - usage: sslocal [-h] -s SERVER_ADDR -p SERVER_PORT [-b LOCAL_ADDR] -l LOCAL_PORT -k PASSWORD -m METHOD [-t TIMEOUT] [-c config] - - optional arguments: - -h, --help show this help message and exit - -s SERVER_ADDR server address - -p SERVER_PORT server port - -b LOCAL_ADDR local binding address, default is 127.0.0.1 - -l LOCAL_PORT local port - -k PASSWORD password - -m METHOD encryption method, for example, aes-256-cfb - -t TIMEOUT timeout in seconds - -c CONFIG path to config file - """ - -printServerHelp = -> - console.log """ - usage: ssserver [-h] -s SERVER_ADDR -p SERVER_PORT -k PASSWORD -m METHOD [-t TIMEOUT] [-c config] - - optional arguments: - -h, --help show this help message and exit - -s SERVER_ADDR server address - -p SERVER_PORT server port - -k PASSWORD password - -m METHOD encryption method, for example, aes-256-cfb - -t TIMEOUT timeout in seconds - -c CONFIG path to config file - """ - -exports.parseArgs = (isServer=false)-> - defination = - '-l': 'local_port' - '-p': 'server_port' - '-s': 'server' - '-k': 'password', - '-c': 'config_file', - '-m': 'method', - '-b': 'local_address', - '-t': 'timeout' - - result = {} - nextIsValue = false - lastKey = null - for _, oneArg of process.argv - if nextIsValue - result[lastKey] = oneArg - nextIsValue = false - else if oneArg of defination - lastKey = defination[oneArg] - nextIsValue = true - else if '-v' == oneArg - result['verbose'] = true - else if oneArg.indexOf('-') == 0 - if isServer - printServerHelp() - else - printLocalHelp() - process.exit 2 - result - -exports.checkConfig = (config) -> - if config.server in ['127.0.0.1', 'localhost'] - exports.warn "Server is set to #{config.server}, maybe it's not correct" - exports.warn "Notice server will listen at #{config.server}:#{config.server_port}" - if (config.method or '').toLowerCase() == 'rc4' - exports.warn 'RC4 is not safe; please use a safer cipher, like AES-256-CFB' - -exports.version = "#{pack.name} v#{pack.version}" - -exports.EVERYTHING = 0 -exports.DEBUG = 1 -exports.INFO = 2 -exports.WARN = 3 -exports.ERROR = 4 - -_logging_level = exports.INFO - -exports.config = (level) -> - _logging_level = level - -exports.log = (level, msg)-> - if level >= _logging_level - if level >= exports.DEBUG - util.log(new Date().getMilliseconds() + 'ms ' + msg) - else - util.log msg - -exports.debug = (msg)-> - exports.log exports.DEBUG, msg - -exports.info = (msg)-> - exports.log exports.INFO, msg - -exports.warn = (msg)-> - exports.log exports.WARN, msg - -exports.error = (msg)-> - exports.log exports.ERROR, msg?.stack or msg - -exports.inetNtoa = (buf) -> - buf[0] + "." + buf[1] + "." + buf[2] + "." + buf[3] - -exports.inetAton = (ipStr) -> - parts = ipStr.split(".") - unless parts.length is 4 - null - else - buf = new Buffer(4) - i = 0 - while i < 4 - buf[i] = +parts[i] - i++ - buf - -setInterval(-> - if _logging_level <= exports.DEBUG - exports.debug(JSON.stringify(process.memoryUsage(), ' ', 2)) - if global.gc - exports.debug 'GC' - gc() - exports.debug(JSON.stringify(process.memoryUsage(), ' ', 2)) - cwd = process.cwd() - if _logging_level == exports.DEBUG - try - heapdump = require 'heapdump' - process.chdir '/tmp' - # heapdump.writeSnapshot() - process.chdir cwd - catch e - exports.debug e -, 1000) diff --git a/node_modules/shadowsocks/test/benchmark.sh b/node_modules/shadowsocks/test/benchmark.sh deleted file mode 100644 index 39f8766..0000000 --- a/node_modules/shadowsocks/test/benchmark.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -for i in {1..10} ; do - echo $i - curl --socks5-hostname 127.0.0.1:$1 http://www.google.com/ >/dev/null -done diff --git a/node_modules/shadowsocks/test/config-client-multi-port.json b/node_modules/shadowsocks/test/config-client-multi-port.json deleted file mode 100644 index 94b0aef..0000000 --- a/node_modules/shadowsocks/test/config-client-multi-port.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "server": "123.123.123.1", - "server_port": [8380, 8381, 8382, 8383], - "local_port": 1081, - "password": "barfoo!", - "timeout": 60, - "method": "aes-256-cfb" -} diff --git a/node_modules/shadowsocks/test/config-client-multi-server-port.json b/node_modules/shadowsocks/test/config-client-multi-server-port.json deleted file mode 100644 index 104696a..0000000 --- a/node_modules/shadowsocks/test/config-client-multi-server-port.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "server": ["123.123.123.1:8381", "123.123.123.2:8381", "123.123.123.2:8382"], - "server_port":8380, - "local_port":1081, - "password":"barfoo!", - "timeout":60, - "method":"aes-256-cfb" -} diff --git a/node_modules/shadowsocks/test/config-client-multi-server.json b/node_modules/shadowsocks/test/config-client-multi-server.json deleted file mode 100644 index c2b3ec7..0000000 --- a/node_modules/shadowsocks/test/config-client-multi-server.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "server": ["123.123.123.1", "123.123.123.2", "123.123.123.3"], - "server_port": 8380, - "local_port": 1081, - "password": "barfoo!", - "timeout": 60, - "method": "aes-256-cfb" -} diff --git a/node_modules/shadowsocks/test/config-server-multi-passwd.json b/node_modules/shadowsocks/test/config-server-multi-passwd.json deleted file mode 100644 index 5e87f8a..0000000 --- a/node_modules/shadowsocks/test/config-server-multi-passwd.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "server": "127.0.0.1", - "server_port": 8380, - "local_port": 1081, - "password": "barfoo!", - "port_password": { - "8381": "foobar1", - "8382": "foobar2", - "8383": "foobar3", - "8384": "foobar4", - "8385": "foobar5", - "8386": "foobar6", - "8387": "foobar7", - "8388": "foobar8", - "8389": "foobar9", - "8390": "foobar10", - "8391": "foobar11", - "8392": "foobar12" - }, - "timeout": 60, - "method": "aes-256-cfb" -} diff --git a/node_modules/shadowsocks/test/config-server-multi-port.json b/node_modules/shadowsocks/test/config-server-multi-port.json deleted file mode 100644 index 03bd686..0000000 --- a/node_modules/shadowsocks/test/config-server-multi-port.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "server": "127.0.0.1", - "server_port": 8380, - "local_port": 1081, - "password": "barfoo!", - "port_password": { - "8380": "barfoo!", - "8381": "barfoo!", - "8382": "barfoo!", - "8383": "barfoo!", - "8384": "barfoo!", - "8385": "barfoo!", - "8386": "barfoo!", - "8387": "barfoo!" - }, - "timeout": 60, - "method": "aes-256-cfb" -} diff --git a/node_modules/shadowsocks/test/config.json b/node_modules/shadowsocks/test/config.json deleted file mode 100644 index ba9f0d5..0000000 --- a/node_modules/shadowsocks/test/config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "server": "127.0.0.1", - "server_port": 8388, - "local_port": 1080, - "password": "barfoo!", - "timeout": 60, - "method": "aes-256-cfb" -} \ No newline at end of file diff --git a/node_modules/signal-exit/CHANGELOG.md b/node_modules/signal-exit/CHANGELOG.md deleted file mode 100644 index e2f70d2..0000000 --- a/node_modules/signal-exit/CHANGELOG.md +++ /dev/null @@ -1,27 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - - -## [3.0.1](https://github.com/tapjs/signal-exit/compare/v3.0.0...v3.0.1) (2016-09-08) - - -### Bug Fixes - -* do not listen on SIGBUS, SIGFPE, SIGSEGV and SIGILL ([#40](https://github.com/tapjs/signal-exit/issues/40)) ([5b105fb](https://github.com/tapjs/signal-exit/commit/5b105fb)) - - - - -# [3.0.0](https://github.com/tapjs/signal-exit/compare/v2.1.2...v3.0.0) (2016-06-13) - - -### Bug Fixes - -* get our test suite running on Windows ([#23](https://github.com/tapjs/signal-exit/issues/23)) ([6f3eda8](https://github.com/tapjs/signal-exit/commit/6f3eda8)) -* hooking SIGPROF was interfering with profilers see [#21](https://github.com/tapjs/signal-exit/issues/21) ([#24](https://github.com/tapjs/signal-exit/issues/24)) ([1248a4c](https://github.com/tapjs/signal-exit/commit/1248a4c)) - - -### BREAKING CHANGES - -* signal-exit no longer wires into SIGPROF diff --git a/node_modules/signal-exit/LICENSE.txt b/node_modules/signal-exit/LICENSE.txt deleted file mode 100644 index eead04a..0000000 --- a/node_modules/signal-exit/LICENSE.txt +++ /dev/null @@ -1,16 +0,0 @@ -The ISC License - -Copyright (c) 2015, Contributors - -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. diff --git a/node_modules/signal-exit/README.md b/node_modules/signal-exit/README.md deleted file mode 100644 index 8ebccab..0000000 --- a/node_modules/signal-exit/README.md +++ /dev/null @@ -1,40 +0,0 @@ -# signal-exit - -[![Build Status](https://travis-ci.org/tapjs/signal-exit.png)](https://travis-ci.org/tapjs/signal-exit) -[![Coverage](https://coveralls.io/repos/tapjs/signal-exit/badge.svg?branch=master)](https://coveralls.io/r/tapjs/signal-exit?branch=master) -[![NPM version](https://img.shields.io/npm/v/signal-exit.svg)](https://www.npmjs.com/package/signal-exit) -[![Windows Tests](https://img.shields.io/appveyor/ci/bcoe/signal-exit/master.svg?label=Windows%20Tests)](https://ci.appveyor.com/project/bcoe/signal-exit) -[![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version) - -When you want to fire an event no matter how a process exits: - -* reaching the end of execution. -* explicitly having `process.exit(code)` called. -* having `process.kill(pid, sig)` called. -* receiving a fatal signal from outside the process - -Use `signal-exit`. - -```js -var onExit = require('signal-exit') - -onExit(function (code, signal) { - console.log('process exited!') -}) -``` - -## API - -`var remove = onExit(function (code, signal) {}, options)` - -The return value of the function is a function that will remove the -handler. - -Note that the function *only* fires for signals if the signal would -cause the proces to exit. That is, there are no other listeners, and -it is a fatal signal. - -## Options - -* `alwaysLast`: Run this handler after any other signal or exit - handlers. This causes `process.emit` to be monkeypatched. diff --git a/node_modules/signal-exit/index.js b/node_modules/signal-exit/index.js deleted file mode 100644 index 337f691..0000000 --- a/node_modules/signal-exit/index.js +++ /dev/null @@ -1,157 +0,0 @@ -// Note: since nyc uses this module to output coverage, any lines -// that are in the direct sync flow of nyc's outputCoverage are -// ignored, since we can never get coverage for them. -var assert = require('assert') -var signals = require('./signals.js') - -var EE = require('events') -/* istanbul ignore if */ -if (typeof EE !== 'function') { - EE = EE.EventEmitter -} - -var emitter -if (process.__signal_exit_emitter__) { - emitter = process.__signal_exit_emitter__ -} else { - emitter = process.__signal_exit_emitter__ = new EE() - emitter.count = 0 - emitter.emitted = {} -} - -// Because this emitter is a global, we have to check to see if a -// previous version of this library failed to enable infinite listeners. -// I know what you're about to say. But literally everything about -// signal-exit is a compromise with evil. Get used to it. -if (!emitter.infinite) { - emitter.setMaxListeners(Infinity) - emitter.infinite = true -} - -module.exports = function (cb, opts) { - assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler') - - if (loaded === false) { - load() - } - - var ev = 'exit' - if (opts && opts.alwaysLast) { - ev = 'afterexit' - } - - var remove = function () { - emitter.removeListener(ev, cb) - if (emitter.listeners('exit').length === 0 && - emitter.listeners('afterexit').length === 0) { - unload() - } - } - emitter.on(ev, cb) - - return remove -} - -module.exports.unload = unload -function unload () { - if (!loaded) { - return - } - loaded = false - - signals.forEach(function (sig) { - try { - process.removeListener(sig, sigListeners[sig]) - } catch (er) {} - }) - process.emit = originalProcessEmit - process.reallyExit = originalProcessReallyExit - emitter.count -= 1 -} - -function emit (event, code, signal) { - if (emitter.emitted[event]) { - return - } - emitter.emitted[event] = true - emitter.emit(event, code, signal) -} - -// { : , ... } -var sigListeners = {} -signals.forEach(function (sig) { - sigListeners[sig] = function listener () { - // If there are no other listeners, an exit is coming! - // Simplest way: remove us and then re-send the signal. - // We know that this will kill the process, so we can - // safely emit now. - var listeners = process.listeners(sig) - if (listeners.length === emitter.count) { - unload() - emit('exit', null, sig) - /* istanbul ignore next */ - emit('afterexit', null, sig) - /* istanbul ignore next */ - process.kill(process.pid, sig) - } - } -}) - -module.exports.signals = function () { - return signals -} - -module.exports.load = load - -var loaded = false - -function load () { - if (loaded) { - return - } - loaded = true - - // This is the number of onSignalExit's that are in play. - // It's important so that we can count the correct number of - // listeners on signals, and don't wait for the other one to - // handle it instead of us. - emitter.count += 1 - - signals = signals.filter(function (sig) { - try { - process.on(sig, sigListeners[sig]) - return true - } catch (er) { - return false - } - }) - - process.emit = processEmit - process.reallyExit = processReallyExit -} - -var originalProcessReallyExit = process.reallyExit -function processReallyExit (code) { - process.exitCode = code || 0 - emit('exit', process.exitCode, null) - /* istanbul ignore next */ - emit('afterexit', process.exitCode, null) - /* istanbul ignore next */ - originalProcessReallyExit.call(process, process.exitCode) -} - -var originalProcessEmit = process.emit -function processEmit (ev, arg) { - if (ev === 'exit') { - if (arg !== undefined) { - process.exitCode = arg - } - var ret = originalProcessEmit.apply(this, arguments) - emit('exit', process.exitCode, null) - /* istanbul ignore next */ - emit('afterexit', process.exitCode, null) - return ret - } else { - return originalProcessEmit.apply(this, arguments) - } -} diff --git a/node_modules/signal-exit/package.json b/node_modules/signal-exit/package.json deleted file mode 100644 index 3713e4d..0000000 --- a/node_modules/signal-exit/package.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "signal-exit@^3.0.0", - "scope": null, - "escapedName": "signal-exit", - "name": "signal-exit", - "rawSpec": "^3.0.0", - "spec": ">=3.0.0 <4.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/gauge" - ] - ], - "_from": "signal-exit@>=3.0.0 <4.0.0", - "_id": "signal-exit@3.0.2", - "_inCache": true, - "_installable": true, - "_location": "/signal-exit", - "_nodeVersion": "6.5.0", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/signal-exit-3.0.2.tgz_1480821660838_0.6809983775019646" - }, - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "_npmVersion": "3.10.9", - "_phantomChildren": {}, - "_requested": { - "raw": "signal-exit@^3.0.0", - "scope": null, - "escapedName": "signal-exit", - "name": "signal-exit", - "rawSpec": "^3.0.0", - "spec": ">=3.0.0 <4.0.0", - "type": "range" - }, - "_requiredBy": [ - "/gauge" - ], - "_resolved": "http://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "_shasum": "b5fdc08f1287ea1178628e415e25132b73646c6d", - "_shrinkwrap": null, - "_spec": "signal-exit@^3.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/gauge", - "author": { - "name": "Ben Coe", - "email": "ben@npmjs.com" - }, - "bugs": { - "url": "https://github.com/tapjs/signal-exit/issues" - }, - "dependencies": {}, - "description": "when you want to fire an event no matter how a process exits.", - "devDependencies": { - "chai": "^3.5.0", - "coveralls": "^2.11.10", - "nyc": "^8.1.0", - "standard": "^7.1.2", - "standard-version": "^2.3.0", - "tap": "^8.0.1" - }, - "directories": {}, - "dist": { - "shasum": "b5fdc08f1287ea1178628e415e25132b73646c6d", - "tarball": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz" - }, - "files": [ - "index.js", - "signals.js" - ], - "gitHead": "9c5ad9809fe6135ef22e2623989deaffe2a4fa8a", - "homepage": "https://github.com/tapjs/signal-exit", - "keywords": [ - "signal", - "exit" - ], - "license": "ISC", - "main": "index.js", - "maintainers": [ - { - "name": "bcoe", - "email": "ben@npmjs.com" - }, - { - "name": "isaacs", - "email": "isaacs@npmjs.com" - } - ], - "name": "signal-exit", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/tapjs/signal-exit.git" - }, - "scripts": { - "coverage": "nyc report --reporter=text-lcov | coveralls", - "pretest": "standard", - "release": "standard-version", - "test": "tap --timeout=240 ./test/*.js --cov" - }, - "version": "3.0.2" -} diff --git a/node_modules/signal-exit/signals.js b/node_modules/signal-exit/signals.js deleted file mode 100644 index 3bd67a8..0000000 --- a/node_modules/signal-exit/signals.js +++ /dev/null @@ -1,53 +0,0 @@ -// This is not the set of all possible signals. -// -// It IS, however, the set of all signals that trigger -// an exit on either Linux or BSD systems. Linux is a -// superset of the signal names supported on BSD, and -// the unknown signals just fail to register, so we can -// catch that easily enough. -// -// Don't bother with SIGKILL. It's uncatchable, which -// means that we can't fire any callbacks anyway. -// -// If a user does happen to register a handler on a non- -// fatal signal like SIGWINCH or something, and then -// exit, it'll end up firing `process.emit('exit')`, so -// the handler will be fired anyway. -// -// SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised -// artificially, inherently leave the process in a -// state from which it is not safe to try and enter JS -// listeners. -module.exports = [ - 'SIGABRT', - 'SIGALRM', - 'SIGHUP', - 'SIGINT', - 'SIGTERM' -] - -if (process.platform !== 'win32') { - module.exports.push( - 'SIGVTALRM', - 'SIGXCPU', - 'SIGXFSZ', - 'SIGUSR2', - 'SIGTRAP', - 'SIGSYS', - 'SIGQUIT', - 'SIGIOT' - // should detect profiler and enable/disable accordingly. - // see #21 - // 'SIGPROF' - ) -} - -if (process.platform === 'linux') { - module.exports.push( - 'SIGIO', - 'SIGPOLL', - 'SIGPWR', - 'SIGSTKFLT', - 'SIGUNUSED' - ) -} diff --git a/node_modules/simple-get/.travis.yml b/node_modules/simple-get/.travis.yml deleted file mode 100644 index 18ae2d8..0000000 --- a/node_modules/simple-get/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - "0.11" - - "0.10" diff --git a/node_modules/simple-get/LICENSE b/node_modules/simple-get/LICENSE deleted file mode 100644 index c7e6852..0000000 --- a/node_modules/simple-get/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Feross Aboukhadijeh - -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. diff --git a/node_modules/simple-get/README.md b/node_modules/simple-get/README.md deleted file mode 100644 index 7d50d63..0000000 --- a/node_modules/simple-get/README.md +++ /dev/null @@ -1,112 +0,0 @@ -# simple-get [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] - -[travis-image]: https://img.shields.io/travis/feross/simple-get.svg?style=flat -[travis-url]: https://travis-ci.org/feross/simple-get -[npm-image]: https://img.shields.io/npm/v/simple-get.svg?style=flat -[npm-url]: https://npmjs.org/package/simple-get -[downloads-image]: https://img.shields.io/npm/dm/simple-get.svg?style=flat -[downloads-url]: https://npmjs.org/package/simple-get - -### Simplest way to make http get requests - -## features - -This module is designed to be the lightest possible wrapper on top of node.js `http`, but supporting: - -- follows redirects -- automatically handles gzip/deflate responses -- supports HTTPS -- supports convenience `url` key so there's no need to use `url.parse` on the url when specifying options - -All this in < 100 lines of code. - -## install - -``` -npm install simple-get -``` - -## usage - -### simple GET request - -Doesn't get easier than this: - -```js -var get = require('simple-get') - -get('http://example.com', function (err, res) { - if (err) throw err - console.log(res.statusCode) // 200 - res.pipe(process.stdout) // `res` is a stream -}) -``` - -### even simpler GET request - -If you just want the data, and don't want to deal with streams: - -```js -var get = require('simple-get') - -get.concat('http://example.com', function (err, data, res) { - if (err) throw err - console.log(res.statusCode) // 200 - console.log(data) // 'this is the server response' -}) -``` - -### POST, PUT, PATCH, HEAD, DELETE support - -For `POST`, call `get.post` or use option `{ method: 'POST' }`. - -```js -var get = require('simple-get') - -var opts = { - url: 'http://example.com', - body: 'this is the POST body' -} -get.post(opts, function (err, res) { - if (err) throw err - res.pipe(process.stdout) // `res` is a stream -}) -``` - -A more complex example: - -```js -var get = require('simple-get') -var concat = require('concat-stream') - -get({ - url: 'http://example.com', - method: 'POST', - body: 'this is the POST body', - - // simple-get accepts all options that node.js `http` accepts - // See: http://nodejs.org/api/http.html#http_http_request_options_callback - headers: { - 'user-agent': 'my cool app' - } -}, function (err, res) { - if (err) throw err - - // All properties/methods from http.IncomingResponse are available, - // even if a gunzip/inflate transform stream was returned. - // See: http://nodejs.org/api/http.html#http_http_incomingmessage - res.setTimeout(10000) - console.log(res.headers) - - res.pipe(concat(function (data) { - // `data` is the decoded response, after it's been gunzipped or inflated - // (if applicable) - console.log('got the response: ' + data) - })) - -}) -``` - -## license - -MIT. Copyright (c) [Feross Aboukhadijeh](http://feross.org). diff --git a/node_modules/simple-get/index.js b/node_modules/simple-get/index.js deleted file mode 100644 index a27efc1..0000000 --- a/node_modules/simple-get/index.js +++ /dev/null @@ -1,79 +0,0 @@ -module.exports = simpleGet - -var extend = require('xtend') -var http = require('http') -var https = require('https') -var once = require('once') -var unzipResponse = require('unzip-response') // excluded from browser build -var url = require('url') - -function simpleGet (opts, cb) { - opts = typeof opts === 'string' ? { url: opts } : extend(opts) - cb = once(cb) - - if (opts.url) parseOptsUrl(opts) - if (opts.headers == null) opts.headers = {} - if (opts.maxRedirects == null) opts.maxRedirects = 10 - - var body = opts.body - opts.body = undefined - if (body && !opts.method) opts.method = 'POST' - - // Request gzip/deflate - var customAcceptEncoding = Object.keys(opts.headers).some(function (h) { - return h.toLowerCase() === 'accept-encoding' - }) - if (!customAcceptEncoding) opts.headers['accept-encoding'] = 'gzip, deflate' - - // Support http: and https: urls - var protocol = opts.protocol === 'https:' ? https : http - var req = protocol.request(opts, function (res) { - // Follow 3xx redirects - if (res.statusCode >= 300 && res.statusCode < 400 && 'location' in res.headers) { - opts.url = res.headers.location - parseOptsUrl(opts) - res.resume() // Discard response - - opts.maxRedirects -= 1 - if (opts.maxRedirects > 0) simpleGet(opts, cb) - else cb(new Error('too many redirects')) - - return - } - - cb(null, typeof unzipResponse === 'function' ? unzipResponse(res) : res) - }) - req.on('error', cb) - req.end(body) - return req -} - -module.exports.concat = function (opts, cb) { - return simpleGet(opts, function (err, res) { - if (err) return cb(err) - var chunks = [] - res.on('data', function (chunk) { - chunks.push(chunk) - }) - res.on('end', function () { - cb(null, Buffer.concat(chunks), res) - }) - }) -} - -;['get', 'post', 'put', 'patch', 'head', 'delete'].forEach(function (method) { - module.exports[method] = function (opts, cb) { - if (typeof opts === 'string') opts = { url: opts } - opts.method = method.toUpperCase() - return simpleGet(opts, cb) - } -}) - -function parseOptsUrl (opts) { - var loc = url.parse(opts.url) - if (loc.hostname) opts.hostname = loc.hostname - if (loc.port) opts.port = loc.port - if (loc.protocol) opts.protocol = loc.protocol - opts.path = loc.path - delete opts.url -} diff --git a/node_modules/simple-get/package.json b/node_modules/simple-get/package.json deleted file mode 100644 index 3bbdffa..0000000 --- a/node_modules/simple-get/package.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "simple-get@^1.4.2", - "scope": null, - "escapedName": "simple-get", - "name": "simple-get", - "rawSpec": "^1.4.2", - "spec": ">=1.4.2 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install" - ] - ], - "_from": "simple-get@>=1.4.2 <2.0.0", - "_id": "simple-get@1.4.3", - "_inCache": true, - "_installable": true, - "_location": "/simple-get", - "_nodeVersion": "2.1.0", - "_npmUser": { - "name": "feross", - "email": "feross@feross.org" - }, - "_npmVersion": "2.10.1", - "_phantomChildren": {}, - "_requested": { - "raw": "simple-get@^1.4.2", - "scope": null, - "escapedName": "simple-get", - "name": "simple-get", - "rawSpec": "^1.4.2", - "spec": ">=1.4.2 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/prebuild-install" - ], - "_resolved": "http://registry.npmjs.org/simple-get/-/simple-get-1.4.3.tgz", - "_shasum": "e9755eda407e96da40c5e5158c9ea37b33becbeb", - "_shrinkwrap": null, - "_spec": "simple-get@^1.4.2", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install", - "author": { - "name": "Feross Aboukhadijeh", - "email": "feross@feross.org", - "url": "http://feross.org/" - }, - "browser": { - "unzip-response": false - }, - "bugs": { - "url": "https://github.com/feross/simple-get/issues" - }, - "dependencies": { - "once": "^1.3.1", - "unzip-response": "^1.0.0", - "xtend": "^4.0.0" - }, - "description": "Simplest way to make http get requests. Supports HTTPS, redirects, gzip/deflate, streams in < 100 lines.", - "devDependencies": { - "concat-stream": "^1.4.7", - "self-signed-https": "^1.0.5", - "standard": "^5.1.0", - "string-to-stream": "^1.0.0", - "tape": "^4.0.0" - }, - "directories": {}, - "dist": { - "shasum": "e9755eda407e96da40c5e5158c9ea37b33becbeb", - "tarball": "https://registry.npmjs.org/simple-get/-/simple-get-1.4.3.tgz" - }, - "gitHead": "d212b1022d21b49c8ec83acf251d1dc4aeb38ca3", - "homepage": "https://github.com/feross/simple-get", - "keywords": [ - "request", - "http", - "GET", - "get request", - "http.get", - "redirects", - "follow redirects", - "gzip", - "deflate", - "https", - "http-https", - "stream", - "simple request", - "simple get" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "feross", - "email": "feross@feross.org" - } - ], - "name": "simple-get", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/feross/simple-get.git" - }, - "scripts": { - "test": "standard && tape test/*.js" - }, - "version": "1.4.3" -} diff --git a/node_modules/simple-get/test/basic.js b/node_modules/simple-get/test/basic.js deleted file mode 100644 index 4c52806..0000000 --- a/node_modules/simple-get/test/basic.js +++ /dev/null @@ -1,363 +0,0 @@ -var concat = require('concat-stream') -var http = require('http') -var get = require('../') -var selfSignedHttps = require('self-signed-https') -var str = require('string-to-stream') -var test = require('tape') -var zlib = require('zlib') - -// Allow self-signed certs -process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0' - -test('simple get', function (t) { - t.plan(4) - - var server = http.createServer(function (req, res) { - t.equal(req.url, '/path') - res.statusCode = 200 - res.end('response') - }) - - server.listen(0, function () { - var port = server.address().port - get('http://localhost:' + port + '/path', function (err, res) { - t.error(err) - t.equal(res.statusCode, 200) - res.pipe(concat(function (data) { - t.equal(data.toString(), 'response') - server.close() - })) - }) - }) -}) - -test('follow redirects (up to 10)', function (t) { - t.plan(13) - - var num = 1 - var server = http.createServer(function (req, res) { - t.equal(req.url, '/' + num, 'visited /' + num) - num += 1 - - if (num <= 10) { - res.statusCode = 301 - res.setHeader('Location', '/' + num) - res.end() - } else { - res.statusCode = 200 - res.end('response') - } - }) - - server.listen(0, function () { - var port = server.address().port - get('http://localhost:' + port + '/1', function (err, res) { - t.error(err) - t.equal(res.statusCode, 200) - res.pipe(concat(function (data) { - t.equal(data.toString(), 'response') - server.close() - })) - }) - }) -}) - -test('do not follow redirects', function (t) { - t.plan(2) - - var server = http.createServer(function (req, res) { - t.equal(req.url, '/1', 'visited /1') - - res.statusCode = 301 - res.setHeader('Location', '/2') - res.end() - }) - - server.listen(0, function () { - var port = server.address().port - get({ - url: 'http://localhost:' + port + '/1', - maxRedirects: 0 - }, function (err) { - t.ok(err instanceof Error, 'got error') - server.close() - }) - }) -}) - -test('follow redirects (11 is too many)', function (t) { - t.plan(11) - - var num = 1 - var server = http.createServer(function (req, res) { - t.equal(req.url, '/' + num, 'visited /' + num) - num += 1 - - res.statusCode = 301 - res.setHeader('Location', '/' + num) - res.end() - }) - - server.listen(0, function () { - var port = server.address().port - get('http://localhost:' + port + '/1', function (err) { - t.ok(err instanceof Error, 'got error') - server.close() - }) - }) -}) - -test('custom headers', function (t) { - t.plan(2) - - var server = http.createServer(function (req, res) { - t.equal(req.headers['custom-header'], 'custom-value') - res.statusCode = 200 - res.end('response') - }) - - server.listen(0, function () { - var port = server.address().port - get({ - url: 'http://localhost:' + port, - headers: { - 'custom-header': 'custom-value' - } - }, function (err, res) { - t.error(err) - res.resume() - server.close() - }) - }) -}) - -test('gzip response', function (t) { - t.plan(3) - - var server = http.createServer(function (req, res) { - res.statusCode = 200 - res.setHeader('content-encoding', 'gzip') - str('response').pipe(zlib.createGzip()).pipe(res) - }) - - server.listen(0, function () { - var port = server.address().port - get('http://localhost:' + port, function (err, res) { - t.error(err) - t.equal(res.statusCode, 200) // statusCode still works on gunzip stream - res.pipe(concat(function (data) { - t.equal(data.toString(), 'response') - server.close() - })) - }) - }) -}) - -test('deflate response', function (t) { - t.plan(3) - - var server = http.createServer(function (req, res) { - res.statusCode = 200 - res.setHeader('content-encoding', 'deflate') - str('response').pipe(zlib.createDeflate()).pipe(res) - }) - - server.listen(0, function () { - var port = server.address().port - get('http://localhost:' + port, function (err, res) { - t.error(err) - t.equal(res.statusCode, 200) // statusCode still works on inflate stream - res.pipe(concat(function (data) { - t.equal(data.toString(), 'response') - server.close() - })) - }) - }) -}) - -test('https', function (t) { - t.plan(4) - - var server = selfSignedHttps(function (req, res) { - t.equal(req.url, '/path') - res.statusCode = 200 - res.end('response') - }) - - server.listen(0, function () { - var port = server.address().port - get('https://localhost:' + port + '/path', function (err, res) { - t.error(err) - t.equal(res.statusCode, 200) - res.pipe(concat(function (data) { - t.equal(data.toString(), 'response') - server.close() - })) - }) - }) -}) - -test('redirect https to http', function (t) { - t.plan(5) - - var httpPort = null - var httpsPort = null - - var httpsServer = selfSignedHttps(function (req, res) { - t.equal(req.url, '/path1') - res.statusCode = 301 - res.setHeader('Location', 'http://localhost:' + httpPort + '/path2') - res.end() - }) - - var httpServer = http.createServer(function (req, res) { - t.equal(req.url, '/path2') - res.statusCode = 200 - res.end('response') - }) - - httpsServer.listen(0, function () { - httpsPort = httpsServer.address().port - httpServer.listen(0, function () { - httpPort = httpServer.address().port - get('https://localhost:' + httpsPort + '/path1', function (err, res) { - t.error(err) - t.equal(res.statusCode, 200) - res.pipe(concat(function (data) { - t.equal(data.toString(), 'response') - httpsServer.close() - httpServer.close() - })) - }) - }) - }) -}) - -test('redirect http to https', function (t) { - t.plan(5) - - var httpsPort = null - var httpPort = null - - var httpServer = http.createServer(function (req, res) { - t.equal(req.url, '/path1') - res.statusCode = 301 - res.setHeader('Location', 'https://localhost:' + httpsPort + '/path2') - res.end() - }) - - var httpsServer = selfSignedHttps(function (req, res) { - t.equal(req.url, '/path2') - res.statusCode = 200 - res.end('response') - }) - - httpServer.listen(0, function () { - httpPort = httpServer.address().port - httpsServer.listen(0, function () { - httpsPort = httpsServer.address().port - get('http://localhost:' + httpPort + '/path1', function (err, res) { - t.error(err) - t.equal(res.statusCode, 200) - res.pipe(concat(function (data) { - t.equal(data.toString(), 'response') - httpsServer.close() - httpServer.close() - })) - }) - }) - }) -}) - -test('post (text body)', function (t) { - t.plan(4) - - var server = http.createServer(function (req, res) { - t.equal(req.method, 'POST') - res.statusCode = 200 - req.pipe(res) - }) - - server.listen(0, function () { - var port = server.address().port - var opts = { - url: 'http://localhost:' + port, - body: 'this is the body' - } - get.post(opts, function (err, res) { - t.error(err) - t.equal(res.statusCode, 200) - res.pipe(concat(function (data) { - t.equal(data.toString(), 'this is the body') - server.close() - })) - }) - }) -}) - -test('post (buffer body)', function (t) { - t.plan(4) - - var server = http.createServer(function (req, res) { - t.equal(req.method, 'POST') - res.statusCode = 200 - req.pipe(res) - }) - - server.listen(0, function () { - var port = server.address().port - var opts = { - url: 'http://localhost:' + port, - body: new Buffer('this is the body') - } - get.post(opts, function (err, res) { - t.error(err) - t.equal(res.statusCode, 200) - res.pipe(concat(function (data) { - t.equal(data.toString(), 'this is the body') - server.close() - })) - }) - }) -}) - -test('get.concat', function (t) { - t.plan(4) - var server = http.createServer(function (req, res) { - res.statusCode = 200 - res.end('blah blah blah') - }) - - server.listen(0, function () { - var port = server.address().port - get.concat('http://localhost:' + port, function (err, data, res) { - t.error(err) - t.equal(res.statusCode, 200) - t.ok(Buffer.isBuffer(data), '`data` is type buffer') - t.equal(data.toString(), 'blah blah blah') - server.close() - }) - }) -}) - -test('access `req` object', function (t) { - t.plan(2) - - var server = http.createServer(function (req, res) { - res.statusCode = 200 - res.end('response') - }) - - server.listen(0, function () { - var port = server.address().port - var req = get('http://localhost:' + port, function (err, res) { - t.error(err) - res.resume() // discard data - server.close() - }) - - req.on('socket', function () { - t.pass('got `socket` event') - }) - }) -}) diff --git a/node_modules/streamroller/.jshintrc b/node_modules/streamroller/.jshintrc deleted file mode 100644 index 1d60c63..0000000 --- a/node_modules/streamroller/.jshintrc +++ /dev/null @@ -1,17 +0,0 @@ -{ - "node": true, - "laxcomma": true, - "indent": 2, - "globalstrict": true, - "maxparams": 6, - "maxdepth": 3, - "maxstatements": 20, - "maxcomplexity": 10, - "maxlen": 100, - "globals": { - "describe": true, - "it": true, - "before": true, - "after": true - } -} diff --git a/node_modules/streamroller/.npmignore b/node_modules/streamroller/.npmignore deleted file mode 100644 index a72b52e..0000000 --- a/node_modules/streamroller/.npmignore +++ /dev/null @@ -1,15 +0,0 @@ -lib-cov -*.seed -*.log -*.csv -*.dat -*.out -*.pid -*.gz - -pids -logs -results - -npm-debug.log -node_modules diff --git a/node_modules/streamroller/.travis.yml b/node_modules/streamroller/.travis.yml deleted file mode 100644 index c886a6e..0000000 --- a/node_modules/streamroller/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -language: node_js -sudo: false -node_js: - - "6" - - "5" - - "4" - - "0.12" diff --git a/node_modules/streamroller/LICENSE b/node_modules/streamroller/LICENSE deleted file mode 100644 index f03266b..0000000 --- a/node_modules/streamroller/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013 Gareth Jones - -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. diff --git a/node_modules/streamroller/README.md b/node_modules/streamroller/README.md deleted file mode 100644 index a3cef05..0000000 --- a/node_modules/streamroller/README.md +++ /dev/null @@ -1,54 +0,0 @@ -streamroller -============ - -node.js file streams that roll over when they reach a maximum size, or a date/time. - - npm install streamroller - -## usage - - var rollers = require('streamroller'); - var stream = new rollers.RollingFileStream('myfile', 1024, 3); - stream.write("stuff"); - stream.end(); - -The streams behave the same as standard node.js streams, except that when certain conditions are met they will rename the current file to a backup and start writing to a new file. - -### new RollingFileStream(filename [, maxSize, numBackups, options]) -* `filename` (String) -* `maxSize` - the size in bytes to trigger a rollover, if not provided this defaults to MAX_SAFE_INTEGER and the stream will not roll. -* `numBackups` - the number of old files to keep -* `options` - Object - * `encoding` - defaults to 'utf8' - * `mode` - defaults to 0644 - * `flags` - defaults to 'a' - * `compress` - (boolean) defaults to `false` - compress the backup files using gzip (files will have `.gz` extension). - -This returns a `WritableStream`. When the current file being written to (given by `filename`) gets up to or larger than `maxSize`, then the current file will be renamed to `filename.1` and a new file will start being written to. Up to `numBackups` of old files are maintained, so if `numBackups` is 3 then there will be 4 files: -

-     filename
-     filename.1
-     filename.2
-     filename.3
-
-When filename size >= maxSize then: -
-     filename -> filename.1
-     filename.1 -> filename.2
-     filename.2 -> filename.3
-     filename.3 gets overwritten
-     filename is a new file
-
- -### new DateRollingFileStream(filename, pattern, options) -* `filename` (String) -* `pattern` (String) - the date pattern to trigger rolling (see below) -* `options` - Object - * `encoding` - defaults to 'utf8' - * `mode` defaults to 0644 - * `flags` defaults to 'a' - * `compress` - (boolean) compress the backup files, defaults to false - * `alwaysIncludePattern` - (boolean) extend the initial file with the pattern, defaults to false - - -This returns a `WritableStream`. When the current time, formatted as `pattern`, changes then the current file will be renamed to `filename.formattedDate` where `formattedDate` is the result of processing the date through the pattern, and a new file will begin to be written. Streamroller uses [date-format](http://github.com/nomiddlename/date-format) to format dates, and the `pattern` should use the date-format format. e.g. with a `pattern` of `"yyyy-MM-dd"`, and assuming today is August 29, 2013 then writing to the stream today will just write to `filename`. At midnight, `filename` will be renamed to `filename.2013-08-29` and a new `filename` will be created. If `options.alwaysIncludePattern` is true, then the initial file will be `filename.2013-08-29` and no renaming will occur at midnight, but a new file will be written to with the name `filename.2013-08-30`. diff --git a/node_modules/streamroller/lib/BaseRollingFileStream.js b/node_modules/streamroller/lib/BaseRollingFileStream.js deleted file mode 100644 index 5666c4f..0000000 --- a/node_modules/streamroller/lib/BaseRollingFileStream.js +++ /dev/null @@ -1,118 +0,0 @@ -"use strict"; -var fs = require('fs') -, zlib = require('zlib') -, debug = require('debug')('streamroller:BaseRollingFileStream') -, mkdirp = require('mkdirp') -, path = require('path') -, util = require('util') -, stream = require('readable-stream'); - -module.exports = BaseRollingFileStream; - -function BaseRollingFileStream(filename, options) { - debug("In BaseRollingFileStream"); - this.filename = filename; - this.options = options || {}; - this.options.encoding = this.options.encoding || 'utf8'; - this.options.mode = this.options.mode || parseInt('0644', 8); - this.options.flags = this.options.flags || 'a'; - - this.currentSize = 0; - - function currentFileSize(file) { - var fileSize = 0; - try { - fileSize = fs.statSync(file).size; - } catch (e) { - // file does not exist - } - return fileSize; - } - - function throwErrorIfArgumentsAreNotValid() { - if (!filename) { - throw new Error("You must specify a filename"); - } - } - - throwErrorIfArgumentsAreNotValid(); - debug("Calling BaseRollingFileStream.super"); - BaseRollingFileStream.super_.call(this); - this.openTheStream(); - this.currentSize = currentFileSize(this.filename); -} -util.inherits(BaseRollingFileStream, stream.Writable); - -BaseRollingFileStream.prototype._write = function(chunk, encoding, callback) { - var that = this; - function writeTheChunk() { - debug("writing the chunk to the underlying stream"); - that.currentSize += chunk.length; - try { - that.theStream.write(chunk, encoding, callback); - } - catch (err){ - debug(err); - callback(); - } - } - - debug("in _write"); - - if (this.shouldRoll()) { - this.currentSize = 0; - this.roll(this.filename, writeTheChunk); - } else { - writeTheChunk(); - } -}; - -BaseRollingFileStream.prototype.openTheStream = function(cb) { - debug("opening the underlying stream"); - var that = this; - mkdirp.sync(path.dirname(this.filename)); - this.theStream = fs.createWriteStream(this.filename, this.options); - this.theStream.on('error', function(err) { - that.emit('error', err); - }); - if (cb) { - this.theStream.on("open", cb); - } -}; - -BaseRollingFileStream.prototype.closeTheStream = function(cb) { - debug("closing the underlying stream"); - this.theStream.end(cb); -}; - -BaseRollingFileStream.prototype.compress = function(filename, cb) { - debug('Compressing ', filename, ' -> ', filename, '.gz'); - var gzip = zlib.createGzip(); - var inp = fs.createReadStream(filename); - var out = fs.createWriteStream(filename+".gz"); - inp.pipe(gzip).pipe(out); - - out.on('finish', function(err) { - debug('Removing original ', filename); - fs.unlink(filename, cb); - }); -}; - -BaseRollingFileStream.prototype.shouldRoll = function() { - return false; // default behaviour is never to roll -}; - -BaseRollingFileStream.prototype.roll = function(filename, callback) { - callback(); // default behaviour is not to do anything -}; - -BaseRollingFileStream.prototype.end = function(chunk, encoding, callback) { - var self = this; - this.theStream.end(chunk, encoding, function(err) { - stream.Writable.prototype.end.call(self, function() { - if (callback) { - callback(err); - } - }); - }); -}; diff --git a/node_modules/streamroller/lib/DateRollingFileStream.js b/node_modules/streamroller/lib/DateRollingFileStream.js deleted file mode 100644 index fb3314b..0000000 --- a/node_modules/streamroller/lib/DateRollingFileStream.js +++ /dev/null @@ -1,136 +0,0 @@ -"use strict"; -var BaseRollingFileStream = require('./BaseRollingFileStream') - , debug = require('debug')('streamroller:DateRollingFileStream') - , format = require('date-format') - , fs = require('fs') - , path = require('path') - , util = require('util'); - -module.exports = DateRollingFileStream; - -function findTimestampFromFileIfExists(filename, now) { - return fs.existsSync(filename) ? fs.statSync(filename).mtime : new Date(now()); -} - -function DateRollingFileStream(filename, pattern, options, now) { - debug("Now is ", now); - if (pattern && typeof(pattern) === 'object') { - now = options; - options = pattern; - pattern = null; - } - this.pattern = pattern || '.yyyy-MM-dd'; - this.now = now || Date.now; - this.lastTimeWeWroteSomething = format.asString( - this.pattern, - findTimestampFromFileIfExists(filename, this.now) - ); - - this.baseFilename = filename; - this.alwaysIncludePattern = false; - - if (options) { - if (options.alwaysIncludePattern) { - this.alwaysIncludePattern = true; - filename = this.baseFilename + this.lastTimeWeWroteSomething; - } - delete options.alwaysIncludePattern; - if (Object.keys(options).length === 0) { - options = null; - } - } - debug("this.now is ", this.now, ", now is ", now); - - DateRollingFileStream.super_.call(this, filename, options); -} -util.inherits(DateRollingFileStream, BaseRollingFileStream); - -DateRollingFileStream.prototype.shouldRoll = function () { - var lastTime = this.lastTimeWeWroteSomething, - thisTime = format.asString(this.pattern, new Date(this.now())); - - debug("DateRollingFileStream.shouldRoll with now = ", - this.now(), ", thisTime = ", thisTime, ", lastTime = ", lastTime); - - this.lastTimeWeWroteSomething = thisTime; - this.previousTime = lastTime; - - return thisTime !== lastTime; -}; - -DateRollingFileStream.prototype.roll = function (filename, callback) { - var that = this; - - debug("Starting roll"); - - if (this.alwaysIncludePattern) { - this.filename = this.baseFilename + this.lastTimeWeWroteSomething; - this.closeTheStream( - this.compressIfNeeded.bind(this, filename, - this.removeOldFilesIfNeeded.bind(this, - this.openTheStream.bind(this, callback)))); - } else { - var newFilename = this.baseFilename + this.previousTime; - this.closeTheStream( - deleteAnyExistingFile.bind(null, - renameTheCurrentFile.bind(null, - this.compressIfNeeded.bind(this, newFilename, - this.removeOldFilesIfNeeded.bind(this, - this.openTheStream.bind(this, callback)))))); - } - - function deleteAnyExistingFile(cb) { - //on windows, you can get a EEXIST error if you rename a file to an existing file - //so, we'll try to delete the file we're renaming to first - fs.unlink(newFilename, function (err) { - - //ignore err: if we could not delete, it's most likely that it doesn't exist - cb(); - }); - } - - function renameTheCurrentFile(cb) { - debug("Renaming the ", filename, " -> ", newFilename); - fs.rename(filename, newFilename, cb); - } -}; - -DateRollingFileStream.prototype.compressIfNeeded = function (filename, cb) { - debug("Checking if we need to compress the old file"); - if (this.options.compress) { - this.compress(filename, cb); - } else { - cb(); - } -}; - -DateRollingFileStream.prototype.removeOldFilesIfNeeded = function (cb) { - debug("Checking if we need to delete old files"); - if (this.options.daysToKeep && this.options.daysToKeep > 0) { - var oldestDate = new Date(this.now() - (this.options.daysToKeep * (24 * 60 * 60 * 1000))); - debug("Will delete any log files modified before ", oldestDate.toString()); - - this.removeFilesOlderThan(oldestDate); - } - cb(); -}; - -DateRollingFileStream.prototype.removeFilesOlderThan = function (oldestDate) { - - // Loop through any log files and delete any whose mtime is earlier than oldestDate - var dirToScan = path.dirname(this.baseFilename); - var fileToMatch = path.basename(this.baseFilename); - var filesToCheck = fs.readdirSync(dirToScan).filter(function (file) { - return file.indexOf(fileToMatch) > -1; - }); - for (var i = 0; i < filesToCheck.length; i++) { - var fileToCheck = path.join(dirToScan, filesToCheck[i]); - var fileStats = fs.statSync(fileToCheck); - if (fileStats.mtime < oldestDate) { - debug("Deleting old log ", filesToCheck); - fs.unlinkSync(fileToCheck); - } - } -}; - - diff --git a/node_modules/streamroller/lib/RollingFileStream.js b/node_modules/streamroller/lib/RollingFileStream.js deleted file mode 100644 index 94211d1..0000000 --- a/node_modules/streamroller/lib/RollingFileStream.js +++ /dev/null @@ -1,110 +0,0 @@ -"use strict"; -var BaseRollingFileStream = require('./BaseRollingFileStream') -, debug = require('debug')('streamroller:RollingFileStream') -, util = require('util') -, path = require('path') -, child_process = require('child_process') -, fs = require('fs'); - -module.exports = RollingFileStream; - -function RollingFileStream (filename, size, backups, options) { - //if you don't specify a size, this will behave like a normal file stream - this.size = size || Number.MAX_SAFE_INTEGER; - this.backups = backups || 1; - - function throwErrorIfArgumentsAreNotValid() { - if (!filename || size <= 0) { - throw new Error("You must specify a filename and file size"); - } - } - - throwErrorIfArgumentsAreNotValid(); - - RollingFileStream.super_.call(this, filename, options); -} -util.inherits(RollingFileStream, BaseRollingFileStream); - -RollingFileStream.prototype.shouldRoll = function() { - debug("should roll with current size " + this.currentSize + " and max size " + this.size); - return this.currentSize >= this.size; -}; - -RollingFileStream.prototype.roll = function(filename, callback) { - var that = this, - nameMatcher = new RegExp('^' + path.basename(filename)); - - function justTheseFiles (item) { - return nameMatcher.test(item); - } - - function index(filename_) { - debug('Calculating index of '+filename_); - return parseInt(filename_.substring((path.basename(filename) + '.').length), 10) || 0; - } - - function byIndex(a, b) { - if (index(a) > index(b)) { - return 1; - } else if (index(a) < index(b) ) { - return -1; - } else { - return 0; - } - } - - function increaseFileIndex (fileToRename, cb) { - var idx = index(fileToRename); - debug('Index of ' + fileToRename + ' is ' + idx); - if (idx < that.backups) { - - var ext = path.extname(fileToRename); - var destination = filename + '.' + (idx+1); - if (that.options.compress && /^gz$/.test(ext.substring(1))) { - destination+=ext; - } - //on windows, you can get a EEXIST error if you rename a file to an existing file - //so, we'll try to delete the file we're renaming to first - fs.unlink(destination, function (err) { - //ignore err: if we could not delete, it's most likely that it doesn't exist - debug('Renaming ' + fileToRename + ' -> ' + destination); - fs.rename(path.join(path.dirname(filename), fileToRename), destination, function(err) { - if (err) { - cb(err); - } else { - if (that.options.compress && ext!=".gz") { - that.compress(destination, cb); - } else { - cb(); - } - } - }); - }); - } else { - cb(); - } - } - - function renameTheFiles(cb) { - //roll the backups (rename file.n to file.n+1, where n <= numBackups) - debug("Renaming the old files"); - fs.readdir(path.dirname(filename), function (err, files) { - if (err) { - return cb(err); - } - var filesToProcess = files.filter(justTheseFiles).sort(byIndex); - (function processOne(err) { - var file = filesToProcess.pop(); - if (!file || err) { return cb(err); } - increaseFileIndex(file, processOne); - })(); - }); - } - - debug("Rolling, rolling, rolling"); - this.closeTheStream( - renameTheFiles.bind(null, - this.openTheStream.bind(this, - callback))); - -}; diff --git a/node_modules/streamroller/lib/index.js b/node_modules/streamroller/lib/index.js deleted file mode 100644 index d8e026d..0000000 --- a/node_modules/streamroller/lib/index.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -exports.RollingFileStream = require('./RollingFileStream'); -exports.DateRollingFileStream = require('./DateRollingFileStream'); diff --git a/node_modules/streamroller/node_modules/debug/Readme.md b/node_modules/streamroller/node_modules/debug/Readme.md deleted file mode 100644 index c5a34e8..0000000 --- a/node_modules/streamroller/node_modules/debug/Readme.md +++ /dev/null @@ -1,115 +0,0 @@ -# debug - - tiny node.js debugging utility modelled after node core's debugging technique. - -## Installation - -``` -$ npm install debug -``` - -## Usage - - With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you're used to work fine. A unique color is selected per-function for visibility. - -Example _app.js_: - -```js -var debug = require('debug')('http') - , http = require('http') - , name = 'My App'; - -// fake app - -debug('booting %s', name); - -http.createServer(function(req, res){ - debug(req.method + ' ' + req.url); - res.end('hello\n'); -}).listen(3000, function(){ - debug('listening'); -}); - -// fake worker of some kind - -require('./worker'); -``` - -Example _worker.js_: - -```js -var debug = require('debug')('worker'); - -setInterval(function(){ - debug('doing some work'); -}, 1000); -``` - - The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples: - - ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png) - - ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png) - -## Millisecond diff - - When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls. - - ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png) - - When stderr is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below: - _(NOTE: Debug now uses stderr instead of stdout, so the correct shell command for this example is actually `DEBUG=* node example/worker 2> out &`)_ - - ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png) - -## Conventions - - If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". - -## Wildcards - - The "*" character may be used as a wildcard. Suppose for example your library has debuggers named "connect:bodyParser", "connect:compress", "connect:session", instead of listing all three with `DEBUG=connect:bodyParser,connect.compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`. - - You can also exclude specific debuggers by prefixing them with a "-" character. For example, `DEBUG=* -connect:*` would include all debuggers except those starting with "connect:". - -## Browser support - - Debug works in the browser as well, currently persisted by `localStorage`. For example if you have `worker:a` and `worker:b` as shown below, and wish to debug both type `debug.enable('worker:*')` in the console and refresh the page, this will remain until you disable with `debug.disable()`. - -```js -a = debug('worker:a'); -b = debug('worker:b'); - -setInterval(function(){ - a('doing some work'); -}, 1000); - -setInterval(function(){ - a('doing some work'); -}, 1200); -``` - -## License - -(The MIT License) - -Copyright (c) 2011 TJ Holowaychuk <tj@vision-media.ca> - -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. diff --git a/node_modules/streamroller/node_modules/debug/debug.js b/node_modules/streamroller/node_modules/debug/debug.js deleted file mode 100644 index 509dc0d..0000000 --- a/node_modules/streamroller/node_modules/debug/debug.js +++ /dev/null @@ -1,137 +0,0 @@ - -/** - * Expose `debug()` as the module. - */ - -module.exports = debug; - -/** - * Create a debugger with the given `name`. - * - * @param {String} name - * @return {Type} - * @api public - */ - -function debug(name) { - if (!debug.enabled(name)) return function(){}; - - return function(fmt){ - fmt = coerce(fmt); - - var curr = new Date; - var ms = curr - (debug[name] || curr); - debug[name] = curr; - - fmt = name - + ' ' - + fmt - + ' +' + debug.humanize(ms); - - // This hackery is required for IE8 - // where `console.log` doesn't have 'apply' - window.console - && console.log - && Function.prototype.apply.call(console.log, console, arguments); - } -} - -/** - * The currently active debug mode names. - */ - -debug.names = []; -debug.skips = []; - -/** - * Enables a debug mode by name. This can include modes - * separated by a colon and wildcards. - * - * @param {String} name - * @api public - */ - -debug.enable = function(name) { - try { - localStorage.debug = name; - } catch(e){} - - var split = (name || '').split(/[\s,]+/) - , len = split.length; - - for (var i = 0; i < len; i++) { - name = split[i].replace('*', '.*?'); - if (name[0] === '-') { - debug.skips.push(new RegExp('^' + name.substr(1) + '$')); - } - else { - debug.names.push(new RegExp('^' + name + '$')); - } - } -}; - -/** - * Disable debug output. - * - * @api public - */ - -debug.disable = function(){ - debug.enable(''); -}; - -/** - * Humanize the given `ms`. - * - * @param {Number} m - * @return {String} - * @api private - */ - -debug.humanize = function(ms) { - var sec = 1000 - , min = 60 * 1000 - , hour = 60 * min; - - if (ms >= hour) return (ms / hour).toFixed(1) + 'h'; - if (ms >= min) return (ms / min).toFixed(1) + 'm'; - if (ms >= sec) return (ms / sec | 0) + 's'; - return ms + 'ms'; -}; - -/** - * Returns true if the given mode name is enabled, false otherwise. - * - * @param {String} name - * @return {Boolean} - * @api public - */ - -debug.enabled = function(name) { - for (var i = 0, len = debug.skips.length; i < len; i++) { - if (debug.skips[i].test(name)) { - return false; - } - } - for (var i = 0, len = debug.names.length; i < len; i++) { - if (debug.names[i].test(name)) { - return true; - } - } - return false; -}; - -/** - * Coerce `val`. - */ - -function coerce(val) { - if (val instanceof Error) return val.stack || val.message; - return val; -} - -// persist - -try { - if (window.localStorage) debug.enable(localStorage.debug); -} catch(e){} diff --git a/node_modules/streamroller/node_modules/debug/index.js b/node_modules/streamroller/node_modules/debug/index.js deleted file mode 100644 index e02c13b..0000000 --- a/node_modules/streamroller/node_modules/debug/index.js +++ /dev/null @@ -1,5 +0,0 @@ -if ('undefined' == typeof window) { - module.exports = require('./lib/debug'); -} else { - module.exports = require('./debug'); -} diff --git a/node_modules/streamroller/node_modules/debug/lib/debug.js b/node_modules/streamroller/node_modules/debug/lib/debug.js deleted file mode 100644 index 3b0a918..0000000 --- a/node_modules/streamroller/node_modules/debug/lib/debug.js +++ /dev/null @@ -1,147 +0,0 @@ -/** - * Module dependencies. - */ - -var tty = require('tty'); - -/** - * Expose `debug()` as the module. - */ - -module.exports = debug; - -/** - * Enabled debuggers. - */ - -var names = [] - , skips = []; - -(process.env.DEBUG || '') - .split(/[\s,]+/) - .forEach(function(name){ - name = name.replace('*', '.*?'); - if (name[0] === '-') { - skips.push(new RegExp('^' + name.substr(1) + '$')); - } else { - names.push(new RegExp('^' + name + '$')); - } - }); - -/** - * Colors. - */ - -var colors = [6, 2, 3, 4, 5, 1]; - -/** - * Previous debug() call. - */ - -var prev = {}; - -/** - * Previously assigned color. - */ - -var prevColor = 0; - -/** - * Is stdout a TTY? Colored output is disabled when `true`. - */ - -var isatty = tty.isatty(2); - -/** - * Select a color. - * - * @return {Number} - * @api private - */ - -function color() { - return colors[prevColor++ % colors.length]; -} - -/** - * Humanize the given `ms`. - * - * @param {Number} m - * @return {String} - * @api private - */ - -function humanize(ms) { - var sec = 1000 - , min = 60 * 1000 - , hour = 60 * min; - - if (ms >= hour) return (ms / hour).toFixed(1) + 'h'; - if (ms >= min) return (ms / min).toFixed(1) + 'm'; - if (ms >= sec) return (ms / sec | 0) + 's'; - return ms + 'ms'; -} - -/** - * Create a debugger with the given `name`. - * - * @param {String} name - * @return {Type} - * @api public - */ - -function debug(name) { - function disabled(){} - disabled.enabled = false; - - var match = skips.some(function(re){ - return re.test(name); - }); - - if (match) return disabled; - - match = names.some(function(re){ - return re.test(name); - }); - - if (!match) return disabled; - var c = color(); - - function colored(fmt) { - fmt = coerce(fmt); - - var curr = new Date; - var ms = curr - (prev[name] || curr); - prev[name] = curr; - - fmt = ' \u001b[9' + c + 'm' + name + ' ' - + '\u001b[3' + c + 'm\u001b[90m' - + fmt + '\u001b[3' + c + 'm' - + ' +' + humanize(ms) + '\u001b[0m'; - - console.error.apply(this, arguments); - } - - function plain(fmt) { - fmt = coerce(fmt); - - fmt = new Date().toUTCString() - + ' ' + name + ' ' + fmt; - console.error.apply(this, arguments); - } - - colored.enabled = plain.enabled = true; - - return isatty || process.env.DEBUG_COLORS - ? colored - : plain; -} - -/** - * Coerce `val`. - */ - -function coerce(val) { - if (val instanceof Error) return val.stack || val.message; - return val; -} diff --git a/node_modules/streamroller/node_modules/debug/package.json b/node_modules/streamroller/node_modules/debug/package.json deleted file mode 100644 index 2f0d087..0000000 --- a/node_modules/streamroller/node_modules/debug/package.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "debug@^0.7.2", - "scope": null, - "escapedName": "debug", - "name": "debug", - "rawSpec": "^0.7.2", - "spec": ">=0.7.2 <0.8.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/streamroller" - ] - ], - "_from": "debug@>=0.7.2 <0.8.0", - "_id": "debug@0.7.4", - "_inCache": true, - "_installable": true, - "_location": "/streamroller/debug", - "_npmUser": { - "name": "tjholowaychuk", - "email": "tj@vision-media.ca" - }, - "_npmVersion": "1.3.13", - "_phantomChildren": {}, - "_requested": { - "raw": "debug@^0.7.2", - "scope": null, - "escapedName": "debug", - "name": "debug", - "rawSpec": "^0.7.2", - "spec": ">=0.7.2 <0.8.0", - "type": "range" - }, - "_requiredBy": [ - "/streamroller" - ], - "_resolved": "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz", - "_shasum": "06e1ea8082c2cb14e39806e22e2f6f757f92af39", - "_shrinkwrap": null, - "_spec": "debug@^0.7.2", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/streamroller", - "author": { - "name": "TJ Holowaychuk", - "email": "tj@vision-media.ca" - }, - "browser": "./debug.js", - "bugs": { - "url": "https://github.com/visionmedia/debug/issues" - }, - "component": { - "scripts": { - "debug/index.js": "index.js", - "debug/debug.js": "debug.js" - } - }, - "dependencies": {}, - "description": "small debugging utility", - "devDependencies": { - "mocha": "*" - }, - "directories": {}, - "dist": { - "shasum": "06e1ea8082c2cb14e39806e22e2f6f757f92af39", - "tarball": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz" - }, - "engines": { - "node": "*" - }, - "files": [ - "lib/debug.js", - "debug.js", - "index.js" - ], - "homepage": "https://github.com/visionmedia/debug", - "keywords": [ - "debug", - "log", - "debugger" - ], - "main": "lib/debug.js", - "maintainers": [ - { - "name": "tjholowaychuk", - "email": "tj@vision-media.ca" - } - ], - "name": "debug", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/visionmedia/debug.git" - }, - "version": "0.7.4" -} diff --git a/node_modules/streamroller/node_modules/isarray/README.md b/node_modules/streamroller/node_modules/isarray/README.md deleted file mode 100644 index 052a62b..0000000 --- a/node_modules/streamroller/node_modules/isarray/README.md +++ /dev/null @@ -1,54 +0,0 @@ - -# isarray - -`Array#isArray` for older browsers. - -## Usage - -```js -var isArray = require('isarray'); - -console.log(isArray([])); // => true -console.log(isArray({})); // => false -``` - -## Installation - -With [npm](http://npmjs.org) do - -```bash -$ npm install isarray -``` - -Then bundle for the browser with -[browserify](https://github.com/substack/browserify). - -With [component](http://component.io) do - -```bash -$ component install juliangruber/isarray -``` - -## License - -(MIT) - -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> - -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. diff --git a/node_modules/streamroller/node_modules/isarray/build/build.js b/node_modules/streamroller/node_modules/isarray/build/build.js deleted file mode 100644 index ec58596..0000000 --- a/node_modules/streamroller/node_modules/isarray/build/build.js +++ /dev/null @@ -1,209 +0,0 @@ - -/** - * Require the given path. - * - * @param {String} path - * @return {Object} exports - * @api public - */ - -function require(path, parent, orig) { - var resolved = require.resolve(path); - - // lookup failed - if (null == resolved) { - orig = orig || path; - parent = parent || 'root'; - var err = new Error('Failed to require "' + orig + '" from "' + parent + '"'); - err.path = orig; - err.parent = parent; - err.require = true; - throw err; - } - - var module = require.modules[resolved]; - - // perform real require() - // by invoking the module's - // registered function - if (!module.exports) { - module.exports = {}; - module.client = module.component = true; - module.call(this, module.exports, require.relative(resolved), module); - } - - return module.exports; -} - -/** - * Registered modules. - */ - -require.modules = {}; - -/** - * Registered aliases. - */ - -require.aliases = {}; - -/** - * Resolve `path`. - * - * Lookup: - * - * - PATH/index.js - * - PATH.js - * - PATH - * - * @param {String} path - * @return {String} path or null - * @api private - */ - -require.resolve = function(path) { - if (path.charAt(0) === '/') path = path.slice(1); - var index = path + '/index.js'; - - var paths = [ - path, - path + '.js', - path + '.json', - path + '/index.js', - path + '/index.json' - ]; - - for (var i = 0; i < paths.length; i++) { - var path = paths[i]; - if (require.modules.hasOwnProperty(path)) return path; - } - - if (require.aliases.hasOwnProperty(index)) { - return require.aliases[index]; - } -}; - -/** - * Normalize `path` relative to the current path. - * - * @param {String} curr - * @param {String} path - * @return {String} - * @api private - */ - -require.normalize = function(curr, path) { - var segs = []; - - if ('.' != path.charAt(0)) return path; - - curr = curr.split('/'); - path = path.split('/'); - - for (var i = 0; i < path.length; ++i) { - if ('..' == path[i]) { - curr.pop(); - } else if ('.' != path[i] && '' != path[i]) { - segs.push(path[i]); - } - } - - return curr.concat(segs).join('/'); -}; - -/** - * Register module at `path` with callback `definition`. - * - * @param {String} path - * @param {Function} definition - * @api private - */ - -require.register = function(path, definition) { - require.modules[path] = definition; -}; - -/** - * Alias a module definition. - * - * @param {String} from - * @param {String} to - * @api private - */ - -require.alias = function(from, to) { - if (!require.modules.hasOwnProperty(from)) { - throw new Error('Failed to alias "' + from + '", it does not exist'); - } - require.aliases[to] = from; -}; - -/** - * Return a require function relative to the `parent` path. - * - * @param {String} parent - * @return {Function} - * @api private - */ - -require.relative = function(parent) { - var p = require.normalize(parent, '..'); - - /** - * lastIndexOf helper. - */ - - function lastIndexOf(arr, obj) { - var i = arr.length; - while (i--) { - if (arr[i] === obj) return i; - } - return -1; - } - - /** - * The relative require() itself. - */ - - function localRequire(path) { - var resolved = localRequire.resolve(path); - return require(resolved, parent, path); - } - - /** - * Resolve relative to the parent. - */ - - localRequire.resolve = function(path) { - var c = path.charAt(0); - if ('/' == c) return path.slice(1); - if ('.' == c) return require.normalize(p, path); - - // resolve deps by returning - // the dep in the nearest "deps" - // directory - var segs = parent.split('/'); - var i = lastIndexOf(segs, 'deps') + 1; - if (!i) i = 0; - path = segs.slice(0, i + 1).join('/') + '/deps/' + path; - return path; - }; - - /** - * Check if module is defined at `path`. - */ - - localRequire.exists = function(path) { - return require.modules.hasOwnProperty(localRequire.resolve(path)); - }; - - return localRequire; -}; -require.register("isarray/index.js", function(exports, require, module){ -module.exports = Array.isArray || function (arr) { - return Object.prototype.toString.call(arr) == '[object Array]'; -}; - -}); -require.alias("isarray/index.js", "isarray/index.js"); - diff --git a/node_modules/streamroller/node_modules/isarray/component.json b/node_modules/streamroller/node_modules/isarray/component.json deleted file mode 100644 index 9e31b68..0000000 --- a/node_modules/streamroller/node_modules/isarray/component.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name" : "isarray", - "description" : "Array#isArray for older browsers", - "version" : "0.0.1", - "repository" : "juliangruber/isarray", - "homepage": "https://github.com/juliangruber/isarray", - "main" : "index.js", - "scripts" : [ - "index.js" - ], - "dependencies" : {}, - "keywords": ["browser","isarray","array"], - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "license": "MIT" -} diff --git a/node_modules/streamroller/node_modules/isarray/index.js b/node_modules/streamroller/node_modules/isarray/index.js deleted file mode 100644 index 5f5ad45..0000000 --- a/node_modules/streamroller/node_modules/isarray/index.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = Array.isArray || function (arr) { - return Object.prototype.toString.call(arr) == '[object Array]'; -}; diff --git a/node_modules/streamroller/node_modules/isarray/package.json b/node_modules/streamroller/node_modules/isarray/package.json deleted file mode 100644 index f4c7ce0..0000000 --- a/node_modules/streamroller/node_modules/isarray/package.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "isarray@0.0.1", - "scope": null, - "escapedName": "isarray", - "name": "isarray", - "rawSpec": "0.0.1", - "spec": "0.0.1", - "type": "version" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/streamroller/node_modules/readable-stream" - ] - ], - "_from": "isarray@0.0.1", - "_id": "isarray@0.0.1", - "_inCache": true, - "_installable": true, - "_location": "/streamroller/isarray", - "_npmUser": { - "name": "juliangruber", - "email": "julian@juliangruber.com" - }, - "_npmVersion": "1.2.18", - "_phantomChildren": {}, - "_requested": { - "raw": "isarray@0.0.1", - "scope": null, - "escapedName": "isarray", - "name": "isarray", - "rawSpec": "0.0.1", - "spec": "0.0.1", - "type": "version" - }, - "_requiredBy": [ - "/streamroller/readable-stream" - ], - "_resolved": "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "_shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf", - "_shrinkwrap": null, - "_spec": "isarray@0.0.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/streamroller/node_modules/readable-stream", - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "bugs": { - "url": "https://github.com/juliangruber/isarray/issues" - }, - "dependencies": {}, - "description": "Array#isArray for older browsers", - "devDependencies": { - "tap": "*" - }, - "directories": {}, - "dist": { - "shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf", - "tarball": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - }, - "homepage": "https://github.com/juliangruber/isarray", - "keywords": [ - "browser", - "isarray", - "array" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "juliangruber", - "email": "julian@juliangruber.com" - } - ], - "name": "isarray", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/juliangruber/isarray.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "0.0.1" -} diff --git a/node_modules/streamroller/node_modules/readable-stream/.npmignore b/node_modules/streamroller/node_modules/readable-stream/.npmignore deleted file mode 100644 index 38344f8..0000000 --- a/node_modules/streamroller/node_modules/readable-stream/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -build/ -test/ -examples/ -fs.js -zlib.js \ No newline at end of file diff --git a/node_modules/streamroller/node_modules/readable-stream/LICENSE b/node_modules/streamroller/node_modules/readable-stream/LICENSE deleted file mode 100644 index e3d4e69..0000000 --- a/node_modules/streamroller/node_modules/readable-stream/LICENSE +++ /dev/null @@ -1,18 +0,0 @@ -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -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. diff --git a/node_modules/streamroller/node_modules/readable-stream/README.md b/node_modules/streamroller/node_modules/readable-stream/README.md deleted file mode 100644 index e46b823..0000000 --- a/node_modules/streamroller/node_modules/readable-stream/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# readable-stream - -***Node-core streams for userland*** - -[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/) -[![NPM](https://nodei.co/npm-dl/readable-stream.png&months=6&height=3)](https://nodei.co/npm/readable-stream/) - -This package is a mirror of the Streams2 and Streams3 implementations in Node-core. - -If you want to guarantee a stable streams base, regardless of what version of Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core. - -**readable-stream** comes in two major versions, v1.0.x and v1.1.x. The former tracks the Streams2 implementation in Node 0.10, including bug-fixes and minor improvements as they are added. The latter tracks Streams3 as it develops in Node 0.11; we will likely see a v1.2.x branch for Node 0.12. - -**readable-stream** uses proper patch-level versioning so if you pin to `"~1.0.0"` you’ll get the latest Node 0.10 Streams2 implementation, including any fixes and minor non-breaking improvements. The patch-level versions of 1.0.x and 1.1.x should mirror the patch-level versions of Node-core releases. You should prefer the **1.0.x** releases for now and when you’re ready to start using Streams3, pin to `"~1.1.0"` - diff --git a/node_modules/streamroller/node_modules/readable-stream/duplex.js b/node_modules/streamroller/node_modules/readable-stream/duplex.js deleted file mode 100644 index ca807af..0000000 --- a/node_modules/streamroller/node_modules/readable-stream/duplex.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_duplex.js") diff --git a/node_modules/streamroller/node_modules/readable-stream/float.patch b/node_modules/streamroller/node_modules/readable-stream/float.patch deleted file mode 100644 index b984607..0000000 --- a/node_modules/streamroller/node_modules/readable-stream/float.patch +++ /dev/null @@ -1,923 +0,0 @@ -diff --git a/lib/_stream_duplex.js b/lib/_stream_duplex.js -index c5a741c..a2e0d8e 100644 ---- a/lib/_stream_duplex.js -+++ b/lib/_stream_duplex.js -@@ -26,8 +26,8 @@ - - module.exports = Duplex; - var util = require('util'); --var Readable = require('_stream_readable'); --var Writable = require('_stream_writable'); -+var Readable = require('./_stream_readable'); -+var Writable = require('./_stream_writable'); - - util.inherits(Duplex, Readable); - -diff --git a/lib/_stream_passthrough.js b/lib/_stream_passthrough.js -index a5e9864..330c247 100644 ---- a/lib/_stream_passthrough.js -+++ b/lib/_stream_passthrough.js -@@ -25,7 +25,7 @@ - - module.exports = PassThrough; - --var Transform = require('_stream_transform'); -+var Transform = require('./_stream_transform'); - var util = require('util'); - util.inherits(PassThrough, Transform); - -diff --git a/lib/_stream_readable.js b/lib/_stream_readable.js -index 0c3fe3e..90a8298 100644 ---- a/lib/_stream_readable.js -+++ b/lib/_stream_readable.js -@@ -23,10 +23,34 @@ module.exports = Readable; - Readable.ReadableState = ReadableState; - - var EE = require('events').EventEmitter; -+if (!EE.listenerCount) EE.listenerCount = function(emitter, type) { -+ return emitter.listeners(type).length; -+}; -+ -+if (!global.setImmediate) global.setImmediate = function setImmediate(fn) { -+ return setTimeout(fn, 0); -+}; -+if (!global.clearImmediate) global.clearImmediate = function clearImmediate(i) { -+ return clearTimeout(i); -+}; -+ - var Stream = require('stream'); - var util = require('util'); -+if (!util.isUndefined) { -+ var utilIs = require('core-util-is'); -+ for (var f in utilIs) { -+ util[f] = utilIs[f]; -+ } -+} - var StringDecoder; --var debug = util.debuglog('stream'); -+var debug; -+if (util.debuglog) -+ debug = util.debuglog('stream'); -+else try { -+ debug = require('debuglog')('stream'); -+} catch (er) { -+ debug = function() {}; -+} - - util.inherits(Readable, Stream); - -@@ -380,7 +404,7 @@ function chunkInvalid(state, chunk) { - - - function onEofChunk(stream, state) { -- if (state.decoder && !state.ended) { -+ if (state.decoder && !state.ended && state.decoder.end) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) { - state.buffer.push(chunk); -diff --git a/lib/_stream_transform.js b/lib/_stream_transform.js -index b1f9fcc..b0caf57 100644 ---- a/lib/_stream_transform.js -+++ b/lib/_stream_transform.js -@@ -64,8 +64,14 @@ - - module.exports = Transform; - --var Duplex = require('_stream_duplex'); -+var Duplex = require('./_stream_duplex'); - var util = require('util'); -+if (!util.isUndefined) { -+ var utilIs = require('core-util-is'); -+ for (var f in utilIs) { -+ util[f] = utilIs[f]; -+ } -+} - util.inherits(Transform, Duplex); - - -diff --git a/lib/_stream_writable.js b/lib/_stream_writable.js -index ba2e920..f49288b 100644 ---- a/lib/_stream_writable.js -+++ b/lib/_stream_writable.js -@@ -27,6 +27,12 @@ module.exports = Writable; - Writable.WritableState = WritableState; - - var util = require('util'); -+if (!util.isUndefined) { -+ var utilIs = require('core-util-is'); -+ for (var f in utilIs) { -+ util[f] = utilIs[f]; -+ } -+} - var Stream = require('stream'); - - util.inherits(Writable, Stream); -@@ -119,7 +125,7 @@ function WritableState(options, stream) { - function Writable(options) { - // Writable ctor is applied to Duplexes, though they're not - // instanceof Writable, they're instanceof Readable. -- if (!(this instanceof Writable) && !(this instanceof Stream.Duplex)) -+ if (!(this instanceof Writable) && !(this instanceof require('./_stream_duplex'))) - return new Writable(options); - - this._writableState = new WritableState(options, this); -diff --git a/test/simple/test-stream-big-push.js b/test/simple/test-stream-big-push.js -index e3787e4..8cd2127 100644 ---- a/test/simple/test-stream-big-push.js -+++ b/test/simple/test-stream-big-push.js -@@ -21,7 +21,7 @@ - - var common = require('../common'); - var assert = require('assert'); --var stream = require('stream'); -+var stream = require('../../'); - var str = 'asdfasdfasdfasdfasdf'; - - var r = new stream.Readable({ -diff --git a/test/simple/test-stream-end-paused.js b/test/simple/test-stream-end-paused.js -index bb73777..d40efc7 100644 ---- a/test/simple/test-stream-end-paused.js -+++ b/test/simple/test-stream-end-paused.js -@@ -25,7 +25,7 @@ var gotEnd = false; - - // Make sure we don't miss the end event for paused 0-length streams - --var Readable = require('stream').Readable; -+var Readable = require('../../').Readable; - var stream = new Readable(); - var calledRead = false; - stream._read = function() { -diff --git a/test/simple/test-stream-pipe-after-end.js b/test/simple/test-stream-pipe-after-end.js -index b46ee90..0be8366 100644 ---- a/test/simple/test-stream-pipe-after-end.js -+++ b/test/simple/test-stream-pipe-after-end.js -@@ -22,8 +22,8 @@ - var common = require('../common'); - var assert = require('assert'); - --var Readable = require('_stream_readable'); --var Writable = require('_stream_writable'); -+var Readable = require('../../lib/_stream_readable'); -+var Writable = require('../../lib/_stream_writable'); - var util = require('util'); - - util.inherits(TestReadable, Readable); -diff --git a/test/simple/test-stream-pipe-cleanup.js b/test/simple/test-stream-pipe-cleanup.js -deleted file mode 100644 -index f689358..0000000 ---- a/test/simple/test-stream-pipe-cleanup.js -+++ /dev/null -@@ -1,122 +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. -- --// This test asserts that Stream.prototype.pipe does not leave listeners --// hanging on the source or dest. -- --var common = require('../common'); --var stream = require('stream'); --var assert = require('assert'); --var util = require('util'); -- --function Writable() { -- this.writable = true; -- this.endCalls = 0; -- stream.Stream.call(this); --} --util.inherits(Writable, stream.Stream); --Writable.prototype.end = function() { -- this.endCalls++; --}; -- --Writable.prototype.destroy = function() { -- this.endCalls++; --}; -- --function Readable() { -- this.readable = true; -- stream.Stream.call(this); --} --util.inherits(Readable, stream.Stream); -- --function Duplex() { -- this.readable = true; -- Writable.call(this); --} --util.inherits(Duplex, Writable); -- --var i = 0; --var limit = 100; -- --var w = new Writable(); -- --var r; -- --for (i = 0; i < limit; i++) { -- r = new Readable(); -- r.pipe(w); -- r.emit('end'); --} --assert.equal(0, r.listeners('end').length); --assert.equal(limit, w.endCalls); -- --w.endCalls = 0; -- --for (i = 0; i < limit; i++) { -- r = new Readable(); -- r.pipe(w); -- r.emit('close'); --} --assert.equal(0, r.listeners('close').length); --assert.equal(limit, w.endCalls); -- --w.endCalls = 0; -- --r = new Readable(); -- --for (i = 0; i < limit; i++) { -- w = new Writable(); -- r.pipe(w); -- w.emit('close'); --} --assert.equal(0, w.listeners('close').length); -- --r = new Readable(); --w = new Writable(); --var d = new Duplex(); --r.pipe(d); // pipeline A --d.pipe(w); // pipeline B --assert.equal(r.listeners('end').length, 2); // A.onend, A.cleanup --assert.equal(r.listeners('close').length, 2); // A.onclose, A.cleanup --assert.equal(d.listeners('end').length, 2); // B.onend, B.cleanup --assert.equal(d.listeners('close').length, 3); // A.cleanup, B.onclose, B.cleanup --assert.equal(w.listeners('end').length, 0); --assert.equal(w.listeners('close').length, 1); // B.cleanup -- --r.emit('end'); --assert.equal(d.endCalls, 1); --assert.equal(w.endCalls, 0); --assert.equal(r.listeners('end').length, 0); --assert.equal(r.listeners('close').length, 0); --assert.equal(d.listeners('end').length, 2); // B.onend, B.cleanup --assert.equal(d.listeners('close').length, 2); // B.onclose, B.cleanup --assert.equal(w.listeners('end').length, 0); --assert.equal(w.listeners('close').length, 1); // B.cleanup -- --d.emit('end'); --assert.equal(d.endCalls, 1); --assert.equal(w.endCalls, 1); --assert.equal(r.listeners('end').length, 0); --assert.equal(r.listeners('close').length, 0); --assert.equal(d.listeners('end').length, 0); --assert.equal(d.listeners('close').length, 0); --assert.equal(w.listeners('end').length, 0); --assert.equal(w.listeners('close').length, 0); -diff --git a/test/simple/test-stream-pipe-error-handling.js b/test/simple/test-stream-pipe-error-handling.js -index c5d724b..c7d6b7d 100644 ---- a/test/simple/test-stream-pipe-error-handling.js -+++ b/test/simple/test-stream-pipe-error-handling.js -@@ -21,7 +21,7 @@ - - var common = require('../common'); - var assert = require('assert'); --var Stream = require('stream').Stream; -+var Stream = require('../../').Stream; - - (function testErrorListenerCatches() { - var source = new Stream(); -diff --git a/test/simple/test-stream-pipe-event.js b/test/simple/test-stream-pipe-event.js -index cb9d5fe..56f8d61 100644 ---- a/test/simple/test-stream-pipe-event.js -+++ b/test/simple/test-stream-pipe-event.js -@@ -20,7 +20,7 @@ - // USE OR OTHER DEALINGS IN THE SOFTWARE. - - var common = require('../common'); --var stream = require('stream'); -+var stream = require('../../'); - var assert = require('assert'); - var util = require('util'); - -diff --git a/test/simple/test-stream-push-order.js b/test/simple/test-stream-push-order.js -index f2e6ec2..a5c9bf9 100644 ---- a/test/simple/test-stream-push-order.js -+++ b/test/simple/test-stream-push-order.js -@@ -20,7 +20,7 @@ - // USE OR OTHER DEALINGS IN THE SOFTWARE. - - var common = require('../common.js'); --var Readable = require('stream').Readable; -+var Readable = require('../../').Readable; - var assert = require('assert'); - - var s = new Readable({ -diff --git a/test/simple/test-stream-push-strings.js b/test/simple/test-stream-push-strings.js -index 06f43dc..1701a9a 100644 ---- a/test/simple/test-stream-push-strings.js -+++ b/test/simple/test-stream-push-strings.js -@@ -22,7 +22,7 @@ - var common = require('../common'); - var assert = require('assert'); - --var Readable = require('stream').Readable; -+var Readable = require('../../').Readable; - var util = require('util'); - - util.inherits(MyStream, Readable); -diff --git a/test/simple/test-stream-readable-event.js b/test/simple/test-stream-readable-event.js -index ba6a577..a8e6f7b 100644 ---- a/test/simple/test-stream-readable-event.js -+++ b/test/simple/test-stream-readable-event.js -@@ -22,7 +22,7 @@ - var common = require('../common'); - var assert = require('assert'); - --var Readable = require('stream').Readable; -+var Readable = require('../../').Readable; - - (function first() { - // First test, not reading when the readable is added. -diff --git a/test/simple/test-stream-readable-flow-recursion.js b/test/simple/test-stream-readable-flow-recursion.js -index 2891ad6..11689ba 100644 ---- a/test/simple/test-stream-readable-flow-recursion.js -+++ b/test/simple/test-stream-readable-flow-recursion.js -@@ -27,7 +27,7 @@ var assert = require('assert'); - // more data continuously, but without triggering a nextTick - // warning or RangeError. - --var Readable = require('stream').Readable; -+var Readable = require('../../').Readable; - - // throw an error if we trigger a nextTick warning. - process.throwDeprecation = true; -diff --git a/test/simple/test-stream-unshift-empty-chunk.js b/test/simple/test-stream-unshift-empty-chunk.js -index 0c96476..7827538 100644 ---- a/test/simple/test-stream-unshift-empty-chunk.js -+++ b/test/simple/test-stream-unshift-empty-chunk.js -@@ -24,7 +24,7 @@ var assert = require('assert'); - - // This test verifies that stream.unshift(Buffer(0)) or - // stream.unshift('') does not set state.reading=false. --var Readable = require('stream').Readable; -+var Readable = require('../../').Readable; - - var r = new Readable(); - var nChunks = 10; -diff --git a/test/simple/test-stream-unshift-read-race.js b/test/simple/test-stream-unshift-read-race.js -index 83fd9fa..17c18aa 100644 ---- a/test/simple/test-stream-unshift-read-race.js -+++ b/test/simple/test-stream-unshift-read-race.js -@@ -29,7 +29,7 @@ var assert = require('assert'); - // 3. push() after the EOF signaling null is an error. - // 4. _read() is not called after pushing the EOF null chunk. - --var stream = require('stream'); -+var stream = require('../../'); - var hwm = 10; - var r = stream.Readable({ highWaterMark: hwm }); - var chunks = 10; -@@ -51,7 +51,14 @@ r._read = function(n) { - - function push(fast) { - assert(!pushedNull, 'push() after null push'); -- var c = pos >= data.length ? null : data.slice(pos, pos + n); -+ var c; -+ if (pos >= data.length) -+ c = null; -+ else { -+ if (n + pos > data.length) -+ n = data.length - pos; -+ c = data.slice(pos, pos + n); -+ } - pushedNull = c === null; - if (fast) { - pos += n; -diff --git a/test/simple/test-stream-writev.js b/test/simple/test-stream-writev.js -index 5b49e6e..b5321f3 100644 ---- a/test/simple/test-stream-writev.js -+++ b/test/simple/test-stream-writev.js -@@ -22,7 +22,7 @@ - var common = require('../common'); - var assert = require('assert'); - --var stream = require('stream'); -+var stream = require('../../'); - - var queue = []; - for (var decode = 0; decode < 2; decode++) { -diff --git a/test/simple/test-stream2-basic.js b/test/simple/test-stream2-basic.js -index 3814bf0..248c1be 100644 ---- a/test/simple/test-stream2-basic.js -+++ b/test/simple/test-stream2-basic.js -@@ -21,7 +21,7 @@ - - - var common = require('../common.js'); --var R = require('_stream_readable'); -+var R = require('../../lib/_stream_readable'); - var assert = require('assert'); - - var util = require('util'); -diff --git a/test/simple/test-stream2-compatibility.js b/test/simple/test-stream2-compatibility.js -index 6cdd4e9..f0fa84b 100644 ---- a/test/simple/test-stream2-compatibility.js -+++ b/test/simple/test-stream2-compatibility.js -@@ -21,7 +21,7 @@ - - - var common = require('../common.js'); --var R = require('_stream_readable'); -+var R = require('../../lib/_stream_readable'); - var assert = require('assert'); - - var util = require('util'); -diff --git a/test/simple/test-stream2-finish-pipe.js b/test/simple/test-stream2-finish-pipe.js -index 39b274f..006a19b 100644 ---- a/test/simple/test-stream2-finish-pipe.js -+++ b/test/simple/test-stream2-finish-pipe.js -@@ -20,7 +20,7 @@ - // USE OR OTHER DEALINGS IN THE SOFTWARE. - - var common = require('../common.js'); --var stream = require('stream'); -+var stream = require('../../'); - var Buffer = require('buffer').Buffer; - - var r = new stream.Readable(); -diff --git a/test/simple/test-stream2-fs.js b/test/simple/test-stream2-fs.js -deleted file mode 100644 -index e162406..0000000 ---- a/test/simple/test-stream2-fs.js -+++ /dev/null -@@ -1,72 +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 common = require('../common.js'); --var R = require('_stream_readable'); --var assert = require('assert'); -- --var fs = require('fs'); --var FSReadable = fs.ReadStream; -- --var path = require('path'); --var file = path.resolve(common.fixturesDir, 'x1024.txt'); -- --var size = fs.statSync(file).size; -- --var expectLengths = [1024]; -- --var util = require('util'); --var Stream = require('stream'); -- --util.inherits(TestWriter, Stream); -- --function TestWriter() { -- Stream.apply(this); -- this.buffer = []; -- this.length = 0; --} -- --TestWriter.prototype.write = function(c) { -- this.buffer.push(c.toString()); -- this.length += c.length; -- return true; --}; -- --TestWriter.prototype.end = function(c) { -- if (c) this.buffer.push(c.toString()); -- this.emit('results', this.buffer); --} -- --var r = new FSReadable(file); --var w = new TestWriter(); -- --w.on('results', function(res) { -- console.error(res, w.length); -- assert.equal(w.length, size); -- var l = 0; -- assert.deepEqual(res.map(function (c) { -- return c.length; -- }), expectLengths); -- console.log('ok'); --}); -- --r.pipe(w); -diff --git a/test/simple/test-stream2-httpclient-response-end.js b/test/simple/test-stream2-httpclient-response-end.js -deleted file mode 100644 -index 15cffc2..0000000 ---- a/test/simple/test-stream2-httpclient-response-end.js -+++ /dev/null -@@ -1,52 +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 common = require('../common.js'); --var assert = require('assert'); --var http = require('http'); --var msg = 'Hello'; --var readable_event = false; --var end_event = false; --var server = http.createServer(function(req, res) { -- res.writeHead(200, {'Content-Type': 'text/plain'}); -- res.end(msg); --}).listen(common.PORT, function() { -- http.get({port: common.PORT}, function(res) { -- var data = ''; -- res.on('readable', function() { -- console.log('readable event'); -- readable_event = true; -- data += res.read(); -- }); -- res.on('end', function() { -- console.log('end event'); -- end_event = true; -- assert.strictEqual(msg, data); -- server.close(); -- }); -- }); --}); -- --process.on('exit', function() { -- assert(readable_event); -- assert(end_event); --}); -- -diff --git a/test/simple/test-stream2-large-read-stall.js b/test/simple/test-stream2-large-read-stall.js -index 2fbfbca..667985b 100644 ---- a/test/simple/test-stream2-large-read-stall.js -+++ b/test/simple/test-stream2-large-read-stall.js -@@ -30,7 +30,7 @@ var PUSHSIZE = 20; - var PUSHCOUNT = 1000; - var HWM = 50; - --var Readable = require('stream').Readable; -+var Readable = require('../../').Readable; - var r = new Readable({ - highWaterMark: HWM - }); -@@ -39,23 +39,23 @@ var rs = r._readableState; - r._read = push; - - r.on('readable', function() { -- console.error('>> readable'); -+ //console.error('>> readable'); - do { -- console.error(' > read(%d)', READSIZE); -+ //console.error(' > read(%d)', READSIZE); - var ret = r.read(READSIZE); -- console.error(' < %j (%d remain)', ret && ret.length, rs.length); -+ //console.error(' < %j (%d remain)', ret && ret.length, rs.length); - } while (ret && ret.length === READSIZE); - -- console.error('<< after read()', -- ret && ret.length, -- rs.needReadable, -- rs.length); -+ //console.error('<< after read()', -+ // ret && ret.length, -+ // rs.needReadable, -+ // rs.length); - }); - - var endEmitted = false; - r.on('end', function() { - endEmitted = true; -- console.error('end'); -+ //console.error('end'); - }); - - var pushes = 0; -@@ -64,11 +64,11 @@ function push() { - return; - - if (pushes++ === PUSHCOUNT) { -- console.error(' push(EOF)'); -+ //console.error(' push(EOF)'); - return r.push(null); - } - -- console.error(' push #%d', pushes); -+ //console.error(' push #%d', pushes); - if (r.push(new Buffer(PUSHSIZE))) - setTimeout(push); - } -diff --git a/test/simple/test-stream2-objects.js b/test/simple/test-stream2-objects.js -index 3e6931d..ff47d89 100644 ---- a/test/simple/test-stream2-objects.js -+++ b/test/simple/test-stream2-objects.js -@@ -21,8 +21,8 @@ - - - var common = require('../common.js'); --var Readable = require('_stream_readable'); --var Writable = require('_stream_writable'); -+var Readable = require('../../lib/_stream_readable'); -+var Writable = require('../../lib/_stream_writable'); - var assert = require('assert'); - - // tiny node-tap lookalike. -diff --git a/test/simple/test-stream2-pipe-error-handling.js b/test/simple/test-stream2-pipe-error-handling.js -index cf7531c..e3f3e4e 100644 ---- a/test/simple/test-stream2-pipe-error-handling.js -+++ b/test/simple/test-stream2-pipe-error-handling.js -@@ -21,7 +21,7 @@ - - var common = require('../common'); - var assert = require('assert'); --var stream = require('stream'); -+var stream = require('../../'); - - (function testErrorListenerCatches() { - var count = 1000; -diff --git a/test/simple/test-stream2-pipe-error-once-listener.js b/test/simple/test-stream2-pipe-error-once-listener.js -index 5e8e3cb..53b2616 100755 ---- a/test/simple/test-stream2-pipe-error-once-listener.js -+++ b/test/simple/test-stream2-pipe-error-once-listener.js -@@ -24,7 +24,7 @@ var common = require('../common.js'); - var assert = require('assert'); - - var util = require('util'); --var stream = require('stream'); -+var stream = require('../../'); - - - var Read = function() { -diff --git a/test/simple/test-stream2-push.js b/test/simple/test-stream2-push.js -index b63edc3..eb2b0e9 100644 ---- a/test/simple/test-stream2-push.js -+++ b/test/simple/test-stream2-push.js -@@ -20,7 +20,7 @@ - // USE OR OTHER DEALINGS IN THE SOFTWARE. - - var common = require('../common.js'); --var stream = require('stream'); -+var stream = require('../../'); - var Readable = stream.Readable; - var Writable = stream.Writable; - var assert = require('assert'); -diff --git a/test/simple/test-stream2-read-sync-stack.js b/test/simple/test-stream2-read-sync-stack.js -index e8a7305..9740a47 100644 ---- a/test/simple/test-stream2-read-sync-stack.js -+++ b/test/simple/test-stream2-read-sync-stack.js -@@ -21,7 +21,7 @@ - - var common = require('../common'); - var assert = require('assert'); --var Readable = require('stream').Readable; -+var Readable = require('../../').Readable; - var r = new Readable(); - var N = 256 * 1024; - -diff --git a/test/simple/test-stream2-readable-empty-buffer-no-eof.js b/test/simple/test-stream2-readable-empty-buffer-no-eof.js -index cd30178..4b1659d 100644 ---- a/test/simple/test-stream2-readable-empty-buffer-no-eof.js -+++ b/test/simple/test-stream2-readable-empty-buffer-no-eof.js -@@ -22,10 +22,9 @@ - var common = require('../common'); - var assert = require('assert'); - --var Readable = require('stream').Readable; -+var Readable = require('../../').Readable; - - test1(); --test2(); - - function test1() { - var r = new Readable(); -@@ -88,31 +87,3 @@ function test1() { - console.log('ok'); - }); - } -- --function test2() { -- var r = new Readable({ encoding: 'base64' }); -- var reads = 5; -- r._read = function(n) { -- if (!reads--) -- return r.push(null); // EOF -- else -- return r.push(new Buffer('x')); -- }; -- -- var results = []; -- function flow() { -- var chunk; -- while (null !== (chunk = r.read())) -- results.push(chunk + ''); -- } -- r.on('readable', flow); -- r.on('end', function() { -- results.push('EOF'); -- }); -- flow(); -- -- process.on('exit', function() { -- assert.deepEqual(results, [ 'eHh4', 'eHg=', 'EOF' ]); -- console.log('ok'); -- }); --} -diff --git a/test/simple/test-stream2-readable-from-list.js b/test/simple/test-stream2-readable-from-list.js -index 7c96ffe..04a96f5 100644 ---- a/test/simple/test-stream2-readable-from-list.js -+++ b/test/simple/test-stream2-readable-from-list.js -@@ -21,7 +21,7 @@ - - var assert = require('assert'); - var common = require('../common.js'); --var fromList = require('_stream_readable')._fromList; -+var fromList = require('../../lib/_stream_readable')._fromList; - - // tiny node-tap lookalike. - var tests = []; -diff --git a/test/simple/test-stream2-readable-legacy-drain.js b/test/simple/test-stream2-readable-legacy-drain.js -index 675da8e..51fd3d5 100644 ---- a/test/simple/test-stream2-readable-legacy-drain.js -+++ b/test/simple/test-stream2-readable-legacy-drain.js -@@ -22,7 +22,7 @@ - var common = require('../common'); - var assert = require('assert'); - --var Stream = require('stream'); -+var Stream = require('../../'); - var Readable = Stream.Readable; - - var r = new Readable(); -diff --git a/test/simple/test-stream2-readable-non-empty-end.js b/test/simple/test-stream2-readable-non-empty-end.js -index 7314ae7..c971898 100644 ---- a/test/simple/test-stream2-readable-non-empty-end.js -+++ b/test/simple/test-stream2-readable-non-empty-end.js -@@ -21,7 +21,7 @@ - - var assert = require('assert'); - var common = require('../common.js'); --var Readable = require('_stream_readable'); -+var Readable = require('../../lib/_stream_readable'); - - var len = 0; - var chunks = new Array(10); -diff --git a/test/simple/test-stream2-readable-wrap-empty.js b/test/simple/test-stream2-readable-wrap-empty.js -index 2e5cf25..fd8a3dc 100644 ---- a/test/simple/test-stream2-readable-wrap-empty.js -+++ b/test/simple/test-stream2-readable-wrap-empty.js -@@ -22,7 +22,7 @@ - var common = require('../common'); - var assert = require('assert'); - --var Readable = require('_stream_readable'); -+var Readable = require('../../lib/_stream_readable'); - var EE = require('events').EventEmitter; - - var oldStream = new EE(); -diff --git a/test/simple/test-stream2-readable-wrap.js b/test/simple/test-stream2-readable-wrap.js -index 90eea01..6b177f7 100644 ---- a/test/simple/test-stream2-readable-wrap.js -+++ b/test/simple/test-stream2-readable-wrap.js -@@ -22,8 +22,8 @@ - var common = require('../common'); - var assert = require('assert'); - --var Readable = require('_stream_readable'); --var Writable = require('_stream_writable'); -+var Readable = require('../../lib/_stream_readable'); -+var Writable = require('../../lib/_stream_writable'); - var EE = require('events').EventEmitter; - - var testRuns = 0, completedRuns = 0; -diff --git a/test/simple/test-stream2-set-encoding.js b/test/simple/test-stream2-set-encoding.js -index 5d2c32a..685531b 100644 ---- a/test/simple/test-stream2-set-encoding.js -+++ b/test/simple/test-stream2-set-encoding.js -@@ -22,7 +22,7 @@ - - var common = require('../common.js'); - var assert = require('assert'); --var R = require('_stream_readable'); -+var R = require('../../lib/_stream_readable'); - var util = require('util'); - - // tiny node-tap lookalike. -diff --git a/test/simple/test-stream2-transform.js b/test/simple/test-stream2-transform.js -index 9c9ddd8..a0cacc6 100644 ---- a/test/simple/test-stream2-transform.js -+++ b/test/simple/test-stream2-transform.js -@@ -21,8 +21,8 @@ - - var assert = require('assert'); - var common = require('../common.js'); --var PassThrough = require('_stream_passthrough'); --var Transform = require('_stream_transform'); -+var PassThrough = require('../../').PassThrough; -+var Transform = require('../../').Transform; - - // tiny node-tap lookalike. - var tests = []; -diff --git a/test/simple/test-stream2-unpipe-drain.js b/test/simple/test-stream2-unpipe-drain.js -index d66dc3c..365b327 100644 ---- a/test/simple/test-stream2-unpipe-drain.js -+++ b/test/simple/test-stream2-unpipe-drain.js -@@ -22,7 +22,7 @@ - - var common = require('../common.js'); - var assert = require('assert'); --var stream = require('stream'); -+var stream = require('../../'); - var crypto = require('crypto'); - - var util = require('util'); -diff --git a/test/simple/test-stream2-unpipe-leak.js b/test/simple/test-stream2-unpipe-leak.js -index 99f8746..17c92ae 100644 ---- a/test/simple/test-stream2-unpipe-leak.js -+++ b/test/simple/test-stream2-unpipe-leak.js -@@ -22,7 +22,7 @@ - - var common = require('../common.js'); - var assert = require('assert'); --var stream = require('stream'); -+var stream = require('../../'); - - var chunk = new Buffer('hallo'); - -diff --git a/test/simple/test-stream2-writable.js b/test/simple/test-stream2-writable.js -index 704100c..209c3a6 100644 ---- a/test/simple/test-stream2-writable.js -+++ b/test/simple/test-stream2-writable.js -@@ -20,8 +20,8 @@ - // USE OR OTHER DEALINGS IN THE SOFTWARE. - - var common = require('../common.js'); --var W = require('_stream_writable'); --var D = require('_stream_duplex'); -+var W = require('../../').Writable; -+var D = require('../../').Duplex; - var assert = require('assert'); - - var util = require('util'); -diff --git a/test/simple/test-stream3-pause-then-read.js b/test/simple/test-stream3-pause-then-read.js -index b91bde3..2f72c15 100644 ---- a/test/simple/test-stream3-pause-then-read.js -+++ b/test/simple/test-stream3-pause-then-read.js -@@ -22,7 +22,7 @@ - var common = require('../common'); - var assert = require('assert'); - --var stream = require('stream'); -+var stream = require('../../'); - var Readable = stream.Readable; - var Writable = stream.Writable; - diff --git a/node_modules/streamroller/node_modules/readable-stream/lib/_stream_duplex.js b/node_modules/streamroller/node_modules/readable-stream/lib/_stream_duplex.js deleted file mode 100644 index b513d61..0000000 --- a/node_modules/streamroller/node_modules/readable-stream/lib/_stream_duplex.js +++ /dev/null @@ -1,89 +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. - -// a duplex stream is just a stream that is both readable and writable. -// Since JS doesn't have multiple prototypal inheritance, this class -// prototypally inherits from Readable, and then parasitically from -// Writable. - -module.exports = Duplex; - -/**/ -var objectKeys = Object.keys || function (obj) { - var keys = []; - for (var key in obj) keys.push(key); - return keys; -} -/**/ - - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -var Readable = require('./_stream_readable'); -var Writable = require('./_stream_writable'); - -util.inherits(Duplex, Readable); - -forEach(objectKeys(Writable.prototype), function(method) { - if (!Duplex.prototype[method]) - Duplex.prototype[method] = Writable.prototype[method]; -}); - -function Duplex(options) { - if (!(this instanceof Duplex)) - return new Duplex(options); - - Readable.call(this, options); - Writable.call(this, options); - - if (options && options.readable === false) - this.readable = false; - - if (options && options.writable === false) - this.writable = false; - - this.allowHalfOpen = true; - if (options && options.allowHalfOpen === false) - this.allowHalfOpen = false; - - this.once('end', onend); -} - -// the no-half-open enforcer -function onend() { - // if we allow half-open state, or if the writable side ended, - // then we're ok. - if (this.allowHalfOpen || this._writableState.ended) - return; - - // no more data can be written. - // But allow more writes to happen in this tick. - process.nextTick(this.end.bind(this)); -} - -function forEach (xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); - } -} diff --git a/node_modules/streamroller/node_modules/readable-stream/lib/_stream_passthrough.js b/node_modules/streamroller/node_modules/readable-stream/lib/_stream_passthrough.js deleted file mode 100644 index 895ca50..0000000 --- a/node_modules/streamroller/node_modules/readable-stream/lib/_stream_passthrough.js +++ /dev/null @@ -1,46 +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. - -// a passthrough stream. -// basically just the most minimal sort of Transform stream. -// Every written chunk gets output as-is. - -module.exports = PassThrough; - -var Transform = require('./_stream_transform'); - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -util.inherits(PassThrough, Transform); - -function PassThrough(options) { - if (!(this instanceof PassThrough)) - return new PassThrough(options); - - Transform.call(this, options); -} - -PassThrough.prototype._transform = function(chunk, encoding, cb) { - cb(null, chunk); -}; diff --git a/node_modules/streamroller/node_modules/readable-stream/lib/_stream_readable.js b/node_modules/streamroller/node_modules/readable-stream/lib/_stream_readable.js deleted file mode 100644 index 19ab358..0000000 --- a/node_modules/streamroller/node_modules/readable-stream/lib/_stream_readable.js +++ /dev/null @@ -1,951 +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. - -module.exports = Readable; - -/**/ -var isArray = require('isarray'); -/**/ - - -/**/ -var Buffer = require('buffer').Buffer; -/**/ - -Readable.ReadableState = ReadableState; - -var EE = require('events').EventEmitter; - -/**/ -if (!EE.listenerCount) EE.listenerCount = function(emitter, type) { - return emitter.listeners(type).length; -}; -/**/ - -var Stream = require('stream'); - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -var StringDecoder; - - -/**/ -var debug = require('util'); -if (debug && debug.debuglog) { - debug = debug.debuglog('stream'); -} else { - debug = function () {}; -} -/**/ - - -util.inherits(Readable, Stream); - -function ReadableState(options, stream) { - var Duplex = require('./_stream_duplex'); - - options = options || {}; - - // the point at which it stops calling _read() to fill the buffer - // Note: 0 is a valid value, means "don't call _read preemptively ever" - var hwm = options.highWaterMark; - var defaultHwm = options.objectMode ? 16 : 16 * 1024; - this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm; - - // cast to ints. - this.highWaterMark = ~~this.highWaterMark; - - this.buffer = []; - this.length = 0; - this.pipes = null; - this.pipesCount = 0; - this.flowing = null; - this.ended = false; - this.endEmitted = false; - this.reading = false; - - // a flag to be able to tell if the onwrite cb is called immediately, - // or on a later tick. We set this to true at first, because any - // actions that shouldn't happen until "later" should generally also - // not happen before the first write call. - this.sync = true; - - // whenever we return null, then we set a flag to say - // that we're awaiting a 'readable' event emission. - this.needReadable = false; - this.emittedReadable = false; - this.readableListening = false; - - - // object stream flag. Used to make read(n) ignore n and to - // make all the buffer merging and length checks go away - this.objectMode = !!options.objectMode; - - if (stream instanceof Duplex) - this.objectMode = this.objectMode || !!options.readableObjectMode; - - // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - this.defaultEncoding = options.defaultEncoding || 'utf8'; - - // when piping, we only care about 'readable' events that happen - // after read()ing all the bytes and not getting any pushback. - this.ranOut = false; - - // the number of writers that are awaiting a drain event in .pipe()s - this.awaitDrain = 0; - - // if true, a maybeReadMore has been scheduled - this.readingMore = false; - - this.decoder = null; - this.encoding = null; - if (options.encoding) { - if (!StringDecoder) - StringDecoder = require('string_decoder/').StringDecoder; - this.decoder = new StringDecoder(options.encoding); - this.encoding = options.encoding; - } -} - -function Readable(options) { - var Duplex = require('./_stream_duplex'); - - if (!(this instanceof Readable)) - return new Readable(options); - - this._readableState = new ReadableState(options, this); - - // legacy - this.readable = true; - - Stream.call(this); -} - -// Manually shove something into the read() buffer. -// This returns true if the highWaterMark has not been hit yet, -// similar to how Writable.write() returns true if you should -// write() some more. -Readable.prototype.push = function(chunk, encoding) { - var state = this._readableState; - - if (util.isString(chunk) && !state.objectMode) { - encoding = encoding || state.defaultEncoding; - if (encoding !== state.encoding) { - chunk = new Buffer(chunk, encoding); - encoding = ''; - } - } - - return readableAddChunk(this, state, chunk, encoding, false); -}; - -// Unshift should *always* be something directly out of read() -Readable.prototype.unshift = function(chunk) { - var state = this._readableState; - return readableAddChunk(this, state, chunk, '', true); -}; - -function readableAddChunk(stream, state, chunk, encoding, addToFront) { - var er = chunkInvalid(state, chunk); - if (er) { - stream.emit('error', er); - } else if (util.isNullOrUndefined(chunk)) { - state.reading = false; - if (!state.ended) - onEofChunk(stream, state); - } else if (state.objectMode || chunk && chunk.length > 0) { - if (state.ended && !addToFront) { - var e = new Error('stream.push() after EOF'); - stream.emit('error', e); - } else if (state.endEmitted && addToFront) { - var e = new Error('stream.unshift() after end event'); - stream.emit('error', e); - } else { - if (state.decoder && !addToFront && !encoding) - chunk = state.decoder.write(chunk); - - if (!addToFront) - state.reading = false; - - // if we want the data now, just emit it. - if (state.flowing && state.length === 0 && !state.sync) { - stream.emit('data', chunk); - stream.read(0); - } else { - // update the buffer info. - state.length += state.objectMode ? 1 : chunk.length; - if (addToFront) - state.buffer.unshift(chunk); - else - state.buffer.push(chunk); - - if (state.needReadable) - emitReadable(stream); - } - - maybeReadMore(stream, state); - } - } else if (!addToFront) { - state.reading = false; - } - - return needMoreData(state); -} - - - -// if it's past the high water mark, we can push in some more. -// Also, if we have no data yet, we can stand some -// more bytes. This is to work around cases where hwm=0, -// such as the repl. Also, if the push() triggered a -// readable event, and the user called read(largeNumber) such that -// needReadable was set, then we ought to push more, so that another -// 'readable' event will be triggered. -function needMoreData(state) { - return !state.ended && - (state.needReadable || - state.length < state.highWaterMark || - state.length === 0); -} - -// backwards compatibility. -Readable.prototype.setEncoding = function(enc) { - if (!StringDecoder) - StringDecoder = require('string_decoder/').StringDecoder; - this._readableState.decoder = new StringDecoder(enc); - this._readableState.encoding = enc; - return this; -}; - -// Don't raise the hwm > 128MB -var MAX_HWM = 0x800000; -function roundUpToNextPowerOf2(n) { - if (n >= MAX_HWM) { - n = MAX_HWM; - } else { - // Get the next highest power of 2 - n--; - for (var p = 1; p < 32; p <<= 1) n |= n >> p; - n++; - } - return n; -} - -function howMuchToRead(n, state) { - if (state.length === 0 && state.ended) - return 0; - - if (state.objectMode) - return n === 0 ? 0 : 1; - - if (isNaN(n) || util.isNull(n)) { - // only flow one buffer at a time - if (state.flowing && state.buffer.length) - return state.buffer[0].length; - else - return state.length; - } - - if (n <= 0) - return 0; - - // If we're asking for more than the target buffer level, - // then raise the water mark. Bump up to the next highest - // power of 2, to prevent increasing it excessively in tiny - // amounts. - if (n > state.highWaterMark) - state.highWaterMark = roundUpToNextPowerOf2(n); - - // don't have that much. return null, unless we've ended. - if (n > state.length) { - if (!state.ended) { - state.needReadable = true; - return 0; - } else - return state.length; - } - - return n; -} - -// you can override either this method, or the async _read(n) below. -Readable.prototype.read = function(n) { - debug('read', n); - var state = this._readableState; - var nOrig = n; - - if (!util.isNumber(n) || n > 0) - state.emittedReadable = false; - - // if we're doing read(0) to trigger a readable event, but we - // already have a bunch of data in the buffer, then just trigger - // the 'readable' event and move on. - if (n === 0 && - state.needReadable && - (state.length >= state.highWaterMark || state.ended)) { - debug('read: emitReadable', state.length, state.ended); - if (state.length === 0 && state.ended) - endReadable(this); - else - emitReadable(this); - return null; - } - - n = howMuchToRead(n, state); - - // if we've ended, and we're now clear, then finish it up. - if (n === 0 && state.ended) { - if (state.length === 0) - endReadable(this); - return null; - } - - // All the actual chunk generation logic needs to be - // *below* the call to _read. The reason is that in certain - // synthetic stream cases, such as passthrough streams, _read - // may be a completely synchronous operation which may change - // the state of the read buffer, providing enough data when - // before there was *not* enough. - // - // So, the steps are: - // 1. Figure out what the state of things will be after we do - // a read from the buffer. - // - // 2. If that resulting state will trigger a _read, then call _read. - // Note that this may be asynchronous, or synchronous. Yes, it is - // deeply ugly to write APIs this way, but that still doesn't mean - // that the Readable class should behave improperly, as streams are - // designed to be sync/async agnostic. - // Take note if the _read call is sync or async (ie, if the read call - // has returned yet), so that we know whether or not it's safe to emit - // 'readable' etc. - // - // 3. Actually pull the requested chunks out of the buffer and return. - - // if we need a readable event, then we need to do some reading. - var doRead = state.needReadable; - debug('need readable', doRead); - - // if we currently have less than the highWaterMark, then also read some - if (state.length === 0 || state.length - n < state.highWaterMark) { - doRead = true; - debug('length less than watermark', doRead); - } - - // however, if we've ended, then there's no point, and if we're already - // reading, then it's unnecessary. - if (state.ended || state.reading) { - doRead = false; - debug('reading or ended', doRead); - } - - if (doRead) { - debug('do read'); - state.reading = true; - state.sync = true; - // if the length is currently zero, then we *need* a readable event. - if (state.length === 0) - state.needReadable = true; - // call internal read method - this._read(state.highWaterMark); - state.sync = false; - } - - // If _read pushed data synchronously, then `reading` will be false, - // and we need to re-evaluate how much data we can return to the user. - if (doRead && !state.reading) - n = howMuchToRead(nOrig, state); - - var ret; - if (n > 0) - ret = fromList(n, state); - else - ret = null; - - if (util.isNull(ret)) { - state.needReadable = true; - n = 0; - } - - state.length -= n; - - // If we have nothing in the buffer, then we want to know - // as soon as we *do* get something into the buffer. - if (state.length === 0 && !state.ended) - state.needReadable = true; - - // If we tried to read() past the EOF, then emit end on the next tick. - if (nOrig !== n && state.ended && state.length === 0) - endReadable(this); - - if (!util.isNull(ret)) - this.emit('data', ret); - - return ret; -}; - -function chunkInvalid(state, chunk) { - var er = null; - if (!util.isBuffer(chunk) && - !util.isString(chunk) && - !util.isNullOrUndefined(chunk) && - !state.objectMode) { - er = new TypeError('Invalid non-string/buffer chunk'); - } - return er; -} - - -function onEofChunk(stream, state) { - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) { - state.buffer.push(chunk); - state.length += state.objectMode ? 1 : chunk.length; - } - } - state.ended = true; - - // emit 'readable' now to make sure it gets picked up. - emitReadable(stream); -} - -// Don't emit readable right away in sync mode, because this can trigger -// another read() call => stack overflow. This way, it might trigger -// a nextTick recursion warning, but that's not so bad. -function emitReadable(stream) { - var state = stream._readableState; - state.needReadable = false; - if (!state.emittedReadable) { - debug('emitReadable', state.flowing); - state.emittedReadable = true; - if (state.sync) - process.nextTick(function() { - emitReadable_(stream); - }); - else - emitReadable_(stream); - } -} - -function emitReadable_(stream) { - debug('emit readable'); - stream.emit('readable'); - flow(stream); -} - - -// at this point, the user has presumably seen the 'readable' event, -// and called read() to consume some data. that may have triggered -// in turn another _read(n) call, in which case reading = true if -// it's in progress. -// However, if we're not ended, or reading, and the length < hwm, -// then go ahead and try to read some more preemptively. -function maybeReadMore(stream, state) { - if (!state.readingMore) { - state.readingMore = true; - process.nextTick(function() { - maybeReadMore_(stream, state); - }); - } -} - -function maybeReadMore_(stream, state) { - var len = state.length; - while (!state.reading && !state.flowing && !state.ended && - state.length < state.highWaterMark) { - debug('maybeReadMore read 0'); - stream.read(0); - if (len === state.length) - // didn't get any data, stop spinning. - break; - else - len = state.length; - } - state.readingMore = false; -} - -// abstract method. to be overridden in specific implementation classes. -// call cb(er, data) where data is <= n in length. -// for virtual (non-string, non-buffer) streams, "length" is somewhat -// arbitrary, and perhaps not very meaningful. -Readable.prototype._read = function(n) { - this.emit('error', new Error('not implemented')); -}; - -Readable.prototype.pipe = function(dest, pipeOpts) { - var src = this; - var state = this._readableState; - - switch (state.pipesCount) { - case 0: - state.pipes = dest; - break; - case 1: - state.pipes = [state.pipes, dest]; - break; - default: - state.pipes.push(dest); - break; - } - state.pipesCount += 1; - debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts); - - var doEnd = (!pipeOpts || pipeOpts.end !== false) && - dest !== process.stdout && - dest !== process.stderr; - - var endFn = doEnd ? onend : cleanup; - if (state.endEmitted) - process.nextTick(endFn); - else - src.once('end', endFn); - - dest.on('unpipe', onunpipe); - function onunpipe(readable) { - debug('onunpipe'); - if (readable === src) { - cleanup(); - } - } - - function onend() { - debug('onend'); - dest.end(); - } - - // when the dest drains, it reduces the awaitDrain counter - // on the source. This would be more elegant with a .once() - // handler in flow(), but adding and removing repeatedly is - // too slow. - var ondrain = pipeOnDrain(src); - dest.on('drain', ondrain); - - function cleanup() { - debug('cleanup'); - // cleanup event handlers once the pipe is broken - dest.removeListener('close', onclose); - dest.removeListener('finish', onfinish); - dest.removeListener('drain', ondrain); - dest.removeListener('error', onerror); - dest.removeListener('unpipe', onunpipe); - src.removeListener('end', onend); - src.removeListener('end', cleanup); - src.removeListener('data', ondata); - - // if the reader is waiting for a drain event from this - // specific writer, then it would cause it to never start - // flowing again. - // So, if this is awaiting a drain, then we just call it now. - // If we don't know, then assume that we are waiting for one. - if (state.awaitDrain && - (!dest._writableState || dest._writableState.needDrain)) - ondrain(); - } - - src.on('data', ondata); - function ondata(chunk) { - debug('ondata'); - var ret = dest.write(chunk); - if (false === ret) { - debug('false write response, pause', - src._readableState.awaitDrain); - src._readableState.awaitDrain++; - src.pause(); - } - } - - // if the dest has an error, then stop piping into it. - // however, don't suppress the throwing behavior for this. - function onerror(er) { - debug('onerror', er); - unpipe(); - dest.removeListener('error', onerror); - if (EE.listenerCount(dest, 'error') === 0) - dest.emit('error', er); - } - // This is a brutally ugly hack to make sure that our error handler - // is attached before any userland ones. NEVER DO THIS. - if (!dest._events || !dest._events.error) - dest.on('error', onerror); - else if (isArray(dest._events.error)) - dest._events.error.unshift(onerror); - else - dest._events.error = [onerror, dest._events.error]; - - - - // Both close and finish should trigger unpipe, but only once. - function onclose() { - dest.removeListener('finish', onfinish); - unpipe(); - } - dest.once('close', onclose); - function onfinish() { - debug('onfinish'); - dest.removeListener('close', onclose); - unpipe(); - } - dest.once('finish', onfinish); - - function unpipe() { - debug('unpipe'); - src.unpipe(dest); - } - - // tell the dest that it's being piped to - dest.emit('pipe', src); - - // start the flow if it hasn't been started already. - if (!state.flowing) { - debug('pipe resume'); - src.resume(); - } - - return dest; -}; - -function pipeOnDrain(src) { - return function() { - var state = src._readableState; - debug('pipeOnDrain', state.awaitDrain); - if (state.awaitDrain) - state.awaitDrain--; - if (state.awaitDrain === 0 && EE.listenerCount(src, 'data')) { - state.flowing = true; - flow(src); - } - }; -} - - -Readable.prototype.unpipe = function(dest) { - var state = this._readableState; - - // if we're not piping anywhere, then do nothing. - if (state.pipesCount === 0) - return this; - - // just one destination. most common case. - if (state.pipesCount === 1) { - // passed in one, but it's not the right one. - if (dest && dest !== state.pipes) - return this; - - if (!dest) - dest = state.pipes; - - // got a match. - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - if (dest) - dest.emit('unpipe', this); - return this; - } - - // slow case. multiple pipe destinations. - - if (!dest) { - // remove all. - var dests = state.pipes; - var len = state.pipesCount; - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - - for (var i = 0; i < len; i++) - dests[i].emit('unpipe', this); - return this; - } - - // try to find the right one. - var i = indexOf(state.pipes, dest); - if (i === -1) - return this; - - state.pipes.splice(i, 1); - state.pipesCount -= 1; - if (state.pipesCount === 1) - state.pipes = state.pipes[0]; - - dest.emit('unpipe', this); - - return this; -}; - -// set up data events if they are asked for -// Ensure readable listeners eventually get something -Readable.prototype.on = function(ev, fn) { - var res = Stream.prototype.on.call(this, ev, fn); - - // If listening to data, and it has not explicitly been paused, - // then call resume to start the flow of data on the next tick. - if (ev === 'data' && false !== this._readableState.flowing) { - this.resume(); - } - - if (ev === 'readable' && this.readable) { - var state = this._readableState; - if (!state.readableListening) { - state.readableListening = true; - state.emittedReadable = false; - state.needReadable = true; - if (!state.reading) { - var self = this; - process.nextTick(function() { - debug('readable nexttick read 0'); - self.read(0); - }); - } else if (state.length) { - emitReadable(this, state); - } - } - } - - return res; -}; -Readable.prototype.addListener = Readable.prototype.on; - -// pause() and resume() are remnants of the legacy readable stream API -// If the user uses them, then switch into old mode. -Readable.prototype.resume = function() { - var state = this._readableState; - if (!state.flowing) { - debug('resume'); - state.flowing = true; - if (!state.reading) { - debug('resume read 0'); - this.read(0); - } - resume(this, state); - } - return this; -}; - -function resume(stream, state) { - if (!state.resumeScheduled) { - state.resumeScheduled = true; - process.nextTick(function() { - resume_(stream, state); - }); - } -} - -function resume_(stream, state) { - state.resumeScheduled = false; - stream.emit('resume'); - flow(stream); - if (state.flowing && !state.reading) - stream.read(0); -} - -Readable.prototype.pause = function() { - debug('call pause flowing=%j', this._readableState.flowing); - if (false !== this._readableState.flowing) { - debug('pause'); - this._readableState.flowing = false; - this.emit('pause'); - } - return this; -}; - -function flow(stream) { - var state = stream._readableState; - debug('flow', state.flowing); - if (state.flowing) { - do { - var chunk = stream.read(); - } while (null !== chunk && state.flowing); - } -} - -// wrap an old-style stream as the async data source. -// This is *not* part of the readable stream interface. -// It is an ugly unfortunate mess of history. -Readable.prototype.wrap = function(stream) { - var state = this._readableState; - var paused = false; - - var self = this; - stream.on('end', function() { - debug('wrapped end'); - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) - self.push(chunk); - } - - self.push(null); - }); - - stream.on('data', function(chunk) { - debug('wrapped data'); - if (state.decoder) - chunk = state.decoder.write(chunk); - if (!chunk || !state.objectMode && !chunk.length) - return; - - var ret = self.push(chunk); - if (!ret) { - paused = true; - stream.pause(); - } - }); - - // proxy all the other methods. - // important when wrapping filters and duplexes. - for (var i in stream) { - if (util.isFunction(stream[i]) && util.isUndefined(this[i])) { - this[i] = function(method) { return function() { - return stream[method].apply(stream, arguments); - }}(i); - } - } - - // proxy certain important events. - var events = ['error', 'close', 'destroy', 'pause', 'resume']; - forEach(events, function(ev) { - stream.on(ev, self.emit.bind(self, ev)); - }); - - // when we try to consume some more bytes, simply unpause the - // underlying stream. - self._read = function(n) { - debug('wrapped _read', n); - if (paused) { - paused = false; - stream.resume(); - } - }; - - return self; -}; - - - -// exposed for testing purposes only. -Readable._fromList = fromList; - -// Pluck off n bytes from an array of buffers. -// Length is the combined lengths of all the buffers in the list. -function fromList(n, state) { - var list = state.buffer; - var length = state.length; - var stringMode = !!state.decoder; - var objectMode = !!state.objectMode; - var ret; - - // nothing in the list, definitely empty. - if (list.length === 0) - return null; - - if (length === 0) - ret = null; - else if (objectMode) - ret = list.shift(); - else if (!n || n >= length) { - // read it all, truncate the array. - if (stringMode) - ret = list.join(''); - else - ret = Buffer.concat(list, length); - list.length = 0; - } else { - // read just some of it. - if (n < list[0].length) { - // just take a part of the first list item. - // slice is the same for buffers and strings. - var buf = list[0]; - ret = buf.slice(0, n); - list[0] = buf.slice(n); - } else if (n === list[0].length) { - // first list is a perfect match - ret = list.shift(); - } else { - // complex case. - // we have enough to cover it, but it spans past the first buffer. - if (stringMode) - ret = ''; - else - ret = new Buffer(n); - - var c = 0; - for (var i = 0, l = list.length; i < l && c < n; i++) { - var buf = list[0]; - var cpy = Math.min(n - c, buf.length); - - if (stringMode) - ret += buf.slice(0, cpy); - else - buf.copy(ret, c, 0, cpy); - - if (cpy < buf.length) - list[0] = buf.slice(cpy); - else - list.shift(); - - c += cpy; - } - } - } - - return ret; -} - -function endReadable(stream) { - var state = stream._readableState; - - // If we get here before consuming all the bytes, then that is a - // bug in node. Should never happen. - if (state.length > 0) - throw new Error('endReadable called on non-empty stream'); - - if (!state.endEmitted) { - state.ended = true; - process.nextTick(function() { - // Check that we didn't get one last unshift. - if (!state.endEmitted && state.length === 0) { - state.endEmitted = true; - stream.readable = false; - stream.emit('end'); - } - }); - } -} - -function forEach (xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); - } -} - -function indexOf (xs, x) { - for (var i = 0, l = xs.length; i < l; i++) { - if (xs[i] === x) return i; - } - return -1; -} diff --git a/node_modules/streamroller/node_modules/readable-stream/lib/_stream_transform.js b/node_modules/streamroller/node_modules/readable-stream/lib/_stream_transform.js deleted file mode 100644 index 905c5e4..0000000 --- a/node_modules/streamroller/node_modules/readable-stream/lib/_stream_transform.js +++ /dev/null @@ -1,209 +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. - - -// a transform stream is a readable/writable stream where you do -// something with the data. Sometimes it's called a "filter", -// but that's not a great name for it, since that implies a thing where -// some bits pass through, and others are simply ignored. (That would -// be a valid example of a transform, of course.) -// -// While the output is causally related to the input, it's not a -// necessarily symmetric or synchronous transformation. For example, -// a zlib stream might take multiple plain-text writes(), and then -// emit a single compressed chunk some time in the future. -// -// Here's how this works: -// -// The Transform stream has all the aspects of the readable and writable -// stream classes. When you write(chunk), that calls _write(chunk,cb) -// internally, and returns false if there's a lot of pending writes -// buffered up. When you call read(), that calls _read(n) until -// there's enough pending readable data buffered up. -// -// In a transform stream, the written data is placed in a buffer. When -// _read(n) is called, it transforms the queued up data, calling the -// buffered _write cb's as it consumes chunks. If consuming a single -// written chunk would result in multiple output chunks, then the first -// outputted bit calls the readcb, and subsequent chunks just go into -// the read buffer, and will cause it to emit 'readable' if necessary. -// -// This way, back-pressure is actually determined by the reading side, -// since _read has to be called to start processing a new chunk. However, -// a pathological inflate type of transform can cause excessive buffering -// here. For example, imagine a stream where every byte of input is -// interpreted as an integer from 0-255, and then results in that many -// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in -// 1kb of data being output. In this case, you could write a very small -// amount of input, and end up with a very large amount of output. In -// such a pathological inflating mechanism, there'd be no way to tell -// the system to stop doing the transform. A single 4MB write could -// cause the system to run out of memory. -// -// However, even in such a pathological case, only a single written chunk -// would be consumed, and then the rest would wait (un-transformed) until -// the results of the previous transformed chunk were consumed. - -module.exports = Transform; - -var Duplex = require('./_stream_duplex'); - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -util.inherits(Transform, Duplex); - - -function TransformState(options, stream) { - this.afterTransform = function(er, data) { - return afterTransform(stream, er, data); - }; - - this.needTransform = false; - this.transforming = false; - this.writecb = null; - this.writechunk = null; -} - -function afterTransform(stream, er, data) { - var ts = stream._transformState; - ts.transforming = false; - - var cb = ts.writecb; - - if (!cb) - return stream.emit('error', new Error('no writecb in Transform class')); - - ts.writechunk = null; - ts.writecb = null; - - if (!util.isNullOrUndefined(data)) - stream.push(data); - - if (cb) - cb(er); - - var rs = stream._readableState; - rs.reading = false; - if (rs.needReadable || rs.length < rs.highWaterMark) { - stream._read(rs.highWaterMark); - } -} - - -function Transform(options) { - if (!(this instanceof Transform)) - return new Transform(options); - - Duplex.call(this, options); - - this._transformState = new TransformState(options, this); - - // when the writable side finishes, then flush out anything remaining. - var stream = this; - - // start out asking for a readable event once data is transformed. - this._readableState.needReadable = true; - - // we have implemented the _read method, and done the other things - // that Readable wants before the first _read call, so unset the - // sync guard flag. - this._readableState.sync = false; - - this.once('prefinish', function() { - if (util.isFunction(this._flush)) - this._flush(function(er) { - done(stream, er); - }); - else - done(stream); - }); -} - -Transform.prototype.push = function(chunk, encoding) { - this._transformState.needTransform = false; - return Duplex.prototype.push.call(this, chunk, encoding); -}; - -// This is the part where you do stuff! -// override this function in implementation classes. -// 'chunk' is an input chunk. -// -// Call `push(newChunk)` to pass along transformed output -// to the readable side. You may call 'push' zero or more times. -// -// Call `cb(err)` when you are done with this chunk. If you pass -// an error, then that'll put the hurt on the whole operation. If you -// never call cb(), then you'll never get another chunk. -Transform.prototype._transform = function(chunk, encoding, cb) { - throw new Error('not implemented'); -}; - -Transform.prototype._write = function(chunk, encoding, cb) { - var ts = this._transformState; - ts.writecb = cb; - ts.writechunk = chunk; - ts.writeencoding = encoding; - if (!ts.transforming) { - var rs = this._readableState; - if (ts.needTransform || - rs.needReadable || - rs.length < rs.highWaterMark) - this._read(rs.highWaterMark); - } -}; - -// Doesn't matter what the args are here. -// _transform does all the work. -// That we got here means that the readable side wants more data. -Transform.prototype._read = function(n) { - var ts = this._transformState; - - if (!util.isNull(ts.writechunk) && ts.writecb && !ts.transforming) { - ts.transforming = true; - this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); - } else { - // mark that we need a transform, so that any data that comes in - // will get processed, now that we've asked for it. - ts.needTransform = true; - } -}; - - -function done(stream, er) { - if (er) - return stream.emit('error', er); - - // if there's nothing in the write buffer, then that means - // that nothing more will ever be provided - var ws = stream._writableState; - var ts = stream._transformState; - - if (ws.length) - throw new Error('calling transform done when ws.length != 0'); - - if (ts.transforming) - throw new Error('calling transform done when still transforming'); - - return stream.push(null); -} diff --git a/node_modules/streamroller/node_modules/readable-stream/lib/_stream_writable.js b/node_modules/streamroller/node_modules/readable-stream/lib/_stream_writable.js deleted file mode 100644 index db8539c..0000000 --- a/node_modules/streamroller/node_modules/readable-stream/lib/_stream_writable.js +++ /dev/null @@ -1,477 +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. - -// A bit simpler than readable streams. -// Implement an async ._write(chunk, cb), and it'll handle all -// the drain event emission and buffering. - -module.exports = Writable; - -/**/ -var Buffer = require('buffer').Buffer; -/**/ - -Writable.WritableState = WritableState; - - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -var Stream = require('stream'); - -util.inherits(Writable, Stream); - -function WriteReq(chunk, encoding, cb) { - this.chunk = chunk; - this.encoding = encoding; - this.callback = cb; -} - -function WritableState(options, stream) { - var Duplex = require('./_stream_duplex'); - - options = options || {}; - - // the point at which write() starts returning false - // Note: 0 is a valid value, means that we always return false if - // the entire buffer is not flushed immediately on write() - var hwm = options.highWaterMark; - var defaultHwm = options.objectMode ? 16 : 16 * 1024; - this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm; - - // object stream flag to indicate whether or not this stream - // contains buffers or objects. - this.objectMode = !!options.objectMode; - - if (stream instanceof Duplex) - this.objectMode = this.objectMode || !!options.writableObjectMode; - - // cast to ints. - this.highWaterMark = ~~this.highWaterMark; - - this.needDrain = false; - // at the start of calling end() - this.ending = false; - // when end() has been called, and returned - this.ended = false; - // when 'finish' is emitted - this.finished = false; - - // should we decode strings into buffers before passing to _write? - // this is here so that some node-core streams can optimize string - // handling at a lower level. - var noDecode = options.decodeStrings === false; - this.decodeStrings = !noDecode; - - // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - this.defaultEncoding = options.defaultEncoding || 'utf8'; - - // not an actual buffer we keep track of, but a measurement - // of how much we're waiting to get pushed to some underlying - // socket or file. - this.length = 0; - - // a flag to see when we're in the middle of a write. - this.writing = false; - - // when true all writes will be buffered until .uncork() call - this.corked = 0; - - // a flag to be able to tell if the onwrite cb is called immediately, - // or on a later tick. We set this to true at first, because any - // actions that shouldn't happen until "later" should generally also - // not happen before the first write call. - this.sync = true; - - // a flag to know if we're processing previously buffered items, which - // may call the _write() callback in the same tick, so that we don't - // end up in an overlapped onwrite situation. - this.bufferProcessing = false; - - // the callback that's passed to _write(chunk,cb) - this.onwrite = function(er) { - onwrite(stream, er); - }; - - // the callback that the user supplies to write(chunk,encoding,cb) - this.writecb = null; - - // the amount that is being written when _write is called. - this.writelen = 0; - - this.buffer = []; - - // number of pending user-supplied write callbacks - // this must be 0 before 'finish' can be emitted - this.pendingcb = 0; - - // emit prefinish if the only thing we're waiting for is _write cbs - // This is relevant for synchronous Transform streams - this.prefinished = false; - - // True if the error was already emitted and should not be thrown again - this.errorEmitted = false; -} - -function Writable(options) { - var Duplex = require('./_stream_duplex'); - - // Writable ctor is applied to Duplexes, though they're not - // instanceof Writable, they're instanceof Readable. - if (!(this instanceof Writable) && !(this instanceof Duplex)) - return new Writable(options); - - this._writableState = new WritableState(options, this); - - // legacy. - this.writable = true; - - Stream.call(this); -} - -// Otherwise people can pipe Writable streams, which is just wrong. -Writable.prototype.pipe = function() { - this.emit('error', new Error('Cannot pipe. Not readable.')); -}; - - -function writeAfterEnd(stream, state, cb) { - var er = new Error('write after end'); - // TODO: defer error events consistently everywhere, not just the cb - stream.emit('error', er); - process.nextTick(function() { - cb(er); - }); -} - -// If we get something that is not a buffer, string, null, or undefined, -// and we're not in objectMode, then that's an error. -// Otherwise stream chunks are all considered to be of length=1, and the -// watermarks determine how many objects to keep in the buffer, rather than -// how many bytes or characters. -function validChunk(stream, state, chunk, cb) { - var valid = true; - if (!util.isBuffer(chunk) && - !util.isString(chunk) && - !util.isNullOrUndefined(chunk) && - !state.objectMode) { - var er = new TypeError('Invalid non-string/buffer chunk'); - stream.emit('error', er); - process.nextTick(function() { - cb(er); - }); - valid = false; - } - return valid; -} - -Writable.prototype.write = function(chunk, encoding, cb) { - var state = this._writableState; - var ret = false; - - if (util.isFunction(encoding)) { - cb = encoding; - encoding = null; - } - - if (util.isBuffer(chunk)) - encoding = 'buffer'; - else if (!encoding) - encoding = state.defaultEncoding; - - if (!util.isFunction(cb)) - cb = function() {}; - - if (state.ended) - writeAfterEnd(this, state, cb); - else if (validChunk(this, state, chunk, cb)) { - state.pendingcb++; - ret = writeOrBuffer(this, state, chunk, encoding, cb); - } - - return ret; -}; - -Writable.prototype.cork = function() { - var state = this._writableState; - - state.corked++; -}; - -Writable.prototype.uncork = function() { - var state = this._writableState; - - if (state.corked) { - state.corked--; - - if (!state.writing && - !state.corked && - !state.finished && - !state.bufferProcessing && - state.buffer.length) - clearBuffer(this, state); - } -}; - -function decodeChunk(state, chunk, encoding) { - if (!state.objectMode && - state.decodeStrings !== false && - util.isString(chunk)) { - chunk = new Buffer(chunk, encoding); - } - return chunk; -} - -// if we're already writing something, then just put this -// in the queue, and wait our turn. Otherwise, call _write -// If we return false, then we need a drain event, so set that flag. -function writeOrBuffer(stream, state, chunk, encoding, cb) { - chunk = decodeChunk(state, chunk, encoding); - if (util.isBuffer(chunk)) - encoding = 'buffer'; - var len = state.objectMode ? 1 : chunk.length; - - state.length += len; - - var ret = state.length < state.highWaterMark; - // we must ensure that previous needDrain will not be reset to false. - if (!ret) - state.needDrain = true; - - if (state.writing || state.corked) - state.buffer.push(new WriteReq(chunk, encoding, cb)); - else - doWrite(stream, state, false, len, chunk, encoding, cb); - - return ret; -} - -function doWrite(stream, state, writev, len, chunk, encoding, cb) { - state.writelen = len; - state.writecb = cb; - state.writing = true; - state.sync = true; - if (writev) - stream._writev(chunk, state.onwrite); - else - stream._write(chunk, encoding, state.onwrite); - state.sync = false; -} - -function onwriteError(stream, state, sync, er, cb) { - if (sync) - process.nextTick(function() { - state.pendingcb--; - cb(er); - }); - else { - state.pendingcb--; - cb(er); - } - - stream._writableState.errorEmitted = true; - stream.emit('error', er); -} - -function onwriteStateUpdate(state) { - state.writing = false; - state.writecb = null; - state.length -= state.writelen; - state.writelen = 0; -} - -function onwrite(stream, er) { - var state = stream._writableState; - var sync = state.sync; - var cb = state.writecb; - - onwriteStateUpdate(state); - - if (er) - onwriteError(stream, state, sync, er, cb); - else { - // Check if we're actually ready to finish, but don't emit yet - var finished = needFinish(stream, state); - - if (!finished && - !state.corked && - !state.bufferProcessing && - state.buffer.length) { - clearBuffer(stream, state); - } - - if (sync) { - process.nextTick(function() { - afterWrite(stream, state, finished, cb); - }); - } else { - afterWrite(stream, state, finished, cb); - } - } -} - -function afterWrite(stream, state, finished, cb) { - if (!finished) - onwriteDrain(stream, state); - state.pendingcb--; - cb(); - finishMaybe(stream, state); -} - -// Must force callback to be called on nextTick, so that we don't -// emit 'drain' before the write() consumer gets the 'false' return -// value, and has a chance to attach a 'drain' listener. -function onwriteDrain(stream, state) { - if (state.length === 0 && state.needDrain) { - state.needDrain = false; - stream.emit('drain'); - } -} - - -// if there's something in the buffer waiting, then process it -function clearBuffer(stream, state) { - state.bufferProcessing = true; - - if (stream._writev && state.buffer.length > 1) { - // Fast case, write everything using _writev() - var cbs = []; - for (var c = 0; c < state.buffer.length; c++) - cbs.push(state.buffer[c].callback); - - // count the one we are adding, as well. - // TODO(isaacs) clean this up - state.pendingcb++; - doWrite(stream, state, true, state.length, state.buffer, '', function(err) { - for (var i = 0; i < cbs.length; i++) { - state.pendingcb--; - cbs[i](err); - } - }); - - // Clear buffer - state.buffer = []; - } else { - // Slow case, write chunks one-by-one - for (var c = 0; c < state.buffer.length; c++) { - var entry = state.buffer[c]; - var chunk = entry.chunk; - var encoding = entry.encoding; - var cb = entry.callback; - var len = state.objectMode ? 1 : chunk.length; - - doWrite(stream, state, false, len, chunk, encoding, cb); - - // if we didn't call the onwrite immediately, then - // it means that we need to wait until it does. - // also, that means that the chunk and cb are currently - // being processed, so move the buffer counter past them. - if (state.writing) { - c++; - break; - } - } - - if (c < state.buffer.length) - state.buffer = state.buffer.slice(c); - else - state.buffer.length = 0; - } - - state.bufferProcessing = false; -} - -Writable.prototype._write = function(chunk, encoding, cb) { - cb(new Error('not implemented')); - -}; - -Writable.prototype._writev = null; - -Writable.prototype.end = function(chunk, encoding, cb) { - var state = this._writableState; - - if (util.isFunction(chunk)) { - cb = chunk; - chunk = null; - encoding = null; - } else if (util.isFunction(encoding)) { - cb = encoding; - encoding = null; - } - - if (!util.isNullOrUndefined(chunk)) - this.write(chunk, encoding); - - // .end() fully uncorks - if (state.corked) { - state.corked = 1; - this.uncork(); - } - - // ignore unnecessary end() calls. - if (!state.ending && !state.finished) - endWritable(this, state, cb); -}; - - -function needFinish(stream, state) { - return (state.ending && - state.length === 0 && - !state.finished && - !state.writing); -} - -function prefinish(stream, state) { - if (!state.prefinished) { - state.prefinished = true; - stream.emit('prefinish'); - } -} - -function finishMaybe(stream, state) { - var need = needFinish(stream, state); - if (need) { - if (state.pendingcb === 0) { - prefinish(stream, state); - state.finished = true; - stream.emit('finish'); - } else - prefinish(stream, state); - } - return need; -} - -function endWritable(stream, state, cb) { - state.ending = true; - finishMaybe(stream, state); - if (cb) { - if (state.finished) - process.nextTick(cb); - else - stream.once('finish', cb); - } - state.ended = true; -} diff --git a/node_modules/streamroller/node_modules/readable-stream/package.json b/node_modules/streamroller/node_modules/readable-stream/package.json deleted file mode 100644 index e56b813..0000000 --- a/node_modules/streamroller/node_modules/readable-stream/package.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "readable-stream@^1.1.7", - "scope": null, - "escapedName": "readable-stream", - "name": "readable-stream", - "rawSpec": "^1.1.7", - "spec": ">=1.1.7 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/streamroller" - ] - ], - "_from": "readable-stream@>=1.1.7 <2.0.0", - "_id": "readable-stream@1.1.14", - "_inCache": true, - "_installable": true, - "_location": "/streamroller/readable-stream", - "_nodeVersion": "5.10.1", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/readable-stream-1.1.14.tgz_1460563293219_0.5682175166439265" - }, - "_npmUser": { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" - }, - "_npmVersion": "3.8.3", - "_phantomChildren": {}, - "_requested": { - "raw": "readable-stream@^1.1.7", - "scope": null, - "escapedName": "readable-stream", - "name": "readable-stream", - "rawSpec": "^1.1.7", - "spec": ">=1.1.7 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/streamroller" - ], - "_resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "_shasum": "7cf4c54ef648e3813084c636dd2079e166c081d9", - "_shrinkwrap": null, - "_spec": "readable-stream@^1.1.7", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/streamroller", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "browser": { - "util": false - }, - "bugs": { - "url": "https://github.com/isaacs/readable-stream/issues" - }, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - }, - "description": "Streams3, a user-land copy of the stream library from Node.js v0.11.x", - "devDependencies": { - "tap": "~0.2.6" - }, - "directories": {}, - "dist": { - "shasum": "7cf4c54ef648e3813084c636dd2079e166c081d9", - "tarball": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" - }, - "gitHead": "52550840cb1d6e8a98ef9a909a4bea360bc6f7da", - "homepage": "https://github.com/isaacs/readable-stream#readme", - "keywords": [ - "readable", - "stream", - "pipe" - ], - "license": "MIT", - "main": "readable.js", - "maintainers": [ - { - "name": "isaacs", - "email": "isaacs@npmjs.com" - }, - { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - }, - { - "name": "rvagg", - "email": "rod@vagg.org" - }, - { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" - } - ], - "name": "readable-stream", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/readable-stream.git" - }, - "scripts": { - "test": "tap test/simple/*.js" - }, - "version": "1.1.14" -} diff --git a/node_modules/streamroller/node_modules/readable-stream/passthrough.js b/node_modules/streamroller/node_modules/readable-stream/passthrough.js deleted file mode 100644 index 27e8d8a..0000000 --- a/node_modules/streamroller/node_modules/readable-stream/passthrough.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_passthrough.js") diff --git a/node_modules/streamroller/node_modules/readable-stream/readable.js b/node_modules/streamroller/node_modules/readable-stream/readable.js deleted file mode 100644 index 2a8b5c6..0000000 --- a/node_modules/streamroller/node_modules/readable-stream/readable.js +++ /dev/null @@ -1,10 +0,0 @@ -exports = module.exports = require('./lib/_stream_readable.js'); -exports.Stream = require('stream'); -exports.Readable = exports; -exports.Writable = require('./lib/_stream_writable.js'); -exports.Duplex = require('./lib/_stream_duplex.js'); -exports.Transform = require('./lib/_stream_transform.js'); -exports.PassThrough = require('./lib/_stream_passthrough.js'); -if (!process.browser && process.env.READABLE_STREAM === 'disable') { - module.exports = require('stream'); -} diff --git a/node_modules/streamroller/node_modules/readable-stream/transform.js b/node_modules/streamroller/node_modules/readable-stream/transform.js deleted file mode 100644 index 5d482f0..0000000 --- a/node_modules/streamroller/node_modules/readable-stream/transform.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_transform.js") diff --git a/node_modules/streamroller/node_modules/readable-stream/writable.js b/node_modules/streamroller/node_modules/readable-stream/writable.js deleted file mode 100644 index e1e9efd..0000000 --- a/node_modules/streamroller/node_modules/readable-stream/writable.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_writable.js") diff --git a/node_modules/streamroller/package.json b/node_modules/streamroller/package.json deleted file mode 100644 index 71141a5..0000000 --- a/node_modules/streamroller/package.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "streamroller@^0.4.0", - "scope": null, - "escapedName": "streamroller", - "name": "streamroller", - "rawSpec": "^0.4.0", - "spec": ">=0.4.0 <0.5.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/log4js" - ] - ], - "_from": "streamroller@>=0.4.0 <0.5.0", - "_id": "streamroller@0.4.0", - "_inCache": true, - "_installable": true, - "_location": "/streamroller", - "_nodeVersion": "6.9.4", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/streamroller-0.4.0.tgz_1488230366735_0.8600998979527503" - }, - "_npmUser": { - "name": "csausdev", - "email": "gareth.nomiddlename@gmail.com" - }, - "_npmVersion": "3.10.10", - "_phantomChildren": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "string_decoder": "0.10.31" - }, - "_requested": { - "raw": "streamroller@^0.4.0", - "scope": null, - "escapedName": "streamroller", - "name": "streamroller", - "rawSpec": "^0.4.0", - "spec": ">=0.4.0 <0.5.0", - "type": "range" - }, - "_requiredBy": [ - "/log4js" - ], - "_resolved": "http://registry.npmjs.org/streamroller/-/streamroller-0.4.0.tgz", - "_shasum": "a273f1f91994549a2ddd112ccaa2d1dd23cb758c", - "_shrinkwrap": null, - "_spec": "streamroller@^0.4.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/log4js", - "author": { - "name": "Gareth Jones", - "email": "gareth.nomiddlename@gmail.com" - }, - "bugs": { - "url": "https://github.com/nomiddlename/streamroller/issues" - }, - "dependencies": { - "date-format": "^0.0.0", - "debug": "^0.7.2", - "mkdirp": "^0.5.1", - "readable-stream": "^1.1.7" - }, - "description": "file streams that roll over when size limits, or dates are reached", - "devDependencies": { - "async": "^0.2.9", - "jshint": "^2.9.4", - "mocha": "^1.12.0", - "sandboxed-module": "^0.2.1", - "should": "^1.2.2" - }, - "directories": { - "test": "test" - }, - "dist": { - "shasum": "a273f1f91994549a2ddd112ccaa2d1dd23cb758c", - "tarball": "https://registry.npmjs.org/streamroller/-/streamroller-0.4.0.tgz" - }, - "engines": { - "node": ">=0.12.0" - }, - "gitHead": "ece35d7d86c87c04ff09e8604accae81cf36a0ce", - "homepage": "https://github.com/nomiddlename/streamroller#readme", - "keywords": [ - "stream", - "rolling" - ], - "license": "MIT", - "main": "lib/index.js", - "maintainers": [ - { - "name": "csausdev", - "email": "gareth.jones@sensis.com.au" - } - ], - "name": "streamroller", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/nomiddlename/streamroller.git" - }, - "scripts": { - "pretest": "jshint lib/ test/", - "test": "mocha" - }, - "version": "0.4.0" -} diff --git a/node_modules/streamroller/test/BaseRollingFileStream-test.js b/node_modules/streamroller/test/BaseRollingFileStream-test.js deleted file mode 100644 index 8961779..0000000 --- a/node_modules/streamroller/test/BaseRollingFileStream-test.js +++ /dev/null @@ -1,93 +0,0 @@ -"use strict"; -var should = require('should') -, fs = require('fs') -, sandbox = require('sandboxed-module'); - -describe('BaseRollingFileStream', function() { - describe('when no filename is passed', function() { - it('should throw an error', function() { - var BaseRollingFileStream = require('../lib/BaseRollingFileStream'); - (function() { - new BaseRollingFileStream(); - }).should.throw(); - }); - }); - - describe('default behaviour', function() { - var stream; - - before(function() { - var BaseRollingFileStream = require('../lib/BaseRollingFileStream'); - stream = new BaseRollingFileStream('basetest.log'); - }); - - after(function(done) { - fs.unlink('basetest.log', done); - }); - - it('should not want to roll', function() { - stream.shouldRoll().should.eql(false); - }); - - it('should not roll', function() { - var cbCalled = false; - //just calls the callback straight away, no async calls - stream.roll('basetest.log', function() { cbCalled = true; }); - cbCalled.should.eql(true); - }); - - it('should pass options to the underlying write stream', function() { - var underlyingStreamOptions; - - var BaseRollingFileStream = sandbox.require( - '../lib/BaseRollingFileStream', - { - requires: { - 'fs': { - createWriteStream: function(filename, options) { - underlyingStreamOptions = options; - return { - on: function() {} - }; - } - } - } - } - ); - var stream = new BaseRollingFileStream('cheese.log', { encoding: 'utf904'}); - stream.openTheStream(); - - underlyingStreamOptions.should.eql({ encoding: 'utf904', mode: 420, flags: 'a'}); - }); - }); - - describe('when end is called', function() { - it('should close the underlying stream', function(done) { - var stream = new (require('../lib/BaseRollingFileStream'))('cheese.log'); - - stream.theStream.on('close', function() { - done(); - }); - - stream.end(); - }); - }); - - describe('when the file is in a non-existent directory', function() { - var stream; - before(function() { - var BaseRollingFileStream = require('../lib/BaseRollingFileStream'); - stream = new BaseRollingFileStream('subdir/test.log'); - }); - - after(function() { - fs.unlinkSync('subdir/test.log'); - fs.rmdir('subdir'); - }); - - it('should create the directory', function() { - fs.existsSync('subdir/test.log').should.eql(true); - stream.end(); - }); - }); -}); diff --git a/node_modules/streamroller/test/DateRollingFileStream-test.js b/node_modules/streamroller/test/DateRollingFileStream-test.js deleted file mode 100644 index 5ba3f54..0000000 --- a/node_modules/streamroller/test/DateRollingFileStream-test.js +++ /dev/null @@ -1,508 +0,0 @@ -"use strict"; -var should = require('should') - , fs = require('fs') - , zlib = require('zlib') - , util = require('util') - , async = require('async') - , format = require('date-format') - , streams = require('readable-stream') - , DateRollingFileStream - , testTime = new Date(2012, 8, 12, 10, 37, 11); - -DateRollingFileStream = require('../lib').DateRollingFileStream; - -function remove(filename, cb) { - fs.unlink(filename, function () { - cb(); - }); -} - -function now() { - return testTime.getTime(); -} - -describe('DateRollingFileStream', function () { - describe('arguments', function () { - var stream; - - before(function (done) { - stream = new DateRollingFileStream( - __dirname + '/test-date-rolling-file-stream-1', - 'yyyy-mm-dd.hh' - ); - done(); - }); - - after(function (done) { - remove(__dirname + '/test-date-rolling-file-stream-1', done); - }); - - it('should take a filename and a pattern and return a WritableStream', function (done) { - stream.filename.should.eql(__dirname + '/test-date-rolling-file-stream-1'); - stream.pattern.should.eql('yyyy-mm-dd.hh'); - stream.should.be.instanceOf(streams.Writable); - done(); - }); - - it('with default settings for the underlying stream', function (done) { - stream.theStream.mode.should.eql(420); - stream.theStream.flags.should.eql('a'); - //encoding is not available on the underlying stream - //assert.equal(stream.encoding, 'utf8'); - done(); - }); - }); - - describe('default arguments', function () { - var stream; - - before(function(done) { - stream = new DateRollingFileStream(__dirname + '/test-date-rolling-file-stream-2'); - done(); - }); - - after(function (done) { - remove(__dirname + '/test-date-rolling-file-stream-2', done); - }); - - it('should have pattern of .yyyy-MM-dd', function (done) { - stream.pattern.should.eql('.yyyy-MM-dd'); - done(); - }); - }); - - describe('with stream arguments', function () { - var stream; - - before(function(done) { - stream = new DateRollingFileStream( - __dirname + '/test-date-rolling-file-stream-3', - 'yyyy-MM-dd', - {mode: parseInt('0666', 8)} - ); - done(); - }); - - after(function (done) { - remove(__dirname + '/test-date-rolling-file-stream-3', done); - }); - - it('should pass them to the underlying stream', function (done) { - stream.theStream.mode.should.eql(parseInt('0666', 8)); - done(); - }); - }); - - describe('with stream arguments but no pattern', function () { - var stream; - - before(function (done) { - stream = new DateRollingFileStream( - __dirname + '/test-date-rolling-file-stream-4', - {mode: parseInt('0666', 8)} - ); - done(); - }); - - after(function (done) { - remove(__dirname + '/test-date-rolling-file-stream-4', done); - }); - - it('should pass them to the underlying stream', function (done) { - stream.theStream.mode.should.eql(parseInt('0666', 8)); - done(); - }); - - it('should use default pattern', function (done) { - stream.pattern.should.eql('.yyyy-MM-dd'); - done(); - }); - }); - - describe('with a pattern of .yyyy-MM-dd', function () { - var stream; - - before(function (done) { - stream = new DateRollingFileStream( - __dirname + '/test-date-rolling-file-stream-5', '.yyyy-MM-dd', - null, - now - ); - stream.write("First message\n", 'utf8', done); - }); - - after(function (done) { - remove(__dirname + '/test-date-rolling-file-stream-5', done); - }); - - it('should create a file with the base name', function (done) { - fs.readFile(__dirname + '/test-date-rolling-file-stream-5', 'utf8', function (err, contents) { - contents.should.eql("First message\n"); - done(err); - }); - }); - - describe('when the day changes', function () { - - before(function (done) { - testTime = new Date(2012, 8, 13, 0, 10, 12); - stream.write("Second message\n", 'utf8', done); - }); - - after(function (done) { - remove(__dirname + '/test-date-rolling-file-stream-5.2012-09-12', done); - }); - - describe('the number of files', function () { - var files = []; - - before(function (done) { - fs.readdir(__dirname, function (err, list) { - files = list; - done(err); - }); - }); - - it('should be two', function (done) { - files.filter( - function (file) { - return file.indexOf('test-date-rolling-file-stream-5') > -1; - } - ).should.have.length(2); - done(); - }); - }); - - describe('the file without a date', function () { - it('should contain the second message', function (done) { - fs.readFile( - __dirname + '/test-date-rolling-file-stream-5', 'utf8', - function (err, contents) { - contents.should.eql("Second message\n"); - done(err); - } - ); - }); - }); - - describe('the file with the date', function () { - it('should contain the first message', function (done) { - fs.readFile( - __dirname + '/test-date-rolling-file-stream-5.2012-09-12', 'utf8', - function (err, contents) { - contents.should.eql("First message\n"); - done(err); - } - ); - }); - }); - }); - }); - - describe('with alwaysIncludePattern', function () { - var stream; - - before(function (done) { - testTime = new Date(2012, 8, 12, 0, 10, 12); - remove( - __dirname + '/test-date-rolling-file-stream-pattern.2012-09-12', - function () { - stream = new DateRollingFileStream( - __dirname + '/test-date-rolling-file-stream-pattern', - '.yyyy-MM-dd', - {alwaysIncludePattern: true}, - now - ); - stream.write("First message\n", 'utf8', done); - } - ); - }); - - after(function (done) { - remove(__dirname + '/test-date-rolling-file-stream-pattern.2012-09-12', done); - }); - - it('should create a file with the pattern set', function (done) { - fs.readFile( - __dirname + '/test-date-rolling-file-stream-pattern.2012-09-12', 'utf8', - function (err, contents) { - contents.should.eql("First message\n"); - done(err); - } - ); - }); - - describe('when the day changes', function () { - before(function (done) { - testTime = new Date(2012, 8, 13, 0, 10, 12); - stream.write("Second message\n", 'utf8', done); - }); - - after(function (done) { - remove(__dirname + '/test-date-rolling-file-stream-pattern.2012-09-13', done); - }); - - describe('the number of files', function () { - it('should be two', function (done) { - fs.readdir(__dirname, function (err, files) { - files.filter( - function (file) { - return file.indexOf('test-date-rolling-file-stream-pattern') > -1; - } - ).should.have.length(2); - done(err); - }); - }); - }); - - describe('the file with the later date', function () { - it('should contain the second message', function (done) { - fs.readFile( - __dirname + '/test-date-rolling-file-stream-pattern.2012-09-13', 'utf8', - function (err, contents) { - contents.should.eql("Second message\n"); - done(err); - } - ); - }); - }); - - describe('the file with the date', function () { - it('should contain the first message', function (done) { - fs.readFile( - __dirname + '/test-date-rolling-file-stream-pattern.2012-09-12', 'utf8', - function (err, contents) { - contents.should.eql("First message\n"); - done(err); - } - ); - }); - }); - }); - }); - - describe('with compress option', function () { - var stream; - - before(function (done) { - testTime = new Date(2012, 8, 12, 0, 10, 12); - stream = new DateRollingFileStream( - __dirname + '/compressed.log', - '.yyyy-MM-dd', - {compress: true}, - now - ); - stream.write("First message\n", 'utf8', done); - }); - - describe('when the day changes', function () { - before(function (done) { - testTime = new Date(2012, 8, 13, 0, 10, 12); - stream.write("Second message\n", 'utf8', done); - }); - - it('should be two files, one compressed', function (done) { - fs.readdir(__dirname, function (err, files) { - var logFiles = files.filter( - function (file) { - return file.indexOf('compressed.log') > -1; - } - ); - logFiles.should.have.length(2); - - zlib.gunzip( - fs.readFileSync(__dirname + '/compressed.log.2012-09-12.gz'), - function (err, contents) { - contents.toString('utf8').should.eql('First message\n'); - fs.readFileSync(__dirname + '/compressed.log', 'utf8').should.eql('Second message\n'); - done(err); - } - ); - }); - }); - }); - - after(function (done) { - remove( - __dirname + '/compressed.log', - function () { - remove(__dirname + '/compressed.log.2012-09-12.gz', done); - } - ); - }); - - }); - - describe('with daysToKeep option', function () { - var stream; - var daysToKeep = 4; - var numOriginalLogs = 10; - - before(function (done) { - var day = 0; - var streams = []; - async.whilst( - function () { - return day < numOriginalLogs; - }, - function (nextCallback) { - testTime = new Date(2012, 8, 20 - day, 0, 10, 12); - var currentStream = new DateRollingFileStream( - __dirname + '/daysToKeep.log', - '.yyyy-MM-dd', - { - alwaysIncludePattern: true, - daysToKeep: daysToKeep - }, - now - ); - async.waterfall([ - function (callback) { - currentStream.write(util.format("Message on day %d\n", day), 'utf8', callback); - }, - function (callback) { - fs.utimes(currentStream.filename, testTime, testTime, callback); - } - ], - function (err) { - day++; - streams.push(currentStream); - nextCallback(err); - }); - }, - function (err, n) { - stream = streams[0]; - done(err); - }); - - describe('when the day changes', function () { - before(function (done) { - testTime = new Date(2012, 8, 21, 0, 10, 12); - stream.write("Second message\n", 'utf8', done); - }); - - it('should be daysToKeep + 1 files left from numOriginalLogs', function (done) { - fs.readdir(__dirname, function (err, files) { - var logFiles = files.filter( - function (file) { - return file.indexOf('daysToKeep.log') > -1; - } - ); - logFiles.should.have.length(daysToKeep + 1); - done(err); - }); - }); - }); - - after(function (done) { - fs.readdir(__dirname, function (err, files) { - var logFiles = files.filter( - function (file) { - return file.indexOf('daysToKeep.log') > -1; - } - ); - async.each(logFiles, function (logFile, nextCallback) { - remove(__dirname + "/" + logFile, nextCallback); - }, - function (err) { - done(err); - }); - }); - }); - }); - }); - - describe('with daysToKeep and compress options', function () { - var stream; - var daysToKeep = 4; - var numOriginalLogs = 10; - - before(function (done) { - var day = 0; - var streams = []; - async.whilst( - function () { - return day < numOriginalLogs; - }, - function (nextCallback) { - testTime = new Date(2012, 8, 20 - day, 0, 10, 12); - var currentStream = new DateRollingFileStream( - __dirname + '/compressedDaysToKeep.log', - '.yyyy-MM-dd', - { - alwaysIncludePattern: true, - compress: true, - daysToKeep: daysToKeep - }, - now - ); - async.waterfall([ - function (callback) { - currentStream.write(util.format("Message on day %d\n", day), 'utf8', callback); - }, - function (callback) { - currentStream.compress(currentStream.filename, callback); - }, - function (callback) { - fs.utimes(currentStream.filename + ".gz", testTime, testTime, callback); - } - ], - function (err) { - day++; - streams.push(currentStream); - nextCallback(err); - }); - }, - function (err, n) { - - // Uncompress the most recent stream which will be the one we roll over - // for testing - stream = streams[0]; - var compressedFilename = stream.filename + '.gz'; - var gzip = zlib.createGzip(); - var inp = fs.createReadStream(compressedFilename); - var out = fs.createWriteStream(stream.filename); - inp.pipe(gzip).pipe(out); - - out.on('finish', function (err) { - fs.unlink(compressedFilename, done); - }); - }); - }); - - describe('when the day changes', function () { - before(function (done) { - testTime = new Date(2012, 8, 21, 0, 10, 12); - stream.write("New file message\n", 'utf8', done); - }); - - it('should be 4 files left from original 3', function (done) { - fs.readdir(__dirname, function (err, files) { - var logFiles = files.filter( - function (file) { - return file.indexOf('compressedDaysToKeep.log') > -1; - } - ); - logFiles.should.have.length(daysToKeep + 1); - done(err); - }); - }); - }); - - after(function (done) { - fs.readdir(__dirname, function (err, files) { - var logFiles = files.filter( - function (file) { - return file.indexOf('compressedDaysToKeep.log') > -1; - } - ); - async.each(logFiles, function (logFile, nextCallback) { - remove(__dirname + "/" + logFile, nextCallback); - }, - function (err) { - done(err); - }); - }); - }); - }); -}); diff --git a/node_modules/streamroller/test/RollingFileStream-test.js b/node_modules/streamroller/test/RollingFileStream-test.js deleted file mode 100644 index 7d09fb2..0000000 --- a/node_modules/streamroller/test/RollingFileStream-test.js +++ /dev/null @@ -1,357 +0,0 @@ -"use strict"; -var async = require('async') -, should = require('should') -, fs = require('fs') -, path = require('path') -, zlib = require('zlib') -, streams = require('readable-stream') -, RollingFileStream = require('../lib').RollingFileStream; - -function remove(filename, cb) { - fs.unlink(filename, function(err) { cb(); }); -} - -function create(filename, cb) { - fs.writeFile(filename, "test file", cb); -} - -describe('RollingFileStream', function() { - - describe('arguments', function() { - var stream; - - before(function(done) { - remove(__dirname + "/test-rolling-file-stream", function() { - stream = new RollingFileStream(__dirname + "/test-rolling-file-stream", 1024, 5); - done(); - }); - }); - - after(function(done) { - remove(__dirname + "/test-rolling-file-stream", done); - }); - - it('should take a filename, file size (bytes), no. backups, return Writable', function() { - stream.should.be.an.instanceOf(streams.Writable); - stream.filename.should.eql(__dirname + "/test-rolling-file-stream"); - stream.size.should.eql(1024); - stream.backups.should.eql(5); - }); - - it('should apply default settings to the underlying stream', function() { - stream.theStream.mode.should.eql(420); - stream.theStream.flags.should.eql('a'); - //encoding isn't a property on the underlying stream - //assert.equal(stream.theStream.encoding, 'utf8'); - }); - }); - - describe('with stream arguments', function() { - it('should pass them to the underlying stream', function() { - var stream = new RollingFileStream( - __dirname + '/test-rolling-file-stream', - 1024, - 5, - { mode: parseInt('0666', 8) } - ); - stream.theStream.mode.should.eql(parseInt('0666', 8)); - }); - - after(function(done) { - remove(__dirname + '/test-rolling-file-stream', done); - }); - }); - - describe('without size', function() { - it('should default to max int size', function() { - var stream = new RollingFileStream(__dirname + "/test-rolling-file-stream"); - stream.size.should.eql(Number.MAX_SAFE_INTEGER); - }); - - after(function(done) { - remove(__dirname + "/test-rolling-file-stream", done); - }); - }); - - describe('without number of backups', function() { - it('should default to 1 backup', function() { - var stream = new RollingFileStream(__dirname + "/test-rolling-file-stream", 1024); - stream.backups.should.eql(1); - }); - - after(function(done) { - remove(__dirname + "/test-rolling-file-stream", done); - }); - }); - - describe('writing less than the file size', function() { - - before(function(done) { - remove(__dirname + "/test-rolling-file-stream-write-less", function() { - var stream = new RollingFileStream( - __dirname + "/test-rolling-file-stream-write-less", - 100 - ); - stream.write("cheese", "utf8", function() { - stream.end(done); - }); - }); - }); - - after(function(done) { - remove(__dirname + "/test-rolling-file-stream-write-less", done); - }); - - it('should write to the file', function(done) { - fs.readFile( - __dirname + "/test-rolling-file-stream-write-less", "utf8", - function(err, contents) { - contents.should.eql("cheese"); - done(err); - } - ); - }); - - it('should write one file', function(done) { - fs.readdir(__dirname, function(err, files) { - files.filter( - function(file) { return file.indexOf('test-rolling-file-stream-write-less') > -1; } - ).should.have.length(1); - done(err); - }); - }); - }); - - describe('writing more than the file size', function() { - before(function(done) { - async.forEach( - [ - __dirname + "/test-rolling-file-stream-write-more", - __dirname + "/test-rolling-file-stream-write-more.1" - ], - remove, - function() { - var stream = new RollingFileStream( - __dirname + "/test-rolling-file-stream-write-more", - 45 - ); - async.forEachSeries( - [0, 1, 2, 3, 4, 5, 6], - function(i, cb) { - stream.write(i +".cheese\n", "utf8", cb); - }, - function() { - stream.end(done); - } - ); - } - ); - }); - - after(function(done) { - async.forEach( - [ - __dirname + "/test-rolling-file-stream-write-more", - __dirname + "/test-rolling-file-stream-write-more.1" - ], - remove, - done - ); - }); - - it('should write two files' , function(done) { - fs.readdir(__dirname, function(err, files) { - files.filter( - function(file) { - return file.indexOf('test-rolling-file-stream-write-more') > -1; - } - ).should.have.length(2); - done(err); - }); - }); - - it('should write the last two log messages to the first file', function(done) { - fs.readFile( - __dirname + "/test-rolling-file-stream-write-more", "utf8", - function(err, contents) { - contents.should.eql('5.cheese\n6.cheese\n'); - done(err); - }); - }); - - it('should write the first five log messages to the second file', function(done) { - fs.readFile( - __dirname + '/test-rolling-file-stream-write-more.1', "utf8", - function(err, contents) { - contents.should.eql('0.cheese\n1.cheese\n2.cheese\n3.cheese\n4.cheese\n'); - done(err); - } - ); - }); - }); - - describe('with options.compress = true', function() { - before(function(done) { - var stream = new RollingFileStream( - path.join(__dirname, 'compressed-backups.log'), - 30, //30 bytes max size - 2, //two backup files to keep - { compress: true } - ); - async.forEachSeries( - [ - "This is the first log message.", - "This is the second log message.", - "This is the third log message.", - "This is the fourth log message." - ], - function(i, cb) { - stream.write(i + "\n", "utf8", cb); - }, - function() { - stream.end(done); - } - ); - }); - - it('should produce three files, with the backups compressed', function(done) { - fs.readdir(__dirname, function(err, files) { - var testFiles = files.filter( - function(f) { return f.indexOf('compressed-backups.log') > -1; } - ).sort(); - - testFiles.length.should.eql(3); - testFiles.should.eql([ - 'compressed-backups.log', - 'compressed-backups.log.1.gz', - 'compressed-backups.log.2.gz', - ]); - - fs.readFile(path.join(__dirname, testFiles[0]), 'utf8', function(err, contents) { - contents.should.eql('This is the fourth log message.\n'); - - zlib.gunzip(fs.readFileSync(path.join(__dirname, testFiles[1])), - function(err, contents) { - contents.toString('utf8').should.eql('This is the third log message.\n'); - zlib.gunzip(fs.readFileSync(path.join(__dirname, testFiles[2])), - function(err, contents) { - contents.toString('utf8').should.eql('This is the second log message.\n'); - done(err); - } - ); - } - ); - }); - }); - }); - - after(function(done) { - async.forEach([ - path.join(__dirname, 'compressed-backups.log'), - path.join(__dirname, 'compressed-backups.log.1.gz'), - path.join(__dirname, 'compressed-backups.log.2.gz'), - ], remove, done); - }); - - }); - - describe('when many files already exist', function() { - before(function(done) { - async.forEach( - [ - __dirname + '/test-rolling-stream-with-existing-files.11', - __dirname + '/test-rolling-stream-with-existing-files.20', - __dirname + '/test-rolling-stream-with-existing-files.-1', - __dirname + '/test-rolling-stream-with-existing-files.1.1', - __dirname + '/test-rolling-stream-with-existing-files.1' - ], - remove, - function(err) { - if (err) done(err); - - async.forEach( - [ - __dirname + '/test-rolling-stream-with-existing-files.11', - __dirname + '/test-rolling-stream-with-existing-files.20', - __dirname + '/test-rolling-stream-with-existing-files.-1', - __dirname + '/test-rolling-stream-with-existing-files.1.1', - __dirname + '/test-rolling-stream-with-existing-files.1' - ], - create, - function(err) { - if (err) done(err); - - var stream = new RollingFileStream( - __dirname + "/test-rolling-stream-with-existing-files", - 45, - 5 - ); - - async.forEachSeries( - [0, 1, 2, 3, 4, 5, 6], - function(i, cb) { - stream.write(i +".cheese\n", "utf8", cb); - }, - function() { - stream.end(done); - } - ); - } - ); - } - ); - }); - - after(function(done) { - async.forEach([ - __dirname + '/test-rolling-stream-with-existing-files', - __dirname + '/test-rolling-stream-with-existing-files.0', - __dirname + '/test-rolling-stream-with-existing-files.1', - __dirname + '/test-rolling-stream-with-existing-files.2', - __dirname + '/test-rolling-stream-with-existing-files.3', - __dirname + '/test-rolling-stream-with-existing-files.4', - __dirname + '/test-rolling-stream-with-existing-files.5', - __dirname + '/test-rolling-stream-with-existing-files.11', - __dirname + '/test-rolling-stream-with-existing-files.20' - ], remove, done); - }); - - it('should roll the files', function(done) { - fs.readdir(__dirname, function(err, files) { - files.should.include('test-rolling-stream-with-existing-files'); - files.should.include('test-rolling-stream-with-existing-files.1'); - files.should.include('test-rolling-stream-with-existing-files.2'); - files.should.include('test-rolling-stream-with-existing-files.11'); - files.should.include('test-rolling-stream-with-existing-files.20'); - done(err); - }); - }); - }); - - describe('when the directory gets deleted', function() { - var stream; - before(function(done) { - stream = new RollingFileStream(path.join('subdir', 'test-rolling-file-stream'), 5, 5); - stream.write('initial', 'utf8', done); - }); - - after(function() { - fs.unlinkSync(path.join('subdir', 'test-rolling-file-stream')); - fs.rmdirSync('subdir'); - }); - - it('handles directory deletion gracefully', function(done) { - stream.theStream.on('error', done); - - remove(path.join('subdir', 'test-rolling-file-stream'), function() { - fs.rmdir('subdir', function() { - stream.write('rollover', 'utf8', function() { - fs.readFileSync(path.join('subdir', 'test-rolling-file-stream'), 'utf8') - .should.eql('rollover'); - done(); - }); - }); - }); - }); - }); -}); diff --git a/node_modules/streamroller/test/read-only-file-test.js b/node_modules/streamroller/test/read-only-file-test.js deleted file mode 100644 index 1c6619e..0000000 --- a/node_modules/streamroller/test/read-only-file-test.js +++ /dev/null @@ -1,28 +0,0 @@ -"use strict"; -var should = require('should') -, fs = require('fs') -, path = require('path') -, streamroller = require('../lib/index.js'); - -describe('when the destination file is read-only', function() { - var testFile = path.join(__dirname, 'read-only-file.log'); - before(function() { - fs.writeFileSync( - testFile, - "Some test content" - ); - fs.chmodSync(testFile, 292 /* 0o444 - octal literals not allowed in old node */); - }); - - it('should generate an error when writing', function(done) { - var stream = new streamroller.RollingFileStream(testFile); - stream.on('error', function(e) { - e.code.should.eql('EACCES'); - done(); - }); - }); - - after(function() { - fs.unlinkSync(testFile); - }); -}); diff --git a/node_modules/string-width/index.js b/node_modules/string-width/index.js deleted file mode 100644 index b9bec62..0000000 --- a/node_modules/string-width/index.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; -var stripAnsi = require('strip-ansi'); -var codePointAt = require('code-point-at'); -var isFullwidthCodePoint = require('is-fullwidth-code-point'); - -// https://github.com/nodejs/io.js/blob/cff7300a578be1b10001f2d967aaedc88aee6402/lib/readline.js#L1345 -module.exports = function (str) { - if (typeof str !== 'string' || str.length === 0) { - return 0; - } - - var width = 0; - - str = stripAnsi(str); - - for (var i = 0; i < str.length; i++) { - var code = codePointAt(str, i); - - // ignore control characters - if (code <= 0x1f || (code >= 0x7f && code <= 0x9f)) { - continue; - } - - // surrogates - if (code >= 0x10000) { - i++; - } - - if (isFullwidthCodePoint(code)) { - width += 2; - } else { - width++; - } - } - - return width; -}; diff --git a/node_modules/string-width/license b/node_modules/string-width/license deleted file mode 100644 index 654d0bf..0000000 --- a/node_modules/string-width/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -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. diff --git a/node_modules/string-width/package.json b/node_modules/string-width/package.json deleted file mode 100644 index 247a739..0000000 --- a/node_modules/string-width/package.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "string-width@^1.0.1", - "scope": null, - "escapedName": "string-width", - "name": "string-width", - "rawSpec": "^1.0.1", - "spec": ">=1.0.1 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/gauge" - ] - ], - "_from": "string-width@>=1.0.1 <2.0.0", - "_id": "string-width@1.0.2", - "_inCache": true, - "_installable": true, - "_location": "/string-width", - "_nodeVersion": "4.4.5", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/string-width-1.0.2.tgz_1471188233009_0.6573935742489994" - }, - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "2.15.5", - "_phantomChildren": {}, - "_requested": { - "raw": "string-width@^1.0.1", - "scope": null, - "escapedName": "string-width", - "name": "string-width", - "rawSpec": "^1.0.1", - "spec": ">=1.0.1 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/gauge", - "/wide-align" - ], - "_resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "_shasum": "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3", - "_shrinkwrap": null, - "_spec": "string-width@^1.0.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/gauge", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/string-width/issues" - }, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "description": "Get the visual width of a string - the number of columns required to display it", - "devDependencies": { - "ava": "*", - "xo": "*" - }, - "directories": {}, - "dist": { - "shasum": "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3", - "tarball": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "282cf3d53918a92cc3ee0778dcf938039bcbc47b", - "homepage": "https://github.com/sindresorhus/string-width#readme", - "keywords": [ - "string", - "str", - "character", - "char", - "unicode", - "width", - "visual", - "column", - "columns", - "fullwidth", - "full-width", - "full", - "ansi", - "escape", - "codes", - "cli", - "command-line", - "terminal", - "console", - "cjk", - "chinese", - "japanese", - "korean", - "fixed-width" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "string-width", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/string-width.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "1.0.2" -} diff --git a/node_modules/string-width/readme.md b/node_modules/string-width/readme.md deleted file mode 100644 index 1ab42c9..0000000 --- a/node_modules/string-width/readme.md +++ /dev/null @@ -1,42 +0,0 @@ -# string-width [![Build Status](https://travis-ci.org/sindresorhus/string-width.svg?branch=master)](https://travis-ci.org/sindresorhus/string-width) - -> Get the visual width of a string - the number of columns required to display it - -Some Unicode characters are [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) and use double the normal width. [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) are stripped and doesn't affect the width. - -Useful to be able to measure the actual width of command-line output. - - -## Install - -``` -$ npm install --save string-width -``` - - -## Usage - -```js -const stringWidth = require('string-width'); - -stringWidth('古'); -//=> 2 - -stringWidth('\u001b[1m古\u001b[22m'); -//=> 2 - -stringWidth('a'); -//=> 1 -``` - - -## Related - -- [string-width-cli](https://github.com/sindresorhus/string-width-cli) - CLI for this module -- [string-length](https://github.com/sindresorhus/string-length) - Get the real length of a string -- [widest-line](https://github.com/sindresorhus/widest-line) - Get the visual width of the widest line in a string - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/string_decoder/.npmignore b/node_modules/string_decoder/.npmignore deleted file mode 100644 index 206320c..0000000 --- a/node_modules/string_decoder/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -build -test diff --git a/node_modules/string_decoder/LICENSE b/node_modules/string_decoder/LICENSE deleted file mode 100644 index 6de584a..0000000 --- a/node_modules/string_decoder/LICENSE +++ /dev/null @@ -1,20 +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. diff --git a/node_modules/string_decoder/README.md b/node_modules/string_decoder/README.md deleted file mode 100644 index 4d2aa00..0000000 --- a/node_modules/string_decoder/README.md +++ /dev/null @@ -1,7 +0,0 @@ -**string_decoder.js** (`require('string_decoder')`) from Node.js core - -Copyright Joyent, Inc. and other Node contributors. See LICENCE file for details. - -Version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.** - -The *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version. \ No newline at end of file diff --git a/node_modules/string_decoder/index.js b/node_modules/string_decoder/index.js deleted file mode 100644 index b00e54f..0000000 --- a/node_modules/string_decoder/index.js +++ /dev/null @@ -1,221 +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 Buffer = require('buffer').Buffer; - -var isBufferEncoding = Buffer.isEncoding - || function(encoding) { - switch (encoding && encoding.toLowerCase()) { - case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true; - default: return false; - } - } - - -function assertEncoding(encoding) { - if (encoding && !isBufferEncoding(encoding)) { - throw new Error('Unknown encoding: ' + encoding); - } -} - -// StringDecoder provides an interface for efficiently splitting a series of -// buffers into a series of JS strings without breaking apart multi-byte -// characters. CESU-8 is handled as part of the UTF-8 encoding. -// -// @TODO Handling all encodings inside a single object makes it very difficult -// to reason about this code, so it should be split up in the future. -// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code -// points as used by CESU-8. -var StringDecoder = exports.StringDecoder = function(encoding) { - this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, ''); - assertEncoding(encoding); - switch (this.encoding) { - case 'utf8': - // CESU-8 represents each of Surrogate Pair by 3-bytes - this.surrogateSize = 3; - break; - case 'ucs2': - case 'utf16le': - // UTF-16 represents each of Surrogate Pair by 2-bytes - this.surrogateSize = 2; - this.detectIncompleteChar = utf16DetectIncompleteChar; - break; - case 'base64': - // Base-64 stores 3 bytes in 4 chars, and pads the remainder. - this.surrogateSize = 3; - this.detectIncompleteChar = base64DetectIncompleteChar; - break; - default: - this.write = passThroughWrite; - return; - } - - // Enough space to store all bytes of a single character. UTF-8 needs 4 - // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate). - this.charBuffer = new Buffer(6); - // Number of bytes received for the current incomplete multi-byte character. - this.charReceived = 0; - // Number of bytes expected for the current incomplete multi-byte character. - this.charLength = 0; -}; - - -// write decodes the given buffer and returns it as JS string that is -// guaranteed to not contain any partial multi-byte characters. Any partial -// character found at the end of the buffer is buffered up, and will be -// returned when calling write again with the remaining bytes. -// -// Note: Converting a Buffer containing an orphan surrogate to a String -// currently works, but converting a String to a Buffer (via `new Buffer`, or -// Buffer#write) will replace incomplete surrogates with the unicode -// replacement character. See https://codereview.chromium.org/121173009/ . -StringDecoder.prototype.write = function(buffer) { - var charStr = ''; - // if our last write ended with an incomplete multibyte character - while (this.charLength) { - // determine how many remaining bytes this buffer has to offer for this char - var available = (buffer.length >= this.charLength - this.charReceived) ? - this.charLength - this.charReceived : - buffer.length; - - // add the new bytes to the char buffer - buffer.copy(this.charBuffer, this.charReceived, 0, available); - this.charReceived += available; - - if (this.charReceived < this.charLength) { - // still not enough chars in this buffer? wait for more ... - return ''; - } - - // remove bytes belonging to the current character from the buffer - buffer = buffer.slice(available, buffer.length); - - // get the character that was split - charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding); - - // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character - var charCode = charStr.charCodeAt(charStr.length - 1); - if (charCode >= 0xD800 && charCode <= 0xDBFF) { - this.charLength += this.surrogateSize; - charStr = ''; - continue; - } - this.charReceived = this.charLength = 0; - - // if there are no more bytes in this buffer, just emit our char - if (buffer.length === 0) { - return charStr; - } - break; - } - - // determine and set charLength / charReceived - this.detectIncompleteChar(buffer); - - var end = buffer.length; - if (this.charLength) { - // buffer the incomplete character bytes we got - buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end); - end -= this.charReceived; - } - - charStr += buffer.toString(this.encoding, 0, end); - - var end = charStr.length - 1; - var charCode = charStr.charCodeAt(end); - // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character - if (charCode >= 0xD800 && charCode <= 0xDBFF) { - var size = this.surrogateSize; - this.charLength += size; - this.charReceived += size; - this.charBuffer.copy(this.charBuffer, size, 0, size); - buffer.copy(this.charBuffer, 0, 0, size); - return charStr.substring(0, end); - } - - // or just emit the charStr - return charStr; -}; - -// detectIncompleteChar determines if there is an incomplete UTF-8 character at -// the end of the given buffer. If so, it sets this.charLength to the byte -// length that character, and sets this.charReceived to the number of bytes -// that are available for this character. -StringDecoder.prototype.detectIncompleteChar = function(buffer) { - // determine how many bytes we have to check at the end of this buffer - var i = (buffer.length >= 3) ? 3 : buffer.length; - - // Figure out if one of the last i bytes of our buffer announces an - // incomplete char. - for (; i > 0; i--) { - var c = buffer[buffer.length - i]; - - // See http://en.wikipedia.org/wiki/UTF-8#Description - - // 110XXXXX - if (i == 1 && c >> 5 == 0x06) { - this.charLength = 2; - break; - } - - // 1110XXXX - if (i <= 2 && c >> 4 == 0x0E) { - this.charLength = 3; - break; - } - - // 11110XXX - if (i <= 3 && c >> 3 == 0x1E) { - this.charLength = 4; - break; - } - } - this.charReceived = i; -}; - -StringDecoder.prototype.end = function(buffer) { - var res = ''; - if (buffer && buffer.length) - res = this.write(buffer); - - if (this.charReceived) { - var cr = this.charReceived; - var buf = this.charBuffer; - var enc = this.encoding; - res += buf.slice(0, cr).toString(enc); - } - - return res; -}; - -function passThroughWrite(buffer) { - return buffer.toString(this.encoding); -} - -function utf16DetectIncompleteChar(buffer) { - this.charReceived = buffer.length % 2; - this.charLength = this.charReceived ? 2 : 0; -} - -function base64DetectIncompleteChar(buffer) { - this.charReceived = buffer.length % 3; - this.charLength = this.charReceived ? 3 : 0; -} diff --git a/node_modules/string_decoder/package.json b/node_modules/string_decoder/package.json deleted file mode 100644 index 4c3414a..0000000 --- a/node_modules/string_decoder/package.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "string_decoder@~0.10.x", - "scope": null, - "escapedName": "string_decoder", - "name": "string_decoder", - "rawSpec": "~0.10.x", - "spec": ">=0.10.0 <0.11.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/readable-stream" - ] - ], - "_from": "string_decoder@>=0.10.0 <0.11.0", - "_id": "string_decoder@0.10.31", - "_inCache": true, - "_installable": true, - "_location": "/string_decoder", - "_npmUser": { - "name": "rvagg", - "email": "rod@vagg.org" - }, - "_npmVersion": "1.4.23", - "_phantomChildren": {}, - "_requested": { - "raw": "string_decoder@~0.10.x", - "scope": null, - "escapedName": "string_decoder", - "name": "string_decoder", - "rawSpec": "~0.10.x", - "spec": ">=0.10.0 <0.11.0", - "type": "range" - }, - "_requiredBy": [ - "/readable-stream", - "/streamroller/readable-stream" - ], - "_resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94", - "_shrinkwrap": null, - "_spec": "string_decoder@~0.10.x", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/readable-stream", - "bugs": { - "url": "https://github.com/rvagg/string_decoder/issues" - }, - "dependencies": {}, - "description": "The string_decoder module from Node core", - "devDependencies": { - "tap": "~0.4.8" - }, - "directories": {}, - "dist": { - "shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94", - "tarball": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - }, - "gitHead": "d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0", - "homepage": "https://github.com/rvagg/string_decoder", - "keywords": [ - "string", - "decoder", - "browser", - "browserify" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "substack", - "email": "mail@substack.net" - }, - { - "name": "rvagg", - "email": "rod@vagg.org" - } - ], - "name": "string_decoder", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/rvagg/string_decoder.git" - }, - "scripts": { - "test": "tap test/simple/*.js" - }, - "version": "0.10.31" -} diff --git a/node_modules/strip-ansi/index.js b/node_modules/strip-ansi/index.js deleted file mode 100644 index 099480f..0000000 --- a/node_modules/strip-ansi/index.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; -var ansiRegex = require('ansi-regex')(); - -module.exports = function (str) { - return typeof str === 'string' ? str.replace(ansiRegex, '') : str; -}; diff --git a/node_modules/strip-ansi/license b/node_modules/strip-ansi/license deleted file mode 100644 index 654d0bf..0000000 --- a/node_modules/strip-ansi/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -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. diff --git a/node_modules/strip-ansi/package.json b/node_modules/strip-ansi/package.json deleted file mode 100644 index 340badd..0000000 --- a/node_modules/strip-ansi/package.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "strip-ansi@^3.0.1", - "scope": null, - "escapedName": "strip-ansi", - "name": "strip-ansi", - "rawSpec": "^3.0.1", - "spec": ">=3.0.1 <4.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/gauge" - ] - ], - "_from": "strip-ansi@>=3.0.1 <4.0.0", - "_id": "strip-ansi@3.0.1", - "_inCache": true, - "_installable": true, - "_location": "/strip-ansi", - "_nodeVersion": "0.12.7", - "_npmOperationalInternal": { - "host": "packages-9-west.internal.npmjs.com", - "tmp": "tmp/strip-ansi-3.0.1.tgz_1456057278183_0.28958667791448534" - }, - "_npmUser": { - "name": "jbnicolai", - "email": "jappelman@xebia.com" - }, - "_npmVersion": "2.11.3", - "_phantomChildren": {}, - "_requested": { - "raw": "strip-ansi@^3.0.1", - "scope": null, - "escapedName": "strip-ansi", - "name": "strip-ansi", - "rawSpec": "^3.0.1", - "spec": ">=3.0.1 <4.0.0", - "type": "range" - }, - "_requiredBy": [ - "/gauge", - "/string-width" - ], - "_resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "_shasum": "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf", - "_shrinkwrap": null, - "_spec": "strip-ansi@^3.0.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/gauge", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/chalk/strip-ansi/issues" - }, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "description": "Strip ANSI escape codes", - "devDependencies": { - "ava": "*", - "xo": "*" - }, - "directories": {}, - "dist": { - "shasum": "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf", - "tarball": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "8270705c704956da865623e564eba4875c3ea17f", - "homepage": "https://github.com/chalk/strip-ansi", - "keywords": [ - "strip", - "trim", - "remove", - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - { - "name": "jbnicolai", - "email": "jappelman@xebia.com" - } - ], - "name": "strip-ansi", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/strip-ansi.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "3.0.1" -} diff --git a/node_modules/strip-ansi/readme.md b/node_modules/strip-ansi/readme.md deleted file mode 100644 index cb7d9ff..0000000 --- a/node_modules/strip-ansi/readme.md +++ /dev/null @@ -1,33 +0,0 @@ -# strip-ansi [![Build Status](https://travis-ci.org/chalk/strip-ansi.svg?branch=master)](https://travis-ci.org/chalk/strip-ansi) - -> Strip [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) - - -## Install - -``` -$ npm install --save strip-ansi -``` - - -## Usage - -```js -var stripAnsi = require('strip-ansi'); - -stripAnsi('\u001b[4mcake\u001b[0m'); -//=> 'cake' -``` - - -## Related - -- [strip-ansi-cli](https://github.com/chalk/strip-ansi-cli) - CLI for this module -- [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes -- [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes -- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/strip-json-comments/index.js b/node_modules/strip-json-comments/index.js deleted file mode 100644 index 4e6576e..0000000 --- a/node_modules/strip-json-comments/index.js +++ /dev/null @@ -1,70 +0,0 @@ -'use strict'; -var singleComment = 1; -var multiComment = 2; - -function stripWithoutWhitespace() { - return ''; -} - -function stripWithWhitespace(str, start, end) { - return str.slice(start, end).replace(/\S/g, ' '); -} - -module.exports = function (str, opts) { - opts = opts || {}; - - var currentChar; - var nextChar; - var insideString = false; - var insideComment = false; - var offset = 0; - var ret = ''; - var strip = opts.whitespace === false ? stripWithoutWhitespace : stripWithWhitespace; - - for (var i = 0; i < str.length; i++) { - currentChar = str[i]; - nextChar = str[i + 1]; - - if (!insideComment && currentChar === '"') { - var escaped = str[i - 1] === '\\' && str[i - 2] !== '\\'; - if (!escaped) { - insideString = !insideString; - } - } - - if (insideString) { - continue; - } - - if (!insideComment && currentChar + nextChar === '//') { - ret += str.slice(offset, i); - offset = i; - insideComment = singleComment; - i++; - } else if (insideComment === singleComment && currentChar + nextChar === '\r\n') { - i++; - insideComment = false; - ret += strip(str, offset, i); - offset = i; - continue; - } else if (insideComment === singleComment && currentChar === '\n') { - insideComment = false; - ret += strip(str, offset, i); - offset = i; - } else if (!insideComment && currentChar + nextChar === '/*') { - ret += str.slice(offset, i); - offset = i; - insideComment = multiComment; - i++; - continue; - } else if (insideComment === multiComment && currentChar + nextChar === '*/') { - i++; - insideComment = false; - ret += strip(str, offset, i + 1); - offset = i + 1; - continue; - } - } - - return ret + (insideComment ? strip(str.substr(offset)) : str.substr(offset)); -}; diff --git a/node_modules/strip-json-comments/license b/node_modules/strip-json-comments/license deleted file mode 100644 index 654d0bf..0000000 --- a/node_modules/strip-json-comments/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -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. diff --git a/node_modules/strip-json-comments/package.json b/node_modules/strip-json-comments/package.json deleted file mode 100644 index d34e80f..0000000 --- a/node_modules/strip-json-comments/package.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "strip-json-comments@~2.0.1", - "scope": null, - "escapedName": "strip-json-comments", - "name": "strip-json-comments", - "rawSpec": "~2.0.1", - "spec": ">=2.0.1 <2.1.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/rc" - ] - ], - "_from": "strip-json-comments@>=2.0.1 <2.1.0", - "_id": "strip-json-comments@2.0.1", - "_inCache": true, - "_installable": true, - "_location": "/strip-json-comments", - "_nodeVersion": "4.2.4", - "_npmOperationalInternal": { - "host": "packages-9-west.internal.npmjs.com", - "tmp": "tmp/strip-json-comments-2.0.1.tgz_1455006605207_0.8280157081317157" - }, - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "3.7.2", - "_phantomChildren": {}, - "_requested": { - "raw": "strip-json-comments@~2.0.1", - "scope": null, - "escapedName": "strip-json-comments", - "name": "strip-json-comments", - "rawSpec": "~2.0.1", - "spec": ">=2.0.1 <2.1.0", - "type": "range" - }, - "_requiredBy": [ - "/rc" - ], - "_resolved": "http://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "_shasum": "3c531942e908c2697c0ec344858c286c7ca0a60a", - "_shrinkwrap": null, - "_spec": "strip-json-comments@~2.0.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/rc", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/strip-json-comments/issues" - }, - "dependencies": {}, - "description": "Strip comments from JSON. Lets you use comments in your JSON files!", - "devDependencies": { - "ava": "*", - "xo": "*" - }, - "directories": {}, - "dist": { - "shasum": "3c531942e908c2697c0ec344858c286c7ca0a60a", - "tarball": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "1aef99eaa70d07981156e8aaa722e750c3b4eaf9", - "homepage": "https://github.com/sindresorhus/strip-json-comments#readme", - "keywords": [ - "json", - "strip", - "remove", - "delete", - "trim", - "comments", - "multiline", - "parse", - "config", - "configuration", - "conf", - "settings", - "util", - "env", - "environment" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "strip-json-comments", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/strip-json-comments.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "2.0.1" -} diff --git a/node_modules/strip-json-comments/readme.md b/node_modules/strip-json-comments/readme.md deleted file mode 100644 index 0ee58df..0000000 --- a/node_modules/strip-json-comments/readme.md +++ /dev/null @@ -1,64 +0,0 @@ -# strip-json-comments [![Build Status](https://travis-ci.org/sindresorhus/strip-json-comments.svg?branch=master)](https://travis-ci.org/sindresorhus/strip-json-comments) - -> Strip comments from JSON. Lets you use comments in your JSON files! - -This is now possible: - -```js -{ - // rainbows - "unicorn": /* ❤ */ "cake" -} -``` - -It will replace single-line comments `//` and multi-line comments `/**/` with whitespace. This allows JSON error positions to remain as close as possible to the original source. - -Also available as a [gulp](https://github.com/sindresorhus/gulp-strip-json-comments)/[grunt](https://github.com/sindresorhus/grunt-strip-json-comments)/[broccoli](https://github.com/sindresorhus/broccoli-strip-json-comments) plugin. - - -## Install - -``` -$ npm install --save strip-json-comments -``` - - -## Usage - -```js -const json = '{/*rainbows*/"unicorn":"cake"}'; - -JSON.parse(stripJsonComments(json)); -//=> {unicorn: 'cake'} -``` - - -## API - -### stripJsonComments(input, [options]) - -#### input - -Type: `string` - -Accepts a string with JSON and returns a string without comments. - -#### options - -##### whitespace - -Type: `boolean` -Default: `true` - -Replace comments with whitespace instead of stripping them entirely. - - -## Related - -- [strip-json-comments-cli](https://github.com/sindresorhus/strip-json-comments-cli) - CLI for this module -- [strip-css-comments](https://github.com/sindresorhus/strip-css-comments) - Strip comments from CSS - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/tar-fs/.npmignore b/node_modules/tar-fs/.npmignore deleted file mode 100644 index 118a137..0000000 --- a/node_modules/tar-fs/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules -test/fixtures/copy diff --git a/node_modules/tar-fs/.travis.yml b/node_modules/tar-fs/.travis.yml deleted file mode 100644 index 6e5919d..0000000 --- a/node_modules/tar-fs/.travis.yml +++ /dev/null @@ -1,3 +0,0 @@ -language: node_js -node_js: - - "0.10" diff --git a/node_modules/tar-fs/LICENSE b/node_modules/tar-fs/LICENSE deleted file mode 100644 index 757562e..0000000 --- a/node_modules/tar-fs/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Mathias Buus - -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. \ No newline at end of file diff --git a/node_modules/tar-fs/README.md b/node_modules/tar-fs/README.md deleted file mode 100644 index 6cc3b07..0000000 --- a/node_modules/tar-fs/README.md +++ /dev/null @@ -1,143 +0,0 @@ -# tar-fs - -filesystem bindings for [tar-stream](https://github.com/mafintosh/tar-stream). - -``` -npm install tar-fs -``` - -[![build status](https://secure.travis-ci.org/mafintosh/tar-fs.png)](http://travis-ci.org/mafintosh/tar-fs) - -## Usage - -tar-fs allows you to pack directories into tarballs and extract tarballs into directories. - -It doesn't gunzip for you, so if you want to extract a `.tar.gz` with this you'll need to use something like [gunzip-maybe](https://github.com/mafintosh/gunzip-maybe) in addition to this. - -``` js -var tar = require('tar-fs') -var fs = require('fs') - -// packing a directory -tar.pack('./my-directory').pipe(fs.createWriteStream('my-tarball.tar')) - -// extracting a directory -fs.createReadStream('my-other-tarball.tar').pipe(tar.extract('./my-other-directory')) -``` - -To ignore various files when packing or extracting add a ignore function to the options. `ignore` -is also an alias for `filter`. Additionally you get `header` if you use ignore while extracting. -That way you could also filter by metadata. - -``` js -var pack = tar.pack('./my-directory', { - ignore: function(name) { - return path.extname(name) === '.bin' // ignore .bin files when packing - } -}) - -var extract = tar.extract('./my-other-directory', { - ignore: function(name) { - return path.extname(name) === '.bin' // ignore .bin files inside the tarball when extracing - } -}) - -var extractFilesDirs = tar.extract('./my-other-other-directory', { - ignore: function(_, header) { - // pass files & directories, ignore e.g. symlinks - return header.type !== 'file' && header.type !== 'directory' - } -}) -``` - -You can also specify which entries to pack using the `entries` option - -```js -var pack = tar.pack('./my-directory', { - entries: ['file1', 'subdir/file2'] // only the specific entries will be packed -}) -``` - -If you want to modify the headers when packing/extracting add a map function to the options - -``` js -var pack = tar.pack('./my-directory', { - map: function(header) { - header.name = 'prefixed/'+header.name - return header - } -}) - -var extract = tar.extract('./my-directory', { - map: function(header) { - header.name = 'another-prefix/'+header.name - return header - } -}) -``` - -Similarly you can use `mapStream` incase you wanna modify the input/output file streams - -``` js -var pack = tar.pack('./my-directory', { - mapStream: function(fileStream, header) { - if (path.extname(header.name) === '.js') { - return fileStream.pipe(someTransform) - } - return fileStream; - } -}) - -var extract = tar.extract('./my-directory', { - mapStream: function(fileStream, header) { - if (path.extname(header.name) === '.js') { - return fileStream.pipe(someTransform) - } - return fileStream; - } -}) -``` - -Set `options.fmode` and `options.dmode` to ensure that files/directories extracted have the corresponding modes - -``` js -var extract = tar.extract('./my-directory', { - dmode: parseInt(555, 8), // all dirs should be readable - fmode: parseInt(444, 8) // all files should be readable -}) -``` - -It can be useful to use `dmode` and `fmode` if you are packing/unpacking tarballs between *nix/windows to ensure that all files/directories unpacked are readable. - -Alternatively you can set `options.readable` and/or `options.writable` to set the dmode and fmode to readable/writable. - -``` js -var extract = tar.extract('./my-directory', { - readable: true, // all dirs and files should be readable - writable: true, // all dirs and files should be writable -}) -``` - -Set `options.strict` to `false` if you want to ignore errors due to unsupported entry types (like device files) - -To dereference symlinks (pack the contents of the symlink instead of the link itself) set `options.dereference` to `true`. - -## Copy a directory - -Copying a directory with permissions and mtime intact is as simple as - -``` js -tar.pack('source-directory').pipe(tar.extract('dest-directory')) -``` - -## Performance - -Packing and extracting a 6.1 GB with 2496 directories and 2398 files yields the following results on my Macbook Air. -[See the benchmark here](https://gist.github.com/mafintosh/8102201) - -* tar-fs: 34.261 ms -* [node-tar](https://github.com/isaacs/node-tar): 366.123 ms (or 10x slower) - -## License - -MIT diff --git a/node_modules/tar-fs/index.js b/node_modules/tar-fs/index.js deleted file mode 100644 index 4bb7637..0000000 --- a/node_modules/tar-fs/index.js +++ /dev/null @@ -1,323 +0,0 @@ -var chownr = require('chownr') -var tar = require('tar-stream') -var pump = require('pump') -var mkdirp = require('mkdirp') -var fs = require('fs') -var path = require('path') -var os = require('os') - -var win32 = os.platform() === 'win32' - -var noop = function () {} - -var echo = function (name) { - return name -} - -var normalize = !win32 ? echo : function (name) { - return name.replace(/\\/g, '/').replace(/:/g, '_') -} - -var statAll = function (fs, stat, cwd, ignore, entries, sort) { - var queue = entries || ['.'] - - return function loop (callback) { - if (!queue.length) return callback() - var next = queue.shift() - var nextAbs = path.join(cwd, next) - - stat(nextAbs, function (err, stat) { - if (err) return callback(err) - - if (!stat.isDirectory()) return callback(null, next, stat) - - fs.readdir(nextAbs, function (err, files) { - if (err) return callback(err) - - if (sort) files.sort() - for (var i = 0; i < files.length; i++) { - if (!ignore(path.join(cwd, next, files[i]))) queue.push(path.join(next, files[i])) - } - - callback(null, next, stat) - }) - }) - } -} - -var strip = function (map, level) { - return function (header) { - header.name = header.name.split('/').slice(level).join('/') - - var linkname = header.linkname - if (linkname && (header.type === 'link' || path.isAbsolute(linkname))) { - header.linkname = linkname.split('/').slice(level).join('/') - } - - return map(header) - } -} - -exports.pack = function (cwd, opts) { - if (!cwd) cwd = '.' - if (!opts) opts = {} - - var xfs = opts.fs || fs - var ignore = opts.ignore || opts.filter || noop - var map = opts.map || noop - var mapStream = opts.mapStream || echo - var statNext = statAll(xfs, opts.dereference ? xfs.stat : xfs.lstat, cwd, ignore, opts.entries, opts.sort) - var strict = opts.strict !== false - var umask = typeof opts.umask === 'number' ? ~opts.umask : ~processUmask() - var dmode = typeof opts.dmode === 'number' ? opts.dmode : 0 - var fmode = typeof opts.fmode === 'number' ? opts.fmode : 0 - var pack = opts.pack || tar.pack() - - if (opts.strip) map = strip(map, opts.strip) - - if (opts.readable) { - dmode |= parseInt(555, 8) - fmode |= parseInt(444, 8) - } - if (opts.writable) { - dmode |= parseInt(333, 8) - fmode |= parseInt(222, 8) - } - - var onsymlink = function (filename, header) { - xfs.readlink(path.join(cwd, filename), function (err, linkname) { - if (err) return pack.destroy(err) - header.linkname = normalize(linkname) - pack.entry(header, onnextentry) - }) - } - - var onstat = function (err, filename, stat) { - if (err) return pack.destroy(err) - if (!filename) return pack.finalize() - - if (stat.isSocket()) return onnextentry() // tar does not support sockets... - - var header = { - name: normalize(filename), - mode: (stat.mode | (stat.isDirectory() ? dmode : fmode)) & umask, - mtime: stat.mtime, - size: stat.size, - type: 'file', - uid: stat.uid, - gid: stat.gid - } - - if (stat.isDirectory()) { - header.size = 0 - header.type = 'directory' - header = map(header) || header - return pack.entry(header, onnextentry) - } - - if (stat.isSymbolicLink()) { - header.size = 0 - header.type = 'symlink' - header = map(header) || header - return onsymlink(filename, header) - } - - // TODO: add fifo etc... - - header = map(header) || header - - if (!stat.isFile()) { - if (strict) return pack.destroy(new Error('unsupported type for ' + filename)) - return onnextentry() - } - - var entry = pack.entry(header, onnextentry) - if (!entry) return - - var rs = mapStream(xfs.createReadStream(path.join(cwd, filename)), header) - - rs.on('error', function (err) { // always forward errors on destroy - entry.destroy(err) - }) - - pump(rs, entry) - } - - var onnextentry = function (err) { - if (err) return pack.destroy(err) - statNext(onstat) - } - - onnextentry() - - return pack -} - -var head = function (list) { - return list.length ? list[list.length - 1] : null -} - -var processGetuid = function () { - return process.getuid ? process.getuid() : -1 -} - -var processUmask = function () { - return process.umask ? process.umask() : 0 -} - -exports.extract = function (cwd, opts) { - if (!cwd) cwd = '.' - if (!opts) opts = {} - - var xfs = opts.fs || fs - var ignore = opts.ignore || opts.filter || noop - var map = opts.map || noop - var mapStream = opts.mapStream || echo - var own = opts.chown !== false && !win32 && processGetuid() === 0 - var extract = opts.extract || tar.extract() - var stack = [] - var now = new Date() - var umask = typeof opts.umask === 'number' ? ~opts.umask : ~processUmask() - var dmode = typeof opts.dmode === 'number' ? opts.dmode : 0 - var fmode = typeof opts.fmode === 'number' ? opts.fmode : 0 - var strict = opts.strict !== false - - if (opts.strip) map = strip(map, opts.strip) - - if (opts.readable) { - dmode |= parseInt(555, 8) - fmode |= parseInt(444, 8) - } - if (opts.writable) { - dmode |= parseInt(333, 8) - fmode |= parseInt(222, 8) - } - - var utimesParent = function (name, cb) { // we just set the mtime on the parent dir again everytime we write an entry - var top - while ((top = head(stack)) && name.slice(0, top[0].length) !== top[0]) stack.pop() - if (!top) return cb() - xfs.utimes(top[0], now, top[1], cb) - } - - var utimes = function (name, header, cb) { - if (opts.utimes === false) return cb() - - if (header.type === 'directory') return xfs.utimes(name, now, header.mtime, cb) - if (header.type === 'symlink') return utimesParent(name, cb) // TODO: how to set mtime on link? - - xfs.utimes(name, now, header.mtime, function (err) { - if (err) return cb(err) - utimesParent(name, cb) - }) - } - - var chperm = function (name, header, cb) { - var link = header.type === 'symlink' - var chmod = link ? xfs.lchmod : xfs.chmod - var chown = link ? xfs.lchown : xfs.chown - - if (!chmod) return cb() - - var mode = (header.mode | (header.type === 'directory' ? dmode : fmode)) & umask - chmod(name, mode, function (err) { - if (err) return cb(err) - if (!own) return cb() - if (!chown) return cb() - chown(name, header.uid, header.gid, cb) - }) - } - - extract.on('entry', function (header, stream, next) { - header = map(header) || header - header.name = normalize(header.name) - var name = path.join(cwd, path.join('/', header.name)) - - if (ignore(name, header)) { - stream.resume() - return next() - } - - var stat = function (err) { - if (err) return next(err) - utimes(name, header, function (err) { - if (err) return next(err) - if (win32) return next() - chperm(name, header, next) - }) - } - - var onsymlink = function () { - if (win32) return next() // skip symlinks on win for now before it can be tested - xfs.unlink(name, function () { - xfs.symlink(header.linkname, name, stat) - }) - } - - var onlink = function () { - if (win32) return next() // skip links on win for now before it can be tested - xfs.unlink(name, function () { - var srcpath = path.resolve(cwd, header.linkname) - - xfs.link(srcpath, name, function (err) { - if (err && err.code === 'EPERM' && opts.hardlinkAsFilesFallback) { - stream = xfs.createReadStream(srcpath) - return onfile() - } - - stat(err) - }) - }) - } - - var onfile = function () { - var ws = xfs.createWriteStream(name) - var rs = mapStream(stream, header) - - ws.on('error', function (err) { // always forward errors on destroy - rs.destroy(err) - }) - - pump(rs, ws, function (err) { - if (err) return next(err) - ws.on('close', stat) - }) - } - - if (header.type === 'directory') { - stack.push([name, header.mtime]) - return mkdirfix(name, { - fs: xfs, own: own, uid: header.uid, gid: header.gid - }, stat) - } - - mkdirfix(path.dirname(name), { - fs: xfs, own: own, uid: header.uid, gid: header.gid - }, function (err) { - if (err) return next(err) - - switch (header.type) { - case 'file': return onfile() - case 'link': return onlink() - case 'symlink': return onsymlink() - } - - if (strict) return next(new Error('unsupported type for ' + name + ' (' + header.type + ')')) - - stream.resume() - next() - }) - }) - - return extract -} - -function mkdirfix (name, opts, cb) { - mkdirp(name, {fs: opts.xfs}, function (err, made) { - if (!err && made && opts.own) { - chownr(made, opts.uid, opts.gid, cb) - } else { - cb(err) - } - }) -} diff --git a/node_modules/tar-fs/package.json b/node_modules/tar-fs/package.json deleted file mode 100644 index 6da2185..0000000 --- a/node_modules/tar-fs/package.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "tar-fs@^1.13.0", - "scope": null, - "escapedName": "tar-fs", - "name": "tar-fs", - "rawSpec": "^1.13.0", - "spec": ">=1.13.0 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install" - ] - ], - "_from": "tar-fs@>=1.13.0 <2.0.0", - "_id": "tar-fs@1.15.2", - "_inCache": true, - "_installable": true, - "_location": "/tar-fs", - "_nodeVersion": "6.9.5", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/tar-fs-1.15.2.tgz_1490092359091_0.23782586585730314" - }, - "_npmUser": { - "name": "mafintosh", - "email": "mathiasbuus@gmail.com" - }, - "_npmVersion": "3.10.10", - "_phantomChildren": {}, - "_requested": { - "raw": "tar-fs@^1.13.0", - "scope": null, - "escapedName": "tar-fs", - "name": "tar-fs", - "rawSpec": "^1.13.0", - "spec": ">=1.13.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/prebuild-install" - ], - "_resolved": "http://registry.npmjs.org/tar-fs/-/tar-fs-1.15.2.tgz", - "_shasum": "761f5b32932c7b39461a60d537faea0d8084830c", - "_shrinkwrap": null, - "_spec": "tar-fs@^1.13.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install", - "author": { - "name": "Mathias Buus" - }, - "bugs": { - "url": "https://github.com/mafintosh/tar-fs/issues" - }, - "dependencies": { - "chownr": "^1.0.1", - "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" - }, - "description": "filesystem bindings for tar-stream", - "devDependencies": { - "rimraf": "^2.2.8", - "standard": "^4.5.4", - "tape": "^3.0.0" - }, - "directories": { - "test": "test" - }, - "dist": { - "shasum": "761f5b32932c7b39461a60d537faea0d8084830c", - "tarball": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.15.2.tgz" - }, - "gitHead": "b79d82a79c5e21f6187462d7daaba1fc03cdd1de", - "homepage": "https://github.com/mafintosh/tar-fs", - "keywords": [ - "tar", - "fs", - "file", - "tarball", - "directory", - "stream" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "mafintosh", - "email": "mathiasbuus@gmail.com" - }, - { - "name": "maxogden", - "email": "max@maxogden.com" - } - ], - "name": "tar-fs", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/mafintosh/tar-fs.git" - }, - "scripts": { - "test": "standard && tape test/index.js" - }, - "version": "1.15.2" -} diff --git a/node_modules/tar-fs/test/fixtures/a/hello.txt b/node_modules/tar-fs/test/fixtures/a/hello.txt deleted file mode 100644 index 3b18e51..0000000 --- a/node_modules/tar-fs/test/fixtures/a/hello.txt +++ /dev/null @@ -1 +0,0 @@ -hello world diff --git a/node_modules/tar-fs/test/fixtures/b/a/test.txt b/node_modules/tar-fs/test/fixtures/b/a/test.txt deleted file mode 100644 index 9daeafb..0000000 --- a/node_modules/tar-fs/test/fixtures/b/a/test.txt +++ /dev/null @@ -1 +0,0 @@ -test diff --git a/node_modules/tar-fs/test/fixtures/c/.npmignore b/node_modules/tar-fs/test/fixtures/c/.npmignore deleted file mode 100644 index 2b2328d..0000000 --- a/node_modules/tar-fs/test/fixtures/c/.npmignore +++ /dev/null @@ -1 +0,0 @@ -link diff --git a/node_modules/tar-fs/test/fixtures/d/file1 b/node_modules/tar-fs/test/fixtures/d/file1 deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/tar-fs/test/fixtures/d/file2 b/node_modules/tar-fs/test/fixtures/d/file2 deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 b/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/tar-fs/test/fixtures/d/sub-files/file3 b/node_modules/tar-fs/test/fixtures/d/sub-files/file3 deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/tar-fs/test/fixtures/d/sub-files/file4 b/node_modules/tar-fs/test/fixtures/d/sub-files/file4 deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/tar-fs/test/fixtures/e/directory/.ignore b/node_modules/tar-fs/test/fixtures/e/directory/.ignore deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/tar-fs/test/fixtures/e/file b/node_modules/tar-fs/test/fixtures/e/file deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/tar-fs/test/index.js b/node_modules/tar-fs/test/index.js deleted file mode 100644 index 01ca87f..0000000 --- a/node_modules/tar-fs/test/index.js +++ /dev/null @@ -1,227 +0,0 @@ -var test = require('tape') -var rimraf = require('rimraf') -var tar = require('../index') -var path = require('path') -var fs = require('fs') -var os = require('os') - -var win32 = os.platform() === 'win32' - -var mtime = function (st) { - return Math.floor(st.mtime.getTime() / 1000) -} - -test('copy a -> copy/a', function (t) { - t.plan(5) - - var a = path.join(__dirname, 'fixtures', 'a') - var b = path.join(__dirname, 'fixtures', 'copy', 'a') - - rimraf.sync(b) - tar.pack(a) - .pipe(tar.extract(b)) - .on('finish', function () { - var files = fs.readdirSync(b) - t.same(files.length, 1) - t.same(files[0], 'hello.txt') - var fileB = path.join(b, files[0]) - var fileA = path.join(a, files[0]) - t.same(fs.readFileSync(fileB, 'utf-8'), fs.readFileSync(fileA, 'utf-8')) - t.same(fs.statSync(fileB).mode, fs.statSync(fileA).mode) - t.same(mtime(fs.statSync(fileB)), mtime(fs.statSync(fileA))) - }) -}) - -test('copy b -> copy/b', function (t) { - t.plan(8) - - var a = path.join(__dirname, 'fixtures', 'b') - var b = path.join(__dirname, 'fixtures', 'copy', 'b') - - rimraf.sync(b) - tar.pack(a) - .pipe(tar.extract(b)) - .on('finish', function () { - var files = fs.readdirSync(b) - t.same(files.length, 1) - t.same(files[0], 'a') - var dirB = path.join(b, files[0]) - var dirA = path.join(a, files[0]) - t.same(fs.statSync(dirB).mode, fs.statSync(dirA).mode) - t.same(mtime(fs.statSync(dirB)), mtime(fs.statSync(dirA))) - t.ok(fs.statSync(dirB).isDirectory()) - var fileB = path.join(dirB, 'test.txt') - var fileA = path.join(dirA, 'test.txt') - t.same(fs.readFileSync(fileB, 'utf-8'), fs.readFileSync(fileA, 'utf-8')) - t.same(fs.statSync(fileB).mode, fs.statSync(fileA).mode) - t.same(mtime(fs.statSync(fileB)), mtime(fs.statSync(fileA))) - }) -}) - -test('symlink', function (t) { - if (win32) { // no symlink support on win32 currently. TODO: test if this can be enabled somehow - t.plan(1) - t.ok(true) - return - } - - t.plan(5) - - var a = path.join(__dirname, 'fixtures', 'c') - - rimraf.sync(path.join(a, 'link')) - fs.symlinkSync('.gitignore', path.join(a, 'link')) - - var b = path.join(__dirname, 'fixtures', 'copy', 'c') - - rimraf.sync(b) - tar.pack(a) - .pipe(tar.extract(b)) - .on('finish', function () { - var files = fs.readdirSync(b).sort() - t.same(files.length, 2) - t.same(files[0], '.gitignore') - t.same(files[1], 'link') - - var linkA = path.join(a, 'link') - var linkB = path.join(b, 'link') - - t.same(mtime(fs.lstatSync(linkB)), mtime(fs.lstatSync(linkA))) - t.same(fs.readlinkSync(linkB), fs.readlinkSync(linkA)) - }) -}) - -test('follow symlinks', function (t) { - if (win32) { // no symlink support on win32 currently. TODO: test if this can be enabled somehow - t.plan(1) - t.ok(true) - return - } - - t.plan(5) - - var a = path.join(__dirname, 'fixtures', 'c') - - rimraf.sync(path.join(a, 'link')) - fs.symlinkSync('.gitignore', path.join(a, 'link')) - - var b = path.join(__dirname, 'fixtures', 'copy', 'c-dereference') - - rimraf.sync(b) - tar.pack(a, {dereference: true}) - .pipe(tar.extract(b)) - .on('finish', function () { - var files = fs.readdirSync(b).sort() - t.same(files.length, 2) - t.same(files[0], '.gitignore') - t.same(files[1], 'link') - - var file1 = path.join(b, '.gitignore') - var file2 = path.join(b, 'link') - - t.same(mtime(fs.lstatSync(file1)), mtime(fs.lstatSync(file2))) - t.same(fs.readFileSync(file1), fs.readFileSync(file2)) - }) -}) - -test('strip', function (t) { - t.plan(2) - - var a = path.join(__dirname, 'fixtures', 'b') - var b = path.join(__dirname, 'fixtures', 'copy', 'b-strip') - - rimraf.sync(b) - - tar.pack(a) - .pipe(tar.extract(b, {strip: 1})) - .on('finish', function () { - var files = fs.readdirSync(b).sort() - t.same(files.length, 1) - t.same(files[0], 'test.txt') - }) -}) - -test('strip + map', function (t) { - t.plan(2) - - var a = path.join(__dirname, 'fixtures', 'b') - var b = path.join(__dirname, 'fixtures', 'copy', 'b-strip') - - rimraf.sync(b) - - var uppercase = function (header) { - header.name = header.name.toUpperCase() - return header - } - - tar.pack(a) - .pipe(tar.extract(b, {strip: 1, map: uppercase})) - .on('finish', function () { - var files = fs.readdirSync(b).sort() - t.same(files.length, 1) - t.same(files[0], 'TEST.TXT') - }) -}) - -test('map + dir + permissions', function (t) { - t.plan(win32 ? 1 : 2) // skip chmod test, it's not working like unix - - var a = path.join(__dirname, 'fixtures', 'b') - var b = path.join(__dirname, 'fixtures', 'copy', 'a-perms') - - rimraf.sync(b) - - var aWithMode = function (header) { - if (header.name === 'a') { - header.mode = parseInt(700, 8) - } - return header - } - - tar.pack(a) - .pipe(tar.extract(b, {map: aWithMode})) - .on('finish', function () { - var files = fs.readdirSync(b).sort() - var stat = fs.statSync(path.join(b, 'a')) - t.same(files.length, 1) - if (!win32) { - t.same(stat.mode & parseInt(777, 8), parseInt(700, 8)) - } - }) -}) - -test('specific entries', function (t) { - t.plan(6) - - var a = path.join(__dirname, 'fixtures', 'd') - var b = path.join(__dirname, 'fixtures', 'copy', 'd-entries') - - var entries = [ 'file1', 'sub-files/file3', 'sub-dir' ] - - rimraf.sync(b) - tar.pack(a, {entries: entries}) - .pipe(tar.extract(b)) - .on('finish', function () { - var files = fs.readdirSync(b) - t.same(files.length, 3) - t.notSame(files.indexOf('file1'), -1) - t.notSame(files.indexOf('sub-files'), -1) - t.notSame(files.indexOf('sub-dir'), -1) - var subFiles = fs.readdirSync(path.join(b, 'sub-files')) - t.same(subFiles, ['file3']) - var subDir = fs.readdirSync(path.join(b, 'sub-dir')) - t.same(subDir, ['file5']) - }) -}) - -test('check type while mapping header on packing', function (t) { - t.plan(3) - - var e = path.join(__dirname, 'fixtures', 'e') - - var checkHeaderType = function (header) { - if (header.name.indexOf('.') === -1) t.same(header.type, header.name) - } - - tar.pack(e, { map: checkHeaderType }) -}) diff --git a/node_modules/tar-stream/LICENSE b/node_modules/tar-stream/LICENSE deleted file mode 100644 index 757562e..0000000 --- a/node_modules/tar-stream/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Mathias Buus - -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. \ No newline at end of file diff --git a/node_modules/tar-stream/README.md b/node_modules/tar-stream/README.md deleted file mode 100644 index 8d0a094..0000000 --- a/node_modules/tar-stream/README.md +++ /dev/null @@ -1,135 +0,0 @@ -# tar-stream - -tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system. - -Note that you still need to gunzip your data if you have a `.tar.gz`. We recommend using [gunzip-maybe](https://github.com/mafintosh/gunzip-maybe) in conjunction with this. - -``` -npm install tar-stream -``` - -[![build status](https://secure.travis-ci.org/mafintosh/tar-stream.png)](http://travis-ci.org/mafintosh/tar-stream) - -## Usage - -tar-stream exposes two streams, [pack](https://github.com/mafintosh/tar-stream#packing) which creates tarballs and [extract](https://github.com/mafintosh/tar-stream#extracting) which extracts tarballs. To [modify an existing tarball](https://github.com/mafintosh/tar-stream#modifying-existing-tarballs) use both. - - -It implementes USTAR with additional support for pax extended headers. It should be compatible with all popular tar distributions out there (gnutar, bsdtar etc) - -## Related - -If you want to pack/unpack directories on the file system check out [tar-fs](https://github.com/mafintosh/tar-fs) which provides file system bindings to this module. - -## Packing - -To create a pack stream use `tar.pack()` and call `pack.entry(header, [callback])` to add tar entries. - -``` js -var tar = require('tar-stream') -var pack = tar.pack() // pack is a streams2 stream - -// add a file called my-test.txt with the content "Hello World!" -pack.entry({ name: 'my-test.txt' }, 'Hello World!') - -// add a file called my-stream-test.txt from a stream -var entry = pack.entry({ name: 'my-stream-test.txt', size: 11 }, function(err) { - // the stream was added - // no more entries - pack.finalize() -}) - -entry.write('hello') -entry.write(' ') -entry.write('world') -entry.end() - -// pipe the pack stream somewhere -pack.pipe(process.stdout) -``` - -## Extracting - -To extract a stream use `tar.extract()` and listen for `extract.on('entry', header, stream, callback)` - -``` js -var extract = tar.extract() - -extract.on('entry', function(header, stream, callback) { - // header is the tar header - // stream is the content body (might be an empty stream) - // call next when you are done with this entry - - stream.on('end', function() { - callback() // ready for next entry - }) - - stream.resume() // just auto drain the stream -}) - -extract.on('finish', function() { - // all entries read -}) - -pack.pipe(extract) -``` - -## Headers - -The header object using in `entry` should contain the following properties. -Most of these values can be found by stat'ing a file. - -``` js -{ - name: 'path/to/this/entry.txt', - size: 1314, // entry size. defaults to 0 - mode: 0644, // entry mode. defaults to to 0755 for dirs and 0644 otherwise - mtime: new Date(), // last modified date for entry. defaults to now. - type: 'file', // type of entry. defaults to file. can be: - // file | link | symlink | directory | block-device - // character-device | fifo | contiguous-file - linkname: 'path', // linked file name - uid: 0, // uid of entry owner. defaults to 0 - gid: 0, // gid of entry owner. defaults to 0 - uname: 'maf', // uname of entry owner. defaults to null - gname: 'staff', // gname of entry owner. defaults to null - devmajor: 0, // device major version. defaults to 0 - devminor: 0 // device minor version. defaults to 0 -} -``` - -## Modifying existing tarballs - -Using tar-stream it is easy to rewrite paths / change modes etc in an existing tarball. - -``` js -var extract = tar.extract() -var pack = tar.pack() -var path = require('path') - -extract.on('entry', function(header, stream, callback) { - // let's prefix all names with 'tmp' - header.name = path.join('tmp', header.name) - // write the new entry to the pack stream - stream.pipe(pack.entry(header, callback)) -}) - -extract.on('finish', function() { - // all entries done - lets finalize it - pack.finalize() -}) - -// pipe the old tarball to the extractor -oldTarballStream.pipe(extract) - -// pipe the new tarball the another stream -pack.pipe(newTarballStream) -``` - -## Performance - -[See tar-fs for a performance comparison with node-tar](https://github.com/mafintosh/tar-fs/blob/master/README.md#performance) - -# License - -MIT diff --git a/node_modules/tar-stream/extract.js b/node_modules/tar-stream/extract.js deleted file mode 100644 index 6b3b9bf..0000000 --- a/node_modules/tar-stream/extract.js +++ /dev/null @@ -1,246 +0,0 @@ -var util = require('util') -var bl = require('bl') -var xtend = require('xtend') -var headers = require('./headers') - -var Writable = require('readable-stream').Writable -var PassThrough = require('readable-stream').PassThrough - -var noop = function () {} - -var overflow = function (size) { - size &= 511 - return size && 512 - size -} - -var emptyStream = function (self, offset) { - var s = new Source(self, offset) - s.end() - return s -} - -var mixinPax = function (header, pax) { - if (pax.path) header.name = pax.path - if (pax.linkpath) header.linkname = pax.linkpath - header.pax = pax - return header -} - -var Source = function (self, offset) { - this._parent = self - this.offset = offset - PassThrough.call(this) -} - -util.inherits(Source, PassThrough) - -Source.prototype.destroy = function (err) { - this._parent.destroy(err) -} - -var Extract = function (opts) { - if (!(this instanceof Extract)) return new Extract(opts) - Writable.call(this, opts) - - this._offset = 0 - this._buffer = bl() - this._missing = 0 - this._onparse = noop - this._header = null - this._stream = null - this._overflow = null - this._cb = null - this._locked = false - this._destroyed = false - this._pax = null - this._paxGlobal = null - this._gnuLongPath = null - this._gnuLongLinkPath = null - - var self = this - var b = self._buffer - - var oncontinue = function () { - self._continue() - } - - var onunlock = function (err) { - self._locked = false - if (err) return self.destroy(err) - if (!self._stream) oncontinue() - } - - var onstreamend = function () { - self._stream = null - var drain = overflow(self._header.size) - if (drain) self._parse(drain, ondrain) - else self._parse(512, onheader) - if (!self._locked) oncontinue() - } - - var ondrain = function () { - self._buffer.consume(overflow(self._header.size)) - self._parse(512, onheader) - oncontinue() - } - - var onpaxglobalheader = function () { - var size = self._header.size - self._paxGlobal = headers.decodePax(b.slice(0, size)) - b.consume(size) - onstreamend() - } - - var onpaxheader = function () { - var size = self._header.size - self._pax = headers.decodePax(b.slice(0, size)) - if (self._paxGlobal) self._pax = xtend(self._paxGlobal, self._pax) - b.consume(size) - onstreamend() - } - - var ongnulongpath = function () { - var size = self._header.size - this._gnuLongPath = headers.decodeLongPath(b.slice(0, size)) - b.consume(size) - onstreamend() - } - - var ongnulonglinkpath = function () { - var size = self._header.size - this._gnuLongLinkPath = headers.decodeLongPath(b.slice(0, size)) - b.consume(size) - onstreamend() - } - - var onheader = function () { - var offset = self._offset - var header - try { - header = self._header = headers.decode(b.slice(0, 512)) - } catch (err) { - self.emit('error', err) - } - b.consume(512) - - if (!header) { - self._parse(512, onheader) - oncontinue() - return - } - if (header.type === 'gnu-long-path') { - self._parse(header.size, ongnulongpath) - oncontinue() - return - } - if (header.type === 'gnu-long-link-path') { - self._parse(header.size, ongnulonglinkpath) - oncontinue() - return - } - if (header.type === 'pax-global-header') { - self._parse(header.size, onpaxglobalheader) - oncontinue() - return - } - if (header.type === 'pax-header') { - self._parse(header.size, onpaxheader) - oncontinue() - return - } - - if (self._gnuLongPath) { - header.name = self._gnuLongPath - self._gnuLongPath = null - } - - if (self._gnuLongLinkPath) { - header.linkname = self._gnuLongLinkPath - self._gnuLongLinkPath = null - } - - if (self._pax) { - self._header = header = mixinPax(header, self._pax) - self._pax = null - } - - self._locked = true - - if (!header.size) { - self._parse(512, onheader) - self.emit('entry', header, emptyStream(self, offset), onunlock) - return - } - - self._stream = new Source(self, offset) - - self.emit('entry', header, self._stream, onunlock) - self._parse(header.size, onstreamend) - oncontinue() - } - - this._parse(512, onheader) -} - -util.inherits(Extract, Writable) - -Extract.prototype.destroy = function (err) { - if (this._destroyed) return - this._destroyed = true - - if (err) this.emit('error', err) - this.emit('close') - if (this._stream) this._stream.emit('close') -} - -Extract.prototype._parse = function (size, onparse) { - if (this._destroyed) return - this._offset += size - this._missing = size - this._onparse = onparse -} - -Extract.prototype._continue = function () { - if (this._destroyed) return - var cb = this._cb - this._cb = noop - if (this._overflow) this._write(this._overflow, undefined, cb) - else cb() -} - -Extract.prototype._write = function (data, enc, cb) { - if (this._destroyed) return - - var s = this._stream - var b = this._buffer - var missing = this._missing - - // we do not reach end-of-chunk now. just forward it - - if (data.length < missing) { - this._missing -= data.length - this._overflow = null - if (s) return s.write(data, cb) - b.append(data) - return cb() - } - - // end-of-chunk. the parser should call cb. - - this._cb = cb - this._missing = 0 - - var overflow = null - if (data.length > missing) { - overflow = data.slice(missing) - data = data.slice(0, missing) - } - - if (s) s.end(data) - else b.append(data) - - this._overflow = overflow - this._onparse() -} - -module.exports = Extract diff --git a/node_modules/tar-stream/headers.js b/node_modules/tar-stream/headers.js deleted file mode 100644 index 8c75edc..0000000 --- a/node_modules/tar-stream/headers.js +++ /dev/null @@ -1,281 +0,0 @@ -var ZEROS = '0000000000000000000' -var ZERO_OFFSET = '0'.charCodeAt(0) -var USTAR = 'ustar\x0000' -var MASK = parseInt('7777', 8) - -var clamp = function (index, len, defaultValue) { - if (typeof index !== 'number') return defaultValue - index = ~~index // Coerce to integer. - if (index >= len) return len - if (index >= 0) return index - index += len - if (index >= 0) return index - return 0 -} - -var toType = function (flag) { - switch (flag) { - case 0: - return 'file' - case 1: - return 'link' - case 2: - return 'symlink' - case 3: - return 'character-device' - case 4: - return 'block-device' - case 5: - return 'directory' - case 6: - return 'fifo' - case 7: - return 'contiguous-file' - case 72: - return 'pax-header' - case 55: - return 'pax-global-header' - case 27: - return 'gnu-long-link-path' - case 28: - case 30: - return 'gnu-long-path' - } - - return null -} - -var toTypeflag = function (flag) { - switch (flag) { - case 'file': - return 0 - case 'link': - return 1 - case 'symlink': - return 2 - case 'character-device': - return 3 - case 'block-device': - return 4 - case 'directory': - return 5 - case 'fifo': - return 6 - case 'contiguous-file': - return 7 - case 'pax-header': - return 72 - } - - return 0 -} - -var alloc = function (size) { - var buf = new Buffer(size) - buf.fill(0) - return buf -} - -var indexOf = function (block, num, offset, end) { - for (; offset < end; offset++) { - if (block[offset] === num) return offset - } - return end -} - -var cksum = function (block) { - var sum = 8 * 32 - for (var i = 0; i < 148; i++) sum += block[i] - for (var j = 156; j < 512; j++) sum += block[j] - return sum -} - -var encodeOct = function (val, n) { - val = val.toString(8) - return ZEROS.slice(0, n - val.length) + val + ' ' -} - -/* Copied from the node-tar repo and modified to meet - * tar-stream coding standard. - * - * Source: https://github.com/npm/node-tar/blob/51b6627a1f357d2eb433e7378e5f05e83b7aa6cd/lib/header.js#L349 - */ -function parse256 (buf) { - // first byte MUST be either 80 or FF - // 80 for positive, FF for 2's comp - var positive - if (buf[0] === 0x80) positive = true - else if (buf[0] === 0xFF) positive = false - else return null - - // build up a base-256 tuple from the least sig to the highest - var zero = false - var tuple = [] - for (var i = buf.length - 1; i > 0; i--) { - var byte = buf[i] - if (positive) tuple.push(byte) - else if (zero && byte === 0) tuple.push(0) - else if (zero) { - zero = false - tuple.push(0x100 - byte) - } else tuple.push(0xFF - byte) - } - - var sum = 0 - var l = tuple.length - for (i = 0; i < l; i++) { - sum += tuple[i] * Math.pow(256, i) - } - - return positive ? sum : -1 * sum -} - -var decodeOct = function (val, offset) { - // If prefixed with 0x80 then parse as a base-256 integer - if (val[offset] & 0x80) { - return parse256(val.slice(offset, offset + 8)) - } else { - // Older versions of tar can prefix with spaces - while (offset < val.length && val[offset] === 32) offset++ - var end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length) - while (offset < end && val[offset] === 0) offset++ - if (end === offset) return 0 - return parseInt(val.slice(offset, end).toString(), 8) - } -} - -var decodeStr = function (val, offset, length) { - return val.slice(offset, indexOf(val, 0, offset, offset + length)).toString() -} - -var addLength = function (str) { - var len = Buffer.byteLength(str) - var digits = Math.floor(Math.log(len) / Math.log(10)) + 1 - if (len + digits > Math.pow(10, digits)) digits++ - - return (len + digits) + str -} - -exports.decodeLongPath = function (buf) { - return decodeStr(buf, 0, buf.length) -} - -exports.encodePax = function (opts) { // TODO: encode more stuff in pax - var result = '' - if (opts.name) result += addLength(' path=' + opts.name + '\n') - if (opts.linkname) result += addLength(' linkpath=' + opts.linkname + '\n') - var pax = opts.pax - if (pax) { - for (var key in pax) { - result += addLength(' ' + key + '=' + pax[key] + '\n') - } - } - return new Buffer(result) -} - -exports.decodePax = function (buf) { - var result = {} - - while (buf.length) { - var i = 0 - while (i < buf.length && buf[i] !== 32) i++ - var len = parseInt(buf.slice(0, i).toString(), 10) - if (!len) return result - - var b = buf.slice(i + 1, len - 1).toString() - var keyIndex = b.indexOf('=') - if (keyIndex === -1) return result - result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1) - - buf = buf.slice(len) - } - - return result -} - -exports.encode = function (opts) { - var buf = alloc(512) - var name = opts.name - var prefix = '' - - if (opts.typeflag === 5 && name[name.length - 1] !== '/') name += '/' - if (Buffer.byteLength(name) !== name.length) return null // utf-8 - - while (Buffer.byteLength(name) > 100) { - var i = name.indexOf('/') - if (i === -1) return null - prefix += prefix ? '/' + name.slice(0, i) : name.slice(0, i) - name = name.slice(i + 1) - } - - if (Buffer.byteLength(name) > 100 || Buffer.byteLength(prefix) > 155) return null - if (opts.linkname && Buffer.byteLength(opts.linkname) > 100) return null - - buf.write(name) - buf.write(encodeOct(opts.mode & MASK, 6), 100) - buf.write(encodeOct(opts.uid, 6), 108) - buf.write(encodeOct(opts.gid, 6), 116) - buf.write(encodeOct(opts.size, 11), 124) - buf.write(encodeOct((opts.mtime.getTime() / 1000) | 0, 11), 136) - - buf[156] = ZERO_OFFSET + toTypeflag(opts.type) - - if (opts.linkname) buf.write(opts.linkname, 157) - - buf.write(USTAR, 257) - if (opts.uname) buf.write(opts.uname, 265) - if (opts.gname) buf.write(opts.gname, 297) - buf.write(encodeOct(opts.devmajor || 0, 6), 329) - buf.write(encodeOct(opts.devminor || 0, 6), 337) - - if (prefix) buf.write(prefix, 345) - - buf.write(encodeOct(cksum(buf), 6), 148) - - return buf -} - -exports.decode = function (buf) { - var typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET - - var name = decodeStr(buf, 0, 100) - var mode = decodeOct(buf, 100) - var uid = decodeOct(buf, 108) - var gid = decodeOct(buf, 116) - var size = decodeOct(buf, 124) - var mtime = decodeOct(buf, 136) - var type = toType(typeflag) - var linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100) - var uname = decodeStr(buf, 265, 32) - var gname = decodeStr(buf, 297, 32) - var devmajor = decodeOct(buf, 329) - var devminor = decodeOct(buf, 337) - - if (buf[345]) name = decodeStr(buf, 345, 155) + '/' + name - - // to support old tar versions that use trailing / to indicate dirs - if (typeflag === 0 && name && name[name.length - 1] === '/') typeflag = 5 - - var c = cksum(buf) - - // checksum is still initial value if header was null. - if (c === 8 * 32) return null - - // valid checksum - if (c !== decodeOct(buf, 148)) throw new Error('Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?') - - return { - name: name, - mode: mode, - uid: uid, - gid: gid, - size: size, - mtime: new Date(1000 * mtime), - type: type, - linkname: linkname, - uname: uname, - gname: gname, - devmajor: devmajor, - devminor: devminor - } -} diff --git a/node_modules/tar-stream/index.js b/node_modules/tar-stream/index.js deleted file mode 100644 index 6481704..0000000 --- a/node_modules/tar-stream/index.js +++ /dev/null @@ -1,2 +0,0 @@ -exports.extract = require('./extract') -exports.pack = require('./pack') diff --git a/node_modules/tar-stream/pack.js b/node_modules/tar-stream/pack.js deleted file mode 100644 index 025f007..0000000 --- a/node_modules/tar-stream/pack.js +++ /dev/null @@ -1,254 +0,0 @@ -var constants = require('constants') -var eos = require('end-of-stream') -var util = require('util') - -var Readable = require('readable-stream').Readable -var Writable = require('readable-stream').Writable -var StringDecoder = require('string_decoder').StringDecoder - -var headers = require('./headers') - -var DMODE = parseInt('755', 8) -var FMODE = parseInt('644', 8) - -var END_OF_TAR = new Buffer(1024) -END_OF_TAR.fill(0) - -var noop = function () {} - -var overflow = function (self, size) { - size &= 511 - if (size) self.push(END_OF_TAR.slice(0, 512 - size)) -} - -function modeToType (mode) { - switch (mode & constants.S_IFMT) { - case constants.S_IFBLK: return 'block-device' - case constants.S_IFCHR: return 'character-device' - case constants.S_IFDIR: return 'directory' - case constants.S_IFIFO: return 'fifo' - case constants.S_IFLNK: return 'symlink' - } - - return 'file' -} - -var Sink = function (to) { - Writable.call(this) - this.written = 0 - this._to = to - this._destroyed = false -} - -util.inherits(Sink, Writable) - -Sink.prototype._write = function (data, enc, cb) { - this.written += data.length - if (this._to.push(data)) return cb() - this._to._drain = cb -} - -Sink.prototype.destroy = function () { - if (this._destroyed) return - this._destroyed = true - this.emit('close') -} - -var LinkSink = function () { - Writable.call(this) - this.linkname = '' - this._decoder = new StringDecoder('utf-8') - this._destroyed = false -} - -util.inherits(LinkSink, Writable) - -LinkSink.prototype._write = function (data, enc, cb) { - this.linkname += this._decoder.write(data) - cb() -} - -LinkSink.prototype.destroy = function () { - if (this._destroyed) return - this._destroyed = true - this.emit('close') -} - -var Void = function () { - Writable.call(this) - this._destroyed = false -} - -util.inherits(Void, Writable) - -Void.prototype._write = function (data, enc, cb) { - cb(new Error('No body allowed for this entry')) -} - -Void.prototype.destroy = function () { - if (this._destroyed) return - this._destroyed = true - this.emit('close') -} - -var Pack = function (opts) { - if (!(this instanceof Pack)) return new Pack(opts) - Readable.call(this, opts) - - this._drain = noop - this._finalized = false - this._finalizing = false - this._destroyed = false - this._stream = null -} - -util.inherits(Pack, Readable) - -Pack.prototype.entry = function (header, buffer, callback) { - if (this._stream) throw new Error('already piping an entry') - if (this._finalized || this._destroyed) return - - if (typeof buffer === 'function') { - callback = buffer - buffer = null - } - - if (!callback) callback = noop - - var self = this - - if (!header.size || header.type === 'symlink') header.size = 0 - if (!header.type) header.type = modeToType(header.mode) - if (!header.mode) header.mode = header.type === 'directory' ? DMODE : FMODE - if (!header.uid) header.uid = 0 - if (!header.gid) header.gid = 0 - if (!header.mtime) header.mtime = new Date() - - if (typeof buffer === 'string') buffer = new Buffer(buffer) - if (Buffer.isBuffer(buffer)) { - header.size = buffer.length - this._encode(header) - this.push(buffer) - overflow(self, header.size) - process.nextTick(callback) - return new Void() - } - - if (header.type === 'symlink' && !header.linkname) { - var linkSink = new LinkSink() - eos(linkSink, function (err) { - if (err) { // stream was closed - self.destroy() - return callback(err) - } - - header.linkname = linkSink.linkname - self._encode(header) - callback() - }) - - return linkSink - } - - this._encode(header) - - if (header.type !== 'file' && header.type !== 'contiguous-file') { - process.nextTick(callback) - return new Void() - } - - var sink = new Sink(this) - - this._stream = sink - - eos(sink, function (err) { - self._stream = null - - if (err) { // stream was closed - self.destroy() - return callback(err) - } - - if (sink.written !== header.size) { // corrupting tar - self.destroy() - return callback(new Error('size mismatch')) - } - - overflow(self, header.size) - if (self._finalizing) self.finalize() - callback() - }) - - return sink -} - -Pack.prototype.finalize = function () { - if (this._stream) { - this._finalizing = true - return - } - - if (this._finalized) return - this._finalized = true - this.push(END_OF_TAR) - this.push(null) -} - -Pack.prototype.destroy = function (err) { - if (this._destroyed) return - this._destroyed = true - - if (err) this.emit('error', err) - this.emit('close') - if (this._stream && this._stream.destroy) this._stream.destroy() -} - -Pack.prototype._encode = function (header) { - if (!header.pax) { - var buf = headers.encode(header) - if (buf) { - this.push(buf) - return - } - } - this._encodePax(header) -} - -Pack.prototype._encodePax = function (header) { - var paxHeader = headers.encodePax({ - name: header.name, - linkname: header.linkname, - pax: header.pax - }) - - var newHeader = { - name: 'PaxHeader', - mode: header.mode, - uid: header.uid, - gid: header.gid, - size: paxHeader.length, - mtime: header.mtime, - type: 'pax-header', - linkname: header.linkname && 'PaxHeader', - uname: header.uname, - gname: header.gname, - devmajor: header.devmajor, - devminor: header.devminor - } - - this.push(headers.encode(newHeader)) - this.push(paxHeader) - overflow(this, paxHeader.length) - - newHeader.size = header.size - newHeader.type = header.type - this.push(headers.encode(newHeader)) -} - -Pack.prototype._read = function (n) { - var drain = this._drain - this._drain = noop - drain() -} - -module.exports = Pack diff --git a/node_modules/tar-stream/package.json b/node_modules/tar-stream/package.json deleted file mode 100644 index 92d59ef..0000000 --- a/node_modules/tar-stream/package.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "tar-stream@^1.1.2", - "scope": null, - "escapedName": "tar-stream", - "name": "tar-stream", - "rawSpec": "^1.1.2", - "spec": ">=1.1.2 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/tar-fs" - ] - ], - "_from": "tar-stream@>=1.1.2 <2.0.0", - "_id": "tar-stream@1.5.2", - "_inCache": true, - "_installable": true, - "_location": "/tar-stream", - "_nodeVersion": "4.4.3", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/tar-stream-1.5.2.tgz_1461071501210_0.40823886124417186" - }, - "_npmUser": { - "name": "mafintosh", - "email": "mathiasbuus@gmail.com" - }, - "_npmVersion": "2.15.1", - "_phantomChildren": {}, - "_requested": { - "raw": "tar-stream@^1.1.2", - "scope": null, - "escapedName": "tar-stream", - "name": "tar-stream", - "rawSpec": "^1.1.2", - "spec": ">=1.1.2 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/tar-fs" - ], - "_resolved": "http://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz", - "_shasum": "fbc6c6e83c1a19d4cb48c7d96171fc248effc7bf", - "_shrinkwrap": null, - "_spec": "tar-stream@^1.1.2", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/tar-fs", - "author": { - "name": "Mathias Buus", - "email": "mathiasbuus@gmail.com" - }, - "bugs": { - "url": "https://github.com/mafintosh/tar-stream/issues" - }, - "dependencies": { - "bl": "^1.0.0", - "end-of-stream": "^1.0.0", - "readable-stream": "^2.0.0", - "xtend": "^4.0.0" - }, - "description": "tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.", - "devDependencies": { - "concat-stream": "^1.4.6", - "standard": "^5.3.1", - "tape": "^3.0.3" - }, - "directories": { - "test": "test" - }, - "dist": { - "shasum": "fbc6c6e83c1a19d4cb48c7d96171fc248effc7bf", - "tarball": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz" - }, - "engines": { - "node": ">= 0.8.0" - }, - "files": [ - "*.js", - "LICENSE" - ], - "gitHead": "7c279d66989a3bdde45f1eb661edaa846540d984", - "homepage": "https://github.com/mafintosh/tar-stream", - "keywords": [ - "tar", - "tarball", - "parse", - "parser", - "generate", - "generator", - "stream", - "stream2", - "streams", - "streams2", - "streaming", - "pack", - "extract", - "modify" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "mafintosh", - "email": "mathiasbuus@gmail.com" - }, - { - "name": "maxogden", - "email": "max@maxogden.com" - } - ], - "name": "tar-stream", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/mafintosh/tar-stream.git" - }, - "scripts": { - "test": "standard && tape test/*.js" - }, - "version": "1.5.2" -} diff --git a/node_modules/throng/lib/throng.js b/node_modules/throng/lib/throng.js deleted file mode 100644 index be2f67b..0000000 --- a/node_modules/throng/lib/throng.js +++ /dev/null @@ -1,74 +0,0 @@ -'use strict'; - -const cluster = require('cluster'); -const EventEmitter = require('events').EventEmitter; -const defaults = require('lodash.defaults'); -const cpuCount = require('os').cpus().length; - -const DEFAULT_OPTIONS = { - workers: cpuCount, - lifetime: Infinity, - grace: 5000 -}; - -const NOOP = () => {}; - -module.exports = function throng(options, startFunction) { - options = options || {}; - let startFn = options.start || startFunction || options; - let masterFn = options.master || NOOP; - - if (typeof startFn !== 'function') { - throw new Error('Start function required'); - } - if (cluster.isWorker) { - return startFn(cluster.worker.id); - } - - let opts = isNaN(options) ? - defaults(options, DEFAULT_OPTIONS) : defaults({ workers: options }, DEFAULT_OPTIONS); - let emitter = new EventEmitter(); - let running = true; - let runUntil = Date.now() + opts.lifetime; - - listen(); - masterFn(); - fork(); - - function listen() { - cluster.on('exit', revive); - emitter.once('shutdown', shutdown); - process - .on('SIGINT', proxySignal) - .on('SIGTERM', proxySignal); - } - - function fork() { - for (var i = 0; i < opts.workers; i++) { - cluster.fork(); - } - } - - function proxySignal() { - emitter.emit('shutdown'); - } - - function shutdown() { - running = false; - for (var id in cluster.workers) { - cluster.workers[id].process.kill(); - } - setTimeout(forceKill, opts.grace).unref(); - } - - function revive(worker, code, signal) { - if (running && Date.now() < runUntil) cluster.fork(); - } - - function forceKill() { - for (var id in cluster.workers) { - cluster.workers[id].kill(); - } - process.exit(); - } -}; diff --git a/node_modules/throng/package.json b/node_modules/throng/package.json deleted file mode 100644 index 5f7d7d5..0000000 --- a/node_modules/throng/package.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "throng", - "scope": null, - "escapedName": "throng", - "name": "throng", - "rawSpec": "", - "spec": "latest", - "type": "tag" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket" - ] - ], - "_from": "throng@latest", - "_id": "throng@4.0.0", - "_inCache": true, - "_installable": true, - "_location": "/throng", - "_nodeVersion": "5.10.1", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/throng-4.0.0.tgz_1460614908610_0.9267617627047002" - }, - "_npmUser": { - "name": "hunterloftis", - "email": "hunter@hunterloftis.com" - }, - "_npmVersion": "3.8.3", - "_phantomChildren": {}, - "_requested": { - "raw": "throng", - "scope": null, - "escapedName": "throng", - "name": "throng", - "rawSpec": "", - "spec": "latest", - "type": "tag" - }, - "_requiredBy": [ - "#USER", - "/" - ], - "_resolved": "http://registry.npmjs.org/throng/-/throng-4.0.0.tgz", - "_shasum": "983c6ba1993b58eae859998aa687ffe88df84c17", - "_shrinkwrap": null, - "_spec": "throng", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket", - "author": { - "name": "Hunter Loftis", - "email": "hunter@hunterloftis.com" - }, - "bugs": { - "url": "https://github.com/hunterloftis/throng/issues" - }, - "dependencies": { - "lodash.defaults": "^4.0.1" - }, - "description": "A simple worker-manager for clustered apps", - "devDependencies": { - "chai": "^3.5.0", - "mocha": "^2.4.5" - }, - "directories": {}, - "dist": { - "shasum": "983c6ba1993b58eae859998aa687ffe88df84c17", - "tarball": "https://registry.npmjs.org/throng/-/throng-4.0.0.tgz" - }, - "engines": { - "node": ">= 4.0.0" - }, - "files": [ - "lib" - ], - "gitHead": "e585aa4997085b32a603983c36dce6f71ed1b91a", - "homepage": "https://github.com/hunterloftis/throng", - "keywords": [ - "cluster", - "worker", - "process" - ], - "license": "MIT", - "main": "lib/throng.js", - "maintainers": [ - { - "name": "hunterloftis", - "email": "hunter@hunterloftis.com" - } - ], - "name": "throng", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/hunterloftis/throng.git" - }, - "scripts": { - "test": "mocha" - }, - "version": "4.0.0" -} diff --git a/node_modules/throng/readme.md b/node_modules/throng/readme.md deleted file mode 100644 index 70831bb..0000000 --- a/node_modules/throng/readme.md +++ /dev/null @@ -1,133 +0,0 @@ -# Throng - -Dead-simple one-liner for clustered Node.js apps. - -Runs X workers and respawns them if they go down. -Correctly handles signals from the OS. - -```js -const throng = require('throng'); - -throng((id) => { - console.log(`Started worker ${id}`); -}); -``` - -``` -$ node example -Started worker 1 -Started worker 2 -Started worker 3 -Started worker 4 -``` - -## Installation - -``` -npm install --save throng -``` - -For older versions of node (< 4.x), use throng 2.x. - -## Use - -Simplest; automatically fork 1 worker per CPU core: - -```js -throng(startFunction); -``` - -Specify a number of workers: - -```js -throng(3, startFunction); -``` - -Specify more options: - -```js -throng({ - workers: 16, - grace: 1000, - master: masterFunction, - start: startFunction -}); -``` - -Handle signals (for cleanup on a kill signal, for instance): - -```js -throng((id) => { - console.log(`Started worker ${id}`); - - process.on('SIGTERM', function() { - console.log(`Worker ${id} exiting`); - console.log('Cleanup here'); - process.exit(); - }); -}); -``` - -## All Options (with defaults) - -```js -throng({ - workers: 4, // Number of workers (cpu count) - lifetime: 10000, // ms to keep cluster alive (Infinity) - grace: 4000 // ms grace period after worker SIGTERM (5000) -}, startFn); -``` - -## A Complex example - -```js -const throng = require('./lib/throng'); - -throng({ - workers: 4, - master: startMaster, - start: startWorker -}); - -// This will only be called once -function startMaster() { - console.log(`Started master`); -} - -// This will be called four times -function startWorker(id) { - console.log(`Started worker ${ id }`); - - process.on('SIGTERM', () => { - console.log(`Worker ${ id } exiting...`); - console.log('(cleanup would happen here)'); - process.exit(); - }); -} -``` - -``` -$ node example-complex.js -Started master -Started worker 1 -Started worker 2 -Started worker 3 -Started worker 4 - -$ killall node - -Worker 3 exiting... -Worker 4 exiting... -(cleanup would happen here) -(cleanup would happen here) -Worker 2 exiting... -(cleanup would happen here) -Worker 1 exiting... -(cleanup would happen here) -``` - -## Tests - -``` -npm test -``` diff --git a/node_modules/tunnel-agent/LICENSE b/node_modules/tunnel-agent/LICENSE deleted file mode 100644 index a4a9aee..0000000 --- a/node_modules/tunnel-agent/LICENSE +++ /dev/null @@ -1,55 +0,0 @@ -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and - -You must cause any modified files to carry prominent notices stating that You changed the files; and - -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/node_modules/tunnel-agent/README.md b/node_modules/tunnel-agent/README.md deleted file mode 100644 index bb533d5..0000000 --- a/node_modules/tunnel-agent/README.md +++ /dev/null @@ -1,4 +0,0 @@ -tunnel-agent -============ - -HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module. diff --git a/node_modules/tunnel-agent/index.js b/node_modules/tunnel-agent/index.js deleted file mode 100644 index 68013ac..0000000 --- a/node_modules/tunnel-agent/index.js +++ /dev/null @@ -1,243 +0,0 @@ -'use strict' - -var net = require('net') - , tls = require('tls') - , http = require('http') - , https = require('https') - , events = require('events') - , assert = require('assert') - , util = require('util') - ; - -exports.httpOverHttp = httpOverHttp -exports.httpsOverHttp = httpsOverHttp -exports.httpOverHttps = httpOverHttps -exports.httpsOverHttps = httpsOverHttps - - -function httpOverHttp(options) { - var agent = new TunnelingAgent(options) - agent.request = http.request - return agent -} - -function httpsOverHttp(options) { - var agent = new TunnelingAgent(options) - agent.request = http.request - agent.createSocket = createSecureSocket - agent.defaultPort = 443 - return agent -} - -function httpOverHttps(options) { - var agent = new TunnelingAgent(options) - agent.request = https.request - return agent -} - -function httpsOverHttps(options) { - var agent = new TunnelingAgent(options) - agent.request = https.request - agent.createSocket = createSecureSocket - agent.defaultPort = 443 - return agent -} - - -function TunnelingAgent(options) { - var self = this - self.options = options || {} - self.proxyOptions = self.options.proxy || {} - self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets - self.requests = [] - self.sockets = [] - - self.on('free', function onFree(socket, host, port) { - for (var i = 0, len = self.requests.length; i < len; ++i) { - var pending = self.requests[i] - if (pending.host === host && pending.port === port) { - // Detect the request to connect same origin server, - // reuse the connection. - self.requests.splice(i, 1) - pending.request.onSocket(socket) - return - } - } - socket.destroy() - self.removeSocket(socket) - }) -} -util.inherits(TunnelingAgent, events.EventEmitter) - -TunnelingAgent.prototype.addRequest = function addRequest(req, options) { - var self = this - - // Legacy API: addRequest(req, host, port, path) - if (typeof options === 'string') { - options = { - host: options, - port: arguments[2], - path: arguments[3] - }; - } - - if (self.sockets.length >= this.maxSockets) { - // We are over limit so we'll add it to the queue. - self.requests.push({host: options.host, port: options.port, request: req}) - return - } - - // If we are under maxSockets create a new one. - self.createConnection({host: options.host, port: options.port, request: req}) -} - -TunnelingAgent.prototype.createConnection = function createConnection(pending) { - var self = this - - self.createSocket(pending, function(socket) { - socket.on('free', onFree) - socket.on('close', onCloseOrRemove) - socket.on('agentRemove', onCloseOrRemove) - pending.request.onSocket(socket) - - function onFree() { - self.emit('free', socket, pending.host, pending.port) - } - - function onCloseOrRemove(err) { - self.removeSocket(socket) - socket.removeListener('free', onFree) - socket.removeListener('close', onCloseOrRemove) - socket.removeListener('agentRemove', onCloseOrRemove) - } - }) -} - -TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { - var self = this - var placeholder = {} - self.sockets.push(placeholder) - - var connectOptions = mergeOptions({}, self.proxyOptions, - { method: 'CONNECT' - , path: options.host + ':' + options.port - , agent: false - } - ) - if (connectOptions.proxyAuth) { - connectOptions.headers = connectOptions.headers || {} - connectOptions.headers['Proxy-Authorization'] = 'Basic ' + - new Buffer(connectOptions.proxyAuth).toString('base64') - } - - debug('making CONNECT request') - var connectReq = self.request(connectOptions) - connectReq.useChunkedEncodingByDefault = false // for v0.6 - connectReq.once('response', onResponse) // for v0.6 - connectReq.once('upgrade', onUpgrade) // for v0.6 - connectReq.once('connect', onConnect) // for v0.7 or later - connectReq.once('error', onError) - connectReq.end() - - function onResponse(res) { - // Very hacky. This is necessary to avoid http-parser leaks. - res.upgrade = true - } - - function onUpgrade(res, socket, head) { - // Hacky. - process.nextTick(function() { - onConnect(res, socket, head) - }) - } - - function onConnect(res, socket, head) { - connectReq.removeAllListeners() - socket.removeAllListeners() - - if (res.statusCode === 200) { - assert.equal(head.length, 0) - debug('tunneling connection has established') - self.sockets[self.sockets.indexOf(placeholder)] = socket - cb(socket) - } else { - debug('tunneling socket could not be established, statusCode=%d', res.statusCode) - var error = new Error('tunneling socket could not be established, ' + 'statusCode=' + res.statusCode) - error.code = 'ECONNRESET' - options.request.emit('error', error) - self.removeSocket(placeholder) - } - } - - function onError(cause) { - connectReq.removeAllListeners() - - debug('tunneling socket could not be established, cause=%s\n', cause.message, cause.stack) - var error = new Error('tunneling socket could not be established, ' + 'cause=' + cause.message) - error.code = 'ECONNRESET' - options.request.emit('error', error) - self.removeSocket(placeholder) - } -} - -TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { - var pos = this.sockets.indexOf(socket) - if (pos === -1) return - - this.sockets.splice(pos, 1) - - var pending = this.requests.shift() - if (pending) { - // If we have pending requests and a socket gets closed a new one - // needs to be created to take over in the pool for the one that closed. - this.createConnection(pending) - } -} - -function createSecureSocket(options, cb) { - var self = this - TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { - // 0 is dummy port for v0.6 - var secureSocket = tls.connect(0, mergeOptions({}, self.options, - { servername: options.host - , socket: socket - } - )) - self.sockets[self.sockets.indexOf(socket)] = secureSocket - cb(secureSocket) - }) -} - - -function mergeOptions(target) { - for (var i = 1, len = arguments.length; i < len; ++i) { - var overrides = arguments[i] - if (typeof overrides === 'object') { - var keys = Object.keys(overrides) - for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { - var k = keys[j] - if (overrides[k] !== undefined) { - target[k] = overrides[k] - } - } - } - } - return target -} - - -var debug -if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { - debug = function() { - var args = Array.prototype.slice.call(arguments) - if (typeof args[0] === 'string') { - args[0] = 'TUNNEL: ' + args[0] - } else { - args.unshift('TUNNEL:') - } - console.error.apply(console, args) - } -} else { - debug = function() {} -} -exports.debug = debug // for test diff --git a/node_modules/tunnel-agent/package.json b/node_modules/tunnel-agent/package.json deleted file mode 100644 index 5f04137..0000000 --- a/node_modules/tunnel-agent/package.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "tunnel-agent@^0.4.3", - "scope": null, - "escapedName": "tunnel-agent", - "name": "tunnel-agent", - "rawSpec": "^0.4.3", - "spec": ">=0.4.3 <0.5.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install" - ] - ], - "_from": "tunnel-agent@>=0.4.3 <0.5.0", - "_id": "tunnel-agent@0.4.3", - "_inCache": true, - "_installable": true, - "_location": "/tunnel-agent", - "_nodeVersion": "5.9.0", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/tunnel-agent-0.4.3.tgz_1462396470295_0.23639482469297945" - }, - "_npmUser": { - "name": "simov", - "email": "simeonvelichkov@gmail.com" - }, - "_npmVersion": "2.15.3", - "_phantomChildren": {}, - "_requested": { - "raw": "tunnel-agent@^0.4.3", - "scope": null, - "escapedName": "tunnel-agent", - "name": "tunnel-agent", - "rawSpec": "^0.4.3", - "spec": ">=0.4.3 <0.5.0", - "type": "range" - }, - "_requiredBy": [ - "/prebuild-install" - ], - "_resolved": "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "_shasum": "6373db76909fe570e08d73583365ed828a74eeeb", - "_shrinkwrap": null, - "_spec": "tunnel-agent@^0.4.3", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install", - "author": { - "name": "Mikeal Rogers", - "email": "mikeal.rogers@gmail.com", - "url": "http://www.futurealoof.com" - }, - "bugs": { - "url": "https://github.com/mikeal/tunnel-agent/issues" - }, - "dependencies": {}, - "description": "HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "6373db76909fe570e08d73583365ed828a74eeeb", - "tarball": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz" - }, - "engines": { - "node": "*" - }, - "files": [ - "index.js" - ], - "gitHead": "e72d830f5ed388a2a71d37ce062c38e3fb34bdde", - "homepage": "https://github.com/mikeal/tunnel-agent#readme", - "license": "Apache-2.0", - "main": "index.js", - "maintainers": [ - { - "name": "mikeal", - "email": "mikeal.rogers@gmail.com" - }, - { - "name": "nylen", - "email": "jnylen@gmail.com" - }, - { - "name": "fredkschott", - "email": "fkschott@gmail.com" - }, - { - "name": "simov", - "email": "simeonvelichkov@gmail.com" - } - ], - "name": "tunnel-agent", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "url": "git+https://github.com/mikeal/tunnel-agent.git" - }, - "scripts": {}, - "version": "0.4.3" -} diff --git a/node_modules/ultron/LICENSE b/node_modules/ultron/LICENSE deleted file mode 100644 index 6dc9316..0000000 --- a/node_modules/ultron/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Unshift.io, Arnout Kazemier, the 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. - diff --git a/node_modules/ultron/index.js b/node_modules/ultron/index.js deleted file mode 100644 index 9e0677a..0000000 --- a/node_modules/ultron/index.js +++ /dev/null @@ -1,138 +0,0 @@ -'use strict'; - -var has = Object.prototype.hasOwnProperty; - -/** - * An auto incrementing id which we can use to create "unique" Ultron instances - * so we can track the event emitters that are added through the Ultron - * interface. - * - * @type {Number} - * @private - */ -var id = 0; - -/** - * Ultron is high-intelligence robot. It gathers intelligence so it can start improving - * upon his rudimentary design. It will learn from your EventEmitting patterns - * and exterminate them. - * - * @constructor - * @param {EventEmitter} ee EventEmitter instance we need to wrap. - * @api public - */ -function Ultron(ee) { - if (!(this instanceof Ultron)) return new Ultron(ee); - - this.id = id++; - this.ee = ee; -} - -/** - * Register a new EventListener for the given event. - * - * @param {String} event Name of the event. - * @param {Functon} fn Callback function. - * @param {Mixed} context The context of the function. - * @returns {Ultron} - * @api public - */ -Ultron.prototype.on = function on(event, fn, context) { - fn.__ultron = this.id; - this.ee.on(event, fn, context); - - return this; -}; -/** - * Add an EventListener that's only called once. - * - * @param {String} event Name of the event. - * @param {Function} fn Callback function. - * @param {Mixed} context The context of the function. - * @returns {Ultron} - * @api public - */ -Ultron.prototype.once = function once(event, fn, context) { - fn.__ultron = this.id; - this.ee.once(event, fn, context); - - return this; -}; - -/** - * Remove the listeners we assigned for the given event. - * - * @returns {Ultron} - * @api public - */ -Ultron.prototype.remove = function remove() { - var args = arguments - , ee = this.ee - , event; - - // - // When no event names are provided we assume that we need to clear all the - // events that were assigned through us. - // - if (args.length === 1 && 'string' === typeof args[0]) { - args = args[0].split(/[, ]+/); - } else if (!args.length) { - if (ee.eventNames) { - args = ee.eventNames(); - } else if (ee._events) { - args = []; - - for (event in ee._events) { - if (has.call(ee._events, event)) args.push(event); - } - - if (Object.getOwnPropertySymbols) { - args = args.concat(Object.getOwnPropertySymbols(ee._events)); - } - } - } - - for (var i = 0; i < args.length; i++) { - var listeners = ee.listeners(args[i]); - - for (var j = 0; j < listeners.length; j++) { - event = listeners[j]; - - // - // Once listeners have a `listener` property that stores the real listener - // in the EventEmitter that ships with Node.js. - // - if (event.listener) { - if (event.listener.__ultron !== this.id) continue; - delete event.listener.__ultron; - } else { - if (event.__ultron !== this.id) continue; - delete event.__ultron; - } - - ee.removeListener(args[i], event); - } - } - - return this; -}; - -/** - * Destroy the Ultron instance, remove all listeners and release all references. - * - * @returns {Boolean} - * @api public - */ -Ultron.prototype.destroy = function destroy() { - if (!this.ee) return false; - - this.remove(); - this.ee = null; - - return true; -}; - -// -// Expose the module. -// -module.exports = Ultron; diff --git a/node_modules/ultron/package.json b/node_modules/ultron/package.json deleted file mode 100644 index 1470421..0000000 --- a/node_modules/ultron/package.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "ultron@~1.1.0", - "scope": null, - "escapedName": "ultron", - "name": "ultron", - "rawSpec": "~1.1.0", - "spec": ">=1.1.0 <1.2.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/ws" - ] - ], - "_from": "ultron@>=1.1.0 <1.2.0", - "_id": "ultron@1.1.0", - "_inCache": true, - "_installable": true, - "_location": "/ultron", - "_nodeVersion": "6.2.1", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/ultron-1.1.0.tgz_1483969751660_0.8877595944795758" - }, - "_npmUser": { - "name": "3rdeden", - "email": "npm@3rd-Eden.com" - }, - "_npmVersion": "3.9.3", - "_phantomChildren": {}, - "_requested": { - "raw": "ultron@~1.1.0", - "scope": null, - "escapedName": "ultron", - "name": "ultron", - "rawSpec": "~1.1.0", - "spec": ">=1.1.0 <1.2.0", - "type": "range" - }, - "_requiredBy": [ - "/ws" - ], - "_resolved": "http://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz", - "_shasum": "b07a2e6a541a815fc6a34ccd4533baec307ca864", - "_shrinkwrap": null, - "_spec": "ultron@~1.1.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/ws", - "author": { - "name": "Arnout Kazemier" - }, - "bugs": { - "url": "https://github.com/unshiftio/ultron/issues" - }, - "dependencies": {}, - "description": "Ultron is high-intelligence robot. It gathers intel so it can start improving upon his rudimentary design", - "devDependencies": { - "assume": "1.4.x", - "eventemitter3": "2.0.x", - "istanbul": "0.4.x", - "mocha": "~3.2.0", - "pre-commit": "~1.2.0" - }, - "directories": {}, - "dist": { - "shasum": "b07a2e6a541a815fc6a34ccd4533baec307ca864", - "tarball": "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz" - }, - "gitHead": "6eb97b74402978aebda4a9d497cb6243ec80c9f1", - "homepage": "https://github.com/unshiftio/ultron", - "keywords": [ - "Ultron", - "robot", - "gather", - "intelligence", - "event", - "events", - "eventemitter", - "emitter", - "cleanup" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "unshift", - "email": "npm@unshift.io" - }, - { - "name": "v1", - "email": "info@3rd-Eden.com" - }, - { - "name": "3rdeden", - "email": "npm@3rd-Eden.com" - } - ], - "name": "ultron", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/unshiftio/ultron.git" - }, - "scripts": { - "100%": "istanbul check-coverage --statements 100 --functions 100 --lines 100 --branches 100", - "coverage": "istanbul cover _mocha -- test.js", - "test": "mocha test.js", - "test-travis": "istanbul cover _mocha --report lcovonly -- test.js", - "watch": "mocha --watch test.js" - }, - "version": "1.1.0" -} diff --git a/node_modules/unzip-response/index.js b/node_modules/unzip-response/index.js deleted file mode 100644 index 90fd029..0000000 --- a/node_modules/unzip-response/index.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; -var PassThrough = require('stream').PassThrough; -var zlib = require('zlib'); - -module.exports = function (res) { - // TODO: use Array#includes when targeting Node.js 6 - if (['gzip', 'deflate'].indexOf(res.headers['content-encoding']) === -1) { - return res; - } - - var unzip = zlib.createUnzip(); - var stream = new PassThrough(); - - stream.httpVersion = res.httpVersion; - stream.headers = res.headers; - stream.rawHeaders = res.rawHeaders; - stream.trailers = res.trailers; - stream.rawTrailers = res.rawTrailers; - stream.setTimeout = res.setTimeout.bind(res); - stream.statusCode = res.statusCode; - stream.statusMessage = res.statusMessage; - stream.socket = res.socket; - - unzip.on('error', function (err) { - if (err.code === 'Z_BUF_ERROR') { - stream.end(); - return; - } - - stream.emit('error', err); - }); - - res.pipe(unzip).pipe(stream); - - return stream; -}; diff --git a/node_modules/unzip-response/license b/node_modules/unzip-response/license deleted file mode 100644 index 32a16ce..0000000 --- a/node_modules/unzip-response/license +++ /dev/null @@ -1,21 +0,0 @@ -`The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -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. diff --git a/node_modules/unzip-response/package.json b/node_modules/unzip-response/package.json deleted file mode 100644 index 852d887..0000000 --- a/node_modules/unzip-response/package.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "unzip-response@^1.0.0", - "scope": null, - "escapedName": "unzip-response", - "name": "unzip-response", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/simple-get" - ] - ], - "_from": "unzip-response@>=1.0.0 <2.0.0", - "_id": "unzip-response@1.0.2", - "_inCache": true, - "_installable": true, - "_location": "/unzip-response", - "_nodeVersion": "0.10.48", - "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/unzip-response-1.0.2.tgz_1477988883900_0.8392405717168003" - }, - "_npmUser": { - "name": "floatdrop", - "email": "floatdrop@gmail.com" - }, - "_npmVersion": "2.15.1", - "_phantomChildren": {}, - "_requested": { - "raw": "unzip-response@^1.0.0", - "scope": null, - "escapedName": "unzip-response", - "name": "unzip-response", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/simple-get" - ], - "_resolved": "http://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz", - "_shasum": "b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe", - "_shrinkwrap": null, - "_spec": "unzip-response@^1.0.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/simple-get", - "bugs": { - "url": "https://github.com/sindresorhus/unzip-response/issues" - }, - "dependencies": {}, - "description": "Unzip a HTTP response if needed", - "devDependencies": { - "ava": "^0.16.0", - "get-stream": "^2.3.0", - "pify": "^2.3.0", - "pinkie-promise": "^2.0.1", - "rfpify": "^1.0.0", - "xo": "^0.16.0" - }, - "directories": {}, - "dist": { - "shasum": "b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe", - "tarball": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz" - }, - "engines": { - "node": ">=0.10" - }, - "files": [ - "index.js" - ], - "gitHead": "da2d1afca2624505811a58da083c845ebdde2b2f", - "homepage": "https://github.com/sindresorhus/unzip-response#readme", - "keywords": [ - "http", - "unzip", - "zlib", - "gzip", - "deflate", - "incoming", - "message", - "response", - "stream" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - { - "name": "floatdrop", - "email": "floatdrop@gmail.com" - } - ], - "name": "unzip-response", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/unzip-response.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "1.0.2", - "xo": { - "esnext": false - } -} diff --git a/node_modules/unzip-response/readme.md b/node_modules/unzip-response/readme.md deleted file mode 100644 index 87a62c4..0000000 --- a/node_modules/unzip-response/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# unzip-response [![Build Status](https://travis-ci.org/sindresorhus/unzip-response.svg?branch=master)](https://travis-ci.org/sindresorhus/unzip-response) - -> Unzip a HTTP response if needed - -Unzips the response from [`http.request`](https://nodejs.org/api/http.html#http_http_request_options_callback) if it's gzipped/deflated, otherwise just passes it through. - - -## Install - -``` -$ npm install --save unzip-response -``` - - -## Usage - -```js -const http = require('http'); -const unzipResponse = require('unzip-response'); - -http.get('http://sindresorhus.com', res => { - res = unzipResponse(res); -}); -``` - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/node_modules/util-deprecate/History.md b/node_modules/util-deprecate/History.md deleted file mode 100644 index acc8675..0000000 --- a/node_modules/util-deprecate/History.md +++ /dev/null @@ -1,16 +0,0 @@ - -1.0.2 / 2015-10-07 -================== - - * use try/catch when checking `localStorage` (#3, @kumavis) - -1.0.1 / 2014-11-25 -================== - - * browser: use `console.warn()` for deprecation calls - * browser: more jsdocs - -1.0.0 / 2014-04-30 -================== - - * initial commit diff --git a/node_modules/util-deprecate/LICENSE b/node_modules/util-deprecate/LICENSE deleted file mode 100644 index 6a60e8c..0000000 --- a/node_modules/util-deprecate/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -(The MIT License) - -Copyright (c) 2014 Nathan Rajlich - -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. diff --git a/node_modules/util-deprecate/README.md b/node_modules/util-deprecate/README.md deleted file mode 100644 index 75622fa..0000000 --- a/node_modules/util-deprecate/README.md +++ /dev/null @@ -1,53 +0,0 @@ -util-deprecate -============== -### The Node.js `util.deprecate()` function with browser support - -In Node.js, this module simply re-exports the `util.deprecate()` function. - -In the web browser (i.e. via browserify), a browser-specific implementation -of the `util.deprecate()` function is used. - - -## API - -A `deprecate()` function is the only thing exposed by this module. - -``` javascript -// setup: -exports.foo = deprecate(foo, 'foo() is deprecated, use bar() instead'); - - -// users see: -foo(); -// foo() is deprecated, use bar() instead -foo(); -foo(); -``` - - -## License - -(The MIT License) - -Copyright (c) 2014 Nathan Rajlich - -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. diff --git a/node_modules/util-deprecate/browser.js b/node_modules/util-deprecate/browser.js deleted file mode 100644 index 549ae2f..0000000 --- a/node_modules/util-deprecate/browser.js +++ /dev/null @@ -1,67 +0,0 @@ - -/** - * Module exports. - */ - -module.exports = deprecate; - -/** - * Mark that a method should not be used. - * Returns a modified function which warns once by default. - * - * If `localStorage.noDeprecation = true` is set, then it is a no-op. - * - * If `localStorage.throwDeprecation = true` is set, then deprecated functions - * will throw an Error when invoked. - * - * If `localStorage.traceDeprecation = true` is set, then deprecated functions - * will invoke `console.trace()` instead of `console.error()`. - * - * @param {Function} fn - the function to deprecate - * @param {String} msg - the string to print to the console when `fn` is invoked - * @returns {Function} a new "deprecated" version of `fn` - * @api public - */ - -function deprecate (fn, msg) { - if (config('noDeprecation')) { - return fn; - } - - var warned = false; - function deprecated() { - if (!warned) { - if (config('throwDeprecation')) { - throw new Error(msg); - } else if (config('traceDeprecation')) { - console.trace(msg); - } else { - console.warn(msg); - } - warned = true; - } - return fn.apply(this, arguments); - } - - return deprecated; -} - -/** - * Checks `localStorage` for boolean values for the given `name`. - * - * @param {String} name - * @returns {Boolean} - * @api private - */ - -function config (name) { - // accessing global.localStorage can trigger a DOMException in sandboxed iframes - try { - if (!global.localStorage) return false; - } catch (_) { - return false; - } - var val = global.localStorage[name]; - if (null == val) return false; - return String(val).toLowerCase() === 'true'; -} diff --git a/node_modules/util-deprecate/node.js b/node_modules/util-deprecate/node.js deleted file mode 100644 index 5e6fcff..0000000 --- a/node_modules/util-deprecate/node.js +++ /dev/null @@ -1,6 +0,0 @@ - -/** - * For Node.js, simply re-export the core `util.deprecate` function. - */ - -module.exports = require('util').deprecate; diff --git a/node_modules/util-deprecate/package.json b/node_modules/util-deprecate/package.json deleted file mode 100644 index fbdcf0c..0000000 --- a/node_modules/util-deprecate/package.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "util-deprecate@~1.0.1", - "scope": null, - "escapedName": "util-deprecate", - "name": "util-deprecate", - "rawSpec": "~1.0.1", - "spec": ">=1.0.1 <1.1.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/readable-stream" - ] - ], - "_from": "util-deprecate@>=1.0.1 <1.1.0", - "_id": "util-deprecate@1.0.2", - "_inCache": true, - "_installable": true, - "_location": "/util-deprecate", - "_nodeVersion": "4.1.2", - "_npmUser": { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - }, - "_npmVersion": "2.14.4", - "_phantomChildren": {}, - "_requested": { - "raw": "util-deprecate@~1.0.1", - "scope": null, - "escapedName": "util-deprecate", - "name": "util-deprecate", - "rawSpec": "~1.0.1", - "spec": ">=1.0.1 <1.1.0", - "type": "range" - }, - "_requiredBy": [ - "/readable-stream" - ], - "_resolved": "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "_shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf", - "_shrinkwrap": null, - "_spec": "util-deprecate@~1.0.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/readable-stream", - "author": { - "name": "Nathan Rajlich", - "email": "nathan@tootallnate.net", - "url": "http://n8.io/" - }, - "browser": "browser.js", - "bugs": { - "url": "https://github.com/TooTallNate/util-deprecate/issues" - }, - "dependencies": {}, - "description": "The Node.js `util.deprecate()` function with browser support", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf", - "tarball": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - }, - "gitHead": "475fb6857cd23fafff20c1be846c1350abf8e6d4", - "homepage": "https://github.com/TooTallNate/util-deprecate", - "keywords": [ - "util", - "deprecate", - "browserify", - "browser", - "node" - ], - "license": "MIT", - "main": "node.js", - "maintainers": [ - { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - } - ], - "name": "util-deprecate", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/TooTallNate/util-deprecate.git" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "version": "1.0.2" -} diff --git a/node_modules/wide-align/.npmignore b/node_modules/wide-align/.npmignore deleted file mode 100644 index d1a6b00..0000000 --- a/node_modules/wide-align/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -*~ -/node_modules -.#* -/.nyc_output -/coverage diff --git a/node_modules/wide-align/LICENSE b/node_modules/wide-align/LICENSE deleted file mode 100644 index f4be44d..0000000 --- a/node_modules/wide-align/LICENSE +++ /dev/null @@ -1,14 +0,0 @@ -Copyright (c) 2015, Rebecca Turner - -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. - diff --git a/node_modules/wide-align/README.md b/node_modules/wide-align/README.md deleted file mode 100644 index 32f1be0..0000000 --- a/node_modules/wide-align/README.md +++ /dev/null @@ -1,47 +0,0 @@ -wide-align ----------- - -A wide-character aware text alignment function for use in terminals / on the -console. - -### Usage - -``` -var align = require('wide-align') - -// Note that if you view this on a unicode console, all of the slashes are -// aligned. This is because on a console, all narrow characters are -// an en wide and all wide characters are an em. In browsers, this isn't -// held to and wide characters like "古" can be less than two narrow -// characters even with a fixed width font. - -console.log(align.center('abc', 10)) // ' abc ' -console.log(align.center('古古古', 10)) // ' 古古古 ' -console.log(align.left('abc', 10)) // 'abc ' -console.log(align.left('古古古', 10)) // '古古古 ' -console.log(align.right('abc', 10)) // ' abc' -console.log(align.right('古古古', 10)) // ' 古古古' -``` - -### Functions - -#### `align.center(str, length)` → `str` - -Returns *str* with spaces added to both sides such that that it is *length* -chars long and centered in the spaces. - -#### `align.left(str, length)` → `str` - -Returns *str* with spaces to the right such that it is *length* chars long. - -### `align.right(str, length)` → `str` - -Returns *str* with spaces to the left such that it is *length* chars long. - -### Origins - -These functions were originally taken from -[cliui](https://npmjs.com/package/cliui). Changes include switching to the -MUCH faster pad generation function from -[lodash](https://npmjs.com/package/lodash), making center alignment pad -both sides and adding left alignment. diff --git a/node_modules/wide-align/align.js b/node_modules/wide-align/align.js deleted file mode 100644 index 4f94ca4..0000000 --- a/node_modules/wide-align/align.js +++ /dev/null @@ -1,65 +0,0 @@ -'use strict' -var stringWidth = require('string-width') - -exports.center = alignCenter -exports.left = alignLeft -exports.right = alignRight - -// lodash's way of generating pad characters. - -function createPadding (width) { - var result = '' - var string = ' ' - var n = width - do { - if (n % 2) { - result += string; - } - n = Math.floor(n / 2); - string += string; - } while (n); - - return result; -} - -function alignLeft (str, width) { - var trimmed = str.trimRight() - if (trimmed.length === 0 && str.length >= width) return str - var padding = '' - var strWidth = stringWidth(trimmed) - - if (strWidth < width) { - padding = createPadding(width - strWidth) - } - - return trimmed + padding -} - -function alignRight (str, width) { - var trimmed = str.trimLeft() - if (trimmed.length === 0 && str.length >= width) return str - var padding = '' - var strWidth = stringWidth(trimmed) - - if (strWidth < width) { - padding = createPadding(width - strWidth) - } - - return padding + trimmed -} - -function alignCenter (str, width) { - var trimmed = str.trim() - if (trimmed.length === 0 && str.length >= width) return str - var padLeft = '' - var padRight = '' - var strWidth = stringWidth(trimmed) - - if (strWidth < width) { - var padLeftBy = parseInt((width - strWidth) / 2, 10) - padLeft = createPadding(padLeftBy) - padRight = createPadding(width - (strWidth + padLeftBy)) - } - - return padLeft + trimmed + padRight -} diff --git a/node_modules/wide-align/package.json b/node_modules/wide-align/package.json deleted file mode 100644 index 1d54ae3..0000000 --- a/node_modules/wide-align/package.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "wide-align@^1.1.0", - "scope": null, - "escapedName": "wide-align", - "name": "wide-align", - "rawSpec": "^1.1.0", - "spec": ">=1.1.0 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/gauge" - ] - ], - "_from": "wide-align@>=1.1.0 <2.0.0", - "_id": "wide-align@1.1.0", - "_inCache": true, - "_installable": true, - "_location": "/wide-align", - "_nodeVersion": "4.2.2", - "_npmUser": { - "name": "iarna", - "email": "me@re-becca.org" - }, - "_npmVersion": "3.5.3", - "_phantomChildren": {}, - "_requested": { - "raw": "wide-align@^1.1.0", - "scope": null, - "escapedName": "wide-align", - "name": "wide-align", - "rawSpec": "^1.1.0", - "spec": ">=1.1.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/gauge" - ], - "_resolved": "http://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz", - "_shasum": "40edde802a71fea1f070da3e62dcda2e7add96ad", - "_shrinkwrap": null, - "_spec": "wide-align@^1.1.0", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/gauge", - "author": { - "name": "Rebecca Turner", - "email": "me@re-becca.org", - "url": "http://re-becca.org/" - }, - "bugs": { - "url": "https://github.com/iarna/wide-align/issues" - }, - "dependencies": { - "string-width": "^1.0.1" - }, - "description": "A wide-character aware text alignment function for use on the console or with fixed width fonts.", - "devDependencies": { - "tap": "^2.3.2" - }, - "directories": {}, - "dist": { - "shasum": "40edde802a71fea1f070da3e62dcda2e7add96ad", - "tarball": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz" - }, - "gitHead": "fe3f7f210650913d5bee702d7e19938f6977bc8a", - "homepage": "https://github.com/iarna/wide-align#readme", - "keywords": [ - "wide", - "double", - "unicode", - "cjkv", - "pad", - "align" - ], - "license": "ISC", - "main": "align.js", - "maintainers": [ - { - "name": "iarna", - "email": "me@re-becca.org" - } - ], - "name": "wide-align", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/iarna/wide-align.git" - }, - "scripts": { - "test": "tap --coverage test/*.js" - }, - "version": "1.1.0" -} diff --git a/node_modules/wide-align/test/align.js b/node_modules/wide-align/test/align.js deleted file mode 100644 index 64e9f9d..0000000 --- a/node_modules/wide-align/test/align.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict' -var test = require('tap').test -var align = require('..') - -test('align', function (t) { - t.is(align.center('abc', 10), ' abc ', 'center narrow') - t.is(align.center('古古古', 10), ' 古古古 ', 'center wide') - t.is(align.left('abc', 10), 'abc ', 'left narrow') - t.is(align.left('古古古', 10), '古古古 ', 'left wide') - t.is(align.right('abc', 10), ' abc', 'right narrow') - t.is(align.right('古古古', 10), ' 古古古', 'right wide') - - t.is(align.center('abc', 2), 'abc', 'center narrow overflow') - t.is(align.center('古古古', 4), '古古古', 'center wide overflow') - t.is(align.left('abc', 2), 'abc', 'left narrow overflow') - t.is(align.left('古古古', 4), '古古古', 'left wide overflow') - t.is(align.right('abc', 2), 'abc', 'right narrow overflow') - t.is(align.right('古古古', 4), '古古古', 'right wide overflow') - - t.is(align.left('', 5), ' ', 'left align nothing') - t.is(align.center('', 5), ' ', 'center align nothing') - t.is(align.right('', 5), ' ', 'right align nothing') - - t.is(align.left(' ', 5), ' ', 'left align whitespace') - t.is(align.center(' ', 5), ' ', 'center align whitespace') - t.is(align.right(' ', 5), ' ', 'right align whitespace') - - t.is(align.left(' ', 2), ' ', 'left align whitespace overflow') - t.is(align.center(' ', 2), ' ', 'center align whitespace overflow') - t.is(align.right(' ', 2), ' ', 'right align whitespace overflow') - - t.is(align.left('x ', 10), 'x ', 'left align whitespace mix') - t.is(align.center('x ', 10), ' x ', 'center align whitespace mix') - t.is(align.right('x ', 10), ' x', 'right align whitespace mix') - - t.end() -}) diff --git a/node_modules/wrappy/LICENSE b/node_modules/wrappy/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/node_modules/wrappy/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -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. diff --git a/node_modules/wrappy/README.md b/node_modules/wrappy/README.md deleted file mode 100644 index 98eab25..0000000 --- a/node_modules/wrappy/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# wrappy - -Callback wrapping utility - -## USAGE - -```javascript -var wrappy = require("wrappy") - -// var wrapper = wrappy(wrapperFunction) - -// make sure a cb is called only once -// See also: http://npm.im/once for this specific use case -var once = wrappy(function (cb) { - var called = false - return function () { - if (called) return - called = true - return cb.apply(this, arguments) - } -}) - -function printBoo () { - console.log('boo') -} -// has some rando property -printBoo.iAmBooPrinter = true - -var onlyPrintOnce = once(printBoo) - -onlyPrintOnce() // prints 'boo' -onlyPrintOnce() // does nothing - -// random property is retained! -assert.equal(onlyPrintOnce.iAmBooPrinter, true) -``` diff --git a/node_modules/wrappy/package.json b/node_modules/wrappy/package.json deleted file mode 100644 index a3f8292..0000000 --- a/node_modules/wrappy/package.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "wrappy@1", - "scope": null, - "escapedName": "wrappy", - "name": "wrappy", - "rawSpec": "1", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/once" - ] - ], - "_from": "wrappy@>=1.0.0 <2.0.0", - "_id": "wrappy@1.0.2", - "_inCache": true, - "_installable": true, - "_location": "/wrappy", - "_nodeVersion": "5.10.1", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/wrappy-1.0.2.tgz_1463527848281_0.037129373755306005" - }, - "_npmUser": { - "name": "zkat", - "email": "kat@sykosomatic.org" - }, - "_npmVersion": "3.9.1", - "_phantomChildren": {}, - "_requested": { - "raw": "wrappy@1", - "scope": null, - "escapedName": "wrappy", - "name": "wrappy", - "rawSpec": "1", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/once" - ], - "_resolved": "http://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "_shasum": "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f", - "_shrinkwrap": null, - "_spec": "wrappy@1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/once", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/npm/wrappy/issues" - }, - "dependencies": {}, - "description": "Callback wrapping utility", - "devDependencies": { - "tap": "^2.3.1" - }, - "directories": { - "test": "test" - }, - "dist": { - "shasum": "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f", - "tarball": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - }, - "files": [ - "wrappy.js" - ], - "gitHead": "71d91b6dc5bdeac37e218c2cf03f9ab55b60d214", - "homepage": "https://github.com/npm/wrappy", - "license": "ISC", - "main": "wrappy.js", - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - }, - { - "name": "zkat", - "email": "kat@sykosomatic.org" - } - ], - "name": "wrappy", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/npm/wrappy.git" - }, - "scripts": { - "test": "tap --coverage test/*.js" - }, - "version": "1.0.2" -} diff --git a/node_modules/wrappy/wrappy.js b/node_modules/wrappy/wrappy.js deleted file mode 100644 index bb7e7d6..0000000 --- a/node_modules/wrappy/wrappy.js +++ /dev/null @@ -1,33 +0,0 @@ -// Returns a wrapper function that returns a wrapped callback -// The wrapper function should do some stuff, and return a -// presumably different callback function. -// This makes sure that own properties are retained, so that -// decorations and such are not lost along the way. -module.exports = wrappy -function wrappy (fn, cb) { - if (fn && cb) return wrappy(fn)(cb) - - if (typeof fn !== 'function') - throw new TypeError('need wrapper function') - - Object.keys(fn).forEach(function (k) { - wrapper[k] = fn[k] - }) - - return wrapper - - function wrapper() { - var args = new Array(arguments.length) - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i] - } - var ret = fn.apply(this, args) - var cb = args[args.length-1] - if (typeof ret === 'function' && ret !== cb) { - Object.keys(cb).forEach(function (k) { - ret[k] = cb[k] - }) - } - return ret - } -} diff --git a/node_modules/ws/LICENSE b/node_modules/ws/LICENSE deleted file mode 100644 index a145cd1..0000000 --- a/node_modules/ws/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2011 Einar Otto Stangvik - -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. diff --git a/node_modules/ws/README.md b/node_modules/ws/README.md deleted file mode 100644 index 714f1a8..0000000 --- a/node_modules/ws/README.md +++ /dev/null @@ -1,259 +0,0 @@ -# ws: a Node.js WebSocket library - -[![Version npm](https://img.shields.io/npm/v/ws.svg)](https://www.npmjs.com/package/ws) -[![Linux Build](https://img.shields.io/travis/websockets/ws/master.svg)](https://travis-ci.org/websockets/ws) -[![Windows Build](https://ci.appveyor.com/api/projects/status/github/websockets/ws?branch=master&svg=true)](https://ci.appveyor.com/project/lpinca/ws) -[![Coverage Status](https://img.shields.io/coveralls/websockets/ws/master.svg)](https://coveralls.io/r/websockets/ws?branch=master) - -`ws` is a simple to use, blazing fast, and thoroughly tested WebSocket client -and server implementation. - -Passes the quite extensive Autobahn test suite. See http://websockets.github.io/ws/ -for the full reports. - -## Protocol support - -* **HyBi drafts 07-12** (Use the option `protocolVersion: 8`) -* **HyBi drafts 13-17** (Current default, alternatively option `protocolVersion: 13`) - -## Installing - -``` -npm install --save ws -``` - -### Opt-in for performance - -There are 2 optional modules that can be installed along side with the `ws` -module. These modules are binary addons which improve certain operations, but as -they are binary addons they require compilation which can fail if no c++ -compiler is installed on the host system. - -- `npm install --save bufferutil`: Improves internal buffer operations which - allows for faster processing of masked WebSocket frames and general buffer - operations. -- `npm install --save utf-8-validate`: The specification requires validation of - invalid UTF-8 chars, some of these validations could not be done in JavaScript - hence the need for a binary addon. In most cases you will already be - validating the input that you receive for security purposes leading to double - validation. But if you want to be 100% spec-conforming and have fast - validation of UTF-8 then this module is a must. - -## API Docs - -See [`/doc/ws.md`](https://github.com/websockets/ws/blob/master/doc/ws.md) -for Node.js-like docs for the ws classes. - -## WebSocket compression - -`ws` supports the [permessage-deflate extension][permessage-deflate] extension -which enables the client and server to negotiate a compression algorithm and -its parameters, and then selectively apply it to the data payloads of each -WebSocket message. - -The extension is enabled by default but adds a significant overhead in terms of -performance and memory comsumption. We suggest to use WebSocket compression -only if it is really needed. - -To disable the extension you can set the `perMessageDeflate` option to `false`. -On the server: - -```js -const WebSocket = require('ws'); - -const wss = new WebSocket.Server({ - perMessageDeflate: false, - port: 8080 -}); -``` - -On the client: - -```js -const WebSocket = require('ws'); - -const ws = new WebSocket('ws://www.host.com/path', { - perMessageDeflate: false -}); -``` - -## Usage examples - -### Sending and receiving text data - -```js -const WebSocket = require('ws'); - -const ws = new WebSocket('ws://www.host.com/path'); - -ws.on('open', function open() { - ws.send('something'); -}); - -ws.on('message', function incoming(data, flags) { - // flags.binary will be set if a binary data is received. - // flags.masked will be set if the data was masked. -}); -``` - -### Sending binary data - -```js -const WebSocket = require('ws'); - -const ws = new WebSocket('ws://www.host.com/path'); - -ws.on('open', function open() { - const array = new Float32Array(5); - - for (var i = 0; i < array.length; ++i) { - array[i] = i / 2; - } - - ws.send(array); -}); -``` - -### Server example - -```js -const WebSocket = require('ws'); - -const wss = new WebSocket.Server({ port: 8080 }); - -wss.on('connection', function connection(ws) { - ws.on('message', function incoming(message) { - console.log('received: %s', message); - }); - - ws.send('something'); -}); -``` - -### Broadcast example - -```js -const WebSocket = require('ws'); - -const wss = new WebSocket.Server({ port: 8080 }); - -// Broadcast to all. -wss.broadcast = function broadcast(data) { - wss.clients.forEach(function each(client) { - if (client.readyState === WebSocket.OPEN) { - client.send(data); - } - }); -}; - -wss.on('connection', function connection(ws) { - ws.on('message', function incoming(data) { - // Broadcast to everyone else. - wss.clients.forEach(function each(client) { - if (client !== ws && client.readyState === WebSocket.OPEN) { - client.send(data); - } - }); - }); -}); -``` - -### ExpressJS example - -```js -const express = require('express'); -const http = require('http'); -const url = require('url'); -const WebSocket = require('ws'); - -const app = express(); - -app.use(function (req, res) { - res.send({ msg: "hello" }); -}); - -const server = http.createServer(app); -const wss = new WebSocket.Server({ server }); - -wss.on('connection', function connection(ws) { - const location = url.parse(ws.upgradeReq.url, true); - // You might use location.query.access_token to authenticate or share sessions - // or ws.upgradeReq.headers.cookie (see http://stackoverflow.com/a/16395220/151312) - - ws.on('message', function incoming(message) { - console.log('received: %s', message); - }); - - ws.send('something'); -}); - -server.listen(8080, function listening() { - console.log('Listening on %d', server.address().port); -}); -``` - -### echo.websocket.org demo - -```js -const WebSocket = require('ws'); - -const ws = new WebSocket('wss://echo.websocket.org/', { - origin: 'https://websocket.org' -}); - -ws.on('open', function open() { - console.log('connected'); - ws.send(Date.now()); -}); - -ws.on('close', function close() { - console.log('disconnected'); -}); - -ws.on('message', function incoming(data, flags) { - console.log(`Roundtrip time: ${Date.now() - data} ms`, flags); - - setTimeout(function timeout() { - ws.send(Date.now()); - }, 500); -}); -``` - -### Other examples - -For a full example with a browser client communicating with a ws server, see the -examples folder. - -Otherwise, see the test cases. - -## Error handling best practices - -```js -// If the WebSocket is closed before the following send is attempted -ws.send('something'); - -// Errors (both immediate and async write errors) can be detected in an optional -// callback. The callback is also the only way of being notified that data has -// actually been sent. -ws.send('something', function ack(error) { - // If error is not defined, the send has been completed, otherwise the error - // object will indicate what failed. -}); - -// Immediate errors can also be handled with `try...catch`, but **note** that -// since sends are inherently asynchronous, socket write failures will *not* be -// captured when this technique is used. -try { ws.send('something'); } -catch (e) { /* handle error */ } -``` - -## Changelog - -We're using the GitHub [`releases`](https://github.com/websockets/ws/releases) -for changelog entries. - -## License - -[MIT](LICENSE) - -[permessage-deflate]: https://tools.ietf.org/html/rfc7692 diff --git a/node_modules/ws/SECURITY.md b/node_modules/ws/SECURITY.md deleted file mode 100644 index fd8e07b..0000000 --- a/node_modules/ws/SECURITY.md +++ /dev/null @@ -1,33 +0,0 @@ -# Security Guidelines - -Please contact us directly at **security@3rd-Eden.com** for any bug that might -impact the security of this project. Please prefix the subject of your email -with `[security]` in lowercase and square brackets. Our email filters will -automatically prevent these messages from being moved to our spam box. - -You will receive an acknowledgement of your report within **24 hours**. - -All emails that do not include security vulnerabilities will be removed and -blocked instantly. - -## Exceptions - -If you do not receive an acknowledgement within the said time frame please give -us the benefit of the doubt as it's possible that we haven't seen it yet. In -this case please send us a message **without details** using one of the -following methods: - -- Contact the lead developers of this project on their personal e-mails. You - can find the e-mails in the git logs, for example using the following command: - `git --no-pager show -s --format='%an <%ae>' ` where `` is the - SHA1 of their latest commit in the project. -- Create a GitHub issue stating contact details and the severity of the issue. - -Once we have acknowledged receipt of your report and confirmed the bug -ourselves we will work with you to fix the vulnerability and publicly acknowledge -your responsible disclosure, if you wish. In addition to that we will report -all vulnerabilities to the [Node Security Project](https://nodesecurity.io/). - -## History - -04 Jan 2016: [Buffer vulnerablity](https://github.com/websockets/ws/releases/tag/1.0.1) diff --git a/node_modules/ws/index.js b/node_modules/ws/index.js deleted file mode 100644 index 489e169..0000000 --- a/node_modules/ws/index.js +++ /dev/null @@ -1,15 +0,0 @@ -/*! - * ws: a node.js websocket client - * Copyright(c) 2011 Einar Otto Stangvik - * MIT Licensed - */ - -'use strict'; - -const WebSocket = require('./lib/WebSocket'); - -WebSocket.Server = require('./lib/WebSocketServer'); -WebSocket.Receiver = require('./lib/Receiver'); -WebSocket.Sender = require('./lib/Sender'); - -module.exports = WebSocket; diff --git a/node_modules/ws/lib/BufferUtil.js b/node_modules/ws/lib/BufferUtil.js deleted file mode 100644 index 6a35e8f..0000000 --- a/node_modules/ws/lib/BufferUtil.js +++ /dev/null @@ -1,71 +0,0 @@ -/*! - * ws: a node.js websocket client - * Copyright(c) 2011 Einar Otto Stangvik - * MIT Licensed - */ - -'use strict'; - -const safeBuffer = require('safe-buffer'); - -const Buffer = safeBuffer.Buffer; - -/** - * Merges an array of buffers into a new buffer. - * - * @param {Buffer[]} list The array of buffers to concat - * @param {Number} totalLength The total length of buffers in the list - * @return {Buffer} The resulting buffer - * @public - */ -const concat = (list, totalLength) => { - const target = Buffer.allocUnsafe(totalLength); - var offset = 0; - - for (var i = 0; i < list.length; i++) { - const buf = list[i]; - buf.copy(target, offset); - offset += buf.length; - } - - return target; -}; - -try { - const bufferUtil = require('bufferutil'); - - module.exports = Object.assign({ concat }, bufferUtil.BufferUtil || bufferUtil); -} catch (e) /* istanbul ignore next */ { - /** - * Masks a buffer using the given mask. - * - * @param {Buffer} source The buffer to mask - * @param {Buffer} mask The mask to use - * @param {Buffer} output The buffer where to store the result - * @param {Number} offset The offset at which to start writing - * @param {Number} length The number of bytes to mask. - * @public - */ - const mask = (source, mask, output, offset, length) => { - for (var i = 0; i < length; i++) { - output[offset + i] = source[i] ^ mask[i & 3]; - } - }; - - /** - * Unmasks a buffer using the given mask. - * - * @param {Buffer} buffer The buffer to unmask - * @param {Buffer} mask The mask to use - * @public - */ - const unmask = (buffer, mask) => { - // Required until https://github.com/nodejs/node/issues/9006 is resolved. - const length = buffer.length; - for (var i = 0; i < length; i++) { - buffer[i] ^= mask[i & 3]; - } - }; - - module.exports = { concat, mask, unmask }; -} diff --git a/node_modules/ws/lib/Constants.js b/node_modules/ws/lib/Constants.js deleted file mode 100644 index 3904414..0000000 --- a/node_modules/ws/lib/Constants.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -const safeBuffer = require('safe-buffer'); - -const Buffer = safeBuffer.Buffer; - -exports.BINARY_TYPES = ['nodebuffer', 'arraybuffer', 'fragments']; -exports.GUID = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11'; -exports.EMPTY_BUFFER = Buffer.alloc(0); -exports.NOOP = () => {}; diff --git a/node_modules/ws/lib/ErrorCodes.js b/node_modules/ws/lib/ErrorCodes.js deleted file mode 100644 index f515571..0000000 --- a/node_modules/ws/lib/ErrorCodes.js +++ /dev/null @@ -1,28 +0,0 @@ -/*! - * ws: a node.js websocket client - * Copyright(c) 2011 Einar Otto Stangvik - * MIT Licensed - */ - -'use strict'; - -module.exports = { - isValidErrorCode: function (code) { - return (code >= 1000 && code <= 1013 && code !== 1004 && code !== 1005 && code !== 1006) || - (code >= 3000 && code <= 4999); - }, - 1000: 'normal', - 1001: 'going away', - 1002: 'protocol error', - 1003: 'unsupported data', - 1004: 'reserved', - 1005: 'reserved for extensions', - 1006: 'reserved for extensions', - 1007: 'inconsistent or invalid data', - 1008: 'policy violation', - 1009: 'message too big', - 1010: 'extension handshake missing', - 1011: 'an unexpected condition prevented the request from being fulfilled', - 1012: 'service restart', - 1013: 'try again later' -}; diff --git a/node_modules/ws/lib/EventTarget.js b/node_modules/ws/lib/EventTarget.js deleted file mode 100644 index e30b1b3..0000000 --- a/node_modules/ws/lib/EventTarget.js +++ /dev/null @@ -1,155 +0,0 @@ -'use strict'; - -/** - * Class representing an event. - * - * @private - */ -class Event { - /** - * Create a new `Event`. - * - * @param {String} type The name of the event - * @param {Object} target A reference to the target to which the event was dispatched - */ - constructor (type, target) { - this.target = target; - this.type = type; - } -} - -/** - * Class representing a message event. - * - * @extends Event - * @private - */ -class MessageEvent extends Event { - /** - * Create a new `MessageEvent`. - * - * @param {(String|Buffer|ArrayBuffer|Buffer[])} data The received data - * @param {Boolean} isBinary Specifies if `data` is binary - * @param {WebSocket} target A reference to the target to which the event was dispatched - */ - constructor (data, isBinary, target) { - super('message', target); - - this.binary = isBinary; // non-standard. - this.data = data; - } -} - -/** - * Class representing a close event. - * - * @extends Event - * @private - */ -class CloseEvent extends Event { - /** - * Create a new `CloseEvent`. - * - * @param {Number} code The status code explaining why the connection is being closed - * @param {String} reason A human-readable string explaining why the connection is closing - * @param {WebSocket} target A reference to the target to which the event was dispatched - */ - constructor (code, reason, target) { - super('close', target); - - this.wasClean = code === undefined || code === 1000; - this.reason = reason; - this.target = target; - this.type = 'close'; - this.code = code; - } -} - -/** - * Class representing an open event. - * - * @extends Event - * @private - */ -class OpenEvent extends Event { - /** - * Create a new `OpenEvent`. - * - * @param {WebSocket} target A reference to the target to which the event was dispatched - */ - constructor (target) { - super('open', target); - } -} - -/** - * This provides methods for emulating the `EventTarget` interface. It's not - * meant to be used directly. - * - * @mixin - */ -const EventTarget = { - /** - * Register an event listener. - * - * @param {String} method A string representing the event type to listen for - * @param {Function} listener The listener to add - * @public - */ - addEventListener (method, listener) { - if (typeof listener !== 'function') return; - - function onMessage (data, flags) { - listener.call(this, new MessageEvent(data, !!flags.binary, this)); - } - - function onClose (code, message) { - listener.call(this, new CloseEvent(code, message, this)); - } - - function onError (event) { - event.type = 'error'; - event.target = this; - listener.call(this, event); - } - - function onOpen () { - listener.call(this, new OpenEvent(this)); - } - - if (method === 'message') { - onMessage._listener = listener; - this.on(method, onMessage); - } else if (method === 'close') { - onClose._listener = listener; - this.on(method, onClose); - } else if (method === 'error') { - onError._listener = listener; - this.on(method, onError); - } else if (method === 'open') { - onOpen._listener = listener; - this.on(method, onOpen); - } else { - this.on(method, listener); - } - }, - - /** - * Remove an event listener. - * - * @param {String} method A string representing the event type to remove - * @param {Function} listener The listener to remove - * @public - */ - removeEventListener (method, listener) { - const listeners = this.listeners(method); - - for (var i = 0; i < listeners.length; i++) { - if (listeners[i] === listener || listeners[i]._listener === listener) { - this.removeListener(method, listeners[i]); - } - } - } -}; - -module.exports = EventTarget; diff --git a/node_modules/ws/lib/Extensions.js b/node_modules/ws/lib/Extensions.js deleted file mode 100644 index a91910e..0000000 --- a/node_modules/ws/lib/Extensions.js +++ /dev/null @@ -1,67 +0,0 @@ -'use strict'; - -/** - * Parse the `Sec-WebSocket-Extensions` header into an object. - * - * @param {String} value field value of the header - * @return {Object} The parsed object - * @public - */ -const parse = (value) => { - value = value || ''; - - const extensions = {}; - - value.split(',').forEach((v) => { - const params = v.split(';'); - const token = params.shift().trim(); - const paramsList = extensions[token] = extensions[token] || []; - const parsedParams = {}; - - params.forEach((param) => { - const parts = param.trim().split('='); - const key = parts[0]; - var value = parts[1]; - - if (value === undefined) { - value = true; - } else { - // unquote value - if (value[0] === '"') { - value = value.slice(1); - } - if (value[value.length - 1] === '"') { - value = value.slice(0, value.length - 1); - } - } - (parsedParams[key] = parsedParams[key] || []).push(value); - }); - - paramsList.push(parsedParams); - }); - - return extensions; -}; - -/** - * Serialize a parsed `Sec-WebSocket-Extensions` header to a string. - * - * @param {Object} value The object to format - * @return {String} A string representing the given value - * @public - */ -const format = (value) => { - return Object.keys(value).map((token) => { - var paramsList = value[token]; - if (!Array.isArray(paramsList)) paramsList = [paramsList]; - return paramsList.map((params) => { - return [token].concat(Object.keys(params).map((k) => { - var p = params[k]; - if (!Array.isArray(p)) p = [p]; - return p.map((v) => v === true ? k : `${k}=${v}`).join('; '); - })).join('; '); - }).join(', '); - }).join(', '); -}; - -module.exports = { format, parse }; diff --git a/node_modules/ws/lib/PerMessageDeflate.js b/node_modules/ws/lib/PerMessageDeflate.js deleted file mode 100644 index c1a1d3c..0000000 --- a/node_modules/ws/lib/PerMessageDeflate.js +++ /dev/null @@ -1,384 +0,0 @@ -'use strict'; - -const safeBuffer = require('safe-buffer'); -const zlib = require('zlib'); - -const bufferUtil = require('./BufferUtil'); - -const Buffer = safeBuffer.Buffer; - -const AVAILABLE_WINDOW_BITS = [8, 9, 10, 11, 12, 13, 14, 15]; -const TRAILER = Buffer.from([0x00, 0x00, 0xff, 0xff]); -const EMPTY_BLOCK = Buffer.from([0x00]); -const DEFAULT_WINDOW_BITS = 15; -const DEFAULT_MEM_LEVEL = 8; - -/** - * Per-message Deflate implementation. - */ -class PerMessageDeflate { - constructor (options, isServer, maxPayload) { - this._options = options || {}; - this._isServer = !!isServer; - this._inflate = null; - this._deflate = null; - this.params = null; - this._maxPayload = maxPayload || 0; - this.threshold = this._options.threshold === undefined ? 1024 : this._options.threshold; - } - - static get extensionName () { - return 'permessage-deflate'; - } - - /** - * Create extension parameters offer. - * - * @return {Object} Extension parameters - * @public - */ - offer () { - const params = {}; - - if (this._options.serverNoContextTakeover) { - params.server_no_context_takeover = true; - } - if (this._options.clientNoContextTakeover) { - params.client_no_context_takeover = true; - } - if (this._options.serverMaxWindowBits) { - params.server_max_window_bits = this._options.serverMaxWindowBits; - } - if (this._options.clientMaxWindowBits) { - params.client_max_window_bits = this._options.clientMaxWindowBits; - } else if (this._options.clientMaxWindowBits == null) { - params.client_max_window_bits = true; - } - - return params; - } - - /** - * Accept extension offer. - * - * @param {Array} paramsList Extension parameters - * @return {Object} Accepted configuration - * @public - */ - accept (paramsList) { - paramsList = this.normalizeParams(paramsList); - - var params; - if (this._isServer) { - params = this.acceptAsServer(paramsList); - } else { - params = this.acceptAsClient(paramsList); - } - - this.params = params; - return params; - } - - /** - * Releases all resources used by the extension. - * - * @public - */ - cleanup () { - if (this._inflate) { - if (this._inflate.writeInProgress) { - this._inflate.pendingClose = true; - } else { - this._inflate.close(); - this._inflate = null; - } - } - if (this._deflate) { - if (this._deflate.writeInProgress) { - this._deflate.pendingClose = true; - } else { - this._deflate.close(); - this._deflate = null; - } - } - } - - /** - * Accept extension offer from client. - * - * @param {Array} paramsList Extension parameters - * @return {Object} Accepted configuration - * @private - */ - acceptAsServer (paramsList) { - const accepted = {}; - const result = paramsList.some((params) => { - if (( - this._options.serverNoContextTakeover === false && - params.server_no_context_takeover - ) || ( - this._options.serverMaxWindowBits === false && - params.server_max_window_bits - ) || ( - typeof this._options.serverMaxWindowBits === 'number' && - typeof params.server_max_window_bits === 'number' && - this._options.serverMaxWindowBits > params.server_max_window_bits - ) || ( - typeof this._options.clientMaxWindowBits === 'number' && - !params.client_max_window_bits - )) { - return; - } - - if ( - this._options.serverNoContextTakeover || - params.server_no_context_takeover - ) { - accepted.server_no_context_takeover = true; - } - if (this._options.clientNoContextTakeover) { - accepted.client_no_context_takeover = true; - } - if ( - this._options.clientNoContextTakeover !== false && - params.client_no_context_takeover - ) { - accepted.client_no_context_takeover = true; - } - if (typeof this._options.serverMaxWindowBits === 'number') { - accepted.server_max_window_bits = this._options.serverMaxWindowBits; - } else if (typeof params.server_max_window_bits === 'number') { - accepted.server_max_window_bits = params.server_max_window_bits; - } - if (typeof this._options.clientMaxWindowBits === 'number') { - accepted.client_max_window_bits = this._options.clientMaxWindowBits; - } else if ( - this._options.clientMaxWindowBits !== false && - typeof params.client_max_window_bits === 'number' - ) { - accepted.client_max_window_bits = params.client_max_window_bits; - } - return true; - }); - - if (!result) throw new Error(`Doesn't support the offered configuration`); - - return accepted; - } - - /** - * Accept extension response from server. - * - * @param {Array} paramsList Extension parameters - * @return {Object} Accepted configuration - * @private - */ - acceptAsClient (paramsList) { - const params = paramsList[0]; - - if (this._options.clientNoContextTakeover != null) { - if ( - this._options.clientNoContextTakeover === false && - params.client_no_context_takeover - ) { - throw new Error('Invalid value for "client_no_context_takeover"'); - } - } - if (this._options.clientMaxWindowBits != null) { - if ( - this._options.clientMaxWindowBits === false && - params.client_max_window_bits - ) { - throw new Error('Invalid value for "client_max_window_bits"'); - } - if ( - typeof this._options.clientMaxWindowBits === 'number' && ( - !params.client_max_window_bits || - params.client_max_window_bits > this._options.clientMaxWindowBits - )) { - throw new Error('Invalid value for "client_max_window_bits"'); - } - } - - return params; - } - - /** - * Normalize extensions parameters. - * - * @param {Array} paramsList Extension parameters - * @return {Array} Normalized extensions parameters - * @private - */ - normalizeParams (paramsList) { - return paramsList.map((params) => { - Object.keys(params).forEach((key) => { - var value = params[key]; - if (value.length > 1) { - throw new Error(`Multiple extension parameters for ${key}`); - } - - value = value[0]; - - switch (key) { - case 'server_no_context_takeover': - case 'client_no_context_takeover': - if (value !== true) { - throw new Error(`invalid extension parameter value for ${key} (${value})`); - } - params[key] = true; - break; - case 'server_max_window_bits': - case 'client_max_window_bits': - if (typeof value === 'string') { - value = parseInt(value, 10); - if (!~AVAILABLE_WINDOW_BITS.indexOf(value)) { - throw new Error(`invalid extension parameter value for ${key} (${value})`); - } - } - if (!this._isServer && value === true) { - throw new Error(`Missing extension parameter value for ${key}`); - } - params[key] = value; - break; - default: - throw new Error(`Not defined extension parameter (${key})`); - } - }); - return params; - }); - } - - /** - * Decompress data. - * - * @param {Buffer} data Compressed data - * @param {Boolean} fin Specifies whether or not this is the last fragment - * @param {Function} callback Callback - * @public - */ - decompress (data, fin, callback) { - const endpoint = this._isServer ? 'client' : 'server'; - - if (!this._inflate) { - const maxWindowBits = this.params[`${endpoint}_max_window_bits`]; - this._inflate = zlib.createInflateRaw({ - windowBits: typeof maxWindowBits === 'number' ? maxWindowBits : DEFAULT_WINDOW_BITS - }); - } - this._inflate.writeInProgress = true; - - var totalLength = 0; - const buffers = []; - var err; - - const onData = (data) => { - totalLength += data.length; - if (this._maxPayload < 1 || totalLength <= this._maxPayload) { - return buffers.push(data); - } - - err = new Error('max payload size exceeded'); - err.closeCode = 1009; - this._inflate.reset(); - }; - - const onError = (err) => { - cleanup(); - callback(err); - }; - - const cleanup = () => { - if (!this._inflate) return; - - this._inflate.removeListener('error', onError); - this._inflate.removeListener('data', onData); - this._inflate.writeInProgress = false; - - if ( - (fin && this.params[`${endpoint}_no_context_takeover`]) || - this._inflate.pendingClose - ) { - this._inflate.close(); - this._inflate = null; - } - }; - - this._inflate.on('error', onError).on('data', onData); - this._inflate.write(data); - if (fin) this._inflate.write(TRAILER); - - this._inflate.flush(() => { - cleanup(); - if (err) callback(err); - else callback(null, bufferUtil.concat(buffers, totalLength)); - }); - } - - /** - * Compress data. - * - * @param {Buffer} data Data to compress - * @param {Boolean} fin Specifies whether or not this is the last fragment - * @param {Function} callback Callback - * @public - */ - compress (data, fin, callback) { - if (!data || data.length === 0) { - process.nextTick(callback, null, EMPTY_BLOCK); - return; - } - - const endpoint = this._isServer ? 'server' : 'client'; - - if (!this._deflate) { - const maxWindowBits = this.params[`${endpoint}_max_window_bits`]; - this._deflate = zlib.createDeflateRaw({ - flush: zlib.Z_SYNC_FLUSH, - windowBits: typeof maxWindowBits === 'number' ? maxWindowBits : DEFAULT_WINDOW_BITS, - memLevel: this._options.memLevel || DEFAULT_MEM_LEVEL - }); - } - this._deflate.writeInProgress = true; - - var totalLength = 0; - const buffers = []; - - const onData = (data) => { - totalLength += data.length; - buffers.push(data); - }; - - const onError = (err) => { - cleanup(); - callback(err); - }; - - const cleanup = () => { - if (!this._deflate) return; - - this._deflate.removeListener('error', onError); - this._deflate.removeListener('data', onData); - this._deflate.writeInProgress = false; - - if ( - (fin && this.params[`${endpoint}_no_context_takeover`]) || - this._deflate.pendingClose - ) { - this._deflate.close(); - this._deflate = null; - } - }; - - this._deflate.on('error', onError).on('data', onData); - this._deflate.write(data); - this._deflate.flush(zlib.Z_SYNC_FLUSH, () => { - cleanup(); - var data = bufferUtil.concat(buffers, totalLength); - if (fin) data = data.slice(0, data.length - 4); - callback(null, data); - }); - } -} - -module.exports = PerMessageDeflate; diff --git a/node_modules/ws/lib/Receiver.js b/node_modules/ws/lib/Receiver.js deleted file mode 100644 index 6c1a10e..0000000 --- a/node_modules/ws/lib/Receiver.js +++ /dev/null @@ -1,555 +0,0 @@ -/*! - * ws: a node.js websocket client - * Copyright(c) 2011 Einar Otto Stangvik - * MIT Licensed - */ - -'use strict'; - -const safeBuffer = require('safe-buffer'); - -const PerMessageDeflate = require('./PerMessageDeflate'); -const isValidUTF8 = require('./Validation'); -const bufferUtil = require('./BufferUtil'); -const ErrorCodes = require('./ErrorCodes'); -const constants = require('./Constants'); - -const Buffer = safeBuffer.Buffer; - -const GET_INFO = 0; -const GET_PAYLOAD_LENGTH_16 = 1; -const GET_PAYLOAD_LENGTH_64 = 2; -const GET_MASK = 3; -const GET_DATA = 4; -const INFLATING = 5; - -/** - * HyBi Receiver implementation. - */ -class Receiver { - /** - * Creates a Receiver instance. - * - * @param {Object} extensions An object containing the negotiated extensions - * @param {Number} maxPayload The maximum allowed message length - * @param {String} binaryType The type for binary data - */ - constructor (extensions, maxPayload, binaryType) { - this.binaryType = binaryType || constants.BINARY_TYPES[0]; - this.extensions = extensions || {}; - this.maxPayload = maxPayload | 0; - - this.bufferedBytes = 0; - this.buffers = []; - - this.compressed = false; - this.payloadLength = 0; - this.fragmented = 0; - this.masked = false; - this.fin = false; - this.mask = null; - this.opcode = 0; - - this.totalPayloadLength = 0; - this.messageLength = 0; - this.fragments = []; - - this.cleanupCallback = null; - this.hadError = false; - this.dead = false; - this.loop = false; - - this.onmessage = null; - this.onclose = null; - this.onerror = null; - this.onping = null; - this.onpong = null; - - this.state = GET_INFO; - } - - /** - * Consumes bytes from the available buffered data. - * - * @param {Number} bytes The number of bytes to consume - * @return {Buffer} Consumed bytes - * @private - */ - readBuffer (bytes) { - var offset = 0; - var dst; - var l; - - this.bufferedBytes -= bytes; - - if (bytes === this.buffers[0].length) return this.buffers.shift(); - - if (bytes < this.buffers[0].length) { - dst = this.buffers[0].slice(0, bytes); - this.buffers[0] = this.buffers[0].slice(bytes); - return dst; - } - - dst = Buffer.allocUnsafe(bytes); - - while (bytes > 0) { - l = this.buffers[0].length; - - if (bytes >= l) { - this.buffers[0].copy(dst, offset); - offset += l; - this.buffers.shift(); - } else { - this.buffers[0].copy(dst, offset, 0, bytes); - this.buffers[0] = this.buffers[0].slice(bytes); - } - - bytes -= l; - } - - return dst; - } - - /** - * Checks if the number of buffered bytes is bigger or equal than `n` and - * calls `cleanup` if necessary. - * - * @param {Number} n The number of bytes to check against - * @return {Boolean} `true` if `bufferedBytes >= n`, else `false` - * @private - */ - hasBufferedBytes (n) { - if (this.bufferedBytes >= n) return true; - - this.loop = false; - if (this.dead) this.cleanup(this.cleanupCallback); - return false; - } - - /** - * Adds new data to the parser. - * - * @public - */ - add (data) { - if (this.dead) return; - - this.bufferedBytes += data.length; - this.buffers.push(data); - this.startLoop(); - } - - /** - * Starts the parsing loop. - * - * @private - */ - startLoop () { - this.loop = true; - - while (this.loop) { - switch (this.state) { - case GET_INFO: - this.getInfo(); - break; - case GET_PAYLOAD_LENGTH_16: - this.getPayloadLength16(); - break; - case GET_PAYLOAD_LENGTH_64: - this.getPayloadLength64(); - break; - case GET_MASK: - this.getMask(); - break; - case GET_DATA: - this.getData(); - break; - default: // `INFLATING` - this.loop = false; - } - } - } - - /** - * Reads the first two bytes of a frame. - * - * @private - */ - getInfo () { - if (!this.hasBufferedBytes(2)) return; - - const buf = this.readBuffer(2); - - if ((buf[0] & 0x30) !== 0x00) { - this.error(new Error('RSV2 and RSV3 must be clear'), 1002); - return; - } - - const compressed = (buf[0] & 0x40) === 0x40; - - if (compressed && !this.extensions[PerMessageDeflate.extensionName]) { - this.error(new Error('RSV1 must be clear'), 1002); - return; - } - - this.fin = (buf[0] & 0x80) === 0x80; - this.opcode = buf[0] & 0x0f; - this.payloadLength = buf[1] & 0x7f; - - if (this.opcode === 0x00) { - if (compressed) { - this.error(new Error('RSV1 must be clear'), 1002); - return; - } - - if (!this.fragmented) { - this.error(new Error(`invalid opcode: ${this.opcode}`), 1002); - return; - } else { - this.opcode = this.fragmented; - } - } else if (this.opcode === 0x01 || this.opcode === 0x02) { - if (this.fragmented) { - this.error(new Error(`invalid opcode: ${this.opcode}`), 1002); - return; - } - - this.compressed = compressed; - } else if (this.opcode > 0x07 && this.opcode < 0x0b) { - if (!this.fin) { - this.error(new Error('FIN must be set'), 1002); - return; - } - - if (compressed) { - this.error(new Error('RSV1 must be clear'), 1002); - return; - } - - if (this.payloadLength > 0x7d) { - this.error(new Error('invalid payload length'), 1002); - return; - } - } else { - this.error(new Error(`invalid opcode: ${this.opcode}`), 1002); - return; - } - - if (!this.fin && !this.fragmented) this.fragmented = this.opcode; - - this.masked = (buf[1] & 0x80) === 0x80; - - if (this.payloadLength === 126) this.state = GET_PAYLOAD_LENGTH_16; - else if (this.payloadLength === 127) this.state = GET_PAYLOAD_LENGTH_64; - else this.haveLength(); - } - - /** - * Gets extended payload length (7+16). - * - * @private - */ - getPayloadLength16 () { - if (!this.hasBufferedBytes(2)) return; - - this.payloadLength = this.readBuffer(2).readUInt16BE(0, true); - this.haveLength(); - } - - /** - * Gets extended payload length (7+64). - * - * @private - */ - getPayloadLength64 () { - if (!this.hasBufferedBytes(8)) return; - - const buf = this.readBuffer(8); - const num = buf.readUInt32BE(0, true); - - // - // The maximum safe integer in JavaScript is 2^53 - 1. An error is returned - // if payload length is greater than this number. - // - if (num > Math.pow(2, 53 - 32) - 1) { - this.error(new Error('max payload size exceeded'), 1009); - return; - } - - this.payloadLength = (num * Math.pow(2, 32)) + buf.readUInt32BE(4, true); - this.haveLength(); - } - - /** - * Payload length has been read. - * - * @private - */ - haveLength () { - if (this.opcode < 0x08 && this.maxPayloadExceeded(this.payloadLength)) { - return; - } - - if (this.masked) this.state = GET_MASK; - else this.state = GET_DATA; - } - - /** - * Reads mask bytes. - * - * @private - */ - getMask () { - if (!this.hasBufferedBytes(4)) return; - - this.mask = this.readBuffer(4); - this.state = GET_DATA; - } - - /** - * Reads data bytes. - * - * @private - */ - getData () { - var data = constants.EMPTY_BUFFER; - - if (this.payloadLength) { - if (!this.hasBufferedBytes(this.payloadLength)) return; - - data = this.readBuffer(this.payloadLength); - if (this.masked) bufferUtil.unmask(data, this.mask); - } - - if (this.opcode > 0x07) { - this.controlMessage(data); - } else if (this.compressed) { - this.state = INFLATING; - this.decompress(data); - } else if (this.pushFragment(data)) { - this.dataMessage(); - } - } - - /** - * Decompresses data. - * - * @param {Buffer} data Compressed data - * @private - */ - decompress (data) { - const extension = this.extensions[PerMessageDeflate.extensionName]; - - extension.decompress(data, this.fin, (err, buf) => { - if (err) { - this.error(err, err.closeCode === 1009 ? 1009 : 1007); - return; - } - - if (this.pushFragment(buf)) this.dataMessage(); - this.startLoop(); - }); - } - - /** - * Handles a data message. - * - * @private - */ - dataMessage () { - if (this.fin) { - const messageLength = this.messageLength; - const fragments = this.fragments; - - this.totalPayloadLength = 0; - this.messageLength = 0; - this.fragmented = 0; - this.fragments = []; - - if (this.opcode === 2) { - var data; - - if (this.binaryType === 'nodebuffer') { - data = toBuffer(fragments, messageLength); - } else if (this.binaryType === 'arraybuffer') { - data = toArrayBuffer(toBuffer(fragments, messageLength)); - } else { - data = fragments; - } - - this.onmessage(data, { masked: this.masked, binary: true }); - } else { - const buf = toBuffer(fragments, messageLength); - - if (!isValidUTF8(buf)) { - this.error(new Error('invalid utf8 sequence'), 1007); - return; - } - - this.onmessage(buf.toString(), { masked: this.masked }); - } - } - - this.state = GET_INFO; - } - - /** - * Handles a control message. - * - * @param {Buffer} data Data to handle - * @private - */ - controlMessage (data) { - if (this.opcode === 0x08) { - if (data.length === 0) { - this.onclose(1000, '', { masked: this.masked }); - this.loop = false; - this.cleanup(this.cleanupCallback); - } else if (data.length === 1) { - this.error(new Error('invalid payload length'), 1002); - } else { - const code = data.readUInt16BE(0, true); - - if (!ErrorCodes.isValidErrorCode(code)) { - this.error(new Error(`invalid status code: ${code}`), 1002); - return; - } - - const buf = data.slice(2); - - if (!isValidUTF8(buf)) { - this.error(new Error('invalid utf8 sequence'), 1007); - return; - } - - this.onclose(code, buf.toString(), { masked: this.masked }); - this.loop = false; - this.cleanup(this.cleanupCallback); - } - - return; - } - - const flags = { masked: this.masked, binary: true }; - - if (this.opcode === 0x09) this.onping(data, flags); - else this.onpong(data, flags); - - this.state = GET_INFO; - } - - /** - * Handles an error. - * - * @param {Error} err The error - * @param {Number} code Close code - * @private - */ - error (err, code) { - this.onerror(err, code); - this.hadError = true; - this.loop = false; - this.cleanup(this.cleanupCallback); - } - - /** - * Checks payload size, disconnects socket when it exceeds `maxPayload`. - * - * @param {Number} length Payload length - * @private - */ - maxPayloadExceeded (length) { - if (length === 0 || this.maxPayload < 1) return false; - - const fullLength = this.totalPayloadLength + length; - - if (fullLength <= this.maxPayload) { - this.totalPayloadLength = fullLength; - return false; - } - - this.error(new Error('max payload size exceeded'), 1009); - return true; - } - - /** - * Appends a fragment in the fragments array after checking that the sum of - * fragment lengths does not exceed `maxPayload`. - * - * @param {Buffer} fragment The fragment to add - * @return {Boolean} `true` if `maxPayload` is not exceeded, else `false` - * @private - */ - pushFragment (fragment) { - if (fragment.length === 0) return true; - - const totalLength = this.messageLength + fragment.length; - - if (this.maxPayload < 1 || totalLength <= this.maxPayload) { - this.messageLength = totalLength; - this.fragments.push(fragment); - return true; - } - - this.error(new Error('max payload size exceeded'), 1009); - return false; - } - - /** - * Releases resources used by the receiver. - * - * @param {Function} cb Callback - * @public - */ - cleanup (cb) { - this.dead = true; - - if (!this.hadError && (this.loop || this.state === INFLATING)) { - this.cleanupCallback = cb; - } else { - this.extensions = null; - this.fragments = null; - this.buffers = null; - this.mask = null; - - this.cleanupCallback = null; - this.onmessage = null; - this.onclose = null; - this.onerror = null; - this.onping = null; - this.onpong = null; - - if (cb) cb(); - } - } -} - -module.exports = Receiver; - -/** - * Makes a buffer from a list of fragments. - * - * @param {Buffer[]} fragments The list of fragments composing the message - * @param {Number} messageLength The length of the message - * @return {Buffer} - * @private - */ -function toBuffer (fragments, messageLength) { - if (fragments.length === 1) return fragments[0]; - if (fragments.length > 1) return bufferUtil.concat(fragments, messageLength); - return constants.EMPTY_BUFFER; -} - -/** - * Converts a buffer to an `ArrayBuffer`. - * - * @param {Buffer} The buffer to convert - * @return {ArrayBuffer} Converted buffer - */ -function toArrayBuffer (buf) { - if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) { - return buf.buffer; - } - - return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); -} diff --git a/node_modules/ws/lib/Sender.js b/node_modules/ws/lib/Sender.js deleted file mode 100644 index b33bfd4..0000000 --- a/node_modules/ws/lib/Sender.js +++ /dev/null @@ -1,404 +0,0 @@ -/*! - * ws: a node.js websocket client - * Copyright(c) 2011 Einar Otto Stangvik - * MIT Licensed - */ - -'use strict'; - -const safeBuffer = require('safe-buffer'); -const crypto = require('crypto'); - -const PerMessageDeflate = require('./PerMessageDeflate'); -const bufferUtil = require('./BufferUtil'); -const ErrorCodes = require('./ErrorCodes'); - -const Buffer = safeBuffer.Buffer; - -/** - * HyBi Sender implementation. - */ -class Sender { - /** - * Creates a Sender instance. - * - * @param {net.Socket} socket The connection socket - * @param {Object} extensions An object containing the negotiated extensions - */ - constructor (socket, extensions) { - this.perMessageDeflate = (extensions || {})[PerMessageDeflate.extensionName]; - this._socket = socket; - - this.firstFragment = true; - this.compress = false; - - this.bufferedBytes = 0; - this.deflating = false; - this.queue = []; - - this.onerror = null; - } - - /** - * Frames a piece of data according to the HyBi WebSocket protocol. - * - * @param {Buffer} data The data to frame - * @param {Object} options Options object - * @param {Number} options.opcode The opcode - * @param {Boolean} options.readOnly Specifies whether `data` can be modified - * @param {Boolean} options.fin Specifies whether or not to set the FIN bit - * @param {Boolean} options.mask Specifies whether or not to mask `data` - * @param {Boolean} options.rsv1 Specifies whether or not to set the RSV1 bit - * @return {Buffer[]} The framed data as a list of `Buffer` instances - * @public - */ - static frame (data, options) { - const merge = data.length < 1024 || (options.mask && options.readOnly); - var offset = options.mask ? 6 : 2; - var payloadLength = data.length; - - if (data.length >= 65536) { - offset += 8; - payloadLength = 127; - } else if (data.length > 125) { - offset += 2; - payloadLength = 126; - } - - const target = Buffer.allocUnsafe(merge ? data.length + offset : offset); - - target[0] = options.fin ? options.opcode | 0x80 : options.opcode; - if (options.rsv1) target[0] |= 0x40; - - if (payloadLength === 126) { - target.writeUInt16BE(data.length, 2, true); - } else if (payloadLength === 127) { - target.writeUInt32BE(0, 2, true); - target.writeUInt32BE(data.length, 6, true); - } - - if (!options.mask) { - target[1] = payloadLength; - if (merge) { - data.copy(target, offset); - return [target]; - } - - return [target, data]; - } - - const mask = crypto.randomBytes(4); - - target[1] = payloadLength | 0x80; - target[offset - 4] = mask[0]; - target[offset - 3] = mask[1]; - target[offset - 2] = mask[2]; - target[offset - 1] = mask[3]; - - if (merge) { - bufferUtil.mask(data, mask, target, offset, data.length); - return [target]; - } - - bufferUtil.mask(data, mask, data, 0, data.length); - return [target, data]; - } - - /** - * Sends a close message to the other peer. - * - * @param {(Number|undefined)} code The status code component of the body - * @param {String} data The message component of the body - * @param {Boolean} mask Specifies whether or not to mask the message - * @param {Function} cb Callback - * @public - */ - close (code, data, mask, cb) { - if (code !== undefined && (typeof code !== 'number' || !ErrorCodes.isValidErrorCode(code))) { - throw new Error('first argument must be a valid error code number'); - } - - const buf = Buffer.allocUnsafe(2 + (data ? Buffer.byteLength(data) : 0)); - - buf.writeUInt16BE(code || 1000, 0, true); - if (buf.length > 2) buf.write(data, 2); - - if (this.deflating) { - this.enqueue([this.doClose, buf, mask, cb]); - } else { - this.doClose(buf, mask, cb); - } - } - - /** - * Frames and sends a close message. - * - * @param {Buffer} data The message to send - * @param {Boolean} mask Specifies whether or not to mask `data` - * @param {Function} cb Callback - * @private - */ - doClose (data, mask, cb) { - this.sendFrame(Sender.frame(data, { - readOnly: false, - opcode: 0x08, - rsv1: false, - fin: true, - mask - }), cb); - } - - /** - * Sends a ping message to the other peer. - * - * @param {*} data The message to send - * @param {Boolean} mask Specifies whether or not to mask `data` - * @public - */ - ping (data, mask) { - var readOnly = true; - - if (!Buffer.isBuffer(data)) { - if (data instanceof ArrayBuffer) { - data = Buffer.from(data); - } else if (ArrayBuffer.isView(data)) { - data = viewToBuffer(data); - } else { - data = Buffer.from(data); - readOnly = false; - } - } - - if (this.deflating) { - this.enqueue([this.doPing, data, mask, readOnly]); - } else { - this.doPing(data, mask, readOnly); - } - } - - /** - * Frames and sends a ping message. - * - * @param {*} data The message to send - * @param {Boolean} mask Specifies whether or not to mask `data` - * @param {Boolean} readOnly Specifies whether `data` can be modified - * @private - */ - doPing (data, mask, readOnly) { - this.sendFrame(Sender.frame(data, { - opcode: 0x09, - rsv1: false, - fin: true, - readOnly, - mask - })); - } - - /** - * Sends a pong message to the other peer. - * - * @param {*} data The message to send - * @param {Boolean} mask Specifies whether or not to mask `data` - * @public - */ - pong (data, mask) { - var readOnly = true; - - if (!Buffer.isBuffer(data)) { - if (data instanceof ArrayBuffer) { - data = Buffer.from(data); - } else if (ArrayBuffer.isView(data)) { - data = viewToBuffer(data); - } else { - data = Buffer.from(data); - readOnly = false; - } - } - - if (this.deflating) { - this.enqueue([this.doPong, data, mask, readOnly]); - } else { - this.doPong(data, mask, readOnly); - } - } - - /** - * Frames and sends a pong message. - * - * @param {*} data The message to send - * @param {Boolean} mask Specifies whether or not to mask `data` - * @param {Boolean} readOnly Specifies whether `data` can be modified - * @private - */ - doPong (data, mask, readOnly) { - this.sendFrame(Sender.frame(data, { - opcode: 0x0a, - rsv1: false, - fin: true, - readOnly, - mask - })); - } - - /** - * Sends a data message to the other peer. - * - * @param {*} data The message to send - * @param {Object} options Options object - * @param {Boolean} options.compress Specifies whether or not to compress `data` - * @param {Boolean} options.binary Specifies whether `data` is binary or text - * @param {Boolean} options.fin Specifies whether the fragment is the last one - * @param {Boolean} options.mask Specifies whether or not to mask `data` - * @param {Function} cb Callback - * @public - */ - send (data, options, cb) { - var opcode = options.binary ? 2 : 1; - var rsv1 = options.compress; - var readOnly = true; - - if (!Buffer.isBuffer(data)) { - if (data instanceof ArrayBuffer) { - data = Buffer.from(data); - } else if (ArrayBuffer.isView(data)) { - data = viewToBuffer(data); - } else { - data = Buffer.from(data); - readOnly = false; - } - } - - if (this.firstFragment) { - this.firstFragment = false; - if (rsv1 && this.perMessageDeflate) { - rsv1 = data.length >= this.perMessageDeflate.threshold; - } - this.compress = rsv1; - } else { - rsv1 = false; - opcode = 0; - } - - if (options.fin) this.firstFragment = true; - - if (this.perMessageDeflate) { - const opts = { - compress: this.compress, - mask: options.mask, - fin: options.fin, - readOnly, - opcode, - rsv1 - }; - - if (this.deflating) { - this.enqueue([this.dispatch, data, opts, cb]); - } else { - this.dispatch(data, opts, cb); - } - } else { - this.sendFrame(Sender.frame(data, { - mask: options.mask, - fin: options.fin, - rsv1: false, - readOnly, - opcode - }), cb); - } - } - - /** - * Dispatches a data message. - * - * @param {Buffer} data The message to send - * @param {Object} options Options object - * @param {Number} options.opcode The opcode - * @param {Boolean} options.readOnly Specifies whether `data` can be modified - * @param {Boolean} options.fin Specifies whether or not to set the FIN bit - * @param {Boolean} options.compress Specifies whether or not to compress `data` - * @param {Boolean} options.mask Specifies whether or not to mask `data` - * @param {Boolean} options.rsv1 Specifies whether or not to set the RSV1 bit - * @param {Function} cb Callback - * @private - */ - dispatch (data, options, cb) { - if (!options.compress) { - this.sendFrame(Sender.frame(data, options), cb); - return; - } - - this.deflating = true; - this.perMessageDeflate.compress(data, options.fin, (err, buf) => { - if (err) { - if (cb) cb(err); - else this.onerror(err); - return; - } - - options.readOnly = false; - this.sendFrame(Sender.frame(buf, options), cb); - this.deflating = false; - this.dequeue(); - }); - } - - /** - * Executes queued send operations. - * - * @private - */ - dequeue () { - while (!this.deflating && this.queue.length) { - const params = this.queue.shift(); - - this.bufferedBytes -= params[1].length; - params[0].apply(this, params.slice(1)); - } - } - - /** - * Enqueues a send operation. - * - * @param {Array} params Send operation parameters. - * @private - */ - enqueue (params) { - this.bufferedBytes += params[1].length; - this.queue.push(params); - } - - /** - * Sends a frame. - * - * @param {Buffer[]} list The frame to send - * @param {Function} cb Callback - * @private - */ - sendFrame (list, cb) { - if (list.length === 2) { - this._socket.write(list[0]); - this._socket.write(list[1], cb); - } else { - this._socket.write(list[0], cb); - } - } -} - -module.exports = Sender; - -/** - * Converts an `ArrayBuffer` view into a buffer. - * - * @param {(DataView|TypedArray)} view The view to convert - * @return {Buffer} Converted view - * @private - */ -function viewToBuffer (view) { - const buf = Buffer.from(view.buffer); - - if (view.byteLength !== view.buffer.byteLength) { - return buf.slice(view.byteOffset, view.byteOffset + view.byteLength); - } - - return buf; -} diff --git a/node_modules/ws/lib/Validation.js b/node_modules/ws/lib/Validation.js deleted file mode 100644 index fcb170f..0000000 --- a/node_modules/ws/lib/Validation.js +++ /dev/null @@ -1,17 +0,0 @@ -/*! - * ws: a node.js websocket client - * Copyright(c) 2011 Einar Otto Stangvik - * MIT Licensed - */ - -'use strict'; - -try { - const isValidUTF8 = require('utf-8-validate'); - - module.exports = typeof isValidUTF8 === 'object' - ? isValidUTF8.Validation.isValidUTF8 // utf-8-validate@<3.0.0 - : isValidUTF8; -} catch (e) /* istanbul ignore next */ { - module.exports = () => true; -} diff --git a/node_modules/ws/lib/WebSocket.js b/node_modules/ws/lib/WebSocket.js deleted file mode 100644 index 21a9f10..0000000 --- a/node_modules/ws/lib/WebSocket.js +++ /dev/null @@ -1,704 +0,0 @@ -/*! - * ws: a node.js websocket client - * Copyright(c) 2011 Einar Otto Stangvik - * MIT Licensed - */ - -'use strict'; - -const EventEmitter = require('events'); -const crypto = require('crypto'); -const Ultron = require('ultron'); -const https = require('https'); -const http = require('http'); -const url = require('url'); - -const PerMessageDeflate = require('./PerMessageDeflate'); -const EventTarget = require('./EventTarget'); -const Extensions = require('./Extensions'); -const constants = require('./Constants'); -const Receiver = require('./Receiver'); -const Sender = require('./Sender'); - -const protocolVersions = [8, 13]; -const closeTimeout = 30 * 1000; // Allow 30 seconds to terminate the connection cleanly. - -/** - * Class representing a WebSocket. - * - * @extends EventEmitter - */ -class WebSocket extends EventEmitter { - /** - * Create a new `WebSocket`. - * - * @param {String} address The URL to which to connect - * @param {(String|String[])} protocols The subprotocols - * @param {Object} options Connection options - */ - constructor (address, protocols, options) { - super(); - - if (!protocols) { - protocols = []; - } else if (typeof protocols === 'string') { - protocols = [protocols]; - } else if (!Array.isArray(protocols)) { - options = protocols; - protocols = []; - } - - this.readyState = WebSocket.CONNECTING; - this.bytesReceived = 0; - this.extensions = {}; - this.protocol = ''; - - this._binaryType = constants.BINARY_TYPES[0]; - this._finalize = this.finalize.bind(this); - this._finalizeCalled = false; - this._closeMessage = null; - this._closeTimer = null; - this._closeCode = null; - this._receiver = null; - this._sender = null; - this._socket = null; - this._ultron = null; - - if (Array.isArray(address)) { - initAsServerClient.call(this, address[0], address[1], address[2], options); - } else { - initAsClient.call(this, address, protocols, options); - } - } - - get CONNECTING () { return WebSocket.CONNECTING; } - get CLOSING () { return WebSocket.CLOSING; } - get CLOSED () { return WebSocket.CLOSED; } - get OPEN () { return WebSocket.OPEN; } - - /** - * @type {Number} - */ - get bufferedAmount () { - var amount = 0; - - if (this._socket) { - amount = this._socket.bufferSize + this._sender.bufferedBytes; - } - return amount; - } - - /** - * This deviates from the WHATWG interface since ws doesn't support the required - * default "blob" type (instead we define a custom "nodebuffer" type). - * - * @type {String} - */ - get binaryType () { - return this._binaryType; - } - - set binaryType (type) { - if (constants.BINARY_TYPES.indexOf(type) < 0) return; - - this._binaryType = type; - - // - // Allow to change `binaryType` on the fly. - // - if (this._receiver) this._receiver.binaryType = type; - } - - /** - * Set up the socket and the internal resources. - * - * @param {net.Socket} socket The network socket between the server and client - * @param {Buffer} head The first packet of the upgraded stream - * @private - */ - setSocket (socket, head) { - socket.setTimeout(0); - socket.setNoDelay(); - - this._receiver = new Receiver(this.extensions, this.maxPayload, this.binaryType); - this._sender = new Sender(socket, this.extensions); - this._ultron = new Ultron(socket); - this._socket = socket; - - // socket cleanup handlers - this._ultron.on('close', this._finalize); - this._ultron.on('error', this._finalize); - this._ultron.on('end', this._finalize); - - // ensure that the head is added to the receiver - if (head && head.length > 0) { - socket.unshift(head); - head = null; - } - - // subsequent packets are pushed to the receiver - this._ultron.on('data', (data) => { - this.bytesReceived += data.length; - this._receiver.add(data); - }); - - // receiver event handlers - this._receiver.onmessage = (data, flags) => this.emit('message', data, flags); - this._receiver.onping = (data, flags) => { - this.pong(data, !this._isServer, true); - this.emit('ping', data, flags); - }; - this._receiver.onpong = (data, flags) => this.emit('pong', data, flags); - this._receiver.onclose = (code, reason) => { - this._closeMessage = reason; - this._closeCode = code; - this.close(code, reason); - }; - this._receiver.onerror = (error, code) => { - // close the connection when the receiver reports a HyBi error code - this.close(code, ''); - this.emit('error', error); - }; - - // sender event handlers - this._sender.onerror = (error) => { - this.close(1002, ''); - this.emit('error', error); - }; - - this.readyState = WebSocket.OPEN; - this.emit('open'); - } - - /** - * Clean up and release internal resources. - * - * @param {(Boolean|Error)} Indicates whether or not an error occurred - * @private - */ - finalize (error) { - if (this._finalizeCalled) return; - - this.readyState = WebSocket.CLOSING; - this._finalizeCalled = true; - - clearTimeout(this._closeTimer); - this._closeTimer = null; - - // - // If the connection was closed abnormally (with an error), or if the close - // control frame was malformed or not received then the close code must be - // 1006. - // - if (error) this._closeCode = 1006; - - if (this._socket) { - this._ultron.destroy(); - this._socket.on('error', function onerror () { - this.destroy(); - }); - - if (!error) this._socket.end(); - else this._socket.destroy(); - - this._socket = null; - this._ultron = null; - } - - if (this._sender) { - this._sender = this._sender.onerror = null; - } - - if (this._receiver) { - this._receiver.cleanup(() => this.emitClose()); - this._receiver = null; - } else { - this.emitClose(); - } - } - - /** - * Emit the `close` event. - * - * @private - */ - emitClose () { - this.readyState = WebSocket.CLOSED; - this.emit('close', this._closeCode || 1006, this._closeMessage || ''); - - if (this.extensions[PerMessageDeflate.extensionName]) { - this.extensions[PerMessageDeflate.extensionName].cleanup(); - } - - this.extensions = null; - - this.removeAllListeners(); - this.on('error', constants.NOOP); // Catch all errors after this. - } - - /** - * Pause the socket stream. - * - * @public - */ - pause () { - if (this.readyState !== WebSocket.OPEN) throw new Error('not opened'); - - this._socket.pause(); - } - - /** - * Resume the socket stream - * - * @public - */ - resume () { - if (this.readyState !== WebSocket.OPEN) throw new Error('not opened'); - - this._socket.resume(); - } - - /** - * Start a closing handshake. - * - * @param {Number} code Status code explaining why the connection is closing - * @param {String} data A string explaining why the connection is closing - * @public - */ - close (code, data) { - if (this.readyState === WebSocket.CLOSED) return; - if (this.readyState === WebSocket.CONNECTING) { - if (this._req && !this._req.aborted) { - this._req.abort(); - this.emit('error', new Error('closed before the connection is established')); - this.finalize(true); - } - return; - } - - if (this.readyState === WebSocket.CLOSING) { - if (this._closeCode && this._socket) this._socket.end(); - return; - } - - this.readyState = WebSocket.CLOSING; - this._sender.close(code, data, !this._isServer, (err) => { - if (err) this.emit('error', err); - - if (this._socket) { - if (this._closeCode) this._socket.end(); - // - // Ensure that the connection is cleaned up even when the closing - // handshake fails. - // - clearTimeout(this._closeTimer); - this._closeTimer = setTimeout(this._finalize, closeTimeout, true); - } - }); - } - - /** - * Send a ping message. - * - * @param {*} data The message to send - * @param {Boolean} mask Indicates whether or not to mask `data` - * @param {Boolean} failSilently Indicates whether or not to throw if `readyState` isn't `OPEN` - * @public - */ - ping (data, mask, failSilently) { - if (this.readyState !== WebSocket.OPEN) { - if (failSilently) return; - throw new Error('not opened'); - } - - if (typeof data === 'number') data = data.toString(); - if (mask === undefined) mask = !this._isServer; - this._sender.ping(data || constants.EMPTY_BUFFER, mask); - } - - /** - * Send a pong message. - * - * @param {*} data The message to send - * @param {Boolean} mask Indicates whether or not to mask `data` - * @param {Boolean} failSilently Indicates whether or not to throw if `readyState` isn't `OPEN` - * @public - */ - pong (data, mask, failSilently) { - if (this.readyState !== WebSocket.OPEN) { - if (failSilently) return; - throw new Error('not opened'); - } - - if (typeof data === 'number') data = data.toString(); - if (mask === undefined) mask = !this._isServer; - this._sender.pong(data || constants.EMPTY_BUFFER, mask); - } - - /** - * Send a data message. - * - * @param {*} data The message to send - * @param {Object} options Options object - * @param {Boolean} options.compress Specifies whether or not to compress `data` - * @param {Boolean} options.binary Specifies whether `data` is binary or text - * @param {Boolean} options.fin Specifies whether the fragment is the last one - * @param {Boolean} options.mask Specifies whether or not to mask `data` - * @param {Function} cb Callback which is executed when data is written out - * @public - */ - send (data, options, cb) { - if (typeof options === 'function') { - cb = options; - options = {}; - } - - if (this.readyState !== WebSocket.OPEN) { - if (cb) cb(new Error('not opened')); - else throw new Error('not opened'); - return; - } - - if (typeof data === 'number') data = data.toString(); - - const opts = Object.assign({ - binary: typeof data !== 'string', - mask: !this._isServer, - compress: true, - fin: true - }, options); - - if (!this.extensions[PerMessageDeflate.extensionName]) { - opts.compress = false; - } - - this._sender.send(data || constants.EMPTY_BUFFER, opts, cb); - } - - /** - * Forcibly close the connection. - * - * @public - */ - terminate () { - if (this.readyState === WebSocket.CLOSED) return; - if (this.readyState === WebSocket.CONNECTING) { - if (this._req && !this._req.aborted) { - this._req.abort(); - this.emit('error', new Error('closed before the connection is established')); - this.finalize(true); - } - return; - } - - this.finalize(true); - } -} - -WebSocket.CONNECTING = 0; -WebSocket.OPEN = 1; -WebSocket.CLOSING = 2; -WebSocket.CLOSED = 3; - -// -// Add the `onopen`, `onerror`, `onclose`, and `onmessage` attributes. -// See https://html.spec.whatwg.org/multipage/comms.html#the-websocket-interface -// -['open', 'error', 'close', 'message'].forEach((method) => { - Object.defineProperty(WebSocket.prototype, `on${method}`, { - /** - * Return the listener of the event. - * - * @return {(Function|undefined)} The event listener or `undefined` - * @public - */ - get () { - const listeners = this.listeners(method); - for (var i = 0; i < listeners.length; i++) { - if (listeners[i]._listener) return listeners[i]._listener; - } - }, - /** - * Add a listener for the event. - * - * @param {Function} listener The listener to add - * @public - */ - set (listener) { - const listeners = this.listeners(method); - for (var i = 0; i < listeners.length; i++) { - // - // Remove only the listeners added via `addEventListener`. - // - if (listeners[i]._listener) this.removeListener(method, listeners[i]); - } - this.addEventListener(method, listener); - } - }); -}); - -WebSocket.prototype.addEventListener = EventTarget.addEventListener; -WebSocket.prototype.removeEventListener = EventTarget.removeEventListener; - -module.exports = WebSocket; - -/** - * Initialize a WebSocket server client. - * - * @param {http.IncomingMessage} req The request object - * @param {net.Socket} socket The network socket between the server and client - * @param {Buffer} head The first packet of the upgraded stream - * @param {Object} options WebSocket attributes - * @param {Number} options.protocolVersion The WebSocket protocol version - * @param {Object} options.extensions The negotiated extensions - * @param {Number} options.maxPayload The maximum allowed message size - * @param {String} options.protocol The chosen subprotocol - * @private - */ -function initAsServerClient (req, socket, head, options) { - this.protocolVersion = options.protocolVersion; - this.extensions = options.extensions; - this.maxPayload = options.maxPayload; - this.protocol = options.protocol; - - this.upgradeReq = req; - this._isServer = true; - - this.setSocket(socket, head); -} - -/** - * Initialize a WebSocket client. - * - * @param {String} address The URL to which to connect - * @param {String[]} protocols The list of subprotocols - * @param {Object} options Connection options - * @param {String} options.protocol Value of the `Sec-WebSocket-Protocol` header - * @param {(Boolean|Object)} options.perMessageDeflate Enable/disable permessage-deflate - * @param {String} options.localAddress Local interface to bind for network connections - * @param {Number} options.protocolVersion Value of the `Sec-WebSocket-Version` header - * @param {Object} options.headers An object containing request headers - * @param {String} options.origin Value of the `Origin` or `Sec-WebSocket-Origin` header - * @param {http.Agent} options.agent Use the specified Agent - * @param {String} options.host Value of the `Host` header - * @param {Number} options.family IP address family to use during hostname lookup (4 or 6). - * @param {Function} options.checkServerIdentity A function to validate the server hostname - * @param {Boolean} options.rejectUnauthorized Verify or not the server certificate - * @param {String} options.passphrase The passphrase for the private key or pfx - * @param {String} options.ciphers The ciphers to use or exclude - * @param {(String|String[]|Buffer|Buffer[])} options.cert The certificate key - * @param {(String|String[]|Buffer|Buffer[])} options.key The private key - * @param {(String|Buffer)} options.pfx The private key, certificate, and CA certs - * @param {(String|String[]|Buffer|Buffer[])} options.ca Trusted certificates - * @private - */ -function initAsClient (address, protocols, options) { - options = Object.assign({ - protocolVersion: protocolVersions[1], - protocol: protocols.join(','), - perMessageDeflate: true, - localAddress: null, - headers: null, - family: null, - origin: null, - agent: null, - host: null, - - // - // SSL options. - // - checkServerIdentity: null, - rejectUnauthorized: null, - passphrase: null, - ciphers: null, - cert: null, - key: null, - pfx: null, - ca: null - }, options); - - if (protocolVersions.indexOf(options.protocolVersion) === -1) { - throw new Error( - `unsupported protocol version: ${options.protocolVersion} ` + - `(supported versions: ${protocolVersions.join(', ')})` - ); - } - - this.protocolVersion = options.protocolVersion; - this._isServer = false; - this.url = address; - - const serverUrl = url.parse(address); - const isUnixSocket = serverUrl.protocol === 'ws+unix:'; - - if (!serverUrl.host && (!isUnixSocket || !serverUrl.path)) { - throw new Error('invalid url'); - } - - const isSecure = serverUrl.protocol === 'wss:' || serverUrl.protocol === 'https:'; - const key = crypto.randomBytes(16).toString('base64'); - const httpObj = isSecure ? https : http; - - // - // Prepare extensions. - // - const extensionsOffer = {}; - var perMessageDeflate; - - if (options.perMessageDeflate) { - perMessageDeflate = new PerMessageDeflate( - options.perMessageDeflate !== true ? options.perMessageDeflate : {}, - false - ); - extensionsOffer[PerMessageDeflate.extensionName] = perMessageDeflate.offer(); - } - - const requestOptions = { - port: serverUrl.port || (isSecure ? 443 : 80), - host: serverUrl.hostname, - path: '/', - headers: { - 'Sec-WebSocket-Version': options.protocolVersion, - 'Sec-WebSocket-Key': key, - 'Connection': 'Upgrade', - 'Upgrade': 'websocket' - } - }; - - if (options.headers) Object.assign(requestOptions.headers, options.headers); - if (Object.keys(extensionsOffer).length) { - requestOptions.headers['Sec-WebSocket-Extensions'] = Extensions.format(extensionsOffer); - } - if (options.protocol) { - requestOptions.headers['Sec-WebSocket-Protocol'] = options.protocol; - } - if (options.origin) { - if (options.protocolVersion < 13) { - requestOptions.headers['Sec-WebSocket-Origin'] = options.origin; - } else { - requestOptions.headers.Origin = options.origin; - } - } - if (options.host) requestOptions.headers.Host = options.host; - if (serverUrl.auth) requestOptions.auth = serverUrl.auth; - - if (options.localAddress) requestOptions.localAddress = options.localAddress; - if (options.family) requestOptions.family = options.family; - - if (isUnixSocket) { - const parts = serverUrl.path.split(':'); - - requestOptions.socketPath = parts[0]; - requestOptions.path = parts[1]; - } else if (serverUrl.path) { - // - // Make sure that path starts with `/`. - // - if (serverUrl.path.charAt(0) !== '/') { - requestOptions.path = `/${serverUrl.path}`; - } else { - requestOptions.path = serverUrl.path; - } - } - - var agent = options.agent; - - // - // A custom agent is required for these options. - // - if ( - options.rejectUnauthorized != null || - options.checkServerIdentity || - options.passphrase || - options.ciphers || - options.cert || - options.key || - options.pfx || - options.ca - ) { - if (options.passphrase) requestOptions.passphrase = options.passphrase; - if (options.ciphers) requestOptions.ciphers = options.ciphers; - if (options.cert) requestOptions.cert = options.cert; - if (options.key) requestOptions.key = options.key; - if (options.pfx) requestOptions.pfx = options.pfx; - if (options.ca) requestOptions.ca = options.ca; - if (options.checkServerIdentity) { - requestOptions.checkServerIdentity = options.checkServerIdentity; - } - if (options.rejectUnauthorized != null) { - requestOptions.rejectUnauthorized = options.rejectUnauthorized; - } - - if (!agent) agent = new httpObj.Agent(requestOptions); - } - - if (agent) requestOptions.agent = agent; - - this._req = httpObj.get(requestOptions); - - this._req.on('error', (error) => { - if (this._req.aborted) return; - - this._req = null; - this.emit('error', error); - this.finalize(true); - }); - - this._req.on('response', (res) => { - if (!this.emit('unexpected-response', this._req, res)) { - this._req.abort(); - this.emit('error', new Error(`unexpected server response (${res.statusCode})`)); - this.finalize(true); - } - }); - - this._req.on('upgrade', (res, socket, head) => { - this._req = null; - - const digest = crypto.createHash('sha1') - .update(key + constants.GUID, 'binary') - .digest('base64'); - - if (res.headers['sec-websocket-accept'] !== digest) { - socket.destroy(); - this.emit('error', new Error('invalid server key')); - return this.finalize(true); - } - - const serverProt = res.headers['sec-websocket-protocol']; - const protList = (options.protocol || '').split(/, */); - var protError; - - if (!options.protocol && serverProt) { - protError = 'server sent a subprotocol even though none requested'; - } else if (options.protocol && !serverProt) { - protError = 'server sent no subprotocol even though requested'; - } else if (serverProt && protList.indexOf(serverProt) === -1) { - protError = 'server responded with an invalid protocol'; - } - - if (protError) { - socket.destroy(); - this.emit('error', new Error(protError)); - return this.finalize(true); - } - - if (serverProt) this.protocol = serverProt; - - const serverExtensions = Extensions.parse(res.headers['sec-websocket-extensions']); - - if (perMessageDeflate && serverExtensions[PerMessageDeflate.extensionName]) { - try { - perMessageDeflate.accept(serverExtensions[PerMessageDeflate.extensionName]); - } catch (err) { - socket.destroy(); - this.emit('error', new Error('invalid extension parameter')); - return this.finalize(true); - } - - this.extensions[PerMessageDeflate.extensionName] = perMessageDeflate; - } - - this.setSocket(socket, head); - }); -} diff --git a/node_modules/ws/lib/WebSocketServer.js b/node_modules/ws/lib/WebSocketServer.js deleted file mode 100644 index e78efc1..0000000 --- a/node_modules/ws/lib/WebSocketServer.js +++ /dev/null @@ -1,336 +0,0 @@ -/*! - * ws: a node.js websocket client - * Copyright(c) 2011 Einar Otto Stangvik - * MIT Licensed - */ - -'use strict'; - -const safeBuffer = require('safe-buffer'); -const EventEmitter = require('events'); -const crypto = require('crypto'); -const Ultron = require('ultron'); -const http = require('http'); -const url = require('url'); - -const PerMessageDeflate = require('./PerMessageDeflate'); -const Extensions = require('./Extensions'); -const constants = require('./Constants'); -const WebSocket = require('./WebSocket'); - -const Buffer = safeBuffer.Buffer; - -/** - * Class representing a WebSocket server. - * - * @extends EventEmitter - */ -class WebSocketServer extends EventEmitter { - /** - * Create a `WebSocketServer` instance. - * - * @param {Object} options Configuration options - * @param {String} options.host The hostname where to bind the server - * @param {Number} options.port The port where to bind the server - * @param {http.Server} options.server A pre-created HTTP/S server to use - * @param {Function} options.verifyClient An hook to reject connections - * @param {Function} options.handleProtocols An hook to handle protocols - * @param {String} options.path Accept only connections matching this path - * @param {Boolean} options.noServer Enable no server mode - * @param {Boolean} options.clientTracking Specifies whether or not to track clients - * @param {(Boolean|Object)} options.perMessageDeflate Enable/disable permessage-deflate - * @param {Number} options.maxPayload The maximum allowed message size - * @param {Function} callback A listener for the `listening` event - */ - constructor (options, callback) { - super(); - - options = Object.assign({ - maxPayload: 100 * 1024 * 1024, - perMessageDeflate: true, - handleProtocols: null, - clientTracking: true, - verifyClient: null, - noServer: false, - backlog: null, // use default (511 as implemented in net.js) - server: null, - host: null, - path: null, - port: null - }, options); - - if (options.port == null && !options.server && !options.noServer) { - throw new TypeError('missing or invalid options'); - } - - if (options.port != null) { - this._server = http.createServer((req, res) => { - const body = http.STATUS_CODES[426]; - - res.writeHead(426, { - 'Content-Length': body.length, - 'Content-Type': 'text/plain' - }); - res.end(body); - }); - this._server.allowHalfOpen = false; - this._server.listen(options.port, options.host, options.backlog, callback); - } else if (options.server) { - this._server = options.server; - } - - if (this._server) { - this._ultron = new Ultron(this._server); - this._ultron.on('listening', () => this.emit('listening')); - this._ultron.on('error', (err) => this.emit('error', err)); - this._ultron.on('upgrade', (req, socket, head) => { - this.handleUpgrade(req, socket, head, (client) => { - this.emit(`connection${req.url}`, client); - this.emit('connection', client); - }); - }); - } - - if (options.clientTracking) this.clients = new Set(); - this.options = options; - this.path = options.path; - } - - /** - * Close the server. - * - * @param {Function} cb Callback - * @public - */ - close (cb) { - // - // Terminate all associated clients. - // - if (this.clients) { - for (const client of this.clients) client.terminate(); - } - - const server = this._server; - - if (server) { - this._ultron.destroy(); - this._ultron = this._server = null; - - // - // Close the http server if it was internally created. - // - if (this.options.port != null) return server.close(cb); - } - - if (cb) cb(); - } - - /** - * See if a given request should be handled by this server instance. - * - * @param {http.IncomingMessage} req Request object to inspect - * @return {Boolean} `true` if the request is valid, else `false` - * @public - */ - shouldHandle (req) { - if (this.options.path && url.parse(req.url).pathname !== this.options.path) { - return false; - } - - return true; - } - - /** - * Handle a HTTP Upgrade request. - * - * @param {http.IncomingMessage} req The request object - * @param {net.Socket} socket The network socket between the server and client - * @param {Buffer} head The first packet of the upgraded stream - * @param {Function} cb Callback - * @public - */ - handleUpgrade (req, socket, head, cb) { - socket.on('error', socketError); - - const version = +req.headers['sec-websocket-version']; - - if ( - req.method !== 'GET' || req.headers.upgrade.toLowerCase() !== 'websocket' || - !req.headers['sec-websocket-key'] || (version !== 8 && version !== 13) || - !this.shouldHandle(req) - ) { - return abortConnection(socket, 400); - } - - var protocol = (req.headers['sec-websocket-protocol'] || '').split(/, */); - - // - // Optionally call external protocol selection handler. - // - if (this.options.handleProtocols) { - protocol = this.options.handleProtocols(protocol); - if (protocol === false) return abortConnection(socket, 401); - } else { - protocol = protocol[0]; - } - - // - // Optionally call external client verification handler. - // - if (this.options.verifyClient) { - const info = { - origin: req.headers[`${version === 8 ? 'sec-websocket-origin' : 'origin'}`], - secure: !!(req.connection.authorized || req.connection.encrypted), - req - }; - - if (this.options.verifyClient.length === 2) { - this.options.verifyClient(info, (verified, code, message) => { - if (!verified) return abortConnection(socket, code || 401, message); - - this.completeUpgrade(protocol, version, req, socket, head, cb); - }); - return; - } else if (!this.options.verifyClient(info)) { - return abortConnection(socket, 401); - } - } - - this.completeUpgrade(protocol, version, req, socket, head, cb); - } - - /** - * Upgrade the connection to WebSocket. - * - * @param {String} protocol The chosen subprotocol - * @param {Number} version The WebSocket protocol version - * @param {http.IncomingMessage} req The request object - * @param {net.Socket} socket The network socket between the server and client - * @param {Buffer} head The first packet of the upgraded stream - * @param {Function} cb Callback - * @private - */ - completeUpgrade (protocol, version, req, socket, head, cb) { - // - // Destroy the socket if the client has already sent a FIN packet. - // - if (!socket.readable || !socket.writable) return socket.destroy(); - - const key = crypto.createHash('sha1') - .update(req.headers['sec-websocket-key'] + constants.GUID, 'binary') - .digest('base64'); - - const headers = [ - 'HTTP/1.1 101 Switching Protocols', - 'Upgrade: websocket', - 'Connection: Upgrade', - `Sec-WebSocket-Accept: ${key}` - ]; - - if (protocol) headers.push(`Sec-WebSocket-Protocol: ${protocol}`); - - const offer = Extensions.parse(req.headers['sec-websocket-extensions']); - var extensions; - - try { - extensions = acceptExtensions(this.options, offer); - } catch (err) { - return abortConnection(socket, 400); - } - - const props = Object.keys(extensions); - - if (props.length) { - const serverExtensions = props.reduce((obj, key) => { - obj[key] = [extensions[key].params]; - return obj; - }, {}); - - headers.push(`Sec-WebSocket-Extensions: ${Extensions.format(serverExtensions)}`); - } - - // - // Allow external modification/inspection of handshake headers. - // - this.emit('headers', headers); - - socket.write(headers.concat('', '').join('\r\n')); - - const client = new WebSocket([req, socket, head], { - maxPayload: this.options.maxPayload, - protocolVersion: version, - extensions, - protocol - }); - - if (this.clients) { - this.clients.add(client); - client.on('close', () => this.clients.delete(client)); - } - - socket.removeListener('error', socketError); - cb(client); - } -} - -module.exports = WebSocketServer; - -/** - * Handle premature socket errors. - * - * @private - */ -function socketError () { - this.destroy(); -} - -/** - * Accept WebSocket extensions. - * - * @param {Object} options The `WebSocketServer` configuration options - * @param {Object} offer The parsed value of the `sec-websocket-extensions` header - * @return {Object} Accepted extensions - * @private - */ -function acceptExtensions (options, offer) { - const pmd = options.perMessageDeflate; - const extensions = {}; - - if (pmd && offer[PerMessageDeflate.extensionName]) { - const perMessageDeflate = new PerMessageDeflate( - pmd !== true ? pmd : {}, - true, - options.maxPayload - ); - - perMessageDeflate.accept(offer[PerMessageDeflate.extensionName]); - extensions[PerMessageDeflate.extensionName] = perMessageDeflate; - } - - return extensions; -} - -/** - * Close the connection when preconditions are not fulfilled. - * - * @param {net.Socket} socket The socket of the upgrade request - * @param {Number} code The HTTP response status code - * @param {String} [message] The HTTP response body - * @private - */ -function abortConnection (socket, code, message) { - if (socket.writable) { - message = message || http.STATUS_CODES[code]; - socket.write( - `HTTP/1.1 ${code} ${http.STATUS_CODES[code]}\r\n` + - 'Connection: close\r\n' + - 'Content-type: text/html\r\n' + - `Content-Length: ${Buffer.byteLength(message)}\r\n` + - '\r\n' + - message - ); - } - - socket.removeListener('error', socketError); - socket.destroy(); -} diff --git a/node_modules/ws/package.json b/node_modules/ws/package.json deleted file mode 100644 index 2c1f7cf..0000000 --- a/node_modules/ws/package.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "ws@^2.2.3", - "scope": null, - "escapedName": "ws", - "name": "ws", - "rawSpec": "^2.2.3", - "spec": ">=2.2.3 <3.0.0", - "type": "range" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket" - ] - ], - "_from": "ws@>=2.2.3 <3.0.0", - "_id": "ws@2.2.3", - "_inCache": true, - "_installable": true, - "_location": "/ws", - "_nodeVersion": "7.8.0", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/ws-2.2.3.tgz_1491214217857_0.5180311135482043" - }, - "_npmUser": { - "name": "lpinca", - "email": "luigipinca@gmail.com" - }, - "_npmVersion": "4.2.0", - "_phantomChildren": {}, - "_requested": { - "raw": "ws@^2.2.3", - "scope": null, - "escapedName": "ws", - "name": "ws", - "rawSpec": "^2.2.3", - "spec": ">=2.2.3 <3.0.0", - "type": "range" - }, - "_requiredBy": [ - "/" - ], - "_resolved": "http://registry.npmjs.org/ws/-/ws-2.2.3.tgz", - "_shasum": "f36c9719a56dff813f455af912a2078145bbd940", - "_shrinkwrap": null, - "_spec": "ws@^2.2.3", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket", - "author": { - "name": "Einar Otto Stangvik", - "email": "einaros@gmail.com", - "url": "http://2x.io" - }, - "bugs": { - "url": "https://github.com/websockets/ws/issues" - }, - "dependencies": { - "safe-buffer": "~5.0.1", - "ultron": "~1.1.0" - }, - "description": "Simple to use, blazing fast and thoroughly tested websocket client and server for Node.js", - "devDependencies": { - "benchmark": "~2.1.2", - "bufferutil": "~3.0.0", - "eslint": "~3.19.0", - "eslint-config-standard": "~8.0.0-beta.1", - "eslint-plugin-import": "~2.2.0", - "eslint-plugin-node": "~4.2.0", - "eslint-plugin-promise": "~3.5.0", - "eslint-plugin-standard": "~2.1.0", - "mocha": "~3.2.0", - "nyc": "~10.2.0", - "utf-8-validate": "~3.0.0" - }, - "directories": {}, - "dist": { - "shasum": "f36c9719a56dff813f455af912a2078145bbd940", - "tarball": "https://registry.npmjs.org/ws/-/ws-2.2.3.tgz" - }, - "gitHead": "212c7aab04a5f23d89111c1722371211efa2dd89", - "homepage": "https://github.com/websockets/ws#readme", - "keywords": [ - "HyBi", - "Push", - "RFC-6455", - "WebSocket", - "WebSockets", - "real-time" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "3rdeden", - "email": "npm@3rd-Eden.com" - }, - { - "name": "einaros", - "email": "einaros@gmail.com" - }, - { - "name": "lpinca", - "email": "luigipinca@gmail.com" - }, - { - "name": "v1", - "email": "npm@3rd-Eden.com" - } - ], - "name": "ws", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/websockets/ws.git" - }, - "scripts": { - "integration": "eslint . && mocha test/*.integration.js", - "lint": "eslint .", - "test": "eslint . && nyc --reporter=html --reporter=text mocha test/*.test.js" - }, - "version": "2.2.3" -} diff --git a/node_modules/xtend/.jshintrc b/node_modules/xtend/.jshintrc deleted file mode 100644 index 77887b5..0000000 --- a/node_modules/xtend/.jshintrc +++ /dev/null @@ -1,30 +0,0 @@ -{ - "maxdepth": 4, - "maxstatements": 200, - "maxcomplexity": 12, - "maxlen": 80, - "maxparams": 5, - - "curly": true, - "eqeqeq": true, - "immed": true, - "latedef": false, - "noarg": true, - "noempty": true, - "nonew": true, - "undef": true, - "unused": "vars", - "trailing": true, - - "quotmark": true, - "expr": true, - "asi": true, - - "browser": false, - "esnext": true, - "devel": false, - "node": false, - "nonstandard": false, - - "predef": ["require", "module", "__dirname", "__filename"] -} diff --git a/node_modules/xtend/.npmignore b/node_modules/xtend/.npmignore deleted file mode 100644 index 3c3629e..0000000 --- a/node_modules/xtend/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/node_modules/xtend/LICENCE b/node_modules/xtend/LICENCE deleted file mode 100644 index 1a14b43..0000000 --- a/node_modules/xtend/LICENCE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2012-2014 Raynos. - -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. diff --git a/node_modules/xtend/Makefile b/node_modules/xtend/Makefile deleted file mode 100644 index d583fcf..0000000 --- a/node_modules/xtend/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -browser: - node ./support/compile - -.PHONY: browser \ No newline at end of file diff --git a/node_modules/xtend/README.md b/node_modules/xtend/README.md deleted file mode 100644 index 093cb29..0000000 --- a/node_modules/xtend/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# xtend - -[![browser support][3]][4] - -[![locked](http://badges.github.io/stability-badges/dist/locked.svg)](http://github.com/badges/stability-badges) - -Extend like a boss - -xtend is a basic utility library which allows you to extend an object by appending all of the properties from each object in a list. When there are identical properties, the right-most property takes precedence. - -## Examples - -```js -var extend = require("xtend") - -// extend returns a new object. Does not mutate arguments -var combination = extend({ - a: "a", - b: 'c' -}, { - b: "b" -}) -// { a: "a", b: "b" } -``` - -## Stability status: Locked - -## MIT Licenced - - - [3]: http://ci.testling.com/Raynos/xtend.png - [4]: http://ci.testling.com/Raynos/xtend diff --git a/node_modules/xtend/immutable.js b/node_modules/xtend/immutable.js deleted file mode 100644 index 94889c9..0000000 --- a/node_modules/xtend/immutable.js +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = extend - -var hasOwnProperty = Object.prototype.hasOwnProperty; - -function extend() { - var target = {} - - for (var i = 0; i < arguments.length; i++) { - var source = arguments[i] - - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - target[key] = source[key] - } - } - } - - return target -} diff --git a/node_modules/xtend/mutable.js b/node_modules/xtend/mutable.js deleted file mode 100644 index 72debed..0000000 --- a/node_modules/xtend/mutable.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = extend - -var hasOwnProperty = Object.prototype.hasOwnProperty; - -function extend(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] - - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - target[key] = source[key] - } - } - } - - return target -} diff --git a/node_modules/xtend/package.json b/node_modules/xtend/package.json deleted file mode 100644 index b0ba2ab..0000000 --- a/node_modules/xtend/package.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "xtend@4.0.1", - "scope": null, - "escapedName": "xtend", - "name": "xtend", - "rawSpec": "4.0.1", - "spec": "4.0.1", - "type": "version" - }, - "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install" - ] - ], - "_from": "xtend@4.0.1", - "_id": "xtend@4.0.1", - "_inCache": true, - "_installable": true, - "_location": "/xtend", - "_nodeVersion": "0.10.32", - "_npmUser": { - "name": "raynos", - "email": "raynos2@gmail.com" - }, - "_npmVersion": "2.14.1", - "_phantomChildren": {}, - "_requested": { - "raw": "xtend@4.0.1", - "scope": null, - "escapedName": "xtend", - "name": "xtend", - "rawSpec": "4.0.1", - "spec": "4.0.1", - "type": "version" - }, - "_requiredBy": [ - "/prebuild-install", - "/simple-get", - "/tar-stream" - ], - "_resolved": "http://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "_shasum": "a5c6d532be656e23db820efb943a1f04998d63af", - "_shrinkwrap": null, - "_spec": "xtend@4.0.1", - "_where": "/home/vincent/Projects/SublimeTextProjects/shadowsocks-over-websocket/node_modules/prebuild-install", - "author": { - "name": "Raynos", - "email": "raynos2@gmail.com" - }, - "bugs": { - "url": "https://github.com/Raynos/xtend/issues", - "email": "raynos2@gmail.com" - }, - "contributors": [ - { - "name": "Jake Verbaten" - }, - { - "name": "Matt Esch" - } - ], - "dependencies": {}, - "description": "extend like a boss", - "devDependencies": { - "tape": "~1.1.0" - }, - "directories": {}, - "dist": { - "shasum": "a5c6d532be656e23db820efb943a1f04998d63af", - "tarball": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" - }, - "engines": { - "node": ">=0.4" - }, - "gitHead": "23dc302a89756da89c1897bc732a752317e35390", - "homepage": "https://github.com/Raynos/xtend", - "keywords": [ - "extend", - "merge", - "options", - "opts", - "object", - "array" - ], - "license": "MIT", - "main": "immutable", - "maintainers": [ - { - "name": "raynos", - "email": "raynos2@gmail.com" - } - ], - "name": "xtend", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/Raynos/xtend.git" - }, - "scripts": { - "test": "node test" - }, - "testling": { - "files": "test.js", - "browsers": [ - "ie/7..latest", - "firefox/16..latest", - "firefox/nightly", - "chrome/22..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest" - ] - }, - "version": "4.0.1" -} diff --git a/node_modules/xtend/test.js b/node_modules/xtend/test.js deleted file mode 100644 index 093a2b0..0000000 --- a/node_modules/xtend/test.js +++ /dev/null @@ -1,83 +0,0 @@ -var test = require("tape") -var extend = require("./") -var mutableExtend = require("./mutable") - -test("merge", function(assert) { - var a = { a: "foo" } - var b = { b: "bar" } - - assert.deepEqual(extend(a, b), { a: "foo", b: "bar" }) - assert.end() -}) - -test("replace", function(assert) { - var a = { a: "foo" } - var b = { a: "bar" } - - assert.deepEqual(extend(a, b), { a: "bar" }) - assert.end() -}) - -test("undefined", function(assert) { - var a = { a: undefined } - var b = { b: "foo" } - - assert.deepEqual(extend(a, b), { a: undefined, b: "foo" }) - assert.deepEqual(extend(b, a), { a: undefined, b: "foo" }) - assert.end() -}) - -test("handle 0", function(assert) { - var a = { a: "default" } - var b = { a: 0 } - - assert.deepEqual(extend(a, b), { a: 0 }) - assert.deepEqual(extend(b, a), { a: "default" }) - assert.end() -}) - -test("is immutable", function (assert) { - var record = {} - - extend(record, { foo: "bar" }) - assert.equal(record.foo, undefined) - assert.end() -}) - -test("null as argument", function (assert) { - var a = { foo: "bar" } - var b = null - var c = void 0 - - assert.deepEqual(extend(b, a, c), { foo: "bar" }) - assert.end() -}) - -test("mutable", function (assert) { - var a = { foo: "bar" } - - mutableExtend(a, { bar: "baz" }) - - assert.equal(a.bar, "baz") - assert.end() -}) - -test("null prototype", function(assert) { - var a = { a: "foo" } - var b = Object.create(null) - b.b = "bar"; - - assert.deepEqual(extend(a, b), { a: "foo", b: "bar" }) - assert.end() -}) - -test("null prototype mutable", function (assert) { - var a = { foo: "bar" } - var b = Object.create(null) - b.bar = "baz"; - - mutableExtend(a, b) - - assert.equal(a.bar, "baz") - assert.end() -})