3263 lines
		
	
	
		
			96 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			3263 lines
		
	
	
		
			96 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | (function webpackUniversalModuleDefinition(root, factory) { | ||
|  | 	if(typeof exports === 'object' && typeof module === 'object') | ||
|  | 		module.exports = factory(); | ||
|  | 	else if(typeof define === 'function' && define.amd) | ||
|  | 		define([], factory); | ||
|  | 	else if(typeof exports === 'object') | ||
|  | 		exports["prettyFormat"] = factory(); | ||
|  | 	else | ||
|  | 		root["prettyFormat"] = factory(); | ||
|  | })(window, function() { | ||
|  | return /******/ (function(modules) { // webpackBootstrap
 | ||
|  | /******/ 	// The module cache
 | ||
|  | /******/ 	var installedModules = {}; | ||
|  | /******/ | ||
|  | /******/ 	// 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] = { | ||
|  | /******/ 			i: moduleId, | ||
|  | /******/ 			l: false, | ||
|  | /******/ 			exports: {} | ||
|  | /******/ 		}; | ||
|  | /******/ | ||
|  | /******/ 		// Execute the module function
 | ||
|  | /******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); | ||
|  | /******/ | ||
|  | /******/ 		// Flag the module as loaded
 | ||
|  | /******/ 		module.l = true; | ||
|  | /******/ | ||
|  | /******/ 		// Return the exports of the module
 | ||
|  | /******/ 		return module.exports; | ||
|  | /******/ 	} | ||
|  | /******/ | ||
|  | /******/ | ||
|  | /******/ 	// expose the modules object (__webpack_modules__)
 | ||
|  | /******/ 	__webpack_require__.m = modules; | ||
|  | /******/ | ||
|  | /******/ 	// expose the module cache
 | ||
|  | /******/ 	__webpack_require__.c = installedModules; | ||
|  | /******/ | ||
|  | /******/ 	// define getter function for harmony exports
 | ||
|  | /******/ 	__webpack_require__.d = function(exports, name, getter) { | ||
|  | /******/ 		if(!__webpack_require__.o(exports, name)) { | ||
|  | /******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter }); | ||
|  | /******/ 		} | ||
|  | /******/ 	}; | ||
|  | /******/ | ||
|  | /******/ 	// define __esModule on exports
 | ||
|  | /******/ 	__webpack_require__.r = function(exports) { | ||
|  | /******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | ||
|  | /******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | ||
|  | /******/ 		} | ||
|  | /******/ 		Object.defineProperty(exports, '__esModule', { value: true }); | ||
|  | /******/ 	}; | ||
|  | /******/ | ||
|  | /******/ 	// create a fake namespace object
 | ||
|  | /******/ 	// mode & 1: value is a module id, require it
 | ||
|  | /******/ 	// mode & 2: merge all properties of value into the ns
 | ||
|  | /******/ 	// mode & 4: return value when already ns object
 | ||
|  | /******/ 	// mode & 8|1: behave like require
 | ||
|  | /******/ 	__webpack_require__.t = function(value, mode) { | ||
|  | /******/ 		if(mode & 1) value = __webpack_require__(value); | ||
|  | /******/ 		if(mode & 8) return value; | ||
|  | /******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; | ||
|  | /******/ 		var ns = Object.create(null); | ||
|  | /******/ 		__webpack_require__.r(ns); | ||
|  | /******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value }); | ||
|  | /******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); | ||
|  | /******/ 		return ns; | ||
|  | /******/ 	}; | ||
|  | /******/ | ||
|  | /******/ 	// getDefaultExport function for compatibility with non-harmony modules
 | ||
|  | /******/ 	__webpack_require__.n = function(module) { | ||
|  | /******/ 		var getter = module && module.__esModule ? | ||
|  | /******/ 			function getDefault() { return module['default']; } : | ||
|  | /******/ 			function getModuleExports() { return module; }; | ||
|  | /******/ 		__webpack_require__.d(getter, 'a', getter); | ||
|  | /******/ 		return getter; | ||
|  | /******/ 	}; | ||
|  | /******/ | ||
|  | /******/ 	// Object.prototype.hasOwnProperty.call
 | ||
|  | /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; | ||
|  | /******/ | ||
|  | /******/ 	// __webpack_public_path__
 | ||
|  | /******/ 	__webpack_require__.p = ""; | ||
|  | /******/ | ||
|  | /******/ | ||
|  | /******/ 	// Load entry module and return exports
 | ||
|  | /******/ 	return __webpack_require__(__webpack_require__.s = "./packages/pretty-format/src/index.ts"); | ||
|  | /******/ }) | ||
|  | /************************************************************************/ | ||
|  | /******/ ({ | ||
|  | 
 | ||
|  | /***/ "./node_modules/ansi-regex/index.js": | ||
|  | /*!******************************************!*\ | ||
|  |   !*** ./node_modules/ansi-regex/index.js ***! | ||
|  |   \******************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | module.exports = function (options) { | ||
|  |   options = Object.assign({ | ||
|  |     onlyFirst: false | ||
|  |   }, options); | ||
|  |   var pattern = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)", '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'].join('|'); | ||
|  |   return new RegExp(pattern, options.onlyFirst ? undefined : 'g'); | ||
|  | }; | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./node_modules/ansi-styles/index.js": | ||
|  | /*!*******************************************!*\ | ||
|  |   !*** ./node_modules/ansi-styles/index.js ***! | ||
|  |   \*******************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | /* WEBPACK VAR INJECTION */(function(module) { | ||
|  | 
 | ||
|  | function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | ||
|  | 
 | ||
|  | var colorConvert = __webpack_require__(/*! color-convert */ "./node_modules/color-convert/index.js"); | ||
|  | 
 | ||
|  | var wrapAnsi16 = function wrapAnsi16(fn, offset) { | ||
|  |   return function () { | ||
|  |     var code = fn.apply(colorConvert, arguments); | ||
|  |     return "\x1B[".concat(code + offset, "m"); | ||
|  |   }; | ||
|  | }; | ||
|  | 
 | ||
|  | var wrapAnsi256 = function wrapAnsi256(fn, offset) { | ||
|  |   return function () { | ||
|  |     var code = fn.apply(colorConvert, arguments); | ||
|  |     return "\x1B[".concat(38 + offset, ";5;").concat(code, "m"); | ||
|  |   }; | ||
|  | }; | ||
|  | 
 | ||
|  | var wrapAnsi16m = function wrapAnsi16m(fn, offset) { | ||
|  |   return function () { | ||
|  |     var rgb = fn.apply(colorConvert, arguments); | ||
|  |     return "\x1B[".concat(38 + offset, ";2;").concat(rgb[0], ";").concat(rgb[1], ";").concat(rgb[2], "m"); | ||
|  |   }; | ||
|  | }; | ||
|  | 
 | ||
|  | function assembleStyles() { | ||
|  |   var codes = new Map(); | ||
|  |   var styles = { | ||
|  |     modifier: { | ||
|  |       reset: [0, 0], | ||
|  |       // 21 isn't widely supported and 22 does the same thing
 | ||
|  |       bold: [1, 22], | ||
|  |       dim: [2, 22], | ||
|  |       italic: [3, 23], | ||
|  |       underline: [4, 24], | ||
|  |       inverse: [7, 27], | ||
|  |       hidden: [8, 28], | ||
|  |       strikethrough: [9, 29] | ||
|  |     }, | ||
|  |     color: { | ||
|  |       black: [30, 39], | ||
|  |       red: [31, 39], | ||
|  |       green: [32, 39], | ||
|  |       yellow: [33, 39], | ||
|  |       blue: [34, 39], | ||
|  |       magenta: [35, 39], | ||
|  |       cyan: [36, 39], | ||
|  |       white: [37, 39], | ||
|  |       gray: [90, 39], | ||
|  |       // Bright color
 | ||
|  |       redBright: [91, 39], | ||
|  |       greenBright: [92, 39], | ||
|  |       yellowBright: [93, 39], | ||
|  |       blueBright: [94, 39], | ||
|  |       magentaBright: [95, 39], | ||
|  |       cyanBright: [96, 39], | ||
|  |       whiteBright: [97, 39] | ||
|  |     }, | ||
|  |     bgColor: { | ||
|  |       bgBlack: [40, 49], | ||
|  |       bgRed: [41, 49], | ||
|  |       bgGreen: [42, 49], | ||
|  |       bgYellow: [43, 49], | ||
|  |       bgBlue: [44, 49], | ||
|  |       bgMagenta: [45, 49], | ||
|  |       bgCyan: [46, 49], | ||
|  |       bgWhite: [47, 49], | ||
|  |       // Bright color
 | ||
|  |       bgBlackBright: [100, 49], | ||
|  |       bgRedBright: [101, 49], | ||
|  |       bgGreenBright: [102, 49], | ||
|  |       bgYellowBright: [103, 49], | ||
|  |       bgBlueBright: [104, 49], | ||
|  |       bgMagentaBright: [105, 49], | ||
|  |       bgCyanBright: [106, 49], | ||
|  |       bgWhiteBright: [107, 49] | ||
|  |     } | ||
|  |   }; // Fix humans
 | ||
|  | 
 | ||
|  |   styles.color.grey = styles.color.gray; | ||
|  | 
 | ||
|  |   var _arr = Object.keys(styles); | ||
|  | 
 | ||
|  |   for (var _i = 0; _i < _arr.length; _i++) { | ||
|  |     var groupName = _arr[_i]; | ||
|  |     var group = styles[groupName]; | ||
|  | 
 | ||
|  |     var _arr3 = Object.keys(group); | ||
|  | 
 | ||
|  |     for (var _i3 = 0; _i3 < _arr3.length; _i3++) { | ||
|  |       var styleName = _arr3[_i3]; | ||
|  |       var style = group[styleName]; | ||
|  |       styles[styleName] = { | ||
|  |         open: "\x1B[".concat(style[0], "m"), | ||
|  |         close: "\x1B[".concat(style[1], "m") | ||
|  |       }; | ||
|  |       group[styleName] = styles[styleName]; | ||
|  |       codes.set(style[0], style[1]); | ||
|  |     } | ||
|  | 
 | ||
|  |     Object.defineProperty(styles, groupName, { | ||
|  |       value: group, | ||
|  |       enumerable: false | ||
|  |     }); | ||
|  |     Object.defineProperty(styles, 'codes', { | ||
|  |       value: codes, | ||
|  |       enumerable: false | ||
|  |     }); | ||
|  |   } | ||
|  | 
 | ||
|  |   var ansi2ansi = function ansi2ansi(n) { | ||
|  |     return n; | ||
|  |   }; | ||
|  | 
 | ||
|  |   var rgb2rgb = function rgb2rgb(r, g, b) { | ||
|  |     return [r, g, b]; | ||
|  |   }; | ||
|  | 
 | ||
|  |   styles.color.close = "\x1B[39m"; | ||
|  |   styles.bgColor.close = "\x1B[49m"; | ||
|  |   styles.color.ansi = { | ||
|  |     ansi: wrapAnsi16(ansi2ansi, 0) | ||
|  |   }; | ||
|  |   styles.color.ansi256 = { | ||
|  |     ansi256: wrapAnsi256(ansi2ansi, 0) | ||
|  |   }; | ||
|  |   styles.color.ansi16m = { | ||
|  |     rgb: wrapAnsi16m(rgb2rgb, 0) | ||
|  |   }; | ||
|  |   styles.bgColor.ansi = { | ||
|  |     ansi: wrapAnsi16(ansi2ansi, 10) | ||
|  |   }; | ||
|  |   styles.bgColor.ansi256 = { | ||
|  |     ansi256: wrapAnsi256(ansi2ansi, 10) | ||
|  |   }; | ||
|  |   styles.bgColor.ansi16m = { | ||
|  |     rgb: wrapAnsi16m(rgb2rgb, 10) | ||
|  |   }; | ||
|  | 
 | ||
|  |   var _arr2 = Object.keys(colorConvert); | ||
|  | 
 | ||
|  |   for (var _i2 = 0; _i2 < _arr2.length; _i2++) { | ||
|  |     var key = _arr2[_i2]; | ||
|  | 
 | ||
|  |     if (_typeof(colorConvert[key]) !== 'object') { | ||
|  |       continue; | ||
|  |     } | ||
|  | 
 | ||
|  |     var suite = colorConvert[key]; | ||
|  | 
 | ||
|  |     if (key === 'ansi16') { | ||
|  |       key = 'ansi'; | ||
|  |     } | ||
|  | 
 | ||
|  |     if ('ansi16' in suite) { | ||
|  |       styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); | ||
|  |       styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); | ||
|  |     } | ||
|  | 
 | ||
|  |     if ('ansi256' in suite) { | ||
|  |       styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); | ||
|  |       styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); | ||
|  |     } | ||
|  | 
 | ||
|  |     if ('rgb' in suite) { | ||
|  |       styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); | ||
|  |       styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); | ||
|  |     } | ||
|  |   } | ||
|  | 
 | ||
|  |   return styles; | ||
|  | } // Make the export immutable
 | ||
|  | 
 | ||
|  | 
 | ||
|  | Object.defineProperty(module, 'exports', { | ||
|  |   enumerable: true, | ||
|  |   get: assembleStyles | ||
|  | }); | ||
|  | /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module))) | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./node_modules/color-convert/conversions.js": | ||
|  | /*!***************************************************!*\ | ||
|  |   !*** ./node_modules/color-convert/conversions.js ***! | ||
|  |   \***************************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | /* MIT license */ | ||
|  | var cssKeywords = __webpack_require__(/*! color-name */ "./node_modules/color-name/index.js"); // NOTE: conversions should only return primitive values (i.e. arrays, or
 | ||
|  | //       values that give correct `typeof` results).
 | ||
|  | //       do not use box values types (i.e. Number(), String(), etc.)
 | ||
|  | 
 | ||
|  | 
 | ||
|  | var reverseKeywords = {}; | ||
|  | 
 | ||
|  | for (var key in cssKeywords) { | ||
|  |   if (cssKeywords.hasOwnProperty(key)) { | ||
|  |     reverseKeywords[cssKeywords[key]] = key; | ||
|  |   } | ||
|  | } | ||
|  | 
 | ||
|  | var convert = module.exports = { | ||
|  |   rgb: { | ||
|  |     channels: 3, | ||
|  |     labels: 'rgb' | ||
|  |   }, | ||
|  |   hsl: { | ||
|  |     channels: 3, | ||
|  |     labels: 'hsl' | ||
|  |   }, | ||
|  |   hsv: { | ||
|  |     channels: 3, | ||
|  |     labels: 'hsv' | ||
|  |   }, | ||
|  |   hwb: { | ||
|  |     channels: 3, | ||
|  |     labels: 'hwb' | ||
|  |   }, | ||
|  |   cmyk: { | ||
|  |     channels: 4, | ||
|  |     labels: 'cmyk' | ||
|  |   }, | ||
|  |   xyz: { | ||
|  |     channels: 3, | ||
|  |     labels: 'xyz' | ||
|  |   }, | ||
|  |   lab: { | ||
|  |     channels: 3, | ||
|  |     labels: 'lab' | ||
|  |   }, | ||
|  |   lch: { | ||
|  |     channels: 3, | ||
|  |     labels: 'lch' | ||
|  |   }, | ||
|  |   hex: { | ||
|  |     channels: 1, | ||
|  |     labels: ['hex'] | ||
|  |   }, | ||
|  |   keyword: { | ||
|  |     channels: 1, | ||
|  |     labels: ['keyword'] | ||
|  |   }, | ||
|  |   ansi16: { | ||
|  |     channels: 1, | ||
|  |     labels: ['ansi16'] | ||
|  |   }, | ||
|  |   ansi256: { | ||
|  |     channels: 1, | ||
|  |     labels: ['ansi256'] | ||
|  |   }, | ||
|  |   hcg: { | ||
|  |     channels: 3, | ||
|  |     labels: ['h', 'c', 'g'] | ||
|  |   }, | ||
|  |   apple: { | ||
|  |     channels: 3, | ||
|  |     labels: ['r16', 'g16', 'b16'] | ||
|  |   }, | ||
|  |   gray: { | ||
|  |     channels: 1, | ||
|  |     labels: ['gray'] | ||
|  |   } | ||
|  | }; // hide .channels and .labels properties
 | ||
|  | 
 | ||
|  | for (var model in convert) { | ||
|  |   if (convert.hasOwnProperty(model)) { | ||
|  |     if (!('channels' in convert[model])) { | ||
|  |       throw new Error('missing channels property: ' + model); | ||
|  |     } | ||
|  | 
 | ||
|  |     if (!('labels' in convert[model])) { | ||
|  |       throw new Error('missing channel labels property: ' + model); | ||
|  |     } | ||
|  | 
 | ||
|  |     if (convert[model].labels.length !== convert[model].channels) { | ||
|  |       throw new Error('channel and label counts mismatch: ' + model); | ||
|  |     } | ||
|  | 
 | ||
|  |     var channels = convert[model].channels; | ||
|  |     var labels = convert[model].labels; | ||
|  |     delete convert[model].channels; | ||
|  |     delete convert[model].labels; | ||
|  |     Object.defineProperty(convert[model], 'channels', { | ||
|  |       value: channels | ||
|  |     }); | ||
|  |     Object.defineProperty(convert[model], 'labels', { | ||
|  |       value: labels | ||
|  |     }); | ||
|  |   } | ||
|  | } | ||
|  | 
 | ||
