mirror of
				https://gitea.com/actions/setup-python.git
				synced 2025-10-31 09:08:07 +07:00 
			
		
		
		
	
		
			
				
	
	
		
			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
 |