UNPKG

webpack

Version:

Packs CommonJs/AMD modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loaders to preprocess files, i.e. json, jade, coffee, css, less, ... and your custom stuff.

236 lines (201 loc) 60 kB
/******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // object to store loaded chunks /******/ // "1" means "already loaded" /******/ var installedChunks = { /******/ 0:1 /******/ }; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.loaded = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ // This file contains only the entry chunk. /******/ // The chunk loading function for additional chunks /******/ __webpack_require__.e = function requireEnsure(chunkId, callback) { /******/ if(installedChunks[chunkId] === 1) callback.call(null, __webpack_require__); /******/ else if(!installedChunks[chunkId]) { /******/ installedChunks[chunkId] = [callback]; /******/ var filename = __dirname + "/" + chunkId + ".bundle.js"; /******/ require('fs').readFile(filename, 'utf-8', function(err, content) { /******/ if(err) { if(__webpack_require__.onError) return __webpack_require__.onError(err); else throw err; } /******/ var chunk = {}; /******/ require('vm').runInThisContext('(function(exports, require, __dirname, __filename) {' + content + '\n})', filename)(chunk, require, require('path').dirname(filename), filename); /******/ var moreModules = chunk.modules, chunkIds = chunk.ids; /******/ for(var moduleId in moreModules) { /******/ modules[moduleId] = moreModules[moduleId]; /******/ } /******/ var callbacks = []; /******/ for(var i = 0; i < chunkIds.length; i++) { /******/ if(Array.isArray(installedChunks[chunkIds[i]])) /******/ callbacks = callbacks.concat(installedChunks[chunkIds[i]]); /******/ installedChunks[chunkIds[i]] = 1; /******/ } /******/ for(i = 0; i < callbacks.length; i++) /******/ callbacks[i].call(null, __webpack_require__); /******/ }); /******/ } else installedChunks[chunkId].push(callback); /******/ }; /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /*!*********************************!*\ !*** ./chunks/parsing/index.js ***! \*********************************/ /***/ function(module, exports, __webpack_require__) { eval("var should = __webpack_require__(/*! should */ 4);\r\n\r\nit(\"should handle bound function expressions\", function(done) {\r\n\t__webpack_require__.e/*nsure*/(1, function(require) {\r\n\t\tthis.should.be.eql({ test: true })\r\n\t\t__webpack_require__(/*! ./empty?test */ 2);\r\n\t\tprocess.nextTick.should.have.type(\"function\"); // check if injection still works\r\n\t\t!/*require.ensure*/(function(require) {\r\n\t\t\tthis.should.be.eql({ test: true })\r\n\t\t\tdone();\r\n\t\t}.bind(this)(__webpack_require__));\r\n\t}.bind({test: true}));\r\n});\r\n\r\nit(\"should handle require.ensure without function expression\", function(done) {\r\n\tfunction f() {\r\n\t\tdone();\r\n\t}\r\n\t!/*require.ensure*/(f(__webpack_require__));\r\n});\r\n\r\nit(\"should parse expression in require.ensure, which isn't a function expression\", function(done) {\r\n\t!/*require.ensure*/(function() {\r\n\t\t__webpack_require__(/*! ./empty?require.ensure:test */ 1).should.be.eql({});\r\n\t\treturn function f() {\r\n\t\t\tdone();\r\n\t\t}\r\n\t}()(__webpack_require__));\r\n});\r\n\r\nit(\"should accept a require.include call\", function() {\r\n\tundefined/*! require.include ./require.include */;\r\n\tvar value = null;\r\n\t!/*require.ensure*/(function(require) {\r\n\t\tvalue = __webpack_require__(/*! ./require.include */ 3);\r\n\t}(__webpack_require__));\r\n\tshould.strictEqual(value, \"require.include\");\r\n\tvalue.should.be.eql(\"require.include\");\r\n});\r\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./chunks/parsing/index.js\n ** module id = 0\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///./chunks/parsing/index.js?"); /***/ }, /* 1 */ /*!*****************************************************!*\ !*** ./chunks/parsing/empty.js?require.ensure:test ***! \*****************************************************/ /***/ function(module, exports, __webpack_require__) { eval("\n\n/*****************\n ** WEBPACK FOOTER\n ** ./chunks/parsing/empty.js?require.ensure:test\n ** module id = 1\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///./chunks/parsing/empty.js?"); /***/ }, /* 2 */, /* 3 */ /*!*******************************************!*\ !*** ./chunks/parsing/require.include.js ***! \*******************************************/ /***/ function(module, exports, __webpack_require__) { eval("module.exports = \"require.include\";\n\n/*****************\n ** WEBPACK FOOTER\n ** ./chunks/parsing/require.include.js\n ** module id = 3\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///./chunks/parsing/require.include.js?"); /***/ }, /* 4 */ /*!****************************************!*\ !*** (webpack)/~/should/lib/should.js ***! \****************************************/ /***/ function(module, exports, __webpack_require__) { eval("/*!\n * Should\n * Copyright(c) 2010-2014 TJ Holowaychuk <tj@vision-media.ca>\n * MIT Licensed\n */\n\n\nvar util = __webpack_require__(/*! ./util */ 5),\n AssertionError = util.AssertionError,\n inspect = util.inspect;\n\n/**\n * Our function should\n * @param obj\n * @returns {Assertion}\n */\nvar should = function(obj) {\n return new Assertion(util.isWrapperType(obj) ? obj.valueOf() : obj);\n};\n\n/**\n * Initialize a new `Assertion` with the given _obj_.\n *\n * @param {*} obj\n * @api private\n */\n\nvar Assertion = should.Assertion = function Assertion(obj) {\n this.obj = obj;\n};\n\n\n/**\n Way to extend Assertion function. It uses some logic\n to define only positive assertions and itself rule with negative assertion.\n\n All actions happen in subcontext and this method take care about negation.\n Potentially we can add some more modifiers that does not depends from state of assertion.\n */\nAssertion.add = function(name, f, isGetter) {\n var prop = { enumerable: true };\n prop[isGetter ? 'get' : 'value'] = function() {\n var context = new Assertion(this.obj);\n context.copy = context.copyIfMissing;\n context.anyOne = this.anyOne;\n\n try {\n f.apply(context, arguments);\n } catch(e) {\n //copy data from sub context to this\n this.copy(context);\n\n //check for fail\n if(e instanceof should.AssertionError) {\n //negative fail\n if(this.negate) {\n this.obj = context.obj;\n this.negate = false;\n return this;\n }\n this.assert(false);\n }\n // throw if it is another exception\n throw e;\n }\n //copy data from sub context to this\n this.copy(context);\n if(this.negate) {\n this.assert(false);\n }\n\n this.obj = context.obj;\n this.negate = false;\n return this;\n };\n\n Object.defineProperty(Assertion.prototype, name, prop);\n};\n\nAssertion.alias = function(from, to) {\n var desc = Object.getOwnPropertyDescriptor(Assertion.prototype, from);\n if(!desc) throw new Error('Alias ' + from + ' -> ' + to + ' could not be created as ' + from + ' not defined');\n Object.defineProperty(Assertion.prototype, to, desc);\n};\n\nshould.AssertionError = AssertionError;\nshould.format = function (value) {\n if(util.isDate(value) && typeof value.inspect !== 'function') return value.toISOString(); //show millis in dates\n return inspect(value, { depth: null });\n};\n\nshould.use = function(f) {\n f(this, Assertion);\n return this;\n};\n\n\n/**\n * Expose should to external world.\n */\nexports = module.exports = should;\n\n\n/**\n * Expose api via `Object#should`.\n *\n * @api public\n */\n\nObject.defineProperty(Object.prototype, 'should', {\n set: function() {\n },\n get: function() {\n return should(this);\n },\n configurable: true\n});\n\n\nAssertion.prototype = {\n constructor: Assertion,\n\n assert: function(expr) {\n if(expr) return this;\n\n var params = this.params;\n\n var msg = params.message, generatedMessage = false;\n if(!msg) {\n msg = this.getMessage();\n generatedMessage = true;\n }\n\n var err = new AssertionError({\n message: msg, actual: this.obj, expected: params.expected, stackStartFunction: this.assert\n });\n\n err.showDiff = params.showDiff;\n err.operator = params.operator;\n err.generatedMessage = generatedMessage;\n\n throw err;\n },\n\n getMessage: function() {\n return 'expected ' + ('obj' in this.params ? this.params.obj: should.format(this.obj)) + (this.negate ? ' not ': ' ') +\n this.params.operator + ('expected' in this.params ? ' ' + should.format(this.params.expected) : '');\n },\n\n copy: function(other) {\n this.params = other.params;\n },\n\n copyIfMissing: function(other) {\n if(!this.params) this.params = other.params;\n },\n\n\n /**\n * Negation modifier.\n *\n * @api public\n */\n\n get not() {\n this.negate = !this.negate;\n return this;\n },\n\n /**\n * Any modifier - it affect on execution of sequenced assertion to do not check all, but any of\n *\n * @api public\n */\n get any() {\n this.anyOne = true;\n return this;\n }\n};\n\nshould\n .use(__webpack_require__(/*! ./ext/assert */ 6))\n .use(__webpack_require__(/*! ./ext/chain */ 7))\n .use(__webpack_require__(/*! ./ext/bool */ 8))\n .use(__webpack_require__(/*! ./ext/number */ 9))\n .use(__webpack_require__(/*! ./ext/eql */ 10))\n .use(__webpack_require__(/*! ./ext/type */ 11))\n .use(__webpack_require__(/*! ./ext/string */ 12))\n .use(__webpack_require__(/*! ./ext/property */ 13))\n .use(__webpack_require__(/*! ./ext/error */ 14))\n .use(__webpack_require__(/*! ./ext/match */ 15))\n .use(__webpack_require__(/*! ./ext/contain */ 16));\n\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/~/should/lib/should.js\n ** module id = 4\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///(webpack)/~/should/lib/should.js?"); /***/ }, /* 5 */ /*!**************************************!*\ !*** (webpack)/~/should/lib/util.js ***! \**************************************/ /***/ function(module, exports, __webpack_require__) { eval("/*!\n * Should\n * Copyright(c) 2010-2014 TJ Holowaychuk <tj@vision-media.ca>\n * MIT Licensed\n */\n\n/**\n * Check if given obj just a primitive type wrapper\n * @param {Object} obj\n * @returns {boolean}\n * @api private\n */\nexports.isWrapperType = function(obj) {\n return isNumber(obj) || isString(obj) || isBoolean(obj);\n};\n\n/**\n * Merge object b with object a.\n *\n * var a = { foo: 'bar' }\n * , b = { bar: 'baz' };\n *\n * utils.merge(a, b);\n * // => { foo: 'bar', bar: 'baz' }\n *\n * @param {Object} a\n * @param {Object} b\n * @return {Object}\n * @api private\n */\n\nexports.merge = function(a, b){\n if (a && b) {\n for (var key in b) {\n a[key] = b[key];\n }\n }\n return a;\n};\n\nfunction isArray(arr) {\n return isObject(arr) && (arr.__ArrayLike || Array.isArray(arr));\n}\n\nexports.isArray = isArray;\n\nfunction isNumber(arg) {\n return typeof arg === 'number' || arg instanceof Number;\n}\n\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string' || arg instanceof String;\n}\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean' || arg instanceof Boolean;\n}\nexports.isBoolean = isBoolean;\n\nexports.isString = isString;\n\nfunction isBuffer(arg) {\n return typeof Buffer !== 'undefined' && arg instanceof Buffer;\n}\n\nexports.isBuffer = isBuffer;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\n\nexports.isDate = isDate;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nexports.isObject = isObject;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\n\nexports.isRegExp = isRegExp;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\n\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isArguments(object) {\n return objectToString(object) === '[object Arguments]';\n}\n\nexports.isArguments = isArguments;\n\nexports.isFunction = function(arg) {\n return typeof arg === 'function' || arg instanceof Function;\n};\n\nfunction isError(e) {\n return (isObject(e) && objectToString(e) === '[object Error]') || (e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\n\nexports.isUndefined = isUndefined;\n\nexports.inspect = __webpack_require__(/*! ./inspect */ 18).inspect;\n\nexports.AssertionError = __webpack_require__(/*! assert */ 17).AssertionError;\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nexports.forOwn = function(obj, f, context) {\n for(var prop in obj) {\n if(hasOwnProperty.call(obj, prop)) {\n f.call(context, obj[prop], prop);\n }\n }\n};\n\nvar functionNameRE = /^\\s*function\\s*(\\S*)\\s*\\(/;\n\nexports.functionName = function(f) {\n if(f.name) {\n return f.name;\n }\n var name = f.toString().match(functionNameRE)[1];\n return name;\n};\n\nexports.formatProp = function(name) {\n name = JSON.stringify('' + name);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\")\n .replace(/\\\\\\\\/g, '\\\\');\n }\n return name;\n}\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/~/should/lib/util.js\n ** module id = 5\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///(webpack)/~/should/lib/util.js?"); /***/ }, /* 6 */ /*!********************************************!*\ !*** (webpack)/~/should/lib/ext/assert.js ***! \********************************************/ /***/ function(module, exports, __webpack_require__) { eval("/*!\n * Should\n * Copyright(c) 2010-2014 TJ Holowaychuk <tj@vision-media.ca>\n * MIT Licensed\n */\n\nvar util = __webpack_require__(/*! ../util */ 5)\n , assert = __webpack_require__(/*! assert */ 17)\n , AssertionError = assert.AssertionError;\n\nmodule.exports = function(should) {\n var i = should.format;\n\n /**\n * Expose assert to should\n *\n * This allows you to do things like below\n * without require()ing the assert module.\n *\n * should.equal(foo.bar, undefined);\n *\n */\n util.merge(should, assert);\n\n /**\n * Assert _obj_ exists, with optional message.\n *\n * @param {*} obj\n * @param {String} [msg]\n * @api public\n */\n should.exist = should.exists = function(obj, msg) {\n if(null == obj) {\n throw new AssertionError({\n message: msg || ('expected ' + i(obj) + ' to exist'), stackStartFunction: should.exist\n });\n }\n };\n\n /**\n * Asserts _obj_ does not exist, with optional message.\n *\n * @param {*} obj\n * @param {String} [msg]\n * @api public\n */\n\n should.not = {};\n should.not.exist = should.not.exists = function(obj, msg) {\n if(null != obj) {\n throw new AssertionError({\n message: msg || ('expected ' + i(obj) + ' to not exist'), stackStartFunction: should.not.exist\n });\n }\n };\n};\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/~/should/lib/ext/assert.js\n ** module id = 6\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///(webpack)/~/should/lib/ext/assert.js?"); /***/ }, /* 7 */ /*!*******************************************!*\ !*** (webpack)/~/should/lib/ext/chain.js ***! \*******************************************/ /***/ function(module, exports, __webpack_require__) { eval("/*!\n * Should\n * Copyright(c) 2010-2014 TJ Holowaychuk <tj@vision-media.ca>\n * MIT Licensed\n */\n\nmodule.exports = function(should, Assertion) {\n\n function addLink(name) {\n Object.defineProperty(Assertion.prototype, name, {\n get: function() {\n return this;\n },\n enumerable: true\n });\n }\n\n ['an', 'of', 'a', 'and', 'be', 'have', 'with', 'is', 'which', 'the'].forEach(addLink);\n};\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/~/should/lib/ext/chain.js\n ** module id = 7\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///(webpack)/~/should/lib/ext/chain.js?"); /***/ }, /* 8 */ /*!******************************************!*\ !*** (webpack)/~/should/lib/ext/bool.js ***! \******************************************/ /***/ function(module, exports, __webpack_require__) { eval("/*!\n * Should\n * Copyright(c) 2010-2014 TJ Holowaychuk <tj@vision-media.ca>\n * MIT Licensed\n */\n\nmodule.exports = function(should, Assertion) {\n Assertion.add('true', function() {\n this.is.exactly(true);\n }, true);\n\n Assertion.alias('true', 'True');\n\n Assertion.add('false', function() {\n this.is.exactly(false);\n }, true);\n\n Assertion.alias('false', 'False');\n\n Assertion.add('ok', function() {\n this.params = { operator: 'to be truthy' };\n\n this.assert(this.obj);\n }, true);\n};\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/~/should/lib/ext/bool.js\n ** module id = 8\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///(webpack)/~/should/lib/ext/bool.js?"); /***/ }, /* 9 */ /*!********************************************!*\ !*** (webpack)/~/should/lib/ext/number.js ***! \********************************************/ /***/ function(module, exports, __webpack_require__) { eval("/*!\n * Should\n * Copyright(c) 2010-2014 TJ Holowaychuk <tj@vision-media.ca>\n * MIT Licensed\n */\n\nmodule.exports = function(should, Assertion) {\n Assertion.add('NaN', function() {\n this.params = { operator: 'to be NaN' };\n\n this.assert(this.obj !== this.obj);\n }, true);\n\n Assertion.add('Infinity', function() {\n this.params = { operator: 'to be Infinity' };\n\n this.is.a.Number\n .and.not.a.NaN\n .and.assert(!isFinite(this.obj));\n }, true);\n\n Assertion.add('within', function(start, finish, description) {\n this.params = { operator: 'to be within ' + start + '..' + finish, message: description };\n\n this.assert(this.obj >= start && this.obj <= finish);\n });\n\n Assertion.add('approximately', function(value, delta, description) {\n this.params = { operator: 'to be approximately ' + value + \" ±\" + delta, message: description };\n\n this.assert(Math.abs(this.obj - value) <= delta);\n });\n\n Assertion.add('above', function(n, description) {\n this.params = { operator: 'to be above ' + n, message: description };\n\n this.assert(this.obj > n);\n });\n\n Assertion.add('below', function(n, description) {\n this.params = { operator: 'to be below ' + n, message: description };\n\n this.assert(this.obj < n);\n });\n\n Assertion.alias('above', 'greaterThan');\n Assertion.alias('below', 'lessThan');\n\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/~/should/lib/ext/number.js\n ** module id = 9\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///(webpack)/~/should/lib/ext/number.js?"); /***/ }, /* 10 */ /*!*****************************************!*\ !*** (webpack)/~/should/lib/ext/eql.js ***! \*****************************************/ /***/ function(module, exports, __webpack_require__) { eval("/*!\n * Should\n * Copyright(c) 2010-2014 TJ Holowaychuk <tj@vision-media.ca>\n * MIT Licensed\n */\n\nvar eql = __webpack_require__(/*! ../eql */ 19);\n\nmodule.exports = function(should, Assertion) {\n Assertion.add('eql', function(val, description) {\n this.params = { operator: 'to equal', expected: val, showDiff: true, message: description };\n\n this.assert(eql(val, this.obj));\n });\n\n Assertion.add('equal', function(val, description) {\n this.params = { operator: 'to be', expected: val, showDiff: true, message: description };\n\n this.assert(val === this.obj);\n });\n\n Assertion.alias('equal', 'exactly');\n};\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/~/should/lib/ext/eql.js\n ** module id = 10\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///(webpack)/~/should/lib/ext/eql.js?"); /***/ }, /* 11 */ /*!******************************************!*\ !*** (webpack)/~/should/lib/ext/type.js ***! \******************************************/ /***/ function(module, exports, __webpack_require__) { eval("/*!\n * Should\n * Copyright(c) 2010-2014 TJ Holowaychuk <tj@vision-media.ca>\n * MIT Licensed\n */\n\nvar util = __webpack_require__(/*! ../util */ 5);\n\nmodule.exports = function(should, Assertion) {\n Assertion.add('Number', function() {\n this.params = { operator: 'to be a number' };\n\n this.assert(util.isNumber(this.obj));\n }, true);\n\n Assertion.add('arguments', function() {\n this.params = { operator: 'to be arguments' };\n\n this.assert(util.isArguments(this.obj));\n }, true);\n\n Assertion.add('type', function(type, description) {\n this.params = { operator: 'to have type ' + type, message: description };\n\n (typeof this.obj).should.be.exactly(type, description);\n });\n\n Assertion.add('instanceof', function(constructor, description) {\n this.params = { operator: 'to be an instance of ' + util.functionName(constructor), message: description };\n\n this.assert(Object(this.obj) instanceof constructor);\n });\n\n Assertion.add('Function', function() {\n this.params = { operator: 'to be a function' };\n\n this.assert(util.isFunction(this.obj));\n }, true);\n\n Assertion.add('Object', function() {\n this.params = { operator: 'to be an object' };\n\n this.assert(util.isObject(this.obj));\n }, true);\n\n Assertion.add('String', function() {\n this.params = { operator: 'to be a string' };\n\n this.assert(util.isString(this.obj));\n }, true);\n\n Assertion.add('Array', function() {\n this.params = { operator: 'to be an array' };\n\n this.assert(util.isArray(this.obj));\n }, true);\n\n Assertion.add('Boolean', function() {\n this.params = { operator: 'to be a boolean' };\n\n this.assert(util.isBoolean(this.obj));\n }, true);\n\n Assertion.add('Error', function() {\n this.params = { operator: 'to be an error' };\n\n this.assert(util.isError(this.obj));\n }, true);\n\n Assertion.add('null', function() {\n this.params = { operator: 'to be null' };\n\n this.assert(this.obj === null);\n }, true);\n\n Assertion.alias('null', 'Null');\n\n Assertion.alias('instanceof', 'instanceOf');\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/~/should/lib/ext/type.js\n ** module id = 11\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///(webpack)/~/should/lib/ext/type.js?"); /***/ }, /* 12 */ /*!********************************************!*\ !*** (webpack)/~/should/lib/ext/string.js ***! \********************************************/ /***/ function(module, exports, __webpack_require__) { eval("/*!\n * Should\n * Copyright(c) 2010-2014 TJ Holowaychuk <tj@vision-media.ca>\n * MIT Licensed\n */\n\nmodule.exports = function(should, Assertion) {\n Assertion.add('startWith', function(str, description) {\n this.params = { operator: 'to start with ' + should.format(str), message: description };\n\n this.assert(0 === this.obj.indexOf(str));\n });\n\n Assertion.add('endWith', function(str, description) {\n this.params = { operator: 'to end with ' + should.format(str), message: description };\n\n this.assert(this.obj.indexOf(str, this.obj.length - str.length) >= 0);\n });\n};\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/~/should/lib/ext/string.js\n ** module id = 12\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///(webpack)/~/should/lib/ext/string.js?"); /***/ }, /* 13 */ /*!**********************************************!*\ !*** (webpack)/~/should/lib/ext/property.js ***! \**********************************************/ /***/ function(module, exports, __webpack_require__) { eval("/*!\n * Should\n * Copyright(c) 2010-2014 TJ Holowaychuk <tj@vision-media.ca>\n * MIT Licensed\n */\n\nvar util = __webpack_require__(/*! ../util */ 5),\n eql = __webpack_require__(/*! ../eql */ 19);\n\nvar aSlice = Array.prototype.slice;\n\nmodule.exports = function(should, Assertion) {\n var i = should.format;\n\n Assertion.add('enumerable', function(name, val) {\n name = String(name);\n\n this.params = {\n operator:\"to have enumerable property \" + util.formatProp(name)\n };\n\n this.assert(this.obj.propertyIsEnumerable(name));\n\n if(arguments.length > 1){\n this.params.operator += \" equal to \"+i(val);\n this.assert(eql(val, this.obj[name]));\n }\n });\n\n Assertion.add('property', function(name, val) {\n name = String(name);\n if(arguments.length > 1) {\n var p = {};\n p[name] = val;\n this.have.properties(p);\n } else {\n this.have.properties(name);\n }\n this.obj = this.obj[name];\n });\n\n Assertion.add('properties', function(names) {\n var values = {};\n if(arguments.length > 1) {\n names = aSlice.call(arguments);\n } else if(!util.isArray(names)) {\n if(util.isString(names)) {\n names = [names];\n } else {\n values = names;\n names = Object.keys(names);\n }\n }\n\n var obj = Object(this.obj), missingProperties = [];\n\n //just enumerate properties and check if they all present\n names.forEach(function(name) {\n if(!(name in obj)) missingProperties.push(util.formatProp(name));\n });\n\n var props = missingProperties;\n if(props.length === 0) {\n props = names.map(util.formatProp);\n } else if(this.anyOne) {\n props = names.filter(function(name) {\n return missingProperties.indexOf(util.formatProp(name)) < 0;\n }).map(util.formatProp);\n }\n\n var operator = (props.length === 1 ?\n 'to have property ' : 'to have '+(this.anyOne? 'any of ' : '')+'properties ') + props.join(', ');\n\n this.params = { operator: operator };\n\n //check that all properties presented\n //or if we request one of them that at least one them presented\n this.assert(missingProperties.length === 0 || (this.anyOne && missingProperties.length != names.length));\n\n // check if values in object matched expected\n var valueCheckNames = Object.keys(values);\n if(valueCheckNames.length) {\n var wrongValues = [];\n props = [];\n\n // now check values, as there we have all properties\n valueCheckNames.forEach(function(name) {\n var value = values[name];\n if(!eql(obj[name], value)) {\n wrongValues.push(util.formatProp(name) + ' of ' + i(value) + ' (got ' + i(obj[name]) + ')');\n } else {\n props.push(util.formatProp(name) + ' of ' + i(value));\n }\n });\n\n if((wrongValues.length !== 0 && !this.anyOne) || (this.anyOne && props.length === 0)) {\n props = wrongValues;\n }\n\n operator = (props.length === 1 ?\n 'to have property ' : 'to have '+(this.anyOne? 'any of ' : '')+'properties ') + props.join(', ');\n\n this.params = { operator: operator };\n\n //if there is no not matched values\n //or there is at least one matched\n this.assert(wrongValues.length === 0 || (this.anyOne && wrongValues.length != valueCheckNames.length));\n }\n });\n\n Assertion.add('length', function(n, description) {\n this.have.property('length', n, description);\n });\n\n Assertion.alias('length', 'lengthOf');\n\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n\n Assertion.add('ownProperty', function(name, description) {\n name = String(name);\n this.params = { operator: 'to have own property ' + util.formatProp(name), message: description };\n\n this.assert(hasOwnProperty.call(this.obj, name));\n\n this.obj = this.obj[name];\n });\n\n Assertion.alias('ownProperty', 'hasOwnProperty');\n\n Assertion.add('empty', function() {\n this.params = { operator: 'to be empty' };\n\n if(util.isString(this.obj) || util.isArray(this.obj) || util.isArguments(this.obj)) {\n this.have.property('length', 0);\n } else {\n var obj = Object(this.obj); // wrap to reference for booleans and numbers\n for(var prop in obj) {\n this.have.not.ownProperty(prop);\n }\n }\n }, true);\n\n Assertion.add('keys', function(keys) {\n if(arguments.length > 1) keys = aSlice.call(arguments);\n else if(arguments.length === 1 && util.isString(keys)) keys = [ keys ];\n else if(arguments.length === 0) keys = [];\n\n keys = keys.map(String);\n\n var obj = Object(this.obj);\n\n // first check if some keys are missing\n var missingKeys = [];\n keys.forEach(function(key) {\n if(!hasOwnProperty.call(this.obj, key))\n missingKeys.push(util.formatProp(key));\n }, this);\n\n // second check for extra keys\n var extraKeys = [];\n Object.keys(obj).forEach(function(key) {\n if(keys.indexOf(key) < 0) {\n extraKeys.push(util.formatProp(key));\n }\n });\n\n var verb = keys.length === 0 ? 'to be empty' :\n 'to have ' + (keys.length === 1 ? 'key ' : 'keys ');\n\n this.params = { operator: verb + keys.map(util.formatProp).join(', ')};\n\n if(missingKeys.length > 0)\n this.params.operator += '\\n\\tmissing keys: ' + missingKeys.join(', ');\n\n if(extraKeys.length > 0)\n this.params.operator += '\\n\\textra keys: ' + extraKeys.join(', ');\n\n this.assert(missingKeys.length === 0 && extraKeys.length === 0);\n });\n\n Assertion.alias(\"keys\", \"key\");\n\n Assertion.add('propertyByPath', function(properties) {\n if(arguments.length > 1) properties = aSlice.call(arguments);\n else if(arguments.length === 1 && util.isString(properties)) properties = [ properties ];\n else if(arguments.length === 0) properties = [];\n\n var allProps = properties.map(util.formatProp);\n\n properties = properties.map(String);\n\n var obj = should(Object(this.obj));\n\n var foundProperties = [];\n\n var currentProperty;\n while(currentProperty = properties.shift()) {\n this.params = { operator: 'to have property by path ' + allProps.join(', ') + ' - failed on ' + util.formatProp(currentProperty) };\n obj = obj.have.property(currentProperty);\n foundProperties.push(currentProperty);\n }\n\n this.params = { operator: 'to have property by path ' + allProps.join(', ') };\n\n this.obj = obj.obj;\n });\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/~/should/lib/ext/property.js\n ** module id = 13\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///(webpack)/~/should/lib/ext/property.js?"); /***/ }, /* 14 */ /*!*******************************************!*\ !*** (webpack)/~/should/lib/ext/error.js ***! \*******************************************/ /***/ function(module, exports, __webpack_require__) { eval("/*!\n * Should\n * Copyright(c) 2010-2014 TJ Holowaychuk <tj@vision-media.ca>\n * MIT Licensed\n */\nvar util = __webpack_require__(/*! ../util */ 5);\n\nmodule.exports = function(should, Assertion) {\n var i = should.format;\n\n Assertion.add('throw', function(message, properties) {\n var fn = this.obj\n , err = {}\n , errorInfo = ''\n , thrown = false;\n\n var errorMatched = true;\n\n try {\n fn();\n } catch(e) {\n thrown = true;\n err = e;\n }\n\n if(thrown) {\n if(message) {\n if('string' == typeof message) {\n errorMatched = message == err.message;\n } else if(message instanceof RegExp) {\n errorMatched = message.test(err.message);\n } else if('function' == typeof message) {\n errorMatched = err instanceof message;\n } else if(util.isObject(message)) {\n try {\n err.should.match(message);\n } catch(e) {\n if(e instanceof should.AssertionError) {\n errorInfo = \": \" + e.message;\n errorMatched = false;\n } else {\n throw e;\n }\n }\n }\n\n if(!errorMatched) {\n if('string' == typeof message || message instanceof RegExp) {\n errorInfo = \" with a message matching \" + i(message) + \", but got '\" + err.message + \"'\";\n } else if('function' == typeof message) {\n errorInfo = \" of type \" + util.functionName(message) + \", but got \" + util.functionName(err.constructor);\n }\n } else if('function' == typeof message && properties) {\n try {\n err.should.match(properties);\n } catch(e) {\n if(e instanceof should.AssertionError) {\n errorInfo = \": \" + e.message;\n errorMatched = false;\n } else {\n throw e;\n }\n }\n }\n } else {\n errorInfo = \" (got \" + i(err) + \")\";\n }\n }\n\n this.params = { operator: 'to throw exception' + errorInfo };\n\n this.assert(thrown);\n this.assert(errorMatched);\n });\n\n Assertion.alias('throw', 'throwError');\n};\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/~/should/lib/ext/error.js\n ** module id = 14\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///(webpack)/~/should/lib/ext/error.js?"); /***/ }, /* 15 */ /*!*******************************************!*\ !*** (webpack)/~/should/lib/ext/match.js ***! \*******************************************/ /***/ function(module, exports, __webpack_require__) { eval("/*!\n * Should\n * Copyright(c) 2010-2014 TJ Holowaychuk <tj@vision-media.ca>\n * MIT Licensed\n */\n\nvar util = __webpack_require__(/*! ../util */ 5),\n eql = __webpack_require__(/*! ../eql */ 19);\n\nmodule.exports = function(should, Assertion) {\n var i = should.format;\n\n Assertion.add('match', function(other, description) {\n this.params = { operator: 'to match ' + i(other), message: description };\n\n if(!eql(this.obj, other)) {\n if(util.isRegExp(other)) { // something - regex\n\n if(util.isString(this.obj)) {\n\n this.assert(other.exec(this.obj));\n } else if(util.isArray(this.obj)) {\n\n this.obj.forEach(function(item) {\n this.assert(other.exec(item));// should we try to convert to String and exec?\n }, this);\n } else if(util.isObject(this.obj)) {\n\n var notMatchedProps = [], matchedProps = [];\n util.forOwn(this.obj, function(value, name) {\n if(other.exec(value)) matchedProps.push(util.formatProp(name));\n else notMatchedProps.push(util.formatProp(name) + ' (' + i(value) +')');\n }, this);\n\n if(notMatchedProps.length)\n this.params.operator += '\\n\\tnot matched properties: ' + notMatchedProps.join(', ');\n if(matchedProps.length)\n this.params.operator += '\\n\\tmatched properties: ' + matchedProps.join(', ');\n\n this.assert(notMatchedProps.length == 0);\n } // should we try to convert to String and exec?\n } else if(util.isFunction(other)) {\n var res;\n try {\n res = other(this.obj);\n } catch(e) {\n if(e instanceof should.AssertionError) {\n this.params.operator += '\\n\\t' + e.message;\n }\n throw e;\n }\n\n if(res instanceof Assertion) {\n this.params.operator += '\\n\\t' + res.getMessage();\n }\n\n //if we throw exception ok - it is used .should inside\n if(util.isBoolean(res)) {\n this.assert(res); // if it is just boolean function assert on it\n }\n } else if(util.isObject(other)) { // try to match properties (for Object and Array)\n notMatchedProps = []; matchedProps = [];\n\n util.forOwn(other, function(value, key) {\n try {\n should(this.obj[key]).match(value);\n matchedProps.push(util.formatProp(key));\n } catch(e) {\n if(e instanceof should.AssertionError) {\n notMatchedProps.push(util.formatProp(key) + ' (' + i(this.obj[key]) + ')');\n } else {\n throw e;\n }\n }\n }, this);\n\n if(notMatchedProps.length)\n this.params.operator += '\\n\\tnot matched properties: ' + notMatchedProps.join(', ');\n if(matchedProps.length)\n this.params.operator += '\\n\\tmatched properties: ' + matchedProps.join(', ');\n\n this.assert(notMatchedProps.length == 0);\n } else {\n this.assert(false);\n }\n }\n });\n\n Assertion.add('matchEach', function(other, description) {\n this.params = { operator: 'to match each ' + i(other), message: description };\n\n var f = other;\n\n if(util.isRegExp(other))\n f = function(it) {\n return !!other.exec(it);\n };\n else if(!util.isFunction(other))\n f = function(it) {\n return eql(it, other);\n };\n\n util.forOwn(this.obj, function(value, key) {\n var res = f(value, key);\n\n //if we throw exception ok - it is used .should inside\n if(util.isBoolean(res)) {\n this.assert(res); // if it is just boolean function assert on it\n }\n }, this);\n });\n};\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/~/should/lib/ext/match.js\n ** module id = 15\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///(webpack)/~/should/lib/ext/match.js?"); /***/ }, /* 16 */ /*!*********************************************!*\ !*** (webpack)/~/should/lib/ext/contain.js ***! \*********************************************/ /***/ function(module, exports, __webpack_require__) { eval("/*!\n * Should\n * Copyright(c) 2010-2014 TJ Holowaychuk <tj@vision-media.ca>\n * MIT Licensed\n */\n\nvar util = __webpack_require__(/*! ../util */ 5),\n eql = __webpack_require__(/*! ../eql */ 19);\n\nmodule.exports = function(should, Assertion) {\n var i = should.format;\n\n Assertion.add('containEql', function(other) {\n this.params = { operator: 'to contain ' + i(other) };\n var obj = this.obj;\n if(util.isArray(obj)) {\n this.assert(obj.some(function(item) {\n return eql(item, other);\n }));\n } else if(util.isString(obj)) {\n // expect obj to be string\n this.assert(obj.indexOf(String(other)) >= 0);\n } else if(util.isObject(obj)) {\n // object contains object case\n util.forOwn(other, function(value, key) {\n obj.should.have.property(key, value);\n });\n } else {\n //other uncovered cases\n this.assert(false);\n }\n });\n\n Assertion.add('containDeepOrdered', function(other) {\n this.params = { operator: 'to contain ' + i(other) };\n\n var obj = this.obj;\n if(util.isArray(obj)) {\n if(util.isArray(other)) {\n var otherIdx = 0;\n obj.forEach(function(item) {\n try {\n should(item).not.be.Null.and.containDeep(other[otherIdx]);\n otherIdx++;\n } catch(e) {\n if(e instanceof should.AssertionError) {\n return;\n }\n throw e;\n }\n }, this);\n\n this.assert(otherIdx == other.length);\n //search array contain other as sub sequence\n } else {\n this.assert(false);\n }\n } else if(util.isString(obj)) {// expect other to be string\n this.assert(obj.indexOf(String(other)) >= 0);\n } else if(util.isObject(obj)) {// object contains object case\n if(util.isObject(other)) {\n util.forOwn(other, function(value, key) {\n should(obj[key]).not.be.Null.and.containDeep(value);\n });\n } else {//one of the properties contain value\n this.assert(false);\n }\n } else {\n this.eql(other);\n }\n });\n\n Assertion.add('containDeep', function(other) {\n this.params = { operator: 'to contain ' + i(other) };\n\n var obj = this.obj;\n if(util.isArray(obj)) {\n if(util.isArray(other)) {\n var usedKeys = {};\n other.forEach(function(otherItem) {\n this.assert(obj.some(function(item, index) {\n if(index in usedKeys) return false;\n\n try {\n should(item).not.be.Null.and.containDeep(otherItem);\n usedKeys[index] = true;\n return true;\n } catch(e) {\n if(e instanceof should.AssertionError) {\n return false;\n }\n throw e;\n }\n }));\n }, this);\n\n } else {\n this.assert(false);\n }\n } else if(util.isString(obj)) {// expect other to be string\n this.assert(obj.indexOf(String(other)) >= 0);\n } else if(util.isObject(obj)) {// object contains object case\n if(util.isObject(other)) {\n util.forOwn(other, function(value, key) {\n should(obj[key]).not.be.Null.and.containDeep(value);\n });\n } else {//one of the properties contain value\n this.assert(false);\n }\n } else {\n this.eql(other);\n }\n });\n\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/~/should/lib/ext/contain.js\n ** module id = 16\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///(webpack)/~/should/lib/ext/contain.js?"); /***/ }, /* 17 */ /*!*************************!*\ !*** external "assert" ***! \*************************/ /***/ function(module, exports, __webpack_require__) { eval("module.exports = require(\"assert\");\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"assert\"\n ** module id = 17\n ** module chunks = 0\n **/\n//# sourceURL=webpack:///external_%22assert%22?"); /***/ }, /* 18 */ /*!*****************************************!*\ !*** (webpack)/~/should/lib/inspect.js ***! \*****************************************/ /***/ function(module, exports, __webpack_require__) { eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar util = __webpack_require__(/*! ./util */ 5);\nvar isBoolean = util.isBoolean;\nvar isObject = util.isObject;\nvar isUndefined = util.isUndefined;\nvar isFunction = util.isFunction;\nvar isString = util.isString;\nvar isNumber = util.isNumber;\nvar isNull = util.isNull;\nvar isRegExp = util.isRegExp;\nvar isDate = util.isDate;\nvar isError = util.isError;\nvar isArray = util.isArray;\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // This could be a boxed primitive (new String(), etc.), check valueOf()\n // NOTE: Avoid calling `valueOf` on `Date` instance because it will return\n // a number which, when object has some additional user-stored `keys`,\n // will be printed out.\n var formatted;\n var raw = value;\n try {\n // the .valueOf() call can fail for a multitude of reasons\n if (!isDate(value))\n raw = value.valueOf();\n } catch (e) {\n // ignore...\n }\n\n if (isString(raw)) {\n // for boxed Strings, we have to remove the 0-n indexed entries,\n // since they just noisey up the output and are redundant\n keys = keys.filter(function(key) {\n return !(key >= 0 && key < raw.length);\n });\n }\n\n if (isError(value)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n // now check the `raw` value to handle boxed primitives\n if (isString(raw)) {\n formatted = formatPrimitiveNoColor(ctx, raw);\n return ctx.stylize('[String: ' + formatted + ']', 'string');\n }\n if (isNumber(raw)) {\n formatted = formatPrimitiveNoColor(ctx, raw);\n return ctx.stylize('[Number: ' + formatted + ']', 'number');\n }\n if (isBoolean(raw)) {\n formatted = formatPrimitiveNoColor(ctx, raw);\n return ctx.stylize('[Boolean: ' + formatted + ']', 'boolean');\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': '