|  | convert.rgb.hsl = function (rgb) { | ||
|  |   var r = rgb[0] / 255; | ||
|  |   var g = rgb[1] / 255; | ||
|  |   var b = rgb[2] / 255; | ||
|  |   var min = Math.min(r, g, b); | ||
|  |   var max = Math.max(r, g, b); | ||
|  |   var delta = max - min; | ||
|  |   var h; | ||
|  |   var s; | ||
|  |   var l; | ||
|  | 
 | ||
|  |   if (max === min) { | ||
|  |     h = 0; | ||
|  |   } else if (r === max) { | ||
|  |     h = (g - b) / delta; | ||
|  |   } else if (g === max) { | ||
|  |     h = 2 + (b - r) / delta; | ||
|  |   } else if (b === max) { | ||
|  |     h = 4 + (r - g) / delta; | ||
|  |   } | ||
|  | 
 | ||
|  |   h = Math.min(h * 60, 360); | ||
|  | 
 | ||
|  |   if (h < 0) { | ||
|  |     h += 360; | ||
|  |   } | ||
|  | 
 | ||
|  |   l = (min + max) / 2; | ||
|  | 
 | ||
|  |   if (max === min) { | ||
|  |     s = 0; | ||
|  |   } else if (l <= 0.5) { | ||
|  |     s = delta / (max + min); | ||
|  |   } else { | ||
|  |     s = delta / (2 - max - min); | ||
|  |   } | ||
|  | 
 | ||
|  |   return [h, s * 100, l * 100]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.rgb.hsv = function (rgb) { | ||
|  |   var rdif; | ||
|  |   var gdif; | ||
|  |   var bdif; | ||
|  |   var h; | ||
|  |   var s; | ||
|  |   var r = rgb[0] / 255; | ||
|  |   var g = rgb[1] / 255; | ||
|  |   var b = rgb[2] / 255; | ||
|  |   var v = Math.max(r, g, b); | ||
|  |   var diff = v - Math.min(r, g, b); | ||
|  | 
 | ||
|  |   var diffc = function diffc(c) { | ||
|  |     return (v - c) / 6 / diff + 1 / 2; | ||
|  |   }; | ||
|  | 
 | ||
|  |   if (diff === 0) { | ||
|  |     h = s = 0; | ||
|  |   } else { | ||
|  |     s = diff / v; | ||
|  |     rdif = diffc(r); | ||
|  |     gdif = diffc(g); | ||
|  |     bdif = diffc(b); | ||
|  | 
 | ||
|  |     if (r === v) { | ||
|  |       h = bdif - gdif; | ||
|  |     } else if (g === v) { | ||
|  |       h = 1 / 3 + rdif - bdif; | ||
|  |     } else if (b === v) { | ||
|  |       h = 2 / 3 + gdif - rdif; | ||
|  |     } | ||
|  | 
 | ||
|  |     if (h < 0) { | ||
|  |       h += 1; | ||
|  |     } else if (h > 1) { | ||
|  |       h -= 1; | ||
|  |     } | ||
|  |   } | ||
|  | 
 | ||
|  |   return [h * 360, s * 100, v * 100]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.rgb.hwb = function (rgb) { | ||
|  |   var r = rgb[0]; | ||
|  |   var g = rgb[1]; | ||
|  |   var b = rgb[2]; | ||
|  |   var h = convert.rgb.hsl(rgb)[0]; | ||
|  |   var w = 1 / 255 * Math.min(r, Math.min(g, b)); | ||
|  |   b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); | ||
|  |   return [h, w * 100, b * 100]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.rgb.cmyk = function (rgb) { | ||
|  |   var r = rgb[0] / 255; | ||
|  |   var g = rgb[1] / 255; | ||
|  |   var b = rgb[2] / 255; | ||
|  |   var c; | ||
|  |   var m; | ||
|  |   var y; | ||
|  |   var k; | ||
|  |   k = Math.min(1 - r, 1 - g, 1 - b); | ||
|  |   c = (1 - r - k) / (1 - k) || 0; | ||
|  |   m = (1 - g - k) / (1 - k) || 0; | ||
|  |   y = (1 - b - k) / (1 - k) || 0; | ||
|  |   return [c * 100, m * 100, y * 100, k * 100]; | ||
|  | }; | ||
|  | /** | ||
|  |  * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance
 | ||
|  |  * */ | ||
|  | 
 | ||
|  | 
 | ||
|  | function comparativeDistance(x, y) { | ||
|  |   return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2); | ||
|  | } | ||
|  | 
 | ||
|  | convert.rgb.keyword = function (rgb) { | ||
|  |   var reversed = reverseKeywords[rgb]; | ||
|  | 
 | ||
|  |   if (reversed) { | ||
|  |     return reversed; | ||
|  |   } | ||
|  | 
 | ||
|  |   var currentClosestDistance = Infinity; | ||
|  |   var currentClosestKeyword; | ||
|  | 
 | ||
|  |   for (var keyword in cssKeywords) { | ||
|  |     if (cssKeywords.hasOwnProperty(keyword)) { | ||
|  |       var value = cssKeywords[keyword]; // Compute comparative distance
 | ||
|  | 
 | ||
|  |       var distance = comparativeDistance(rgb, value); // Check if its less, if so set as closest
 | ||
|  | 
 | ||
|  |       if (distance < currentClosestDistance) { | ||
|  |         currentClosestDistance = distance; | ||
|  |         currentClosestKeyword = keyword; | ||
|  |       } | ||
|  |     } | ||
|  |   } | ||
|  | 
 | ||
|  |   return currentClosestKeyword; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.keyword.rgb = function (keyword) { | ||
|  |   return cssKeywords[keyword]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.rgb.xyz = function (rgb) { | ||
|  |   var r = rgb[0] / 255; | ||
|  |   var g = rgb[1] / 255; | ||
|  |   var b = rgb[2] / 255; // assume sRGB
 | ||
|  | 
 | ||
|  |   r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92; | ||
|  |   g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92; | ||
|  |   b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92; | ||
|  |   var x = r * 0.4124 + g * 0.3576 + b * 0.1805; | ||
|  |   var y = r * 0.2126 + g * 0.7152 + b * 0.0722; | ||
|  |   var z = r * 0.0193 + g * 0.1192 + b * 0.9505; | ||
|  |   return [x * 100, y * 100, z * 100]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.rgb.lab = function (rgb) { | ||
|  |   var xyz = convert.rgb.xyz(rgb); | ||
|  |   var x = xyz[0]; | ||
|  |   var y = xyz[1]; | ||
|  |   var z = xyz[2]; | ||
|  |   var l; | ||
|  |   var a; | ||
|  |   var b; | ||
|  |   x /= 95.047; | ||
|  |   y /= 100; | ||
|  |   z /= 108.883; | ||
|  |   x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; | ||
|  |   y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; | ||
|  |   z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; | ||
|  |   l = 116 * y - 16; | ||
|  |   a = 500 * (x - y); | ||
|  |   b = 200 * (y - z); | ||
|  |   return [l, a, b]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.hsl.rgb = function (hsl) { | ||
|  |   var h = hsl[0] / 360; | ||
|  |   var s = hsl[1] / 100; | ||
|  |   var l = hsl[2] / 100; | ||
|  |   var t1; | ||
|  |   var t2; | ||
|  |   var t3; | ||
|  |   var rgb; | ||
|  |   var val; | ||
|  | 
 | ||
|  |   if (s === 0) { | ||
|  |     val = l * 255; | ||
|  |     return [val, val, val]; | ||
|  |   } | ||
|  | 
 | ||
|  |   if (l < 0.5) { | ||
|  |     t2 = l * (1 + s); | ||
|  |   } else { | ||
|  |     t2 = l + s - l * s; | ||
|  |   } | ||
|  | 
 | ||
|  |   t1 = 2 * l - t2; | ||
|  |   rgb = [0, 0, 0]; | ||
|  | 
 | ||
|  |   for (var i = 0; i < 3; i++) { | ||
|  |     t3 = h + 1 / 3 * -(i - 1); | ||
|  | 
 | ||
|  |     if (t3 < 0) { | ||
|  |       t3++; | ||
|  |     } | ||
|  | 
 | ||
|  |     if (t3 > 1) { | ||
|  |       t3--; | ||
|  |     } | ||
|  | 
 | ||
|  |     if (6 * t3 < 1) { | ||
|  |       val = t1 + (t2 - t1) * 6 * t3; | ||
|  |     } else if (2 * t3 < 1) { | ||
|  |       val = t2; | ||
|  |     } else if (3 * t3 < 2) { | ||
|  |       val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; | ||
|  |     } else { | ||
|  |       val = t1; | ||
|  |     } | ||
|  | 
 | ||
|  |     rgb[i] = val * 255; | ||
|  |   } | ||
|  | 
 | ||
|  |   return rgb; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.hsl.hsv = function (hsl) { | ||
|  |   var h = hsl[0]; | ||
|  |   var s = hsl[1] / 100; | ||
|  |   var l = hsl[2] / 100; | ||
|  |   var smin = s; | ||
|  |   var lmin = Math.max(l, 0.01); | ||
|  |   var sv; | ||
|  |   var v; | ||
|  |   l *= 2; | ||
|  |   s *= l <= 1 ? l : 2 - l; | ||
|  |   smin *= lmin <= 1 ? lmin : 2 - lmin; | ||
|  |   v = (l + s) / 2; | ||
|  |   sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); | ||
|  |   return [h, sv * 100, v * 100]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.hsv.rgb = function (hsv) { | ||
|  |   var h = hsv[0] / 60; | ||
|  |   var s = hsv[1] / 100; | ||
|  |   var v = hsv[2] / 100; | ||
|  |   var hi = Math.floor(h) % 6; | ||
|  |   var f = h - Math.floor(h); | ||
|  |   var p = 255 * v * (1 - s); | ||
|  |   var q = 255 * v * (1 - s * f); | ||
|  |   var t = 255 * v * (1 - s * (1 - f)); | ||
|  |   v *= 255; | ||
|  | 
 | ||
|  |   switch (hi) { | ||
|  |     case 0: | ||
|  |       return [v, t, p]; | ||
|  | 
 | ||
|  |     case 1: | ||
|  |       return [q, v, p]; | ||
|  | 
 | ||
|  |     case 2: | ||
|  |       return [p, v, t]; | ||
|  | 
 | ||
|  |     case 3: | ||
|  |       return [p, q, v]; | ||
|  | 
 | ||
|  |     case 4: | ||
|  |       return [t, p, v]; | ||
|  | 
 | ||
|  |     case 5: | ||
|  |       return [v, p, q]; | ||
|  |   } | ||
|  | }; | ||
|  | 
 | ||
|  | convert.hsv.hsl = function (hsv) { | ||
|  |   var h = hsv[0]; | ||
|  |   var s = hsv[1] / 100; | ||
|  |   var v = hsv[2] / 100; | ||
|  |   var vmin = Math.max(v, 0.01); | ||
|  |   var lmin; | ||
|  |   var sl; | ||
|  |   var l; | ||
|  |   l = (2 - s) * v; | ||
|  |   lmin = (2 - s) * vmin; | ||
|  |   sl = s * vmin; | ||
|  |   sl /= lmin <= 1 ? lmin : 2 - lmin; | ||
|  |   sl = sl || 0; | ||
|  |   l /= 2; | ||
|  |   return [h, sl * 100, l * 100]; | ||
|  | }; // http://dev.w3.org/csswg/css-color/#hwb-to-rgb
 | ||
|  | 
 | ||
|  | 
 | ||
|  | convert.hwb.rgb = function (hwb) { | ||
|  |   var h = hwb[0] / 360; | ||
|  |   var wh = hwb[1] / 100; | ||
|  |   var bl = hwb[2] / 100; | ||
|  |   var ratio = wh + bl; | ||
|  |   var i; | ||
|  |   var v; | ||
|  |   var f; | ||
|  |   var n; // wh + bl cant be > 1
 | ||
|  | 
 | ||
|  |   if (ratio > 1) { | ||
|  |     wh /= ratio; | ||
|  |     bl /= ratio; | ||
|  |   } | ||
|  | 
 | ||
|  |   i = Math.floor(6 * h); | ||
|  |   v = 1 - bl; | ||
|  |   f = 6 * h - i; | ||
|  | 
 | ||
|  |   if ((i & 0x01) !== 0) { | ||
|  |     f = 1 - f; | ||
|  |   } | ||
|  | 
 | ||
|  |   n = wh + f * (v - wh); // linear interpolation
 | ||
|  | 
 | ||
|  |   var r; | ||
|  |   var g; | ||
|  |   var b; | ||
|  | 
 | ||
|  |   switch (i) { | ||
|  |     default: | ||
|  |     case 6: | ||
|  |     case 0: | ||
|  |       r = v; | ||
|  |       g = n; | ||
|  |       b = wh; | ||
|  |       break; | ||
|  | 
 | ||
|  |     case 1: | ||
|  |       r = n; | ||
|  |       g = v; | ||
|  |       b = wh; | ||
|  |       break; | ||
|  | 
 | ||
|  |     case 2: | ||
|  |       r = wh; | ||
|  |       g = v; | ||
|  |       b = n; | ||
|  |       break; | ||
|  | 
 | ||
|  |     case 3: | ||
|  |       r = wh; | ||
|  |       g = n; | ||
|  |       b = v; | ||
|  |       break; | ||
|  | 
 | ||
|  |     case 4: | ||
|  |       r = n; | ||
|  |       g = wh; | ||
|  |       b = v; | ||
|  |       break; | ||
|  | 
 | ||
|  |     case 5: | ||
|  |       r = v; | ||
|  |       g = wh; | ||
|  |       b = n; | ||
|  |       break; | ||
|  |   } | ||
|  | 
 | ||
|  |   return [r * 255, g * 255, b * 255]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.cmyk.rgb = function (cmyk) { | ||
|  |   var c = cmyk[0] / 100; | ||
|  |   var m = cmyk[1] / 100; | ||
|  |   var y = cmyk[2] / 100; | ||
|  |   var k = cmyk[3] / 100; | ||
|  |   var r; | ||
|  |   var g; | ||
|  |   var b; | ||
|  |   r = 1 - Math.min(1, c * (1 - k) + k); | ||
|  |   g = 1 - Math.min(1, m * (1 - k) + k); | ||
|  |   b = 1 - Math.min(1, y * (1 - k) + k); | ||
|  |   return [r * 255, g * 255, b * 255]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.xyz.rgb = function (xyz) { | ||
|  |   var x = xyz[0] / 100; | ||
|  |   var y = xyz[1] / 100; | ||
|  |   var z = xyz[2] / 100; | ||
|  |   var r; | ||
|  |   var g; | ||
|  |   var b; | ||
|  |   r = x * 3.2406 + y * -1.5372 + z * -0.4986; | ||
|  |   g = x * -0.9689 + y * 1.8758 + z * 0.0415; | ||
|  |   b = x * 0.0557 + y * -0.2040 + z * 1.0570; // assume sRGB
 | ||
|  | 
 | ||
|  |   r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92; | ||
|  |   g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92; | ||
|  |   b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92; | ||
|  |   r = Math.min(Math.max(0, r), 1); | ||
|  |   g = Math.min(Math.max(0, g), 1); | ||
|  |   b = Math.min(Math.max(0, b), 1); | ||
|  |   return [r * 255, g * 255, b * 255]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.xyz.lab = function (xyz) { | ||
|  |   var x = xyz[0]; | ||
|  |   var y = xyz[1]; | ||
|  |   var z = xyz[2]; | ||
|  |   var l; | ||
|  |   var a; | ||
|  |   var b; | ||
|  |   x /= 95.047; | ||
|  |   y /= 100; | ||
|  |   z /= 108.883; | ||
|  |   x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; | ||
|  |   y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; | ||
|  |   z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; | ||
|  |   l = 116 * y - 16; | ||
|  |   a = 500 * (x - y); | ||
|  |   b = 200 * (y - z); | ||
|  |   return [l, a, b]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.lab.xyz = function (lab) { | ||
|  |   var l = lab[0]; | ||
|  |   var a = lab[1]; | ||
|  |   var b = lab[2]; | ||
|  |   var x; | ||
|  |   var y; | ||
|  |   var z; | ||
|  |   y = (l + 16) / 116; | ||
|  |   x = a / 500 + y; | ||
|  |   z = y - b / 200; | ||
|  |   var y2 = Math.pow(y, 3); | ||
|  |   var x2 = Math.pow(x, 3); | ||
|  |   var z2 = Math.pow(z, 3); | ||
|  |   y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; | ||
|  |   x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; | ||
|  |   z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; | ||
|  |   x *= 95.047; | ||
|  |   y *= 100; | ||
|  |   z *= 108.883; | ||
|  |   return [x, y, z]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.lab.lch = function (lab) { | ||
|  |   var l = lab[0]; | ||
|  |   var a = lab[1]; | ||
|  |   var b = lab[2]; | ||
|  |   var hr; | ||
|  |   var h; | ||
|  |   var c; | ||
|  |   hr = Math.atan2(b, a); | ||
|  |   h = hr * 360 / 2 / Math.PI; | ||
|  | 
 | ||
|  |   if (h < 0) { | ||
|  |     h += 360; | ||
|  |   } | ||
|  | 
 | ||
|  |   c = Math.sqrt(a * a + b * b); | ||
|  |   return [l, c, h]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.lch.lab = function (lch) { | ||
|  |   var l = lch[0]; | ||
|  |   var c = lch[1]; | ||
|  |   var h = lch[2]; | ||
|  |   var a; | ||
|  |   var b; | ||
|  |   var hr; | ||
|  |   hr = h / 360 * 2 * Math.PI; | ||
|  |   a = c * Math.cos(hr); | ||
|  |   b = c * Math.sin(hr); | ||
|  |   return [l, a, b]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.rgb.ansi16 = function (args) { | ||
|  |   var r = args[0]; | ||
|  |   var g = args[1]; | ||
|  |   var b = args[2]; | ||
|  |   var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization
 | ||
|  | 
 | ||
|  |   value = Math.round(value / 50); | ||
|  | 
 | ||
|  |   if (value === 0) { | ||
|  |     return 30; | ||
|  |   } | ||
|  | 
 | ||
|  |   var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); | ||
|  | 
 | ||
|  |   if (value === 2) { | ||
|  |     ansi += 60; | ||
|  |   } | ||
|  | 
 | ||
|  |   return ansi; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.hsv.ansi16 = function (args) { | ||
|  |   // optimization here; we already know the value and don't need to get
 | ||
|  |   // it converted for us.
 | ||
|  |   return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); | ||
|  | }; | ||
|  | 
 | ||
|  | convert.rgb.ansi256 = function (args) { | ||
|  |   var r = args[0]; | ||
|  |   var g = args[1]; | ||
|  |   var b = args[2]; // we use the extended greyscale palette here, with the exception of
 | ||
|  |   // black and white. normal palette only has 4 greyscale shades.
 | ||
|  | 
 | ||
|  |   if (r === g && g === b) { | ||
|  |     if (r < 8) { | ||
|  |       return 16; | ||
|  |     } | ||
|  | 
 | ||
|  |     if (r > 248) { | ||
|  |       return 231; | ||
|  |     } | ||
|  | 
 | ||
|  |     return Math.round((r - 8) / 247 * 24) + 232; | ||
|  |   } | ||
|  | 
 | ||
|  |   var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); | ||
|  |   return ansi; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.ansi16.rgb = function (args) { | ||
|  |   var color = args % 10; // handle greyscale
 | ||
|  | 
 | ||
|  |   if (color === 0 || color === 7) { | ||
|  |     if (args > 50) { | ||
|  |       color += 3.5; | ||
|  |     } | ||
|  | 
 | ||
|  |     color = color / 10.5 * 255; | ||
|  |     return [color, color, color]; | ||
|  |   } | ||
|  | 
 | ||
|  |   var mult = (~~(args > 50) + 1) * 0.5; | ||
|  |   var r = (color & 1) * mult * 255; | ||
|  |   var g = (color >> 1 & 1) * mult * 255; | ||
|  |   var b = (color >> 2 & 1) * mult * 255; | ||
|  |   return [r, g, b]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.ansi256.rgb = function (args) { | ||
|  |   // handle greyscale
 | ||
|  |   if (args >= 232) { | ||
|  |     var c = (args - 232) * 10 + 8; | ||
|  |     return [c, c, c]; | ||
|  |   } | ||
|  | 
 | ||
|  |   args -= 16; | ||
|  |   var rem; | ||
|  |   var r = Math.floor(args / 36) / 5 * 255; | ||
|  |   var g = Math.floor((rem = args % 36) / 6) / 5 * 255; | ||
|  |   var b = rem % 6 / 5 * 255; | ||
|  |   return [r, g, b]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.rgb.hex = function (args) { | ||
|  |   var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF); | ||
|  |   var string = integer.toString(16).toUpperCase(); | ||
|  |   return '000000'.substring(string.length) + string; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.hex.rgb = function (args) { | ||
|  |   var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); | ||
|  | 
 | ||
|  |   if (!match) { | ||
|  |     return [0, 0, 0]; | ||
|  |   } | ||
|  | 
 | ||
|  |   var colorString = match[0]; | ||
|  | 
 | ||
|  |   if (match[0].length === 3) { | ||
|  |     colorString = colorString.split('').map(function (char) { | ||
|  |       return char + char; | ||
|  |     }).join(''); | ||
|  |   } | ||
|  | 
 | ||
|  |   var integer = parseInt(colorString, 16); | ||
|  |   var r = integer >> 16 & 0xFF; | ||
|  |   var g = integer >> 8 & 0xFF; | ||
|  |   var b = integer & 0xFF; | ||
|  |   return [r, g, b]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.rgb.hcg = function (rgb) { | ||
|  |   var r = rgb[0] / 255; | ||
|  |   var g = rgb[1] / 255; | ||
|  |   var b = rgb[2] / 255; | ||
|  |   var max = Math.max(Math.max(r, g), b); | ||
|  |   var min = Math.min(Math.min(r, g), b); | ||
|  |   var chroma = max - min; | ||
|  |   var grayscale; | ||
|  |   var hue; | ||
|  | 
 | ||
|  |   if (chroma < 1) { | ||
|  |     grayscale = min / (1 - chroma); | ||
|  |   } else { | ||
|  |     grayscale = 0; | ||
|  |   } | ||
|  | 
 | ||
|  |   if (chroma <= 0) { | ||
|  |     hue = 0; | ||
|  |   } else if (max === r) { | ||
|  |     hue = (g - b) / chroma % 6; | ||
|  |   } else if (max === g) { | ||
|  |     hue = 2 + (b - r) / chroma; | ||
|  |   } else { | ||
|  |     hue = 4 + (r - g) / chroma + 4; | ||
|  |   } | ||
|  | 
 | ||
|  |   hue /= 6; | ||
|  |   hue %= 1; | ||
|  |   return [hue * 360, chroma * 100, grayscale * 100]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.hsl.hcg = function (hsl) { | ||
|  |   var s = hsl[1] / 100; | ||
|  |   var l = hsl[2] / 100; | ||
|  |   var c = 1; | ||
|  |   var f = 0; | ||
|  | 
 | ||
|  |   if (l < 0.5) { | ||
|  |     c = 2.0 * s * l; | ||
|  |   } else { | ||
|  |     c = 2.0 * s * (1.0 - l); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (c < 1.0) { | ||
|  |     f = (l - 0.5 * c) / (1.0 - c); | ||
|  |   } | ||
|  | 
 | ||
|  |   return [hsl[0], c * 100, f * 100]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.hsv.hcg = function (hsv) { | ||
|  |   var s = hsv[1] / 100; | ||
|  |   var v = hsv[2] / 100; | ||
|  |   var c = s * v; | ||
|  |   var f = 0; | ||
|  | 
 | ||
|  |   if (c < 1.0) { | ||
|  |     f = (v - c) / (1 - c); | ||
|  |   } | ||
|  | 
 | ||
|  |   return [hsv[0], c * 100, f * 100]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.hcg.rgb = function (hcg) { | ||
|  |   var h = hcg[0] / 360; | ||
|  |   var c = hcg[1] / 100; | ||
|  |   var g = hcg[2] / 100; | ||
|  | 
 | ||
|  |   if (c === 0.0) { | ||
|  |     return [g * 255, g * 255, g * 255]; | ||
|  |   } | ||
|  | 
 | ||
|  |   var pure = [0, 0, 0]; | ||
|  |   var hi = h % 1 * 6; | ||
|  |   var v = hi % 1; | ||
|  |   var w = 1 - v; | ||
|  |   var mg = 0; | ||
|  | 
 | ||
|  |   switch (Math.floor(hi)) { | ||
|  |     case 0: | ||
|  |       pure[0] = 1; | ||
|  |       pure[1] = v; | ||
|  |       pure[2] = 0; | ||
|  |       break; | ||
|  | 
 | ||
|  |     case 1: | ||
|  |       pure[0] = w; | ||
|  |       pure[1] = 1; | ||
|  |       pure[2] = 0; | ||
|  |       break; | ||
|  | 
 | ||
|  |     case 2: | ||
|  |       pure[0] = 0; | ||
|  |       pure[1] = 1; | ||
|  |       pure[2] = v; | ||
|  |       break; | ||
|  | 
 | ||
|  |     case 3: | ||
|  |       pure[0] = 0; | ||
|  |       pure[1] = w; | ||
|  |       pure[2] = 1; | ||
|  |       break; | ||
|  | 
 | ||
|  |     case 4: | ||
|  |       pure[0] = v; | ||
|  |       pure[1] = 0; | ||
|  |       pure[2] = 1; | ||
|  |       break; | ||
|  | 
 | ||
|  |     default: | ||
|  |       pure[0] = 1; | ||
|  |       pure[1] = 0; | ||
|  |       pure[2] = w; | ||
|  |   } | ||
|  | 
 | ||
|  |   mg = (1.0 - c) * g; | ||
|  |   return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.hcg.hsv = function (hcg) { | ||
|  |   var c = hcg[1] / 100; | ||
|  |   var g = hcg[2] / 100; | ||
|  |   var v = c + g * (1.0 - c); | ||
|  |   var f = 0; | ||
|  | 
 | ||
|  |   if (v > 0.0) { | ||
|  |     f = c / v; | ||
|  |   } | ||
|  | 
 | ||
|  |   return [hcg[0], f * 100, v * 100]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.hcg.hsl = function (hcg) { | ||
|  |   var c = hcg[1] / 100; | ||
|  |   var g = hcg[2] / 100; | ||
|  |   var l = g * (1.0 - c) + 0.5 * c; | ||
|  |   var s = 0; | ||
|  | 
 | ||
|  |   if (l > 0.0 && l < 0.5) { | ||
|  |     s = c / (2 * l); | ||
|  |   } else if (l >= 0.5 && l < 1.0) { | ||
|  |     s = c / (2 * (1 - l)); | ||
|  |   } | ||
|  | 
 | ||
|  |   return [hcg[0], s * 100, l * 100]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.hcg.hwb = function (hcg) { | ||
|  |   var c = hcg[1] / 100; | ||
|  |   var g = hcg[2] / 100; | ||
|  |   var v = c + g * (1.0 - c); | ||
|  |   return [hcg[0], (v - c) * 100, (1 - v) * 100]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.hwb.hcg = function (hwb) { | ||
|  |   var w = hwb[1] / 100; | ||
|  |   var b = hwb[2] / 100; | ||
|  |   var v = 1 - b; | ||
|  |   var c = v - w; | ||
|  |   var g = 0; | ||
|  | 
 | ||
|  |   if (c < 1) { | ||
|  |     g = (v - c) / (1 - c); | ||
|  |   } | ||
|  | 
 | ||
|  |   return [hwb[0], c * 100, g * 100]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.apple.rgb = function (apple) { | ||
|  |   return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.rgb.apple = function (rgb) { | ||
|  |   return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.gray.rgb = function (args) { | ||
|  |   return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.gray.hsl = convert.gray.hsv = function (args) { | ||
|  |   return [0, 0, args[0]]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.gray.hwb = function (gray) { | ||
|  |   return [0, 100, gray[0]]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.gray.cmyk = function (gray) { | ||
|  |   return [0, 0, 0, gray[0]]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.gray.lab = function (gray) { | ||
|  |   return [gray[0], 0, 0]; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.gray.hex = function (gray) { | ||
|  |   var val = Math.round(gray[0] / 100 * 255) & 0xFF; | ||
|  |   var integer = (val << 16) + (val << 8) + val; | ||
|  |   var string = integer.toString(16).toUpperCase(); | ||
|  |   return '000000'.substring(string.length) + string; | ||
|  | }; | ||
|  | 
 | ||
|  | convert.rgb.gray = function (rgb) { | ||
|  |   var val = (rgb[0] + rgb[1] + rgb[2]) / 3; | ||
|  |   return [val / 255 * 100]; | ||
|  | }; | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./node_modules/color-convert/index.js": | ||
|  | /*!*********************************************!*\ | ||
|  |   !*** ./node_modules/color-convert/index.js ***! | ||
|  |   \*********************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | ||
|  | 
 | ||
|  | var conversions = __webpack_require__(/*! ./conversions */ "./node_modules/color-convert/conversions.js"); | ||
|  | 
 | ||
|  | var route = __webpack_require__(/*! ./route */ "./node_modules/color-convert/route.js"); | ||
|  | 
 | ||
|  | var convert = {}; | ||
|  | var models = Object.keys(conversions); | ||
|  | 
 | ||
|  | function wrapRaw(fn) { | ||
|  |   var wrappedFn = function wrappedFn(args) { | ||
|  |     if (args === undefined || args === null) { | ||
|  |       return args; | ||
|  |     } | ||
|  | 
 | ||
|  |     if (arguments.length > 1) { | ||
|  |       args = Array.prototype.slice.call(arguments); | ||
|  |     } | ||
|  | 
 | ||
|  |     return fn(args); | ||
|  |   }; // preserve .conversion property if there is one
 | ||
|  | 
 | ||
|  | 
 | ||
|  |   if ('conversion' in fn) { | ||
|  |     wrappedFn.conversion = fn.conversion; | ||
|  |   } | ||
|  | 
 | ||
|  |   return wrappedFn; | ||
|  | } | ||
|  | 
 | ||
|  | function wrapRounded(fn) { | ||
|  |   var wrappedFn = function wrappedFn(args) { | ||
|  |     if (args === undefined || args === null) { | ||
|  |       return args; | ||
|  |     } | ||
|  | 
 | ||
|  |     if (arguments.length > 1) { | ||
|  |       args = Array.prototype.slice.call(arguments); | ||
|  |     } | ||
|  | 
 | ||
|  |     var result = fn(args); // we're assuming the result is an array here.
 | ||
|  |     // see notice in conversions.js; don't use box types
 | ||
|  |     // in conversion functions.
 | ||
|  | 
 | ||
|  |     if (_typeof(result) === 'object') { | ||
|  |       for (var len = result.length, i = 0; i < len; i++) { | ||
|  |         result[i] = Math.round(result[i]); | ||
|  |       } | ||
|  |     } | ||
|  | 
 | ||
|  |     return result; | ||
|  |   }; // preserve .conversion property if there is one
 | ||
|  | 
 | ||
|  | 
 | ||
|  |   if ('conversion' in fn) { | ||
|  |     wrappedFn.conversion = fn.conversion; | ||
|  |   } | ||
|  | 
 | ||
|  |   return wrappedFn; | ||
|  | } | ||
|  | 
 | ||
|  | models.forEach(function (fromModel) { | ||
|  |   convert[fromModel] = {}; | ||
|  |   Object.defineProperty(convert[fromModel], 'channels', { | ||
|  |     value: conversions[fromModel].channels | ||
|  |   }); | ||
|  |   Object.defineProperty(convert[fromModel], 'labels', { | ||
|  |     value: conversions[fromModel].labels | ||
|  |   }); | ||
|  |   var routes = route(fromModel); | ||
|  |   var routeModels = Object.keys(routes); | ||
|  |   routeModels.forEach(function (toModel) { | ||
|  |     var fn = routes[toModel]; | ||
|  |     convert[fromModel][toModel] = wrapRounded(fn); | ||
|  |     convert[fromModel][toModel].raw = wrapRaw(fn); | ||
|  |   }); | ||
|  | }); | ||
|  | module.exports = convert; | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./node_modules/color-convert/route.js": | ||
|  | /*!*********************************************!*\ | ||
|  |   !*** ./node_modules/color-convert/route.js ***! | ||
|  |   \*********************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | var conversions = __webpack_require__(/*! ./conversions */ "./node_modules/color-convert/conversions.js"); | ||
|  | /* | ||
|  | 	this function routes a model to all other models. | ||
|  | 
 | ||
|  | 	all functions that are routed have a property `.conversion` attached | ||
|  | 	to the returned synthetic function. This property is an array | ||
|  | 	of strings, each with the steps in between the 'from' and 'to' | ||
|  | 	color models (inclusive). | ||
|  | 
 | ||
|  | 	conversions that are not possible simply are not included. | ||
|  | */ | ||
|  | 
 | ||
|  | 
 | ||
|  | function buildGraph() { | ||
|  |   var graph = {}; // https://jsperf.com/object-keys-vs-for-in-with-closure/3
 | ||
|  | 
 | ||
|  |   var models = Object.keys(conversions); | ||
|  | 
 | ||
|  |   for (var len = models.length, i = 0; i < len; i++) { | ||
|  |     graph[models[i]] = { | ||
|  |       // http://jsperf.com/1-vs-infinity
 | ||
|  |       // micro-opt, but this is simple.
 | ||
|  |       distance: -1, | ||
|  |       parent: null | ||
|  |     }; | ||
|  |   } | ||
|  | 
 | ||
|  |   return graph; | ||
|  | } // https://en.wikipedia.org/wiki/Breadth-first_search
 | ||
|  | 
 | ||
|  | 
 | ||
|  | function deriveBFS(fromModel) { | ||
|  |   var graph = buildGraph(); | ||
|  |   var queue = [fromModel]; // unshift -> queue -> pop
 | ||
|  | 
 | ||
|  |   graph[fromModel].distance = 0; | ||
|  | 
 | ||
|  |   while (queue.length) { | ||
|  |     var current = queue.pop(); | ||
|  |     var adjacents = Object.keys(conversions[current]); | ||
|  | 
 | ||
|  |     for (var len = adjacents.length, i = 0; i < len; i++) { | ||
|  |       var adjacent = adjacents[i]; | ||
|  |       var node = graph[adjacent]; | ||
|  | 
 | ||
|  |       if (node.distance === -1) { | ||
|  |         node.distance = graph[current].distance + 1; | ||
|  |         node.parent = current; | ||
|  |         queue.unshift(adjacent); | ||
|  |       } | ||
|  |     } | ||
|  |   } | ||
|  | 
 | ||
|  |   return graph; | ||
|  | } | ||
|  | 
 | ||
|  | function link(from, to) { | ||
|  |   return function (args) { | ||
|  |     return to(from(args)); | ||
|  |   }; | ||
|  | } | ||
|  | 
 | ||
|  | function wrapConversion(toModel, graph) { | ||
|  |   var path = [graph[toModel].parent, toModel]; | ||
|  |   var fn = conversions[graph[toModel].parent][toModel]; | ||
|  |   var cur = graph[toModel].parent; | ||
|  | 
 | ||
|  |   while (graph[cur].parent) { | ||
|  |     path.unshift(graph[cur].parent); | ||
|  |     fn = link(conversions[graph[cur].parent][cur], fn); | ||
|  |     cur = graph[cur].parent; | ||
|  |   } | ||
|  | 
 | ||
|  |   fn.conversion = path; | ||
|  |   return fn; | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = function (fromModel) { | ||
|  |   var graph = deriveBFS(fromModel); | ||
|  |   var conversion = {}; | ||
|  |   var models = Object.keys(graph); | ||
|  | 
 | ||
|  |   for (var len = models.length, i = 0; i < len; i++) { | ||
|  |     var toModel = models[i]; | ||
|  |     var node = graph[toModel]; | ||
|  | 
 | ||
|  |     if (node.parent === null) { | ||
|  |       // no possible conversion, or this node is the source model.
 | ||
|  |       continue; | ||
|  |     } | ||
|  | 
 | ||
|  |     conversion[toModel] = wrapConversion(toModel, graph); | ||
|  |   } | ||
|  | 
 | ||
|  |   return conversion; | ||
|  | }; | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./node_modules/color-name/index.js": | ||
|  | /*!******************************************!*\ | ||
|  |   !*** ./node_modules/color-name/index.js ***! | ||
|  |   \******************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | module.exports = { | ||
|  |   "aliceblue": [240, 248, 255], | ||
|  |   "antiquewhite": [250, 235, 215], | ||
|  |   "aqua": [0, 255, 255], | ||
|  |   "aquamarine": [127, 255, 212], | ||
|  |   "azure": [240, 255, 255], | ||
|  |   "beige": [245, 245, 220], | ||
|  |   "bisque": [255, 228, 196], | ||
|  |   "black": [0, 0, 0], | ||
|  |   "blanchedalmond": [255, 235, 205], | ||
|  |   "blue": [0, 0, 255], | ||
|  |   "blueviolet": [138, 43, 226], | ||
|  |   "brown": [165, 42, 42], | ||
|  |   "burlywood": [222, 184, 135], | ||
|  |   "cadetblue": [95, 158, 160], | ||
|  |   "chartreuse": [127, 255, 0], | ||
|  |   "chocolate": [210, 105, 30], | ||
|  |   "coral": [255, 127, 80], | ||
|  |   "cornflowerblue": [100, 149, 237], | ||
|  |   "cornsilk": [255, 248, 220], | ||
|  |   "crimson": [220, 20, 60], | ||
|  |   "cyan": [0, 255, 255], | ||
|  |   "darkblue": [0, 0, 139], | ||
|  |   "darkcyan": [0, 139, 139], | ||
|  |   "darkgoldenrod": [184, 134, 11], | ||
|  |   "darkgray": [169, 169, 169], | ||
|  |   "darkgreen": [0, 100, 0], | ||
|  |   "darkgrey": [169, 169, 169], | ||
|  |   "darkkhaki": [189, 183, 107], | ||
|  |   "darkmagenta": [139, 0, 139], | ||
|  |   "darkolivegreen": [85, 107, 47], | ||
|  |   "darkorange": [255, 140, 0], | ||
|  |   "darkorchid": [153, 50, 204], | ||
|  |   "darkred": [139, 0, 0], | ||
|  |   "darksalmon": [233, 150, 122], | ||
|  |   "darkseagreen": [143, 188, 143], | ||
|  |   "darkslateblue": [72, 61, 139], | ||
|  |   "darkslategray": [47, 79, 79], | ||
|  |   "darkslategrey": [47, 79, 79], | ||
|  |   "darkturquoise": [0, 206, 209], | ||
|  |   "darkviolet": [148, 0, 211], | ||
|  |   "deeppink": [255, 20, 147], | ||
|  |   "deepskyblue": [0, 191, 255], | ||
|  |   "dimgray": [105, 105, 105], | ||
|  |   "dimgrey": [105, 105, 105], | ||
|  |   "dodgerblue": [30, 144, 255], | ||
|  |   "firebrick": [178, 34, 34], | ||
|  |   "floralwhite": [255, 250, 240], | ||
|  |   "forestgreen": [34, 139, 34], | ||
|  |   "fuchsia": [255, 0, 255], | ||
|  |   "gainsboro": [220, 220, 220], | ||
|  |   "ghostwhite": [248, 248, 255], | ||
|  |   "gold": [255, 215, 0], | ||
|  |   "goldenrod": [218, 165, 32], | ||
|  |   "gray": [128, 128, 128], | ||
|  |   "green": [0, 128, 0], | ||
|  |   "greenyellow": [173, 255, 47], | ||
|  |   "grey": [128, 128, 128], | ||
|  |   "honeydew": [240, 255, 240], | ||
|  |   "hotpink": [255, 105, 180], | ||
|  |   "indianred": [205, 92, 92], | ||
|  |   "indigo": [75, 0, 130], | ||
|  |   "ivory": [255, 255, 240], | ||
|  |   "khaki": [240, 230, 140], | ||
|  |   "lavender": [230, 230, 250], | ||
|  |   "lavenderblush": [255, 240, 245], | ||
|  |   "lawngreen": [124, 252, 0], | ||
|  |   "lemonchiffon": [255, 250, 205], | ||
|  |   "lightblue": [173, 216, 230], | ||
|  |   "lightcoral": [240, 128, 128], | ||
|  |   "lightcyan": [224, 255, 255], | ||
|  |   "lightgoldenrodyellow": [250, 250, 210], | ||
|  |   "lightgray": [211, 211, 211], | ||
|  |   "lightgreen": [144, 238, 144], | ||
|  |   "lightgrey": [211, 211, 211], | ||
|  |   "lightpink": [255, 182, 193], | ||
|  |   "lightsalmon": [255, 160, 122], | ||
|  |   "lightseagreen": [32, 178, 170], | ||
|  |   "lightskyblue": [135, 206, 250], | ||
|  |   "lightslategray": [119, 136, 153], | ||
|  |   "lightslategrey": [119, 136, 153], | ||
|  |   "lightsteelblue": [176, 196, 222], | ||
|  |   "lightyellow": [255, 255, 224], | ||
|  |   "lime": [0, 255, 0], | ||
|  |   "limegreen": [50, 205, 50], | ||
|  |   "linen": [250, 240, 230], | ||
|  |   "magenta": [255, 0, 255], | ||
|  |   "maroon": [128, 0, 0], | ||
|  |   "mediumaquamarine": [102, 205, 170], | ||
|  |   "mediumblue": [0, 0, 205], | ||
|  |   "mediumorchid": [186, 85, 211], | ||
|  |   "mediumpurple": [147, 112, 219], | ||
|  |   "mediumseagreen": [60, 179, 113], | ||
|  |   "mediumslateblue": [123, 104, 238], | ||
|  |   "mediumspringgreen": [0, 250, 154], | ||
|  |   "mediumturquoise": [72, 209, 204], | ||
|  |   "mediumvioletred": [199, 21, 133], | ||
|  |   "midnightblue": [25, 25, 112], | ||
|  |   "mintcream": [245, 255, 250], | ||
|  |   "mistyrose": [255, 228, 225], | ||
|  |   "moccasin": [255, 228, 181], | ||
|  |   "navajowhite": [255, 222, 173], | ||
|  |   "navy": [0, 0, 128], | ||
|  |   "oldlace": [253, 245, 230], | ||
|  |   "olive": [128, 128, 0], | ||
|  |   "olivedrab": [107, 142, 35], | ||
|  |   "orange": [255, 165, 0], | ||
|  |   "orangered": [255, 69, 0], | ||
|  |   "orchid": [218, 112, 214], | ||
|  |   "palegoldenrod": [238, 232, 170], | ||
|  |   "palegreen": [152, 251, 152], | ||
|  |   "paleturquoise": [175, 238, 238], | ||
|  |   "palevioletred": [219, 112, 147], | ||
|  |   "papayawhip": [255, 239, 213], | ||
|  |   "peachpuff": [255, 218, 185], | ||
|  |   "peru": [205, 133, 63], | ||
|  |   "pink": [255, 192, 203], | ||
|  |   "plum": [221, 160, 221], | ||
|  |   "powderblue": [176, 224, 230], | ||
|  |   "purple": [128, 0, 128], | ||
|  |   "rebeccapurple": [102, 51, 153], | ||
|  |   "red": [255, 0, 0], | ||
|  |   "rosybrown": [188, 143, 143], | ||
|  |   "royalblue": [65, 105, 225], | ||
|  |   "saddlebrown": [139, 69, 19], | ||
|  |   "salmon": [250, 128, 114], | ||
|  |   "sandybrown": [244, 164, 96], | ||
|  |   "seagreen": [46, 139, 87], | ||
|  |   "seashell": [255, 245, 238], | ||
|  |   "sienna": [160, 82, 45], | ||
|  |   "silver": [192, 192, 192], | ||
|  |   "skyblue": [135, 206, 235], | ||
|  |   "slateblue": [106, 90, 205], | ||
|  |   "slategray": [112, 128, 144], | ||
|  |   "slategrey": [112, 128, 144], | ||
|  |   "snow": [255, 250, 250], | ||
|  |   "springgreen": [0, 255, 127], | ||
|  |   "steelblue": [70, 130, 180], | ||
|  |   "tan": [210, 180, 140], | ||
|  |   "teal": [0, 128, 128], | ||
|  |   "thistle": [216, 191, 216], | ||
|  |   "tomato": [255, 99, 71], | ||
|  |   "turquoise": [64, 224, 208], | ||
|  |   "violet": [238, 130, 238], | ||
|  |   "wheat": [245, 222, 179], | ||
|  |   "white": [255, 255, 255], | ||
|  |   "whitesmoke": [245, 245, 245], | ||
|  |   "yellow": [255, 255, 0], | ||
|  |   "yellowgreen": [154, 205, 50] | ||
|  | }; | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./node_modules/react-is/cjs/react-is.development.js": | ||
|  | /*!***********************************************************!*\ | ||
|  |   !*** ./node_modules/react-is/cjs/react-is.development.js ***! | ||
|  |   \***********************************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | /** @license React v16.8.4 | ||
|  |  * react-is.development.js | ||
|  |  * | ||
|  |  * Copyright (c) Facebook, Inc. and its affiliates. | ||
|  |  * | ||
|  |  * This source code is licensed under the MIT license found in the | ||
|  |  * LICENSE file in the root directory of this source tree. | ||
|  |  */ | ||
|  | 
 | ||
|  | 
 | ||
|  | function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | ||
|  | 
 | ||
|  | if (true) { | ||
|  |   (function () { | ||
|  |     'use strict'; | ||
|  | 
 | ||
|  |     Object.defineProperty(exports, '__esModule', { | ||
|  |       value: true | ||
|  |     }); // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
 | ||
|  |     // nor polyfill, then a plain number is used for performance.
 | ||
|  | 
 | ||
|  |     var hasSymbol = typeof Symbol === 'function' && Symbol.for; | ||
|  |     var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; | ||
|  |     var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; | ||
|  |     var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; | ||
|  |     var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; | ||
|  |     var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; | ||
|  |     var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; | ||
|  |     var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; | ||
|  |     var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; | ||
|  |     var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; | ||
|  |     var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; | ||
|  |     var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; | ||
|  |     var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; | ||
|  |     var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; | ||
|  | 
 | ||
|  |     function isValidElementType(type) { | ||
|  |       return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
 | ||
|  |       type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || _typeof(type) === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE); | ||
|  |     } | ||
|  |     /** | ||
|  |      * Forked from fbjs/warning: | ||
|  |      * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js
 | ||
|  |      * | ||
|  |      * Only change is we use console.warn instead of console.error, | ||
|  |      * and do nothing when 'console' is not supported. | ||
|  |      * This really simplifies the code. | ||
|  |      * --- | ||
|  |      * Similar to invariant but only logs a warning if the condition is not met. | ||
|  |      * This can be used to log issues in development environments in critical | ||
|  |      * paths. Removing the logging code for production environments will keep the | ||
|  |      * same logic and follow the same code paths. | ||
|  |      */ | ||
|  | 
 | ||
|  | 
 | ||
|  |     var lowPriorityWarning = function lowPriorityWarning() {}; | ||
|  | 
 | ||
|  |     { | ||
|  |       var printWarning = function printWarning(format) { | ||
|  |         for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { | ||
|  |           args[_key - 1] = arguments[_key]; | ||
|  |         } | ||
|  | 
 | ||
|  |         var argIndex = 0; | ||
|  |         var message = 'Warning: ' + format.replace(/%s/g, function () { | ||
|  |           return args[argIndex++]; | ||
|  |         }); | ||
|  | 
 | ||
|  |         if (typeof console !== 'undefined') { | ||
|  |           console.warn(message); | ||
|  |         } | ||
|  | 
 | ||
|  |         try { | ||
|  |           // --- Welcome to debugging React ---
 | ||
|  |           // This error was thrown as a convenience so that you can use this stack
 | ||
|  |           // to find the callsite that caused this warning to fire.
 | ||
|  |           throw new Error(message); | ||
|  |         } catch (x) {} | ||
|  |       }; | ||
|  | 
 | ||
|  |       lowPriorityWarning = function lowPriorityWarning(condition, format) { | ||
|  |         if (format === undefined) { | ||
|  |           throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument'); | ||
|  |         } | ||
|  | 
 | ||
|  |         if (!condition) { | ||
|  |           for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { | ||
|  |             args[_key2 - 2] = arguments[_key2]; | ||
|  |           } | ||
|  | 
 | ||
|  |           printWarning.apply(undefined, [format].concat(args)); | ||
|  |         } | ||
|  |       }; | ||
|  |     } | ||
|  |     var lowPriorityWarning$1 = lowPriorityWarning; | ||
|  | 
 | ||
|  |     function typeOf(object) { | ||
|  |       if (_typeof(object) === 'object' && object !== null) { | ||
|  |         var $$typeof = object.$$typeof; | ||
|  | 
 | ||
|  |         switch ($$typeof) { | ||
|  |           case REACT_ELEMENT_TYPE: | ||
|  |             var type = object.type; | ||
|  | 
 | ||
|  |             switch (type) { | ||
|  |               case REACT_ASYNC_MODE_TYPE: | ||
|  |               case REACT_CONCURRENT_MODE_TYPE: | ||
|  |               case REACT_FRAGMENT_TYPE: | ||
|  |               case REACT_PROFILER_TYPE: | ||
|  |               case REACT_STRICT_MODE_TYPE: | ||
|  |               case REACT_SUSPENSE_TYPE: | ||
|  |                 return type; | ||
|  | 
 | ||
|  |               default: | ||
|  |                 var $$typeofType = type && type.$$typeof; | ||
|  | 
 | ||
|  |                 switch ($$typeofType) { | ||
|  |                   case REACT_CONTEXT_TYPE: | ||
|  |                   case REACT_FORWARD_REF_TYPE: | ||
|  |                   case REACT_PROVIDER_TYPE: | ||
|  |                     return $$typeofType; | ||
|  | 
 | ||
|  |                   default: | ||
|  |                     return $$typeof; | ||
|  |                 } | ||
|  | 
 | ||
|  |             } | ||
|  | 
 | ||
|  |           case REACT_LAZY_TYPE: | ||
|  |           case REACT_MEMO_TYPE: | ||
|  |           case REACT_PORTAL_TYPE: | ||
|  |             return $$typeof; | ||
|  |         } | ||
|  |       } | ||
|  | 
 | ||
|  |       return undefined; | ||
|  |     } // AsyncMode is deprecated along with isAsyncMode
 | ||
|  | 
 | ||
|  | 
 | ||
|  |     var AsyncMode = REACT_ASYNC_MODE_TYPE; | ||
|  |     var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; | ||
|  |     var ContextConsumer = REACT_CONTEXT_TYPE; | ||
|  |     var ContextProvider = REACT_PROVIDER_TYPE; | ||
|  |     var Element = REACT_ELEMENT_TYPE; | ||
|  |     var ForwardRef = REACT_FORWARD_REF_TYPE; | ||
|  |     var Fragment = REACT_FRAGMENT_TYPE; | ||
|  |     var Lazy = REACT_LAZY_TYPE; | ||
|  |     var Memo = REACT_MEMO_TYPE; | ||
|  |     var Portal = REACT_PORTAL_TYPE; | ||
|  |     var Profiler = REACT_PROFILER_TYPE; | ||
|  |     var StrictMode = REACT_STRICT_MODE_TYPE; | ||
|  |     var Suspense = REACT_SUSPENSE_TYPE; | ||
|  |     var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
 | ||
|  | 
 | ||
|  |     function isAsyncMode(object) { | ||
|  |       { | ||
|  |         if (!hasWarnedAboutDeprecatedIsAsyncMode) { | ||
|  |           hasWarnedAboutDeprecatedIsAsyncMode = true; | ||
|  |           lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); | ||
|  |         } | ||
|  |       } | ||
|  |       return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; | ||
|  |     } | ||
|  | 
 | ||
|  |     function isConcurrentMode(object) { | ||
|  |       return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; | ||
|  |     } | ||
|  | 
 | ||
|  |     function isContextConsumer(object) { | ||
|  |       return typeOf(object) === REACT_CONTEXT_TYPE; | ||
|  |     } | ||
|  | 
 | ||
|  |     function isContextProvider(object) { | ||
|  |       return typeOf(object) === REACT_PROVIDER_TYPE; | ||
|  |     } | ||
|  | 
 | ||
|  |     function isElement(object) { | ||
|  |       return _typeof(object) === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; | ||
|  |     } | ||
|  | 
 | ||
|  |     function isForwardRef(object) { | ||
|  |       return typeOf(object) === REACT_FORWARD_REF_TYPE; | ||
|  |     } | ||
|  | 
 | ||
|  |     function isFragment(object) { | ||
|  |       return typeOf(object) === REACT_FRAGMENT_TYPE; | ||
|  |     } | ||
|  | 
 | ||
|  |     function isLazy(object) { | ||
|  |       return typeOf(object) === REACT_LAZY_TYPE; | ||
|  |     } | ||
|  | 
 | ||
|  |     function isMemo(object) { | ||
|  |       return typeOf(object) === REACT_MEMO_TYPE; | ||
|  |     } | ||
|  | 
 | ||
|  |     function isPortal(object) { | ||
|  |       return typeOf(object) === REACT_PORTAL_TYPE; | ||
|  |     } | ||
|  | 
 | ||
|  |     function isProfiler(object) { | ||
|  |       return typeOf(object) === REACT_PROFILER_TYPE; | ||
|  |     } | ||
|  | 
 | ||
|  |     function isStrictMode(object) { | ||
|  |       return typeOf(object) === REACT_STRICT_MODE_TYPE; | ||
|  |     } | ||
|  | 
 | ||
|  |     function isSuspense(object) { | ||
|  |       return typeOf(object) === REACT_SUSPENSE_TYPE; | ||
|  |     } | ||
|  | 
 | ||
|  |     exports.typeOf = typeOf; | ||
|  |     exports.AsyncMode = AsyncMode; | ||
|  |     exports.ConcurrentMode = ConcurrentMode; | ||
|  |     exports.ContextConsumer = ContextConsumer; | ||
|  |     exports.ContextProvider = ContextProvider; | ||
|  |     exports.Element = Element; | ||
|  |     exports.ForwardRef = ForwardRef; | ||
|  |     exports.Fragment = Fragment; | ||
|  |     exports.Lazy = Lazy; | ||
|  |     exports.Memo = Memo; | ||
|  |     exports.Portal = Portal; | ||
|  |     exports.Profiler = Profiler; | ||
|  |     exports.StrictMode = StrictMode; | ||
|  |     exports.Suspense = Suspense; | ||
|  |     exports.isValidElementType = isValidElementType; | ||
|  |     exports.isAsyncMode = isAsyncMode; | ||
|  |     exports.isConcurrentMode = isConcurrentMode; | ||
|  |     exports.isContextConsumer = isContextConsumer; | ||
|  |     exports.isContextProvider = isContextProvider; | ||
|  |     exports.isElement = isElement; | ||
|  |     exports.isForwardRef = isForwardRef; | ||
|  |     exports.isFragment = isFragment; | ||
|  |     exports.isLazy = isLazy; | ||
|  |     exports.isMemo = isMemo; | ||
|  |     exports.isPortal = isPortal; | ||
|  |     exports.isProfiler = isProfiler; | ||
|  |     exports.isStrictMode = isStrictMode; | ||
|  |     exports.isSuspense = isSuspense; | ||
|  |   })(); | ||
|  | } | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./node_modules/react-is/index.js": | ||
|  | /*!****************************************!*\ | ||
|  |   !*** ./node_modules/react-is/index.js ***! | ||
|  |   \****************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | if (false) {} else { | ||
|  |   module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "./node_modules/react-is/cjs/react-is.development.js"); | ||
|  | } | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./node_modules/webpack/buildin/module.js": | ||
|  | /*!***********************************!*\ | ||
|  |   !*** (webpack)/buildin/module.js ***! | ||
|  |   \***********************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | module.exports = function (module) { | ||
|  |   if (!module.webpackPolyfill) { | ||
|  |     module.deprecate = function () {}; | ||
|  | 
 | ||
|  |     module.paths = []; // module.parent = undefined by default
 | ||
|  | 
 | ||
|  |     if (!module.children) module.children = []; | ||
|  |     Object.defineProperty(module, "loaded", { | ||
|  |       enumerable: true, | ||
|  |       get: function get() { | ||
|  |         return module.l; | ||
|  |       } | ||
|  |     }); | ||
|  |     Object.defineProperty(module, "id", { | ||
|  |       enumerable: true, | ||
|  |       get: function get() { | ||
|  |         return module.i; | ||
|  |       } | ||
|  |     }); | ||
|  |     module.webpackPolyfill = 1; | ||
|  |   } | ||
|  | 
 | ||
|  |   return module; | ||
|  | }; | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./packages/pretty-format/src/collections.ts": | ||
|  | /*!***************************************************!*\ | ||
|  |   !*** ./packages/pretty-format/src/collections.ts ***! | ||
|  |   \***************************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | Object.defineProperty(exports, "__esModule", { | ||
|  |   value: true | ||
|  | }); | ||
|  | exports.printIteratorEntries = printIteratorEntries; | ||
|  | exports.printIteratorValues = printIteratorValues; | ||
|  | exports.printListItems = printListItems; | ||
|  | exports.printObjectProperties = printObjectProperties; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. | ||
|  |  * | ||
|  |  * This source code is licensed under the MIT license found in the | ||
|  |  * LICENSE file in the root directory of this source tree. | ||
|  |  * | ||
|  |  */ | ||
|  | var getKeysOfEnumerableProperties = function getKeysOfEnumerableProperties(object) { | ||
|  |   var keys = Object.keys(object).sort(); | ||
|  | 
 | ||
|  |   if (Object.getOwnPropertySymbols) { | ||
|  |     Object.getOwnPropertySymbols(object).forEach(function (symbol) { | ||
|  |       if (Object.getOwnPropertyDescriptor(object, symbol).enumerable) { | ||
|  |         keys.push(symbol); | ||
|  |       } | ||
|  |     }); | ||
|  |   } | ||
|  | 
 | ||
|  |   return keys; | ||
|  | }; | ||
|  | /** | ||
|  |  * Return entries (for example, of a map) | ||
|  |  * with spacing, indentation, and comma | ||
|  |  * without surrounding punctuation (for example, braces) | ||
|  |  */ | ||
|  | 
 | ||
|  | 
 | ||
|  | function printIteratorEntries( // Flow 0.51.0: property `@@iterator` of $Iterator not found in Object
 | ||
|  | // To allow simplistic getRecordIterator in immutable.js
 | ||
|  | iterator, config, indentation, depth, refs, printer) { | ||
|  |   var separator = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : ': '; | ||
|  |   var result = ''; | ||
|  |   var current = iterator.next(); | ||
|  | 
 | ||
|  |   if (!current.done) { | ||
|  |     result += config.spacingOuter; | ||
|  |     var indentationNext = indentation + config.indent; | ||
|  | 
 | ||
|  |     while (!current.done) { | ||
|  |       var name = printer(current.value[0], config, indentationNext, depth, refs); | ||
|  |       var value = printer(current.value[1], config, indentationNext, depth, refs); | ||
|  |       result += indentationNext + name + separator + value; | ||
|  |       current = iterator.next(); | ||
|  | 
 | ||
|  |       if (!current.done) { | ||
|  |         result += ',' + config.spacingInner; | ||
|  |       } else if (!config.min) { | ||
|  |         result += ','; | ||
|  |       } | ||
|  |     } | ||
|  | 
 | ||
|  |     result += config.spacingOuter + indentation; | ||
|  |   } | ||
|  | 
 | ||
|  |   return result; | ||
|  | } | ||
|  | /** | ||
|  |  * Return values (for example, of a set) | ||
|  |  * with spacing, indentation, and comma | ||
|  |  * without surrounding punctuation (braces or brackets) | ||
|  |  */ | ||
|  | 
 | ||
|  | 
 | ||
|  | function printIteratorValues(iterator, config, indentation, depth, refs, printer) { | ||
|  |   var result = ''; | ||
|  |   var current = iterator.next(); | ||
|  | 
 | ||
|  |   if (!current.done) { | ||
|  |     result += config.spacingOuter; | ||
|  |     var indentationNext = indentation + config.indent; | ||
|  | 
 | ||
|  |     while (!current.done) { | ||
|  |       result += indentationNext + printer(current.value, config, indentationNext, depth, refs); | ||
|  |       current = iterator.next(); | ||
|  | 
 | ||
|  |       if (!current.done) { | ||
|  |         result += ',' + config.spacingInner; | ||
|  |       } else if (!config.min) { | ||
|  |         result += ','; | ||
|  |       } | ||
|  |     } | ||
|  | 
 | ||
|  |     result += config.spacingOuter + indentation; | ||
|  |   } | ||
|  | 
 | ||
|  |   return result; | ||
|  | } | ||
|  | /** | ||
|  |  * Return items (for example, of an array) | ||
|  |  * with spacing, indentation, and comma | ||
|  |  * without surrounding punctuation (for example, brackets) | ||
|  |  **/ | ||
|  | 
 | ||
|  | 
 | ||
|  | function printListItems(list, config, indentation, depth, refs, printer) { | ||
|  |   var result = ''; | ||
|  | 
 | ||
|  |   if (list.length) { | ||
|  |     result += config.spacingOuter; | ||
|  |     var indentationNext = indentation + config.indent; | ||
|  | 
 | ||
|  |     for (var i = 0; i < list.length; i++) { | ||
|  |       result += indentationNext + printer(list[i], config, indentationNext, depth, refs); | ||
|  | 
 | ||
|  |       if (i < list.length - 1) { | ||
|  |         result += ',' + config.spacingInner; | ||
|  |       } else if (!config.min) { | ||
|  |         result += ','; | ||
|  |       } | ||
|  |     } | ||
|  | 
 | ||
|  |     result += config.spacingOuter + indentation; | ||
|  |   } | ||
|  | 
 | ||
|  |   return result; | ||
|  | } | ||
|  | /** | ||
|  |  * Return properties of an object | ||
|  |  * with spacing, indentation, and comma | ||
|  |  * without surrounding punctuation (for example, braces) | ||
|  |  */ | ||
|  | 
 | ||
|  | 
 | ||
|  | function printObjectProperties(val, config, indentation, depth, refs, printer) { | ||
|  |   var result = ''; | ||
|  |   var keys = getKeysOfEnumerableProperties(val); | ||
|  | 
 | ||
|  |   if (keys.length) { | ||
|  |     result += config.spacingOuter; | ||
|  |     var indentationNext = indentation + config.indent; | ||
|  | 
 | ||
|  |     for (var i = 0; i < keys.length; i++) { | ||
|  |       var key = keys[i]; | ||
|  |       var name = printer(key, config, indentationNext, depth, refs); | ||
|  |       var value = printer(val[key], config, indentationNext, depth, refs); | ||
|  |       result += indentationNext + name + ': ' + value; | ||
|  | 
 | ||
|  |       if (i < keys.length - 1) { | ||
|  |         result += ',' + config.spacingInner; | ||
|  |       } else if (!config.min) { | ||
|  |         result += ','; | ||
|  |       } | ||
|  |     } | ||
|  | 
 | ||
|  |     result += config.spacingOuter + indentation; | ||
|  |   } | ||
|  | 
 | ||
|  |   return result; | ||
|  | } | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./packages/pretty-format/src/index.ts": | ||
|  | /*!*********************************************!*\ | ||
|  |   !*** ./packages/pretty-format/src/index.ts ***! | ||
|  |   \*********************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | var _ansiStyles = _interopRequireDefault(__webpack_require__(/*! ansi-styles */ "./node_modules/ansi-styles/index.js")); | ||
|  | 
 | ||
|  | var _collections = __webpack_require__(/*! ./collections */ "./packages/pretty-format/src/collections.ts"); | ||
|  | 
 | ||
|  | var _AsymmetricMatcher = _interopRequireDefault(__webpack_require__(/*! ./plugins/AsymmetricMatcher */ "./packages/pretty-format/src/plugins/AsymmetricMatcher.ts")); | ||
|  | 
 | ||
|  | var _ConvertAnsi = _interopRequireDefault(__webpack_require__(/*! ./plugins/ConvertAnsi */ "./packages/pretty-format/src/plugins/ConvertAnsi.ts")); | ||
|  | 
 | ||
|  | var _DOMCollection = _interopRequireDefault(__webpack_require__(/*! ./plugins/DOMCollection */ "./packages/pretty-format/src/plugins/DOMCollection.ts")); | ||
|  | 
 | ||
|  | var _DOMElement = _interopRequireDefault(__webpack_require__(/*! ./plugins/DOMElement */ "./packages/pretty-format/src/plugins/DOMElement.ts")); | ||
|  | 
 | ||
|  | var _Immutable = _interopRequireDefault(__webpack_require__(/*! ./plugins/Immutable */ "./packages/pretty-format/src/plugins/Immutable.ts")); | ||
|  | 
 | ||
|  | var _ReactElement = _interopRequireDefault(__webpack_require__(/*! ./plugins/ReactElement */ "./packages/pretty-format/src/plugins/ReactElement.ts")); | ||
|  | 
 | ||
|  | var _ReactTestComponent = _interopRequireDefault(__webpack_require__(/*! ./plugins/ReactTestComponent */ "./packages/pretty-format/src/plugins/ReactTestComponent.ts")); | ||
|  | 
 | ||
|  | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
|  | 
 | ||
|  | function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | ||
|  | 
 | ||
|  | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
|  | 
 | ||
|  | function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } | ||
|  | 
 | ||
|  | function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } | ||
|  | 
 | ||
|  | function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } | ||
|  | 
 | ||
|  | function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); } | ||
|  | 
 | ||
|  | function isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } | ||
|  | 
 | ||
|  | function _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); } | ||
|  | 
 | ||
|  | function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; } | ||
|  | 
 | ||
|  | function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } | ||
|  | 
 | ||
|  | function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } | ||
|  | 
 | ||
|  | var toString = Object.prototype.toString; | ||
|  | var toISOString = Date.prototype.toISOString; | ||
|  | var errorToString = Error.prototype.toString; | ||
|  | var regExpToString = RegExp.prototype.toString; | ||
|  | var symbolToString = Symbol.prototype.toString; | ||
|  | /** | ||
|  |  * Explicitly comparing typeof constructor to function avoids undefined as name | ||
|  |  * when mock identity-obj-proxy returns the key as the value for any key. | ||
|  |  */ | ||
|  | 
 | ||
|  | var getConstructorName = function getConstructorName(val) { | ||
|  |   return typeof val.constructor === 'function' && val.constructor.name || 'Object'; | ||
|  | }; | ||
|  | /* global window */ | ||
|  | 
 | ||
|  | /** Is val is equal to global window object? Works even if it does not exist :) */ | ||
|  | 
 | ||
|  | 
 | ||
|  | var isWindow = function isWindow(val) { | ||
|  |   return typeof window !== 'undefined' && val === window; | ||
|  | }; | ||
|  | 
 | ||
|  | var SYMBOL_REGEXP = /^Symbol\((.*)\)(.*)$/; | ||
|  | var NEWLINE_REGEXP = /\n/gi; | ||
|  | 
 | ||
|  | var PrettyFormatPluginError = | ||
|  | /*#__PURE__*/ | ||
|  | function (_Error) { | ||
|  |   _inherits(PrettyFormatPluginError, _Error); | ||
|  | 
 | ||
|  |   function PrettyFormatPluginError(message, stack) { | ||
|  |     var _this; | ||
|  | 
 | ||
|  |     _classCallCheck(this, PrettyFormatPluginError); | ||
|  | 
 | ||
|  |     _this = _possibleConstructorReturn(this, _getPrototypeOf(PrettyFormatPluginError).call(this, message)); | ||
|  |     _this.stack = stack; | ||
|  |     _this.name = _this.constructor.name; | ||
|  |     return _this; | ||
|  |   } | ||
|  | 
 | ||
|  |   return PrettyFormatPluginError; | ||
|  | }(_wrapNativeSuper(Error)); | ||
|  | 
 | ||
|  | function isToStringedArrayType(toStringed) { | ||
|  |   return toStringed === '[object Array]' || toStringed === '[object ArrayBuffer]' || toStringed === '[object DataView]' || toStringed === '[object Float32Array]' || toStringed === '[object Float64Array]' || toStringed === '[object Int8Array]' || toStringed === '[object Int16Array]' || toStringed === '[object Int32Array]' || toStringed === '[object Uint8Array]' || toStringed === '[object Uint8ClampedArray]' || toStringed === '[object Uint16Array]' || toStringed === '[object Uint32Array]'; | ||
|  | } | ||
|  | 
 | ||
|  | function printNumber(val) { | ||
|  |   return Object.is(val, -0) ? '-0' : String(val); | ||
|  | } | ||
|  | 
 | ||
|  | function printBigInt(val) { | ||
|  |   return String("".concat(val, "n")); | ||
|  | } | ||
|  | 
 | ||
|  | function printFunction(val, printFunctionName) { | ||
|  |   if (!printFunctionName) { | ||
|  |     return '[Function]'; | ||
|  |   } | ||
|  | 
 | ||
|  |   return '[Function ' + (val.name || 'anonymous') + ']'; | ||
|  | } | ||
|  | 
 | ||
|  | function printSymbol(val) { | ||
|  |   return symbolToString.call(val).replace(SYMBOL_REGEXP, 'Symbol($1)'); | ||
|  | } | ||
|  | 
 | ||
|  | function printError(val) { | ||
|  |   return '[' + errorToString.call(val) + ']'; | ||
|  | } | ||
|  | /** | ||
|  |  * The first port of call for printing an object, handles most of the | ||
|  |  * data-types in JS. | ||
|  |  */ | ||
|  | 
 | ||
|  | 
 | ||
|  | function printBasicValue(val, printFunctionName, escapeRegex, escapeString) { | ||
|  |   if (val === true || val === false) { | ||
|  |     return '' + val; | ||
|  |   } | ||
|  | 
 | ||
|  |   if (val === undefined) { | ||
|  |     return 'undefined'; | ||
|  |   } | ||
|  | 
 | ||
|  |   if (val === null) { | ||
|  |     return 'null'; | ||
|  |   } | ||
|  | 
 | ||
|  |   var typeOf = _typeof(val); | ||
|  | 
 | ||
|  |   if (typeOf === 'number') { | ||
|  |     return printNumber(val); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (typeOf === 'bigint') { | ||
|  |     return printBigInt(val); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (typeOf === 'string') { | ||
|  |     if (escapeString) { | ||
|  |       return '"' + val.replace(/"|\\/g, '\\$&') + '"'; | ||
|  |     } | ||
|  | 
 | ||
|  |     return '"' + val + '"'; | ||
|  |   } | ||
|  | 
 | ||
|  |   if (typeOf === 'function') { | ||
|  |     return printFunction(val, printFunctionName); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (typeOf === 'symbol') { | ||
|  |     return printSymbol(val); | ||
|  |   } | ||
|  | 
 | ||
|  |   var toStringed = toString.call(val); | ||
|  | 
 | ||
|  |   if (toStringed === '[object WeakMap]') { | ||
|  |     return 'WeakMap {}'; | ||
|  |   } | ||
|  | 
 | ||
|  |   if (toStringed === '[object WeakSet]') { | ||
|  |     return 'WeakSet {}'; | ||
|  |   } | ||
|  | 
 | ||
|  |   if (toStringed === '[object Function]' || toStringed === '[object GeneratorFunction]') { | ||
|  |     return printFunction(val, printFunctionName); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (toStringed === '[object Symbol]') { | ||
|  |     return printSymbol(val); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (toStringed === '[object Date]') { | ||
|  |     return isNaN(+val) ? 'Date { NaN }' : toISOString.call(val); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (toStringed === '[object Error]') { | ||
|  |     return printError(val); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (toStringed === '[object RegExp]') { | ||
|  |     if (escapeRegex) { | ||
|  |       // https://github.com/benjamingr/RegExp.escape/blob/master/polyfill.js
 | ||
|  |       return regExpToString.call(val).replace(/[\\^$*+?.()|[\]{}]/g, '\\$&'); | ||
|  |     } | ||
|  | 
 | ||
|  |     return regExpToString.call(val); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (val instanceof Error) { | ||
|  |     return printError(val); | ||
|  |   } | ||
|  | 
 | ||
|  |   return null; | ||
|  | } | ||
|  | /** | ||
|  |  * Handles more complex objects ( such as objects with circular references. | ||
|  |  * maps and sets etc ) | ||
|  |  */ | ||
|  | 
 | ||
|  | 
 | ||
|  | function printComplexValue(val, config, indentation, depth, refs, hasCalledToJSON) { | ||
|  |   if (refs.indexOf(val) !== -1) { | ||
|  |     return '[Circular]'; | ||
|  |   } | ||
|  | 
 | ||
|  |   refs = refs.slice(); | ||
|  |   refs.push(val); | ||
|  |   var hitMaxDepth = ++depth > config.maxDepth; | ||
|  |   var min = config.min; | ||
|  | 
 | ||
|  |   if (config.callToJSON && !hitMaxDepth && val.toJSON && typeof val.toJSON === 'function' && !hasCalledToJSON) { | ||
|  |     return printer(val.toJSON(), config, indentation, depth, refs, true); | ||
|  |   } | ||
|  | 
 | ||
|  |   var toStringed = toString.call(val); | ||
|  | 
 | ||
|  |   if (toStringed === '[object Arguments]') { | ||
|  |     return hitMaxDepth ? '[Arguments]' : (min ? '' : 'Arguments ') + '[' + (0, _collections.printListItems)(val, config, indentation, depth, refs, printer) + ']'; | ||
|  |   } | ||
|  | 
 | ||
|  |   if (isToStringedArrayType(toStringed)) { | ||
|  |     return hitMaxDepth ? '[' + val.constructor.name + ']' : (min ? '' : val.constructor.name + ' ') + '[' + (0, _collections.printListItems)(val, config, indentation, depth, refs, printer) + ']'; | ||
|  |   } | ||
|  | 
 | ||
|  |   if (toStringed === '[object Map]') { | ||
|  |     return hitMaxDepth ? '[Map]' : 'Map {' + (0, _collections.printIteratorEntries)(val.entries(), config, indentation, depth, refs, printer, ' => ') + '}'; | ||
|  |   } | ||
|  | 
 | ||
|  |   if (toStringed === '[object Set]') { | ||
|  |     return hitMaxDepth ? '[Set]' : 'Set {' + (0, _collections.printIteratorValues)(val.values(), config, indentation, depth, refs, printer) + '}'; | ||
|  |   } // Avoid failure to serialize global window object in jsdom test environment.
 | ||
|  |   // For example, not even relevant if window is prop of React element.
 | ||
|  | 
 | ||
|  | 
 | ||
|  |   return hitMaxDepth || isWindow(val) ? '[' + getConstructorName(val) + ']' : (min ? '' : getConstructorName(val) + ' ') + '{' + (0, _collections.printObjectProperties)(val, config, indentation, depth, refs, printer) + '}'; | ||
|  | } | ||
|  | 
 | ||
|  | function isNewPlugin(plugin) { | ||
|  |   return plugin.serialize != null; | ||
|  | } | ||
|  | 
 | ||
|  | function printPlugin(plugin, val, config, indentation, depth, refs) { | ||
|  |   var printed; | ||
|  | 
 | ||
|  |   try { | ||
|  |     printed = isNewPlugin(plugin) ? plugin.serialize(val, config, indentation, depth, refs, printer) : plugin.print(val, function (valChild) { | ||
|  |       return printer(valChild, config, indentation, depth, refs); | ||
|  |     }, function (str) { | ||
|  |       var indentationNext = indentation + config.indent; | ||
|  |       return indentationNext + str.replace(NEWLINE_REGEXP, '\n' + indentationNext); | ||
|  |     }, { | ||
|  |       edgeSpacing: config.spacingOuter, | ||
|  |       min: config.min, | ||
|  |       spacing: config.spacingInner | ||
|  |     }, config.colors); | ||
|  |   } catch (error) { | ||
|  |     throw new PrettyFormatPluginError(error.message, error.stack); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (typeof printed !== 'string') { | ||
|  |     throw new Error("pretty-format: Plugin must return type \"string\" but instead returned \"".concat(_typeof(printed), "\".")); | ||
|  |   } | ||
|  | 
 | ||
|  |   return printed; | ||
|  | } | ||
|  | 
 | ||
|  | function findPlugin(plugins, val) { | ||
|  |   for (var p = 0; p < plugins.length; p++) { | ||
|  |     try { | ||
|  |       if (plugins[p].test(val)) { | ||
|  |         return plugins[p]; | ||
|  |       } | ||
|  |     } catch (error) { | ||
|  |       throw new PrettyFormatPluginError(error.message, error.stack); | ||
|  |     } | ||
|  |   } | ||
|  | 
 | ||
|  |   return null; | ||
|  | } | ||
|  | 
 | ||
|  | function printer(val, config, indentation, depth, refs, hasCalledToJSON) { | ||
|  |   var plugin = findPlugin(config.plugins, val); | ||
|  | 
 | ||
|  |   if (plugin !== null) { | ||
|  |     return printPlugin(plugin, val, config, indentation, depth, refs); | ||
|  |   } | ||
|  | 
 | ||
|  |   var basicResult = printBasicValue(val, config.printFunctionName, config.escapeRegex, config.escapeString); | ||
|  | 
 | ||
|  |   if (basicResult !== null) { | ||
|  |     return basicResult; | ||
|  |   } | ||
|  | 
 | ||
|  |   return printComplexValue(val, config, indentation, depth, refs, hasCalledToJSON); | ||
|  | } | ||
|  | 
 | ||
|  | var DEFAULT_THEME = { | ||
|  |   comment: 'gray', | ||
|  |   content: 'reset', | ||
|  |   prop: 'yellow', | ||
|  |   tag: 'cyan', | ||
|  |   value: 'green' | ||
|  | }; | ||
|  | var DEFAULT_THEME_KEYS = Object.keys(DEFAULT_THEME); | ||
|  | var DEFAULT_OPTIONS = { | ||
|  |   callToJSON: true, | ||
|  |   escapeRegex: false, | ||
|  |   escapeString: true, | ||
|  |   highlight: false, | ||
|  |   indent: 2, | ||
|  |   maxDepth: Infinity, | ||
|  |   min: false, | ||
|  |   plugins: [], | ||
|  |   printFunctionName: true, | ||
|  |   theme: DEFAULT_THEME | ||
|  | }; | ||
|  | 
 | ||
|  | function validateOptions(options) { | ||
|  |   Object.keys(options).forEach(function (key) { | ||
|  |     if (!DEFAULT_OPTIONS.hasOwnProperty(key)) { | ||
|  |       throw new Error("pretty-format: Unknown option \"".concat(key, "\".")); | ||
|  |     } | ||
|  |   }); | ||
|  | 
 | ||
|  |   if (options.min && options.indent !== undefined && options.indent !== 0) { | ||
|  |     throw new Error('pretty-format: Options "min" and "indent" cannot be used together.'); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (options.theme !== undefined) { | ||
|  |     if (options.theme === null) { | ||
|  |       throw new Error("pretty-format: Option \"theme\" must not be null."); | ||
|  |     } | ||
|  | 
 | ||
|  |     if (_typeof(options.theme) !== 'object') { | ||
|  |       throw new Error("pretty-format: Option \"theme\" must be of type \"object\" but instead received \"".concat(_typeof(options.theme), "\".")); | ||
|  |     } | ||
|  |   } | ||
|  | } | ||
|  | 
 | ||
|  | var getColorsHighlight = function getColorsHighlight(options) { | ||
|  |   return DEFAULT_THEME_KEYS.reduce(function (colors, key) { | ||
|  |     var value = options.theme && options.theme[key] !== undefined ? options.theme[key] : DEFAULT_THEME[key]; | ||
|  |     var color = _ansiStyles.default[value]; | ||
|  | 
 | ||
|  |     if (color && typeof color.close === 'string' && typeof color.open === 'string') { | ||
|  |       colors[key] = color; | ||
|  |     } else { | ||
|  |       throw new Error("pretty-format: Option \"theme\" has a key \"".concat(key, "\" whose value \"").concat(value, "\" is undefined in ansi-styles.")); | ||
|  |     } | ||
|  | 
 | ||
|  |     return colors; | ||
|  |   }, Object.create(null)); | ||
|  | }; | ||
|  | 
 | ||
|  | var getColorsEmpty = function getColorsEmpty() { | ||
|  |   return DEFAULT_THEME_KEYS.reduce(function (colors, key) { | ||
|  |     colors[key] = { | ||
|  |       close: '', | ||
|  |       open: '' | ||
|  |     }; | ||
|  |     return colors; | ||
|  |   }, Object.create(null)); | ||
|  | }; | ||
|  | 
 | ||
|  | var getPrintFunctionName = function getPrintFunctionName(options) { | ||
|  |   return options && options.printFunctionName !== undefined ? options.printFunctionName : DEFAULT_OPTIONS.printFunctionName; | ||
|  | }; | ||
|  | 
 | ||
|  | var getEscapeRegex = function getEscapeRegex(options) { | ||
|  |   return options && options.escapeRegex !== undefined ? options.escapeRegex : DEFAULT_OPTIONS.escapeRegex; | ||
|  | }; | ||
|  | 
 | ||
|  | var getEscapeString = function getEscapeString(options) { | ||
|  |   return options && options.escapeString !== undefined ? options.escapeString : DEFAULT_OPTIONS.escapeString; | ||
|  | }; | ||
|  | 
 | ||
|  | var getConfig = function getConfig(options) { | ||
|  |   return { | ||
|  |     callToJSON: options && options.callToJSON !== undefined ? options.callToJSON : DEFAULT_OPTIONS.callToJSON, | ||
|  |     colors: options && options.highlight ? getColorsHighlight(options) : getColorsEmpty(), | ||
|  |     escapeRegex: getEscapeRegex(options), | ||
|  |     escapeString: getEscapeString(options), | ||
|  |     indent: options && options.min ? '' : createIndent(options && options.indent !== undefined ? options.indent : DEFAULT_OPTIONS.indent), | ||
|  |     maxDepth: options && options.maxDepth !== undefined ? options.maxDepth : DEFAULT_OPTIONS.maxDepth, | ||
|  |     min: options && options.min !== undefined ? options.min : DEFAULT_OPTIONS.min, | ||
|  |     plugins: options && options.plugins !== undefined ? options.plugins : DEFAULT_OPTIONS.plugins, | ||
|  |     printFunctionName: getPrintFunctionName(options), | ||
|  |     spacingInner: options && options.min ? ' ' : '\n', | ||
|  |     spacingOuter: options && options.min ? '' : '\n' | ||
|  |   }; | ||
|  | }; | ||
|  | 
 | ||
|  | function createIndent(indent) { | ||
|  |   return new Array(indent + 1).join(' '); | ||
|  | } | ||
|  | /** | ||
|  |  * Returns a presentation string of your `val` object | ||
|  |  * @param val any potential JavaScript object | ||
|  |  * @param options Custom settings | ||
|  |  */ | ||
|  | 
 | ||
|  | 
 | ||
|  | function prettyFormat(val, options) { | ||
|  |   if (options) { | ||
|  |     validateOptions(options); | ||
|  | 
 | ||
|  |     if (options.plugins) { | ||
|  |       var plugin = findPlugin(options.plugins, val); | ||
|  | 
 | ||
|  |       if (plugin !== null) { | ||
|  |         return printPlugin(plugin, val, getConfig(options), '', 0, []); | ||
|  |       } | ||
|  |     } | ||
|  |   } | ||
|  | 
 | ||
|  |   var basicResult = printBasicValue(val, getPrintFunctionName(options), getEscapeRegex(options), getEscapeString(options)); | ||
|  | 
 | ||
|  |   if (basicResult !== null) { | ||
|  |     return basicResult; | ||
|  |   } | ||
|  | 
 | ||
|  |   return printComplexValue(val, getConfig(options), '', 0, []); | ||
|  | } | ||
|  | 
 | ||
|  | prettyFormat.plugins = { | ||
|  |   AsymmetricMatcher: _AsymmetricMatcher.default, | ||
|  |   ConvertAnsi: _ConvertAnsi.default, | ||
|  |   DOMCollection: _DOMCollection.default, | ||
|  |   DOMElement: _DOMElement.default, | ||
|  |   Immutable: _Immutable.default, | ||
|  |   ReactElement: _ReactElement.default, | ||
|  |   ReactTestComponent: _ReactTestComponent.default | ||
|  | }; | ||
|  | /* eslint-disable-next-line no-redeclare */ | ||
|  | 
 | ||
|  | module.exports = prettyFormat; | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./packages/pretty-format/src/plugins/AsymmetricMatcher.ts": | ||
|  | /*!*****************************************************************!*\ | ||
|  |   !*** ./packages/pretty-format/src/plugins/AsymmetricMatcher.ts ***! | ||
|  |   \*****************************************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | Object.defineProperty(exports, "__esModule", { | ||
|  |   value: true | ||
|  | }); | ||
|  | exports.default = exports.test = exports.serialize = void 0; | ||
|  | 
 | ||
|  | var _collections = __webpack_require__(/*! ../collections */ "./packages/pretty-format/src/collections.ts"); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. | ||
|  |  * | ||
|  |  * This source code is licensed under the MIT license found in the | ||
|  |  * LICENSE file in the root directory of this source tree. | ||
|  |  */ | ||
|  | var asymmetricMatcher = Symbol.for('jest.asymmetricMatcher'); | ||
|  | var SPACE = ' '; | ||
|  | 
 | ||
|  | var serialize = function serialize(val, config, indentation, depth, refs, printer) { | ||
|  |   var stringedValue = val.toString(); | ||
|  | 
 | ||
|  |   if (stringedValue === 'ArrayContaining' || stringedValue === 'ArrayNotContaining') { | ||
|  |     if (++depth > config.maxDepth) { | ||
|  |       return '[' + stringedValue + ']'; | ||
|  |     } | ||
|  | 
 | ||
|  |     return stringedValue + SPACE + '[' + (0, _collections.printListItems)(val.sample, config, indentation, depth, refs, printer) + ']'; | ||
|  |   } | ||
|  | 
 | ||
|  |   if (stringedValue === 'ObjectContaining' || stringedValue === 'ObjectNotContaining') { | ||
|  |     if (++depth > config.maxDepth) { | ||
|  |       return '[' + stringedValue + ']'; | ||
|  |     } | ||
|  | 
 | ||
|  |     return stringedValue + SPACE + '{' + (0, _collections.printObjectProperties)(val.sample, config, indentation, depth, refs, printer) + '}'; | ||
|  |   } | ||
|  | 
 | ||
|  |   if (stringedValue === 'StringMatching' || stringedValue === 'StringNotMatching') { | ||
|  |     return stringedValue + SPACE + printer(val.sample, config, indentation, depth, refs); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (stringedValue === 'StringContaining' || stringedValue === 'StringNotContaining') { | ||
|  |     return stringedValue + SPACE + printer(val.sample, config, indentation, depth, refs); | ||
|  |   } | ||
|  | 
 | ||
|  |   return val.toAsymmetricMatcher(); | ||
|  | }; | ||
|  | 
 | ||
|  | exports.serialize = serialize; | ||
|  | 
 | ||
|  | var test = function test(val) { | ||
|  |   return val && val.$$typeof === asymmetricMatcher; | ||
|  | }; | ||
|  | 
 | ||
|  | exports.test = test; | ||
|  | var plugin = { | ||
|  |   serialize: serialize, | ||
|  |   test: test | ||
|  | }; | ||
|  | var _default = plugin; | ||
|  | exports.default = _default; | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./packages/pretty-format/src/plugins/ConvertAnsi.ts": | ||
|  | /*!***********************************************************!*\ | ||
|  |   !*** ./packages/pretty-format/src/plugins/ConvertAnsi.ts ***! | ||
|  |   \***********************************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | Object.defineProperty(exports, "__esModule", { | ||
|  |   value: true | ||
|  | }); | ||
|  | exports.default = exports.serialize = exports.test = void 0; | ||
|  | 
 | ||
|  | var _ansiRegex = _interopRequireDefault(__webpack_require__(/*! ansi-regex */ "./node_modules/ansi-regex/index.js")); | ||
|  | 
 | ||
|  | var _ansiStyles = _interopRequireDefault(__webpack_require__(/*! ansi-styles */ "./node_modules/ansi-styles/index.js")); | ||
|  | 
 | ||
|  | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
|  | 
 | ||
|  | /** | ||
|  |  * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. | ||
|  |  * | ||
|  |  * This source code is licensed under the MIT license found in the | ||
|  |  * LICENSE file in the root directory of this source tree. | ||
|  |  */ | ||
|  | var toHumanReadableAnsi = function toHumanReadableAnsi(text) { | ||
|  |   return text.replace((0, _ansiRegex.default)(), function (match) { | ||
|  |     switch (match) { | ||
|  |       case _ansiStyles.default.red.close: | ||
|  |       case _ansiStyles.default.green.close: | ||
|  |       case _ansiStyles.default.cyan.close: | ||
|  |       case _ansiStyles.default.gray.close: | ||
|  |       case _ansiStyles.default.white.close: | ||
|  |       case _ansiStyles.default.yellow.close: | ||
|  |       case _ansiStyles.default.bgRed.close: | ||
|  |       case _ansiStyles.default.bgGreen.close: | ||
|  |       case _ansiStyles.default.bgYellow.close: | ||
|  |       case _ansiStyles.default.inverse.close: | ||
|  |       case _ansiStyles.default.dim.close: | ||
|  |       case _ansiStyles.default.bold.close: | ||
|  |       case _ansiStyles.default.reset.open: | ||
|  |       case _ansiStyles.default.reset.close: | ||
|  |         return '</>'; | ||
|  | 
 | ||
|  |       case _ansiStyles.default.red.open: | ||
|  |         return '<red>'; | ||
|  | 
 | ||
|  |       case _ansiStyles.default.green.open: | ||
|  |         return '<green>'; | ||
|  | 
 | ||
|  |       case _ansiStyles.default.cyan.open: | ||
|  |         return '<cyan>'; | ||
|  | 
 | ||
|  |       case _ansiStyles.default.gray.open: | ||
|  |         return '<gray>'; | ||
|  | 
 | ||
|  |       case _ansiStyles.default.white.open: | ||
|  |         return '<white>'; | ||
|  | 
 | ||
|  |       case _ansiStyles.default.yellow.open: | ||
|  |         return '<yellow>'; | ||
|  | 
 | ||
|  |       case _ansiStyles.default.bgRed.open: | ||
|  |         return '<bgRed>'; | ||
|  | 
 | ||
|  |       case _ansiStyles.default.bgGreen.open: | ||
|  |         return '<bgGreen>'; | ||
|  | 
 | ||
|  |       case _ansiStyles.default.bgYellow.open: | ||
|  |         return '<bgYellow>'; | ||
|  | 
 | ||
|  |       case _ansiStyles.default.inverse.open: | ||
|  |         return '<inverse>'; | ||
|  | 
 | ||
|  |       case _ansiStyles.default.dim.open: | ||
|  |         return '<dim>'; | ||
|  | 
 | ||
|  |       case _ansiStyles.default.bold.open: | ||
|  |         return '<bold>'; | ||
|  | 
 | ||
|  |       default: | ||
|  |         return ''; | ||
|  |     } | ||
|  |   }); | ||
|  | }; | ||
|  | 
 | ||
|  | var test = function test(val) { | ||
|  |   return typeof val === 'string' && !!val.match((0, _ansiRegex.default)()); | ||
|  | }; | ||
|  | 
 | ||
|  | exports.test = test; | ||
|  | 
 | ||
|  | var serialize = function serialize(val, config, indentation, depth, refs, printer) { | ||
|  |   return printer(toHumanReadableAnsi(val), config, indentation, depth, refs); | ||
|  | }; | ||
|  | 
 | ||
|  | exports.serialize = serialize; | ||
|  | var plugin = { | ||
|  |   serialize: serialize, | ||
|  |   test: test | ||
|  | }; | ||
|  | var _default = plugin; | ||
|  | exports.default = _default; | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./packages/pretty-format/src/plugins/DOMCollection.ts": | ||
|  | /*!*************************************************************!*\ | ||
|  |   !*** ./packages/pretty-format/src/plugins/DOMCollection.ts ***! | ||
|  |   \*************************************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | Object.defineProperty(exports, "__esModule", { | ||
|  |   value: true | ||
|  | }); | ||
|  | exports.default = exports.serialize = exports.test = void 0; | ||
|  | 
 | ||
|  | var _collections = __webpack_require__(/*! ../collections */ "./packages/pretty-format/src/collections.ts"); | ||
|  | 
 | ||
|  | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } | ||
|  | 
 | ||
|  | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
|  | 
 | ||
|  | var SPACE = ' '; | ||
|  | var OBJECT_NAMES = ['DOMStringMap', 'NamedNodeMap']; | ||
|  | var ARRAY_REGEXP = /^(HTML\w*Collection|NodeList)$/; | ||
|  | 
 | ||
|  | var testName = function testName(name) { | ||
|  |   return OBJECT_NAMES.indexOf(name) !== -1 || ARRAY_REGEXP.test(name); | ||
|  | }; | ||
|  | 
 | ||
|  | var test = function test(val) { | ||
|  |   return val && val.constructor && val.constructor.name && testName(val.constructor.name); | ||
|  | }; // Convert array of attribute objects to props object.
 | ||
|  | 
 | ||
|  | 
 | ||
|  | exports.test = test; | ||
|  | 
 | ||
|  | var propsReducer = function propsReducer(props, attribute) { | ||
|  |   props[attribute.name] = attribute.value; | ||
|  |   return props; | ||
|  | }; | ||
|  | 
 | ||
|  | var serialize = function serialize(collection, config, indentation, depth, refs, printer) { | ||
|  |   var name = collection.constructor.name; | ||
|  | 
 | ||
|  |   if (++depth > config.maxDepth) { | ||
|  |     return '[' + name + ']'; | ||
|  |   } | ||
|  | 
 | ||
|  |   return (config.min ? '' : name + SPACE) + (OBJECT_NAMES.indexOf(name) !== -1 ? '{' + (0, _collections.printObjectProperties)(name === 'NamedNodeMap' ? Array.prototype.reduce.call(collection, propsReducer, {}) : _objectSpread({}, collection), config, indentation, depth, refs, printer) + '}' : '[' + (0, _collections.printListItems)(Array.from(collection), config, indentation, depth, refs, printer) + ']'); | ||
|  | }; | ||
|  | 
 | ||
|  | exports.serialize = serialize; | ||
|  | var plugin = { | ||
|  |   serialize: serialize, | ||
|  |   test: test | ||
|  | }; | ||
|  | var _default = plugin; | ||
|  | exports.default = _default; | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./packages/pretty-format/src/plugins/DOMElement.ts": | ||
|  | /*!**********************************************************!*\ | ||
|  |   !*** ./packages/pretty-format/src/plugins/DOMElement.ts ***! | ||
|  |   \**********************************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | Object.defineProperty(exports, "__esModule", { | ||
|  |   value: true | ||
|  | }); | ||
|  | exports.default = exports.serialize = exports.test = void 0; | ||
|  | 
 | ||
|  | var _markup = __webpack_require__(/*! ./lib/markup */ "./packages/pretty-format/src/plugins/lib/markup.ts"); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. | ||
|  |  * | ||
|  |  * This source code is licensed under the MIT license found in the | ||
|  |  * LICENSE file in the root directory of this source tree. | ||
|  |  */ | ||
|  | var ELEMENT_NODE = 1; | ||
|  | var TEXT_NODE = 3; | ||
|  | var COMMENT_NODE = 8; | ||
|  | var FRAGMENT_NODE = 11; | ||
|  | var ELEMENT_REGEXP = /^((HTML|SVG)\w*)?Element$/; | ||
|  | 
 | ||
|  | var testNode = function testNode(nodeType, name) { | ||
|  |   return nodeType === ELEMENT_NODE && ELEMENT_REGEXP.test(name) || nodeType === TEXT_NODE && name === 'Text' || nodeType === COMMENT_NODE && name === 'Comment' || nodeType === FRAGMENT_NODE && name === 'DocumentFragment'; | ||
|  | }; | ||
|  | 
 | ||
|  | var test = function test(val) { | ||
|  |   return val && val.constructor && val.constructor.name && testNode(val.nodeType, val.constructor.name); | ||
|  | }; | ||
|  | 
 | ||
|  | exports.test = test; | ||
|  | 
 | ||
|  | function nodeIsText(node) { | ||
|  |   return node.nodeType === TEXT_NODE; | ||
|  | } | ||
|  | 
 | ||
|  | function nodeIsComment(node) { | ||
|  |   return node.nodeType === COMMENT_NODE; | ||
|  | } | ||
|  | 
 | ||
|  | function nodeIsFragment(node) { | ||
|  |   return node.nodeType === FRAGMENT_NODE; | ||
|  | } | ||
|  | 
 | ||
|  | var serialize = function serialize(node, config, indentation, depth, refs, printer) { | ||
|  |   if (nodeIsText(node)) { | ||
|  |     return (0, _markup.printText)(node.data, config); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (nodeIsComment(node)) { | ||
|  |     return (0, _markup.printComment)(node.data, config); | ||
|  |   } | ||
|  | 
 | ||
|  |   var type = nodeIsFragment(node) ? "DocumentFragment" : node.tagName.toLowerCase(); | ||
|  | 
 | ||
|  |   if (++depth > config.maxDepth) { | ||
|  |     return (0, _markup.printElementAsLeaf)(type, config); | ||
|  |   } | ||
|  | 
 | ||
|  |   return (0, _markup.printElement)(type, (0, _markup.printProps)(nodeIsFragment(node) ? [] : Array.from(node.attributes).map(function (attr) { | ||
|  |     return attr.name; | ||
|  |   }).sort(), nodeIsFragment(node) ? [] : Array.from(node.attributes).reduce(function (props, attribute) { | ||
|  |     props[attribute.name] = attribute.value; | ||
|  |     return props; | ||
|  |   }, {}), config, indentation + config.indent, depth, refs, printer), (0, _markup.printChildren)(Array.prototype.slice.call(node.childNodes || node.children), config, indentation + config.indent, depth, refs, printer), config, indentation); | ||
|  | }; | ||
|  | 
 | ||
|  | exports.serialize = serialize; | ||
|  | var plugin = { | ||
|  |   serialize: serialize, | ||
|  |   test: test | ||
|  | }; | ||
|  | var _default = plugin; | ||
|  | exports.default = _default; | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./packages/pretty-format/src/plugins/Immutable.ts": | ||
|  | /*!*********************************************************!*\ | ||
|  |   !*** ./packages/pretty-format/src/plugins/Immutable.ts ***! | ||
|  |   \*********************************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | Object.defineProperty(exports, "__esModule", { | ||
|  |   value: true | ||
|  | }); | ||
|  | exports.default = exports.test = exports.serialize = void 0; | ||
|  | 
 | ||
|  | var _collections = __webpack_require__(/*! ../collections */ "./packages/pretty-format/src/collections.ts"); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. | ||
|  |  * | ||
|  |  * This source code is licensed under the MIT license found in the | ||
|  |  * LICENSE file in the root directory of this source tree. | ||
|  |  */ | ||
|  | // SENTINEL constants are from https://github.com/facebook/immutable-js
 | ||
|  | var IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@'; | ||
|  | var IS_LIST_SENTINEL = '@@__IMMUTABLE_LIST__@@'; | ||
|  | var IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@'; | ||
|  | var IS_MAP_SENTINEL = '@@__IMMUTABLE_MAP__@@'; | ||
|  | var IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@'; | ||
|  | var IS_RECORD_SENTINEL = '@@__IMMUTABLE_RECORD__@@'; // immutable v4
 | ||
|  | 
 | ||
|  | var IS_SEQ_SENTINEL = '@@__IMMUTABLE_SEQ__@@'; | ||
|  | var IS_SET_SENTINEL = '@@__IMMUTABLE_SET__@@'; | ||
|  | var IS_STACK_SENTINEL = '@@__IMMUTABLE_STACK__@@'; | ||
|  | 
 | ||
|  | var getImmutableName = function getImmutableName(name) { | ||
|  |   return 'Immutable.' + name; | ||
|  | }; | ||
|  | 
 | ||
|  | var printAsLeaf = function printAsLeaf(name) { | ||
|  |   return '[' + name + ']'; | ||
|  | }; | ||
|  | 
 | ||
|  | var SPACE = ' '; | ||
|  | var LAZY = '…'; // Seq is lazy if it calls a method like filter
 | ||
|  | 
 | ||
|  | var printImmutableEntries = function printImmutableEntries(val, config, indentation, depth, refs, printer, type) { | ||
|  |   return ++depth > config.maxDepth ? printAsLeaf(getImmutableName(type)) : getImmutableName(type) + SPACE + '{' + (0, _collections.printIteratorEntries)(val.entries(), config, indentation, depth, refs, printer) + '}'; | ||
|  | }; // Record has an entries method because it is a collection in immutable v3.
 | ||
|  | // Return an iterator for Immutable Record from version v3 or v4.
 | ||
|  | 
 | ||
|  | 
 | ||
|  | var getRecordEntries = function getRecordEntries(val) { | ||
|  |   var i = 0; | ||
|  |   return { | ||
|  |     next: function next() { | ||
|  |       if (i < val._keys.length) { | ||
|  |         var key = val._keys[i++]; | ||
|  |         return { | ||
|  |           done: false, | ||
|  |           value: [key, val.get(key)] | ||
|  |         }; | ||
|  |       } | ||
|  | 
 | ||
|  |       return { | ||
|  |         done: true | ||
|  |       }; | ||
|  |     } | ||
|  |   }; | ||
|  | }; | ||
|  | 
 | ||
|  | var printImmutableRecord = function printImmutableRecord(val, config, indentation, depth, refs, printer) { | ||
|  |   // _name property is defined only for an Immutable Record instance
 | ||
|  |   // which was constructed with a second optional descriptive name arg
 | ||
|  |   var name = getImmutableName(val._name || 'Record'); | ||
|  |   return ++depth > config.maxDepth ? printAsLeaf(name) : name + SPACE + '{' + (0, _collections.printIteratorEntries)(getRecordEntries(val), config, indentation, depth, refs, printer) + '}'; | ||
|  | }; | ||
|  | 
 | ||
|  | var printImmutableSeq = function printImmutableSeq(val, config, indentation, depth, refs, printer) { | ||
|  |   var name = getImmutableName('Seq'); | ||
|  | 
 | ||
|  |   if (++depth > config.maxDepth) { | ||
|  |     return printAsLeaf(name); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (val[IS_KEYED_SENTINEL]) { | ||
|  |     return name + SPACE + '{' + ( // from Immutable collection of entries or from ECMAScript object
 | ||
|  |     val._iter || val._object ? (0, _collections.printIteratorEntries)(val.entries(), config, indentation, depth, refs, printer) : LAZY) + '}'; | ||
|  |   } | ||
|  | 
 | ||
|  |   return name + SPACE + '[' + (val._iter || // from Immutable collection of values
 | ||
|  |   val._array || // from ECMAScript array
 | ||
|  |   val._collection || // from ECMAScript collection in immutable v4
 | ||
|  |   val._iterable // from ECMAScript collection in immutable v3
 | ||
|  |   ? (0, _collections.printIteratorValues)(val.values(), config, indentation, depth, refs, printer) : LAZY) + ']'; | ||
|  | }; | ||
|  | 
 | ||
|  | var printImmutableValues = function printImmutableValues(val, config, indentation, depth, refs, printer, type) { | ||
|  |   return ++depth > config.maxDepth ? printAsLeaf(getImmutableName(type)) : getImmutableName(type) + SPACE + '[' + (0, _collections.printIteratorValues)(val.values(), config, indentation, depth, refs, printer) + ']'; | ||
|  | }; | ||
|  | 
 | ||
|  | var serialize = function serialize(val, config, indentation, depth, refs, printer) { | ||
|  |   if (val[IS_MAP_SENTINEL]) { | ||
|  |     return printImmutableEntries(val, config, indentation, depth, refs, printer, val[IS_ORDERED_SENTINEL] ? 'OrderedMap' : 'Map'); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (val[IS_LIST_SENTINEL]) { | ||
|  |     return printImmutableValues(val, config, indentation, depth, refs, printer, 'List'); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (val[IS_SET_SENTINEL]) { | ||
|  |     return printImmutableValues(val, config, indentation, depth, refs, printer, val[IS_ORDERED_SENTINEL] ? 'OrderedSet' : 'Set'); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (val[IS_STACK_SENTINEL]) { | ||
|  |     return printImmutableValues(val, config, indentation, depth, refs, printer, 'Stack'); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (val[IS_SEQ_SENTINEL]) { | ||
|  |     return printImmutableSeq(val, config, indentation, depth, refs, printer); | ||
|  |   } // For compatibility with immutable v3 and v4, let record be the default.
 | ||
|  | 
 | ||
|  | 
 | ||
|  |   return printImmutableRecord(val, config, indentation, depth, refs, printer); | ||
|  | }; // Explicitly comparing sentinel properties to true avoids false positive
 | ||
|  | // when mock identity-obj-proxy returns the key as the value for any key.
 | ||
|  | 
 | ||
|  | 
 | ||
|  | exports.serialize = serialize; | ||
|  | 
 | ||
|  | var test = function test(val) { | ||
|  |   return val && (val[IS_ITERABLE_SENTINEL] === true || val[IS_RECORD_SENTINEL] === true); | ||
|  | }; | ||
|  | 
 | ||
|  | exports.test = test; | ||
|  | var plugin = { | ||
|  |   serialize: serialize, | ||
|  |   test: test | ||
|  | }; | ||
|  | var _default = plugin; | ||
|  | exports.default = _default; | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./packages/pretty-format/src/plugins/ReactElement.ts": | ||
|  | /*!************************************************************!*\ | ||
|  |   !*** ./packages/pretty-format/src/plugins/ReactElement.ts ***! | ||
|  |   \************************************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | Object.defineProperty(exports, "__esModule", { | ||
|  |   value: true | ||
|  | }); | ||
|  | exports.default = exports.test = exports.serialize = void 0; | ||
|  | 
 | ||
|  | var ReactIs = _interopRequireWildcard(__webpack_require__(/*! react-is */ "./node_modules/react-is/index.js")); | ||
|  | 
 | ||
|  | var _markup = __webpack_require__(/*! ./lib/markup */ "./packages/pretty-format/src/plugins/lib/markup.ts"); | ||
|  | 
 | ||
|  | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } | ||
|  | 
 | ||
|  | function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | ||
|  | 
 | ||
|  | // Given element.props.children, or subtree during recursive traversal,
 | ||
|  | // return flattened array of children.
 | ||
|  | var getChildren = function getChildren(arg) { | ||
|  |   var children = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; | ||
|  | 
 | ||
|  |   if (Array.isArray(arg)) { | ||
|  |     arg.forEach(function (item) { | ||
|  |       getChildren(item, children); | ||
|  |     }); | ||
|  |   } else if (arg != null && arg !== false) { | ||
|  |     children.push(arg); | ||
|  |   } | ||
|  | 
 | ||
|  |   return children; | ||
|  | }; | ||
|  | 
 | ||
|  | var getType = function getType(element) { | ||
|  |   var type = element.type; | ||
|  | 
 | ||
|  |   if (typeof type === 'string') { | ||
|  |     return type; | ||
|  |   } | ||
|  | 
 | ||
|  |   if (typeof type === 'function') { | ||
|  |     return type.displayName || type.name || 'Unknown'; | ||
|  |   } | ||
|  | 
 | ||
|  |   if (ReactIs.isFragment(element)) { | ||
|  |     return 'React.Fragment'; | ||
|  |   } | ||
|  | 
 | ||
|  |   if (ReactIs.isSuspense(element)) { | ||
|  |     return 'React.Suspense'; | ||
|  |   } | ||
|  | 
 | ||
|  |   if (_typeof(type) === 'object' && type !== null) { | ||
|  |     if (ReactIs.isContextProvider(element)) { | ||
|  |       return 'Context.Provider'; | ||
|  |     } | ||
|  | 
 | ||
|  |     if (ReactIs.isContextConsumer(element)) { | ||
|  |       return 'Context.Consumer'; | ||
|  |     } | ||
|  | 
 | ||
|  |     if (ReactIs.isForwardRef(element)) { | ||
|  |       var functionName = type.render.displayName || type.render.name || ''; | ||
|  |       return functionName !== '' ? 'ForwardRef(' + functionName + ')' : 'ForwardRef'; | ||
|  |     } | ||
|  | 
 | ||
|  |     if (ReactIs.isMemo(type)) { | ||
|  |       var _functionName = type.type.displayName || type.type.name || ''; | ||
|  | 
 | ||
|  |       return _functionName !== '' ? 'Memo(' + _functionName + ')' : 'Memo'; | ||
|  |     } | ||
|  |   } | ||
|  | 
 | ||
|  |   return 'UNDEFINED'; | ||
|  | }; | ||
|  | 
 | ||
|  | var getPropKeys = function getPropKeys(element) { | ||
|  |   var props = element.props; | ||
|  |   return Object.keys(props).filter(function (key) { | ||
|  |     return key !== 'children' && props[key] !== undefined; | ||
|  |   }).sort(); | ||
|  | }; | ||
|  | 
 | ||
|  | var serialize = function serialize(element, config, indentation, depth, refs, printer) { | ||
|  |   return ++depth > config.maxDepth ? (0, _markup.printElementAsLeaf)(getType(element), config) : (0, _markup.printElement)(getType(element), (0, _markup.printProps)(getPropKeys(element), element.props, config, indentation + config.indent, depth, refs, printer), (0, _markup.printChildren)(getChildren(element.props.children), config, indentation + config.indent, depth, refs, printer), config, indentation); | ||
|  | }; | ||
|  | 
 | ||
|  | exports.serialize = serialize; | ||
|  | 
 | ||
|  | var test = function test(val) { | ||
|  |   return val && ReactIs.isElement(val); | ||
|  | }; | ||
|  | 
 | ||
|  | exports.test = test; | ||
|  | var plugin = { | ||
|  |   serialize: serialize, | ||
|  |   test: test | ||
|  | }; | ||
|  | var _default = plugin; | ||
|  | exports.default = _default; | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./packages/pretty-format/src/plugins/ReactTestComponent.ts": | ||
|  | /*!******************************************************************!*\ | ||
|  |   !*** ./packages/pretty-format/src/plugins/ReactTestComponent.ts ***! | ||
|  |   \******************************************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | Object.defineProperty(exports, "__esModule", { | ||
|  |   value: true | ||
|  | }); | ||
|  | exports.default = exports.test = exports.serialize = void 0; | ||
|  | 
 | ||
|  | var _markup = __webpack_require__(/*! ./lib/markup */ "./packages/pretty-format/src/plugins/lib/markup.ts"); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. | ||
|  |  * | ||
|  |  * This source code is licensed under the MIT license found in the | ||
|  |  * LICENSE file in the root directory of this source tree. | ||
|  |  */ | ||
|  | // Child can be `number` in Stack renderer but not in Fiber renderer.
 | ||
|  | var testSymbol = Symbol.for('react.test.json'); | ||
|  | 
 | ||
|  | var getPropKeys = function getPropKeys(object) { | ||
|  |   var props = object.props; | ||
|  |   return props ? Object.keys(props).filter(function (key) { | ||
|  |     return props[key] !== undefined; | ||
|  |   }).sort() : []; | ||
|  | }; | ||
|  | 
 | ||
|  | var serialize = function serialize(object, config, indentation, depth, refs, printer) { | ||
|  |   return ++depth > config.maxDepth ? (0, _markup.printElementAsLeaf)(object.type, config) : (0, _markup.printElement)(object.type, object.props ? (0, _markup.printProps)(getPropKeys(object), object.props, config, indentation + config.indent, depth, refs, printer) : '', object.children ? (0, _markup.printChildren)(object.children, config, indentation + config.indent, depth, refs, printer) : '', config, indentation); | ||
|  | }; | ||
|  | 
 | ||
|  | exports.serialize = serialize; | ||
|  | 
 | ||
|  | var test = function test(val) { | ||
|  |   return val && val.$$typeof === testSymbol; | ||
|  | }; | ||
|  | 
 | ||
|  | exports.test = test; | ||
|  | var plugin = { | ||
|  |   serialize: serialize, | ||
|  |   test: test | ||
|  | }; | ||
|  | var _default = plugin; | ||
|  | exports.default = _default; | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./packages/pretty-format/src/plugins/lib/escapeHTML.ts": | ||
|  | /*!**************************************************************!*\ | ||
|  |   !*** ./packages/pretty-format/src/plugins/lib/escapeHTML.ts ***! | ||
|  |   \**************************************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | Object.defineProperty(exports, "__esModule", { | ||
|  |   value: true | ||
|  | }); | ||
|  | exports.default = escapeHTML; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. | ||
|  |  * | ||
|  |  * This source code is licensed under the MIT license found in the | ||
|  |  * LICENSE file in the root directory of this source tree. | ||
|  |  */ | ||
|  | function escapeHTML(str) { | ||
|  |   return str.replace(/</g, '<').replace(/>/g, '>'); | ||
|  | } | ||
|  | 
 | ||
|  | /***/ }), | ||
|  | 
 | ||
|  | /***/ "./packages/pretty-format/src/plugins/lib/markup.ts": | ||
|  | /*!**********************************************************!*\ | ||
|  |   !*** ./packages/pretty-format/src/plugins/lib/markup.ts ***! | ||
|  |   \**********************************************************/ | ||
|  | /*! no static exports found */ | ||
|  | /***/ (function(module, exports, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | 
 | ||
|  | Object.defineProperty(exports, "__esModule", { | ||
|  |   value: true | ||
|  | }); | ||
|  | exports.printElementAsLeaf = exports.printElement = exports.printComment = exports.printText = exports.printChildren = exports.printProps = void 0; | ||
|  | 
 | ||
|  | var _escapeHTML = _interopRequireDefault(__webpack_require__(/*! ./escapeHTML */ "./packages/pretty-format/src/plugins/lib/escapeHTML.ts")); | ||
|  | 
 | ||
|  | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
|  | 
 | ||
|  | /** | ||
|  |  * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. | ||
|  |  * | ||
|  |  * This source code is licensed under the MIT license found in the | ||
|  |  * LICENSE file in the root directory of this source tree. | ||
|  |  */ | ||
|  | // Return empty string if keys is empty.
 | ||
|  | var printProps = function printProps(keys, props, config, indentation, depth, refs, printer) { | ||
|  |   var indentationNext = indentation + config.indent; | ||
|  |   var colors = config.colors; | ||
|  |   return keys.map(function (key) { | ||
|  |     var value = props[key]; | ||
|  |     var printed = printer(value, config, indentationNext, depth, refs); | ||
|  | 
 | ||
|  |     if (typeof value !== 'string') { | ||
|  |       if (printed.indexOf('\n') !== -1) { | ||
|  |         printed = config.spacingOuter + indentationNext + printed + config.spacingOuter + indentation; | ||
|  |       } | ||
|  | 
 | ||
|  |       printed = '{' + printed + '}'; | ||
|  |     } | ||
|  | 
 | ||
|  |     return config.spacingInner + indentation + colors.prop.open + key + colors.prop.close + '=' + colors.value.open + printed + colors.value.close; | ||
|  |   }).join(''); | ||
|  | }; // Return empty string if children is empty.
 | ||
|  | 
 | ||
|  | 
 | ||
|  | exports.printProps = printProps; | ||
|  | 
 | ||
|  | var printChildren = function printChildren(children, config, indentation, depth, refs, printer) { | ||
|  |   return children.map(function (child) { | ||
|  |     return config.spacingOuter + indentation + (typeof child === 'string' ? printText(child, config) : printer(child, config, indentation, depth, refs)); | ||
|  |   }).join(''); | ||
|  | }; | ||
|  | 
 | ||
|  | exports.printChildren = printChildren; | ||
|  | 
 | ||
|  | var printText = function printText(text, config) { | ||
|  |   var contentColor = config.colors.content; | ||
|  |   return contentColor.open + (0, _escapeHTML.default)(text) + contentColor.close; | ||
|  | }; | ||
|  | 
 | ||
|  | exports.printText = printText; | ||
|  | 
 | ||
|  | var printComment = function printComment(comment, config) { | ||
|  |   var commentColor = config.colors.comment; | ||
|  |   return commentColor.open + '<!--' + (0, _escapeHTML.default)(comment) + '-->' + commentColor.close; | ||
|  | }; // Separate the functions to format props, children, and element,
 | ||
|  | // so a plugin could override a particular function, if needed.
 | ||
|  | // Too bad, so sad: the traditional (but unnecessary) space
 | ||
|  | // in a self-closing tagColor requires a second test of printedProps.
 | ||
|  | 
 | ||
|  | 
 | ||
|  | exports.printComment = printComment; | ||
|  | 
 | ||
|  | var printElement = function printElement(type, printedProps, printedChildren, config, indentation) { | ||
|  |   var tagColor = config.colors.tag; | ||
|  |   return tagColor.open + '<' + type + (printedProps && tagColor.close + printedProps + config.spacingOuter + indentation + tagColor.open) + (printedChildren ? '>' + tagColor.close + printedChildren + config.spacingOuter + indentation + tagColor.open + '</' + type : (printedProps && !config.min ? '' : ' ') + '/') + '>' + tagColor.close; | ||
|  | }; | ||
|  | 
 | ||
|  | exports.printElement = printElement; | ||
|  | 
 | ||
|  | var printElementAsLeaf = function printElementAsLeaf(type, config) { | ||
|  |   var tagColor = config.colors.tag; | ||
|  |   return tagColor.open + '<' + type + tagColor.close + ' …' + tagColor.open + ' />' + tagColor.close; | ||
|  | }; | ||
|  | 
 | ||
|  | exports.printElementAsLeaf = printElementAsLeaf; | ||
|  | 
 | ||
|  | /***/ }) | ||
|  | 
 | ||
|  | /******/ }); | ||
|  | }); | ||
|  | //# sourceMappingURL=index.js.map
 |