Files
portfolio/node_modules/.cache/babel-loader/7b97eb4489cbe5a8205bc5b366df5cc1.json
2021-09-20 16:54:47 -04:00

1 line
47 KiB
JSON

{"ast":null,"code":"'use strict';\n\nvar objectAssign = require('object-assign'); // compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */\n\n\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) {\n return -1;\n }\n\n if (y < x) {\n return 1;\n }\n\n return 0;\n}\n\nfunction isBuffer(b) {\n if (global.Buffer && typeof global.Buffer.isBuffer === 'function') {\n return global.Buffer.isBuffer(b);\n }\n\n return !!(b != null && b._isBuffer);\n} // based on node assert, original notice:\n// NB: The URL to the CommonJS spec is kept just for tradition.\n// node-assert has evolved a lot since then, both in API and behavior.\n// http://wiki.commonjs.org/wiki/Unit_Testing/1.0\n//\n// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!\n//\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\nvar util = require('util/');\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar pSlice = Array.prototype.slice;\n\nvar functionsHaveNames = function () {\n return function foo() {}.name === 'foo';\n}();\n\nfunction pToString(obj) {\n return Object.prototype.toString.call(obj);\n}\n\nfunction isView(arrbuf) {\n if (isBuffer(arrbuf)) {\n return false;\n }\n\n if (typeof global.ArrayBuffer !== 'function') {\n return false;\n }\n\n if (typeof ArrayBuffer.isView === 'function') {\n return ArrayBuffer.isView(arrbuf);\n }\n\n if (!arrbuf) {\n return false;\n }\n\n if (arrbuf instanceof DataView) {\n return true;\n }\n\n if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) {\n return true;\n }\n\n return false;\n} // 1. The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\n\nvar assert = module.exports = ok; // 2. The AssertionError is defined in assert.\n// new assert.AssertionError({ message: message,\n// actual: actual,\n// expected: expected })\n\nvar regex = /\\s*function\\s+([^\\(\\s]*)\\s*/; // based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js\n\nfunction getName(func) {\n if (!util.isFunction(func)) {\n return;\n }\n\n if (functionsHaveNames) {\n return func.name;\n }\n\n var str = func.toString();\n var match = str.match(regex);\n return match && match[1];\n}\n\nassert.AssertionError = function AssertionError(options) {\n this.name = 'AssertionError';\n this.actual = options.actual;\n this.expected = options.expected;\n this.operator = options.operator;\n\n if (options.message) {\n this.message = options.message;\n this.generatedMessage = false;\n } else {\n this.message = getMessage(this);\n this.generatedMessage = true;\n }\n\n var stackStartFunction = options.stackStartFunction || fail;\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, stackStartFunction);\n } else {\n // non v8 browsers so we can have a stacktrace\n var err = new Error();\n\n if (err.stack) {\n var out = err.stack; // try to strip useless frames\n\n var fn_name = getName(stackStartFunction);\n var idx = out.indexOf('\\n' + fn_name);\n\n if (idx >= 0) {\n // once we have located the function frame\n // we need to strip out everything before it (and its line)\n var next_line = out.indexOf('\\n', idx + 1);\n out = out.substring(next_line + 1);\n }\n\n this.stack = out;\n }\n }\n}; // assert.AssertionError instanceof Error\n\n\nutil.inherits(assert.AssertionError, Error);\n\nfunction truncate(s, n) {\n if (typeof s === 'string') {\n return s.length < n ? s : s.slice(0, n);\n } else {\n return s;\n }\n}\n\nfunction inspect(something) {\n if (functionsHaveNames || !util.isFunction(something)) {\n return util.inspect(something);\n }\n\n var rawname = getName(something);\n var name = rawname ? ': ' + rawname : '';\n return '[Function' + name + ']';\n}\n\nfunction getMessage(self) {\n return truncate(inspect(self.actual), 128) + ' ' + self.operator + ' ' + truncate(inspect(self.expected), 128);\n} // At present only the three keys mentioned above are used and\n// understood by the spec. Implementations or sub modules can pass\n// other keys to the AssertionError's constructor - they will be\n// ignored.\n// 3. All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\n\nfunction fail(actual, expected, message, operator, stackStartFunction) {\n throw new assert.AssertionError({\n message: message,\n actual: actual,\n expected: expected,\n operator: operator,\n stackStartFunction: stackStartFunction\n });\n} // EXTENSION! allows for well behaved errors defined elsewhere.\n\n\nassert.fail = fail; // 4. Pure assertion tests whether a value is truthy, as determined\n// by !!guard.\n// assert.ok(guard, message_opt);\n// This statement is equivalent to assert.equal(true, !!guard,\n// message_opt);. To test strictly for the value true, use\n// assert.strictEqual(true, guard, message_opt);.\n\nfunction ok(value, message) {\n if (!value) fail(value, true, message, '==', assert.ok);\n}\n\nassert.ok = ok; // 5. The equality assertion tests shallow, coercive equality with\n// ==.\n// assert.equal(actual, expected, message_opt);\n\nassert.equal = function equal(actual, expected, message) {\n if (actual != expected) fail(actual, expected, message, '==', assert.equal);\n}; // 6. The non-equality assertion tests for whether two objects are not equal\n// with != assert.notEqual(actual, expected, message_opt);\n\n\nassert.notEqual = function notEqual(actual, expected, message) {\n if (actual == expected) {\n fail(actual, expected, message, '!=', assert.notEqual);\n }\n}; // 7. The equivalence assertion tests a deep equality relation.\n// assert.deepEqual(actual, expected, message_opt);\n\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'deepEqual', assert.deepEqual);\n }\n};\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual);\n }\n};\n\nfunction _deepEqual(actual, expected, strict, memos) {\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n } else if (isBuffer(actual) && isBuffer(expected)) {\n return compare(actual, expected) === 0; // 7.2. If the expected value is a Date object, the actual value is\n // equivalent if it is also a Date object that refers to the same time.\n } else if (util.isDate(actual) && util.isDate(expected)) {\n return actual.getTime() === expected.getTime(); // 7.3 If the expected value is a RegExp object, the actual value is\n // equivalent if it is also a RegExp object with the same source and\n // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).\n } else if (util.isRegExp(actual) && util.isRegExp(expected)) {\n return actual.source === expected.source && actual.global === expected.global && actual.multiline === expected.multiline && actual.lastIndex === expected.lastIndex && actual.ignoreCase === expected.ignoreCase; // 7.4. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if ((actual === null || typeof actual !== 'object') && (expected === null || typeof expected !== 'object')) {\n return strict ? actual === expected : actual == expected; // If both values are instances of typed arrays, wrap their underlying\n // ArrayBuffers in a Buffer each to increase performance\n // This optimization requires the arrays to have the same type as checked by\n // Object.prototype.toString (aka pToString). Never perform binary\n // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their\n // bit patterns are not identical.\n } else if (isView(actual) && isView(expected) && pToString(actual) === pToString(expected) && !(actual instanceof Float32Array || actual instanceof Float64Array)) {\n return compare(new Uint8Array(actual.buffer), new Uint8Array(expected.buffer)) === 0; // 7.5 For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else if (isBuffer(actual) !== isBuffer(expected)) {\n return false;\n } else {\n memos = memos || {\n actual: [],\n expected: []\n };\n var actualIndex = memos.actual.indexOf(actual);\n\n if (actualIndex !== -1) {\n if (actualIndex === memos.expected.indexOf(expected)) {\n return true;\n }\n }\n\n memos.actual.push(actual);\n memos.expected.push(expected);\n return objEquiv(actual, expected, strict, memos);\n }\n}\n\nfunction isArguments(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n}\n\nfunction objEquiv(a, b, strict, actualVisitedObjects) {\n if (a === null || a === undefined || b === null || b === undefined) return false; // if one is a primitive, the other must be same\n\n if (util.isPrimitive(a) || util.isPrimitive(b)) return a === b;\n if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) return false;\n var aIsArgs = isArguments(a);\n var bIsArgs = isArguments(b);\n if (aIsArgs && !bIsArgs || !aIsArgs && bIsArgs) return false;\n\n if (aIsArgs) {\n a = pSlice.call(a);\n b = pSlice.call(b);\n return _deepEqual(a, b, strict);\n }\n\n var ka = objectKeys(a);\n var kb = objectKeys(b);\n var key, i; // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n\n if (ka.length !== kb.length) return false; //the same set of keys (although not necessarily the same order),\n\n ka.sort();\n kb.sort(); //~~~cheap key test\n\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] !== kb[i]) return false;\n } //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n\n\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects)) return false;\n }\n\n return true;\n} // 8. The non-equivalence assertion tests for any deep inequality.\n// assert.notDeepEqual(actual, expected, message_opt);\n\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\n\nfunction notDeepStrictEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual);\n }\n} // 9. The strict equality assertion tests strict equality, as determined by ===.\n// assert.strictEqual(actual, expected, message_opt);\n\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (actual !== expected) {\n fail(actual, expected, message, '===', assert.strictEqual);\n }\n}; // 10. The strict non-equality assertion tests for strict inequality, as\n// determined by !==. assert.notStrictEqual(actual, expected, message_opt);\n\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (actual === expected) {\n fail(actual, expected, message, '!==', assert.notStrictEqual);\n }\n};\n\nfunction expectedException(actual, expected) {\n if (!actual || !expected) {\n return false;\n }\n\n if (Object.prototype.toString.call(expected) == '[object RegExp]') {\n return expected.test(actual);\n }\n\n try {\n if (actual instanceof expected) {\n return true;\n }\n } catch (e) {// Ignore. The instanceof check doesn't work for arrow functions.\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction _tryBlock(block) {\n var error;\n\n try {\n block();\n } catch (e) {\n error = e;\n }\n\n return error;\n}\n\nfunction _throws(shouldThrow, block, expected, message) {\n var actual;\n\n if (typeof block !== 'function') {\n throw new TypeError('\"block\" argument must be a function');\n }\n\n if (typeof expected === 'string') {\n message = expected;\n expected = null;\n }\n\n actual = _tryBlock(block);\n message = (expected && expected.name ? ' (' + expected.name + ').' : '.') + (message ? ' ' + message : '.');\n\n if (shouldThrow && !actual) {\n fail(actual, expected, 'Missing expected exception' + message);\n }\n\n var userProvidedMessage = typeof message === 'string';\n var isUnwantedException = !shouldThrow && util.isError(actual);\n var isUnexpectedException = !shouldThrow && actual && !expected;\n\n if (isUnwantedException && userProvidedMessage && expectedException(actual, expected) || isUnexpectedException) {\n fail(actual, expected, 'Got unwanted exception' + message);\n }\n\n if (shouldThrow && actual && expected && !expectedException(actual, expected) || !shouldThrow && actual) {\n throw actual;\n }\n} // 11. Expected to throw an error:\n// assert.throws(block, Error_opt, message_opt);\n\n\nassert.throws = function (block,\n/*optional*/\nerror,\n/*optional*/\nmessage) {\n _throws(true, block, error, message);\n}; // EXTENSION! This is annoying to write outside this module.\n\n\nassert.doesNotThrow = function (block,\n/*optional*/\nerror,\n/*optional*/\nmessage) {\n _throws(false, block, error, message);\n};\n\nassert.ifError = function (err) {\n if (err) throw err;\n}; // Expose a strict only variant of assert\n\n\nfunction strict(value, message) {\n if (!value) fail(value, true, message, '==', strict);\n}\n\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n if (hasOwn.call(obj, key)) keys.push(key);\n }\n\n return keys;\n};","map":{"version":3,"sources":["/Users/tylerkoenig/Code/personal/react-scss2/node_modules/assert/assert.js"],"names":["objectAssign","require","compare","a","b","x","length","y","i","len","Math","min","isBuffer","global","Buffer","_isBuffer","util","hasOwn","Object","prototype","hasOwnProperty","pSlice","Array","slice","functionsHaveNames","foo","name","pToString","obj","toString","call","isView","arrbuf","ArrayBuffer","DataView","buffer","assert","module","exports","ok","regex","getName","func","isFunction","str","match","AssertionError","options","actual","expected","operator","message","generatedMessage","getMessage","stackStartFunction","fail","Error","captureStackTrace","err","stack","out","fn_name","idx","indexOf","next_line","substring","inherits","truncate","s","n","inspect","something","rawname","self","value","equal","notEqual","deepEqual","_deepEqual","deepStrictEqual","strict","memos","isDate","getTime","isRegExp","source","multiline","lastIndex","ignoreCase","Float32Array","Float64Array","Uint8Array","actualIndex","push","objEquiv","isArguments","object","actualVisitedObjects","undefined","isPrimitive","getPrototypeOf","aIsArgs","bIsArgs","ka","objectKeys","kb","key","sort","notDeepEqual","notDeepStrictEqual","strictEqual","notStrictEqual","expectedException","test","e","isPrototypeOf","_tryBlock","block","error","_throws","shouldThrow","TypeError","userProvidedMessage","isUnwantedException","isError","isUnexpectedException","throws","doesNotThrow","ifError","keys"],"mappings":"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","sourcesContent":["'use strict';\n\nvar objectAssign = require('object-assign');\n\n// compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) {\n return -1;\n }\n if (y < x) {\n return 1;\n }\n return 0;\n}\nfunction isBuffer(b) {\n if (global.Buffer && typeof global.Buffer.isBuffer === 'function') {\n return global.Buffer.isBuffer(b);\n }\n return !!(b != null && b._isBuffer);\n}\n\n// based on node assert, original notice:\n// NB: The URL to the CommonJS spec is kept just for tradition.\n// node-assert has evolved a lot since then, both in API and behavior.\n\n// http://wiki.commonjs.org/wiki/Unit_Testing/1.0\n//\n// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!\n//\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar util = require('util/');\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar pSlice = Array.prototype.slice;\nvar functionsHaveNames = (function () {\n return function foo() {}.name === 'foo';\n}());\nfunction pToString (obj) {\n return Object.prototype.toString.call(obj);\n}\nfunction isView(arrbuf) {\n if (isBuffer(arrbuf)) {\n return false;\n }\n if (typeof global.ArrayBuffer !== 'function') {\n return false;\n }\n if (typeof ArrayBuffer.isView === 'function') {\n return ArrayBuffer.isView(arrbuf);\n }\n if (!arrbuf) {\n return false;\n }\n if (arrbuf instanceof DataView) {\n return true;\n }\n if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) {\n return true;\n }\n return false;\n}\n// 1. The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\n\n// 2. The AssertionError is defined in assert.\n// new assert.AssertionError({ message: message,\n// actual: actual,\n// expected: expected })\n\nvar regex = /\\s*function\\s+([^\\(\\s]*)\\s*/;\n// based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js\nfunction getName(func) {\n if (!util.isFunction(func)) {\n return;\n }\n if (functionsHaveNames) {\n return func.name;\n }\n var str = func.toString();\n var match = str.match(regex);\n return match && match[1];\n}\nassert.AssertionError = function AssertionError(options) {\n this.name = 'AssertionError';\n this.actual = options.actual;\n this.expected = options.expected;\n this.operator = options.operator;\n if (options.message) {\n this.message = options.message;\n this.generatedMessage = false;\n } else {\n this.message = getMessage(this);\n this.generatedMessage = true;\n }\n var stackStartFunction = options.stackStartFunction || fail;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, stackStartFunction);\n } else {\n // non v8 browsers so we can have a stacktrace\n var err = new Error();\n if (err.stack) {\n var out = err.stack;\n\n // try to strip useless frames\n var fn_name = getName(stackStartFunction);\n var idx = out.indexOf('\\n' + fn_name);\n if (idx >= 0) {\n // once we have located the function frame\n // we need to strip out everything before it (and its line)\n var next_line = out.indexOf('\\n', idx + 1);\n out = out.substring(next_line + 1);\n }\n\n this.stack = out;\n }\n }\n};\n\n// assert.AssertionError instanceof Error\nutil.inherits(assert.AssertionError, Error);\n\nfunction truncate(s, n) {\n if (typeof s === 'string') {\n return s.length < n ? s : s.slice(0, n);\n } else {\n return s;\n }\n}\nfunction inspect(something) {\n if (functionsHaveNames || !util.isFunction(something)) {\n return util.inspect(something);\n }\n var rawname = getName(something);\n var name = rawname ? ': ' + rawname : '';\n return '[Function' + name + ']';\n}\nfunction getMessage(self) {\n return truncate(inspect(self.actual), 128) + ' ' +\n self.operator + ' ' +\n truncate(inspect(self.expected), 128);\n}\n\n// At present only the three keys mentioned above are used and\n// understood by the spec. Implementations or sub modules can pass\n// other keys to the AssertionError's constructor - they will be\n// ignored.\n\n// 3. All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction fail(actual, expected, message, operator, stackStartFunction) {\n throw new assert.AssertionError({\n message: message,\n actual: actual,\n expected: expected,\n operator: operator,\n stackStartFunction: stackStartFunction\n });\n}\n\n// EXTENSION! allows for well behaved errors defined elsewhere.\nassert.fail = fail;\n\n// 4. Pure assertion tests whether a value is truthy, as determined\n// by !!guard.\n// assert.ok(guard, message_opt);\n// This statement is equivalent to assert.equal(true, !!guard,\n// message_opt);. To test strictly for the value true, use\n// assert.strictEqual(true, guard, message_opt);.\n\nfunction ok(value, message) {\n if (!value) fail(value, true, message, '==', assert.ok);\n}\nassert.ok = ok;\n\n// 5. The equality assertion tests shallow, coercive equality with\n// ==.\n// assert.equal(actual, expected, message_opt);\n\nassert.equal = function equal(actual, expected, message) {\n if (actual != expected) fail(actual, expected, message, '==', assert.equal);\n};\n\n// 6. The non-equality assertion tests for whether two objects are not equal\n// with != assert.notEqual(actual, expected, message_opt);\n\nassert.notEqual = function notEqual(actual, expected, message) {\n if (actual == expected) {\n fail(actual, expected, message, '!=', assert.notEqual);\n }\n};\n\n// 7. The equivalence assertion tests a deep equality relation.\n// assert.deepEqual(actual, expected, message_opt);\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'deepEqual', assert.deepEqual);\n }\n};\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual);\n }\n};\n\nfunction _deepEqual(actual, expected, strict, memos) {\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n } else if (isBuffer(actual) && isBuffer(expected)) {\n return compare(actual, expected) === 0;\n\n // 7.2. If the expected value is a Date object, the actual value is\n // equivalent if it is also a Date object that refers to the same time.\n } else if (util.isDate(actual) && util.isDate(expected)) {\n return actual.getTime() === expected.getTime();\n\n // 7.3 If the expected value is a RegExp object, the actual value is\n // equivalent if it is also a RegExp object with the same source and\n // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).\n } else if (util.isRegExp(actual) && util.isRegExp(expected)) {\n return actual.source === expected.source &&\n actual.global === expected.global &&\n actual.multiline === expected.multiline &&\n actual.lastIndex === expected.lastIndex &&\n actual.ignoreCase === expected.ignoreCase;\n\n // 7.4. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if ((actual === null || typeof actual !== 'object') &&\n (expected === null || typeof expected !== 'object')) {\n return strict ? actual === expected : actual == expected;\n\n // If both values are instances of typed arrays, wrap their underlying\n // ArrayBuffers in a Buffer each to increase performance\n // This optimization requires the arrays to have the same type as checked by\n // Object.prototype.toString (aka pToString). Never perform binary\n // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their\n // bit patterns are not identical.\n } else if (isView(actual) && isView(expected) &&\n pToString(actual) === pToString(expected) &&\n !(actual instanceof Float32Array ||\n actual instanceof Float64Array)) {\n return compare(new Uint8Array(actual.buffer),\n new Uint8Array(expected.buffer)) === 0;\n\n // 7.5 For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else if (isBuffer(actual) !== isBuffer(expected)) {\n return false;\n } else {\n memos = memos || {actual: [], expected: []};\n\n var actualIndex = memos.actual.indexOf(actual);\n if (actualIndex !== -1) {\n if (actualIndex === memos.expected.indexOf(expected)) {\n return true;\n }\n }\n\n memos.actual.push(actual);\n memos.expected.push(expected);\n\n return objEquiv(actual, expected, strict, memos);\n }\n}\n\nfunction isArguments(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n}\n\nfunction objEquiv(a, b, strict, actualVisitedObjects) {\n if (a === null || a === undefined || b === null || b === undefined)\n return false;\n // if one is a primitive, the other must be same\n if (util.isPrimitive(a) || util.isPrimitive(b))\n return a === b;\n if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b))\n return false;\n var aIsArgs = isArguments(a);\n var bIsArgs = isArguments(b);\n if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))\n return false;\n if (aIsArgs) {\n a = pSlice.call(a);\n b = pSlice.call(b);\n return _deepEqual(a, b, strict);\n }\n var ka = objectKeys(a);\n var kb = objectKeys(b);\n var key, i;\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length !== kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] !== kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects))\n return false;\n }\n return true;\n}\n\n// 8. The non-equivalence assertion tests for any deep inequality.\n// assert.notDeepEqual(actual, expected, message_opt);\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\nfunction notDeepStrictEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual);\n }\n}\n\n\n// 9. The strict equality assertion tests strict equality, as determined by ===.\n// assert.strictEqual(actual, expected, message_opt);\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (actual !== expected) {\n fail(actual, expected, message, '===', assert.strictEqual);\n }\n};\n\n// 10. The strict non-equality assertion tests for strict inequality, as\n// determined by !==. assert.notStrictEqual(actual, expected, message_opt);\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (actual === expected) {\n fail(actual, expected, message, '!==', assert.notStrictEqual);\n }\n};\n\nfunction expectedException(actual, expected) {\n if (!actual || !expected) {\n return false;\n }\n\n if (Object.prototype.toString.call(expected) == '[object RegExp]') {\n return expected.test(actual);\n }\n\n try {\n if (actual instanceof expected) {\n return true;\n }\n } catch (e) {\n // Ignore. The instanceof check doesn't work for arrow functions.\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction _tryBlock(block) {\n var error;\n try {\n block();\n } catch (e) {\n error = e;\n }\n return error;\n}\n\nfunction _throws(shouldThrow, block, expected, message) {\n var actual;\n\n if (typeof block !== 'function') {\n throw new TypeError('\"block\" argument must be a function');\n }\n\n if (typeof expected === 'string') {\n message = expected;\n expected = null;\n }\n\n actual = _tryBlock(block);\n\n message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +\n (message ? ' ' + message : '.');\n\n if (shouldThrow && !actual) {\n fail(actual, expected, 'Missing expected exception' + message);\n }\n\n var userProvidedMessage = typeof message === 'string';\n var isUnwantedException = !shouldThrow && util.isError(actual);\n var isUnexpectedException = !shouldThrow && actual && !expected;\n\n if ((isUnwantedException &&\n userProvidedMessage &&\n expectedException(actual, expected)) ||\n isUnexpectedException) {\n fail(actual, expected, 'Got unwanted exception' + message);\n }\n\n if ((shouldThrow && actual && expected &&\n !expectedException(actual, expected)) || (!shouldThrow && actual)) {\n throw actual;\n }\n}\n\n// 11. Expected to throw an error:\n// assert.throws(block, Error_opt, message_opt);\n\nassert.throws = function(block, /*optional*/error, /*optional*/message) {\n _throws(true, block, error, message);\n};\n\n// EXTENSION! This is annoying to write outside this module.\nassert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) {\n _throws(false, block, error, message);\n};\n\nassert.ifError = function(err) { if (err) throw err; };\n\n// Expose a strict only variant of assert\nfunction strict(value, message) {\n if (!value) fail(value, true, message, '==', strict);\n}\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n if (hasOwn.call(obj, key)) keys.push(key);\n }\n return keys;\n};\n"]},"metadata":{},"sourceType":"script"}