{"version":3,"sources":["webpack://prettyFormat/webpack/universalModuleDefinition","webpack://prettyFormat/webpack/bootstrap","webpack://prettyFormat/./node_modules/ansi-regex/index.js","webpack://prettyFormat/./node_modules/ansi-styles/index.js","webpack://prettyFormat/./node_modules/ansi-styles/node_modules/color-convert/conversions.js","webpack://prettyFormat/./node_modules/ansi-styles/node_modules/color-convert/index.js","webpack://prettyFormat/./node_modules/ansi-styles/node_modules/color-convert/route.js","webpack://prettyFormat/./node_modules/color-name/index.js","webpack://prettyFormat/./node_modules/react-is/cjs/react-is.development.js","webpack://prettyFormat/./node_modules/react-is/index.js","webpack://prettyFormat/(webpack)/buildin/module.js","webpack://prettyFormat/./packages/pretty-format/src/collections.ts","webpack://prettyFormat/./packages/pretty-format/src/index.ts","webpack://prettyFormat/./packages/pretty-format/src/plugins/AsymmetricMatcher.ts","webpack://prettyFormat/./packages/pretty-format/src/plugins/ConvertAnsi.ts","webpack://prettyFormat/./packages/pretty-format/src/plugins/DOMCollection.ts","webpack://prettyFormat/./packages/pretty-format/src/plugins/DOMElement.ts","webpack://prettyFormat/./packages/pretty-format/src/plugins/Immutable.ts","webpack://prettyFormat/./packages/pretty-format/src/plugins/ReactElement.ts","webpack://prettyFormat/./packages/pretty-format/src/plugins/ReactTestComponent.ts","webpack://prettyFormat/./packages/pretty-format/src/plugins/lib/escapeHTML.ts","webpack://prettyFormat/./packages/pretty-format/src/plugins/lib/markup.ts"],"names":["module","exports","onlyFirst","pattern","join","RegExp","undefined","wrapAnsi16","fn","offset","code","wrapAnsi256","wrapAnsi16m","rgb","ansi2ansi","n","rgb2rgb","r","g","b","setLazyProperty","object","property","get","Object","defineProperty","value","enumerable","configurable","colorConvert","makeDynamicStyles","wrap","targetSpace","identity","isBackground","require","styles","entries","sourceSpace","suite","name","assembleStyles","codes","Map","modifier","reset","bold","dim","italic","underline","inverse","hidden","strikethrough","color","black","red","green","yellow","blue","magenta","cyan","white","blackBright","redBright","greenBright","yellowBright","blueBright","magentaBright","cyanBright","whiteBright","bgColor","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bgBlackBright","bgRedBright","bgGreenBright","bgYellowBright","bgBlueBright","bgMagentaBright","bgCyanBright","bgWhiteBright","gray","bgGray","grey","bgGrey","groupName","group","styleName","style","open","close","set","cssKeywords","reverseKeywords","keys","key","convert","channels","labels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","ansi16","ansi256","hcg","apple","model","Error","length","min","Math","max","delta","h","s","l","rdif","gdif","bdif","v","diff","diffc","c","w","k","m","y","comparativeDistance","x","reversed","currentClosestDistance","Infinity","currentClosestKeyword","distance","z","a","t2","t3","val","t1","i","smin","lmin","sv","hi","floor","f","p","q","t","vmin","sl","wh","bl","ratio","y2","x2","z2","hr","atan2","PI","sqrt","cos","sin","args","saturation","round","ansi","mult","rem","integer","string","toString","toUpperCase","substring","match","colorString","split","map","char","parseInt","chroma","grayscale","hue","pure","mg","conversions","route","models","wrapRaw","wrappedFn","arg0","conversion","wrapRounded","result","len","forEach","fromModel","routes","routeModels","toModel","raw","buildGraph","graph","parent","deriveBFS","queue","current","pop","adjacents","adjacent","node","unshift","link","from","to","wrapConversion","path","cur","process","hasSymbol","Symbol","for","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","isValidElementType","type","$$typeof","lowPriorityWarningWithoutStack","printWarning","format","_len","arguments","Array","_key","argIndex","message","replace","console","warn","condition","_len2","_key2","apply","concat","lowPriorityWarningWithoutStack$1","typeOf","$$typeofType","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","webpackPolyfill","deprecate","paths","children","getKeysOfEnumerableProperties","sort","getOwnPropertySymbols","symbol","getOwnPropertyDescriptor","push","printIteratorEntries","iterator","config","indentation","depth","refs","printer","separator","next","done","spacingOuter","indentationNext","indent","spacingInner","printIteratorValues","printListItems","list","printObjectProperties","prototype","toISOString","Date","errorToString","regExpToString","getConstructorName","constructor","isWindow","window","SYMBOL_REGEXP","NEWLINE_REGEXP","PrettyFormatPluginError","stack","isToStringedArrayType","toStringed","printNumber","is","String","printBigInt","printFunction","printFunctionName","printSymbol","printError","call","printBasicValue","escapeRegex","escapeString","isNaN","printComplexValue","hasCalledToJSON","indexOf","slice","hitMaxDepth","maxDepth","callToJSON","toJSON","values","isNewPlugin","plugin","serialize","printPlugin","printed","print","valChild","str","edgeSpacing","spacing","colors","error","findPlugin","plugins","test","basicResult","DEFAULT_THEME","comment","content","prop","tag","DEFAULT_THEME_KEYS","DEFAULT_OPTIONS","highlight","theme","validateOptions","options","hasOwnProperty","getColorsHighlight","reduce","create","getColorsEmpty","getPrintFunctionName","getEscapeRegex","getEscapeString","getConfig","createIndent","prettyFormat","AsymmetricMatcher","ConvertAnsi","DOMCollection","DOMElement","Immutable","ReactElement","ReactTestComponent","asymmetricMatcher","SPACE","stringedValue","sample","toAsymmetricMatcher","toHumanReadableAnsi","text","OBJECT_NAMES","ARRAY_REGEXP","testName","propsReducer","props","attribute","collection","ELEMENT_NODE","TEXT_NODE","COMMENT_NODE","FRAGMENT_NODE","ELEMENT_REGEXP","testNode","nodeType","nodeIsText","nodeIsComment","nodeIsFragment","data","tagName","toLowerCase","attributes","attr","childNodes","IS_ITERABLE_SENTINEL","IS_LIST_SENTINEL","IS_KEYED_SENTINEL","IS_MAP_SENTINEL","IS_ORDERED_SENTINEL","IS_RECORD_SENTINEL","IS_SEQ_SENTINEL","IS_SET_SENTINEL","IS_STACK_SENTINEL","getImmutableName","printAsLeaf","LAZY","printImmutableEntries","getRecordEntries","_keys","printImmutableRecord","_name","printImmutableSeq","_iter","_object","_array","_collection","_iterable","printImmutableValues","getChildren","arg","isArray","item","getType","element","displayName","ReactIs","functionName","render","getPropKeys","filter","testSymbol","escapeHTML","printProps","printChildren","child","printText","contentColor","printComment","commentColor","printElement","printedProps","printedChildren","tagColor","printElementAsLeaf"],"mappings":"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","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"prettyFormat\"] = factory();\n\telse\n\t\troot[\"prettyFormat\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./packages/pretty-format/src/index.ts\");\n","'use strict';\n\nmodule.exports = ({onlyFirst = false} = {}) => {\n\tconst pattern = [\n\t\t'[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n};\n","'use strict';\n\nconst wrapAnsi16 = (fn, offset) => (...args) => {\n\tconst code = fn(...args);\n\treturn `\\u001B[${code + offset}m`;\n};\n\nconst wrapAnsi256 = (fn, offset) => (...args) => {\n\tconst code = fn(...args);\n\treturn `\\u001B[${38 + offset};5;${code}m`;\n};\n\nconst wrapAnsi16m = (fn, offset) => (...args) => {\n\tconst rgb = fn(...args);\n\treturn `\\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;\n};\n\nconst ansi2ansi = n => n;\nconst rgb2rgb = (r, g, b) => [r, g, b];\n\nconst setLazyProperty = (object, property, get) => {\n\tObject.defineProperty(object, property, {\n\t\tget: () => {\n\t\t\tconst value = get();\n\n\t\t\tObject.defineProperty(object, property, {\n\t\t\t\tvalue,\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true\n\t\t\t});\n\n\t\t\treturn value;\n\t\t},\n\t\tenumerable: true,\n\t\tconfigurable: true\n\t});\n};\n\n/** @type {typeof import('color-convert')} */\nlet colorConvert;\nconst makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => {\n\tif (colorConvert === undefined) {\n\t\tcolorConvert = require('color-convert');\n\t}\n\n\tconst offset = isBackground ? 10 : 0;\n\tconst styles = {};\n\n\tfor (const [sourceSpace, suite] of Object.entries(colorConvert)) {\n\t\tconst name = sourceSpace === 'ansi16' ? 'ansi' : sourceSpace;\n\t\tif (sourceSpace === targetSpace) {\n\t\t\tstyles[name] = wrap(identity, offset);\n\t\t} else if (typeof suite === 'object') {\n\t\t\tstyles[name] = wrap(suite[targetSpace], offset);\n\t\t}\n\t}\n\n\treturn styles;\n};\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\tconst styles = {\n\t\tmodifier: {\n\t\t\treset: [0, 0],\n\t\t\t// 21 isn't widely supported and 22 does the same thing\n\t\t\tbold: [1, 22],\n\t\t\tdim: [2, 22],\n\t\t\titalic: [3, 23],\n\t\t\tunderline: [4, 24],\n\t\t\tinverse: [7, 27],\n\t\t\thidden: [8, 28],\n\t\t\tstrikethrough: [9, 29]\n\t\t},\n\t\tcolor: {\n\t\t\tblack: [30, 39],\n\t\t\tred: [31, 39],\n\t\t\tgreen: [32, 39],\n\t\t\tyellow: [33, 39],\n\t\t\tblue: [34, 39],\n\t\t\tmagenta: [35, 39],\n\t\t\tcyan: [36, 39],\n\t\t\twhite: [37, 39],\n\n\t\t\t// Bright color\n\t\t\tblackBright: [90, 39],\n\t\t\tredBright: [91, 39],\n\t\t\tgreenBright: [92, 39],\n\t\t\tyellowBright: [93, 39],\n\t\t\tblueBright: [94, 39],\n\t\t\tmagentaBright: [95, 39],\n\t\t\tcyanBright: [96, 39],\n\t\t\twhiteBright: [97, 39]\n\t\t},\n\t\tbgColor: {\n\t\t\tbgBlack: [40, 49],\n\t\t\tbgRed: [41, 49],\n\t\t\tbgGreen: [42, 49],\n\t\t\tbgYellow: [43, 49],\n\t\t\tbgBlue: [44, 49],\n\t\t\tbgMagenta: [45, 49],\n\t\t\tbgCyan: [46, 49],\n\t\t\tbgWhite: [47, 49],\n\n\t\t\t// Bright color\n\t\t\tbgBlackBright: [100, 49],\n\t\t\tbgRedBright: [101, 49],\n\t\t\tbgGreenBright: [102, 49],\n\t\t\tbgYellowBright: [103, 49],\n\t\t\tbgBlueBright: [104, 49],\n\t\t\tbgMagentaBright: [105, 49],\n\t\t\tbgCyanBright: [106, 49],\n\t\t\tbgWhiteBright: [107, 49]\n\t\t}\n\t};\n\n\t// Alias bright black as gray (and grey)\n\tstyles.color.gray = styles.color.blackBright;\n\tstyles.bgColor.bgGray = styles.bgColor.bgBlackBright;\n\tstyles.color.grey = styles.color.blackBright;\n\tstyles.bgColor.bgGrey = styles.bgColor.bgBlackBright;\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tsetLazyProperty(styles.color, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false));\n\tsetLazyProperty(styles.color, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false));\n\tsetLazyProperty(styles.color, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false));\n\tsetLazyProperty(styles.bgColor, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true));\n\tsetLazyProperty(styles.bgColor, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true));\n\tsetLazyProperty(styles.bgColor, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true));\n\n\treturn styles;\n}\n\n// Make the export immutable\nObject.defineProperty(module, 'exports', {\n\tenumerable: true,\n\tget: assembleStyles\n});\n","/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/** @license React v16.12.0\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_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 || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\nvar lowPriorityWarningWithoutStack = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarningWithoutStack = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarningWithoutStack$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.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport {Config, Printer, Refs} from './types';\n\nconst getKeysOfEnumerableProperties = (object: Record) => {\n const keys: Array = Object.keys(object).sort();\n\n if (Object.getOwnPropertySymbols) {\n Object.getOwnPropertySymbols(object).forEach(symbol => {\n if (Object.getOwnPropertyDescriptor(object, symbol)!.enumerable) {\n keys.push(symbol);\n }\n });\n }\n\n return keys as Array;\n};\n\n/**\n * Return entries (for example, of a map)\n * with spacing, indentation, and comma\n * without surrounding punctuation (for example, braces)\n */\nexport function printIteratorEntries(\n // Flow 0.51.0: property `@@iterator` of $Iterator not found in Object\n // To allow simplistic getRecordIterator in immutable.js\n // replaced Iterator<[any, any]> with any\n iterator: any,\n config: Config,\n indentation: string,\n depth: number,\n refs: Refs,\n printer: Printer,\n // Too bad, so sad that separator for ECMAScript Map has been ' => '\n // What a distracting diff if you change a data structure to/from\n // ECMAScript Object or Immutable.Map/OrderedMap which use the default.\n separator: string = ': ',\n): string {\n let result = '';\n let current = iterator.next();\n\n if (!current.done) {\n result += config.spacingOuter;\n\n const indentationNext = indentation + config.indent;\n\n while (!current.done) {\n const name = printer(\n current.value[0],\n config,\n indentationNext,\n depth,\n refs,\n );\n const value = printer(\n current.value[1],\n config,\n indentationNext,\n depth,\n refs,\n );\n\n result += indentationNext + name + separator + value;\n\n current = iterator.next();\n\n if (!current.done) {\n result += ',' + config.spacingInner;\n } else if (!config.min) {\n result += ',';\n }\n }\n\n result += config.spacingOuter + indentation;\n }\n\n return result;\n}\n\n/**\n * Return values (for example, of a set)\n * with spacing, indentation, and comma\n * without surrounding punctuation (braces or brackets)\n */\nexport function printIteratorValues(\n iterator: Iterator,\n config: Config,\n indentation: string,\n depth: number,\n refs: Refs,\n printer: Printer,\n): string {\n let result = '';\n let current = iterator.next();\n\n if (!current.done) {\n result += config.spacingOuter;\n\n const indentationNext = indentation + config.indent;\n\n while (!current.done) {\n result +=\n indentationNext +\n printer(current.value, config, indentationNext, depth, refs);\n\n current = iterator.next();\n\n if (!current.done) {\n result += ',' + config.spacingInner;\n } else if (!config.min) {\n result += ',';\n }\n }\n\n result += config.spacingOuter + indentation;\n }\n\n return result;\n}\n\n/**\n * Return items (for example, of an array)\n * with spacing, indentation, and comma\n * without surrounding punctuation (for example, brackets)\n **/\nexport function printListItems(\n list: any,\n config: Config,\n indentation: string,\n depth: number,\n refs: Refs,\n printer: Printer,\n): string {\n let result = '';\n\n if (list.length) {\n result += config.spacingOuter;\n\n const indentationNext = indentation + config.indent;\n\n for (let i = 0; i < list.length; i++) {\n result +=\n indentationNext +\n printer(list[i], config, indentationNext, depth, refs);\n\n if (i < list.length - 1) {\n result += ',' + config.spacingInner;\n } else if (!config.min) {\n result += ',';\n }\n }\n\n result += config.spacingOuter + indentation;\n }\n\n return result;\n}\n\n/**\n * Return properties of an object\n * with spacing, indentation, and comma\n * without surrounding punctuation (for example, braces)\n */\nexport function printObjectProperties(\n val: Record,\n config: Config,\n indentation: string,\n depth: number,\n refs: Refs,\n printer: Printer,\n): string {\n let result = '';\n const keys = getKeysOfEnumerableProperties(val);\n\n if (keys.length) {\n result += config.spacingOuter;\n\n const indentationNext = indentation + config.indent;\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const name = printer(key, config, indentationNext, depth, refs);\n const value = printer(val[key], config, indentationNext, depth, refs);\n\n result += indentationNext + name + ': ' + value;\n\n if (i < keys.length - 1) {\n result += ',' + config.spacingInner;\n } else if (!config.min) {\n result += ',';\n }\n }\n\n result += config.spacingOuter + indentation;\n }\n\n return result;\n}\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport style = require('ansi-styles');\nimport * as PrettyFormat from './types';\n\nimport {\n printIteratorEntries,\n printIteratorValues,\n printListItems,\n printObjectProperties,\n} from './collections';\n\nimport AsymmetricMatcher from './plugins/AsymmetricMatcher';\nimport ConvertAnsi from './plugins/ConvertAnsi';\nimport DOMCollection from './plugins/DOMCollection';\nimport DOMElement from './plugins/DOMElement';\nimport Immutable from './plugins/Immutable';\nimport ReactElement from './plugins/ReactElement';\nimport ReactTestComponent from './plugins/ReactTestComponent';\n\nconst toString = Object.prototype.toString;\nconst toISOString = Date.prototype.toISOString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\n\n/**\n * Explicitly comparing typeof constructor to function avoids undefined as name\n * when mock identity-obj-proxy returns the key as the value for any key.\n */\nconst getConstructorName = (val: new (...args: Array) => any) =>\n (typeof val.constructor === 'function' && val.constructor.name) || 'Object';\n\n/* global window */\n/** Is val is equal to global window object? Works even if it does not exist :) */\nconst isWindow = (val: any) => typeof window !== 'undefined' && val === window;\n\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\nconst NEWLINE_REGEXP = /\\n/gi;\n\nclass PrettyFormatPluginError extends Error {\n constructor(message: string, stack: string) {\n super(message);\n this.stack = stack;\n this.name = this.constructor.name;\n }\n}\n\nfunction isToStringedArrayType(toStringed: string): boolean {\n return (\n toStringed === '[object Array]' ||\n toStringed === '[object ArrayBuffer]' ||\n toStringed === '[object DataView]' ||\n toStringed === '[object Float32Array]' ||\n toStringed === '[object Float64Array]' ||\n toStringed === '[object Int8Array]' ||\n toStringed === '[object Int16Array]' ||\n toStringed === '[object Int32Array]' ||\n toStringed === '[object Uint8Array]' ||\n toStringed === '[object Uint8ClampedArray]' ||\n toStringed === '[object Uint16Array]' ||\n toStringed === '[object Uint32Array]'\n );\n}\n\nfunction printNumber(val: number): string {\n return Object.is(val, -0) ? '-0' : String(val);\n}\n\nfunction printBigInt(val: bigint): string {\n return String(`${val}n`);\n}\n\nfunction printFunction(val: Function, printFunctionName: boolean): string {\n if (!printFunctionName) {\n return '[Function]';\n }\n return '[Function ' + (val.name || 'anonymous') + ']';\n}\n\nfunction printSymbol(val: symbol): string {\n return String(val).replace(SYMBOL_REGEXP, 'Symbol($1)');\n}\n\nfunction printError(val: Error): string {\n return '[' + errorToString.call(val) + ']';\n}\n\n/**\n * The first port of call for printing an object, handles most of the\n * data-types in JS.\n */\nfunction printBasicValue(\n val: any,\n printFunctionName: boolean,\n escapeRegex: boolean,\n escapeString: boolean,\n): string | null {\n if (val === true || val === false) {\n return '' + val;\n }\n if (val === undefined) {\n return 'undefined';\n }\n if (val === null) {\n return 'null';\n }\n\n const typeOf = typeof val;\n\n if (typeOf === 'number') {\n return printNumber(val);\n }\n if (typeOf === 'bigint') {\n return printBigInt(val);\n }\n if (typeOf === 'string') {\n if (escapeString) {\n return '\"' + val.replace(/\"|\\\\/g, '\\\\$&') + '\"';\n }\n return '\"' + val + '\"';\n }\n if (typeOf === 'function') {\n return printFunction(val, printFunctionName);\n }\n if (typeOf === 'symbol') {\n return printSymbol(val);\n }\n\n const toStringed = toString.call(val);\n\n if (toStringed === '[object WeakMap]') {\n return 'WeakMap {}';\n }\n if (toStringed === '[object WeakSet]') {\n return 'WeakSet {}';\n }\n if (\n toStringed === '[object Function]' ||\n toStringed === '[object GeneratorFunction]'\n ) {\n return printFunction(val, printFunctionName);\n }\n if (toStringed === '[object Symbol]') {\n return printSymbol(val);\n }\n if (toStringed === '[object Date]') {\n return isNaN(+val) ? 'Date { NaN }' : toISOString.call(val);\n }\n if (toStringed === '[object Error]') {\n return printError(val);\n }\n if (toStringed === '[object RegExp]') {\n if (escapeRegex) {\n // https://github.com/benjamingr/RegExp.escape/blob/master/polyfill.js\n return regExpToString.call(val).replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n return regExpToString.call(val);\n }\n\n if (val instanceof Error) {\n return printError(val);\n }\n\n return null;\n}\n\n/**\n * Handles more complex objects ( such as objects with circular references.\n * maps and sets etc )\n */\nfunction printComplexValue(\n val: any,\n config: PrettyFormat.Config,\n indentation: string,\n depth: number,\n refs: PrettyFormat.Refs,\n hasCalledToJSON?: boolean,\n): string {\n if (refs.indexOf(val) !== -1) {\n return '[Circular]';\n }\n refs = refs.slice();\n refs.push(val);\n\n const hitMaxDepth = ++depth > config.maxDepth;\n const min = config.min;\n\n if (\n config.callToJSON &&\n !hitMaxDepth &&\n val.toJSON &&\n typeof val.toJSON === 'function' &&\n !hasCalledToJSON\n ) {\n return printer(val.toJSON(), config, indentation, depth, refs, true);\n }\n\n const toStringed = toString.call(val);\n if (toStringed === '[object Arguments]') {\n return hitMaxDepth\n ? '[Arguments]'\n : (min ? '' : 'Arguments ') +\n '[' +\n printListItems(val, config, indentation, depth, refs, printer) +\n ']';\n }\n if (isToStringedArrayType(toStringed)) {\n return hitMaxDepth\n ? '[' + val.constructor.name + ']'\n : (min ? '' : val.constructor.name + ' ') +\n '[' +\n printListItems(val, config, indentation, depth, refs, printer) +\n ']';\n }\n if (toStringed === '[object Map]') {\n return hitMaxDepth\n ? '[Map]'\n : 'Map {' +\n printIteratorEntries(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer,\n ' => ',\n ) +\n '}';\n }\n if (toStringed === '[object Set]') {\n return hitMaxDepth\n ? '[Set]'\n : 'Set {' +\n printIteratorValues(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer,\n ) +\n '}';\n }\n\n // Avoid failure to serialize global window object in jsdom test environment.\n // For example, not even relevant if window is prop of React element.\n return hitMaxDepth || isWindow(val)\n ? '[' + getConstructorName(val) + ']'\n : (min ? '' : getConstructorName(val) + ' ') +\n '{' +\n printObjectProperties(val, config, indentation, depth, refs, printer) +\n '}';\n}\n\nfunction isNewPlugin(\n plugin: PrettyFormat.Plugin,\n): plugin is PrettyFormat.NewPlugin {\n return (plugin as PrettyFormat.NewPlugin).serialize != null;\n}\n\nfunction printPlugin(\n plugin: PrettyFormat.Plugin,\n val: any,\n config: PrettyFormat.Config,\n indentation: string,\n depth: number,\n refs: PrettyFormat.Refs,\n): string {\n let printed;\n\n try {\n printed = isNewPlugin(plugin)\n ? plugin.serialize(val, config, indentation, depth, refs, printer)\n : plugin.print(\n val,\n valChild => printer(valChild, config, indentation, depth, refs),\n str => {\n const indentationNext = indentation + config.indent;\n return (\n indentationNext +\n str.replace(NEWLINE_REGEXP, '\\n' + indentationNext)\n );\n },\n {\n edgeSpacing: config.spacingOuter,\n min: config.min,\n spacing: config.spacingInner,\n },\n config.colors,\n );\n } catch (error) {\n throw new PrettyFormatPluginError(error.message, error.stack);\n }\n if (typeof printed !== 'string') {\n throw new Error(\n `pretty-format: Plugin must return type \"string\" but instead returned \"${typeof printed}\".`,\n );\n }\n return printed;\n}\n\nfunction findPlugin(plugins: PrettyFormat.Plugins, val: any) {\n for (let p = 0; p < plugins.length; p++) {\n try {\n if (plugins[p].test(val)) {\n return plugins[p];\n }\n } catch (error) {\n throw new PrettyFormatPluginError(error.message, error.stack);\n }\n }\n\n return null;\n}\n\nfunction printer(\n val: any,\n config: PrettyFormat.Config,\n indentation: string,\n depth: number,\n refs: PrettyFormat.Refs,\n hasCalledToJSON?: boolean,\n): string {\n const plugin = findPlugin(config.plugins, val);\n if (plugin !== null) {\n return printPlugin(plugin, val, config, indentation, depth, refs);\n }\n\n const basicResult = printBasicValue(\n val,\n config.printFunctionName,\n config.escapeRegex,\n config.escapeString,\n );\n if (basicResult !== null) {\n return basicResult;\n }\n\n return printComplexValue(\n val,\n config,\n indentation,\n depth,\n refs,\n hasCalledToJSON,\n );\n}\n\nconst DEFAULT_THEME: PrettyFormat.Theme = {\n comment: 'gray',\n content: 'reset',\n prop: 'yellow',\n tag: 'cyan',\n value: 'green',\n};\n\nconst DEFAULT_THEME_KEYS = Object.keys(DEFAULT_THEME) as Array<\n keyof typeof DEFAULT_THEME\n>;\n\nconst DEFAULT_OPTIONS: PrettyFormat.Options = {\n callToJSON: true,\n escapeRegex: false,\n escapeString: true,\n highlight: false,\n indent: 2,\n maxDepth: Infinity,\n min: false,\n plugins: [],\n printFunctionName: true,\n theme: DEFAULT_THEME,\n};\n\nfunction validateOptions(options: PrettyFormat.OptionsReceived) {\n Object.keys(options).forEach(key => {\n if (!DEFAULT_OPTIONS.hasOwnProperty(key)) {\n throw new Error(`pretty-format: Unknown option \"${key}\".`);\n }\n });\n\n if (options.min && options.indent !== undefined && options.indent !== 0) {\n throw new Error(\n 'pretty-format: Options \"min\" and \"indent\" cannot be used together.',\n );\n }\n\n if (options.theme !== undefined) {\n if (options.theme === null) {\n throw new Error(`pretty-format: Option \"theme\" must not be null.`);\n }\n\n if (typeof options.theme !== 'object') {\n throw new Error(\n `pretty-format: Option \"theme\" must be of type \"object\" but instead received \"${typeof options.theme}\".`,\n );\n }\n }\n}\n\nconst getColorsHighlight = (\n options: PrettyFormat.OptionsReceived,\n): PrettyFormat.Colors =>\n DEFAULT_THEME_KEYS.reduce((colors, key) => {\n const value =\n options.theme && options.theme[key] !== undefined\n ? options.theme[key]\n : DEFAULT_THEME[key];\n const color = value && (style as any)[value];\n if (\n color &&\n typeof color.close === 'string' &&\n typeof color.open === 'string'\n ) {\n colors[key] = color;\n } else {\n throw new Error(\n `pretty-format: Option \"theme\" has a key \"${key}\" whose value \"${value}\" is undefined in ansi-styles.`,\n );\n }\n return colors;\n }, Object.create(null));\n\nconst getColorsEmpty = (): PrettyFormat.Colors =>\n DEFAULT_THEME_KEYS.reduce((colors, key) => {\n colors[key] = {close: '', open: ''};\n return colors;\n }, Object.create(null));\n\nconst getPrintFunctionName = (options?: PrettyFormat.OptionsReceived) =>\n options && options.printFunctionName !== undefined\n ? options.printFunctionName\n : DEFAULT_OPTIONS.printFunctionName;\n\nconst getEscapeRegex = (options?: PrettyFormat.OptionsReceived) =>\n options && options.escapeRegex !== undefined\n ? options.escapeRegex\n : DEFAULT_OPTIONS.escapeRegex;\n\nconst getEscapeString = (options?: PrettyFormat.OptionsReceived) =>\n options && options.escapeString !== undefined\n ? options.escapeString\n : DEFAULT_OPTIONS.escapeString;\n\nconst getConfig = (\n options?: PrettyFormat.OptionsReceived,\n): PrettyFormat.Config => ({\n callToJSON:\n options && options.callToJSON !== undefined\n ? options.callToJSON\n : DEFAULT_OPTIONS.callToJSON,\n colors:\n options && options.highlight\n ? getColorsHighlight(options)\n : getColorsEmpty(),\n escapeRegex: getEscapeRegex(options),\n escapeString: getEscapeString(options),\n indent:\n options && options.min\n ? ''\n : createIndent(\n options && options.indent !== undefined\n ? options.indent\n : DEFAULT_OPTIONS.indent,\n ),\n maxDepth:\n options && options.maxDepth !== undefined\n ? options.maxDepth\n : DEFAULT_OPTIONS.maxDepth,\n min: options && options.min !== undefined ? options.min : DEFAULT_OPTIONS.min,\n plugins:\n options && options.plugins !== undefined\n ? options.plugins\n : DEFAULT_OPTIONS.plugins,\n printFunctionName: getPrintFunctionName(options),\n spacingInner: options && options.min ? ' ' : '\\n',\n spacingOuter: options && options.min ? '' : '\\n',\n});\n\nfunction createIndent(indent: number): string {\n return new Array(indent + 1).join(' ');\n}\n\n/**\n * Returns a presentation string of your `val` object\n * @param val any potential JavaScript object\n * @param options Custom settings\n */\nfunction prettyFormat(\n val: any,\n options?: PrettyFormat.OptionsReceived,\n): string {\n if (options) {\n validateOptions(options);\n if (options.plugins) {\n const plugin = findPlugin(options.plugins, val);\n if (plugin !== null) {\n return printPlugin(plugin, val, getConfig(options), '', 0, []);\n }\n }\n }\n\n const basicResult = printBasicValue(\n val,\n getPrintFunctionName(options),\n getEscapeRegex(options),\n getEscapeString(options),\n );\n if (basicResult !== null) {\n return basicResult;\n }\n\n return printComplexValue(val, getConfig(options), '', 0, []);\n}\n\nprettyFormat.plugins = {\n AsymmetricMatcher,\n ConvertAnsi,\n DOMCollection,\n DOMElement,\n Immutable,\n ReactElement,\n ReactTestComponent,\n};\n\n/* eslint-disable-next-line no-redeclare */\nnamespace prettyFormat {\n export type Colors = PrettyFormat.Colors;\n export type Config = PrettyFormat.Config;\n export type Options = PrettyFormat.Options;\n export type OptionsReceived = PrettyFormat.OptionsReceived;\n export type NewPlugin = PrettyFormat.NewPlugin;\n export type Plugin = PrettyFormat.Plugin;\n export type Plugins = PrettyFormat.Plugins;\n export type Refs = PrettyFormat.Refs;\n export type Theme = PrettyFormat.Theme;\n}\n\nexport = prettyFormat;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {Config, NewPlugin, Printer, Refs} from '../types';\n\nimport {printListItems, printObjectProperties} from '../collections';\n\nconst asymmetricMatcher =\n typeof Symbol === 'function' && Symbol.for\n ? Symbol.for('jest.asymmetricMatcher')\n : 0x1357a5;\nconst SPACE = ' ';\n\nexport const serialize = (\n val: any,\n config: Config,\n indentation: string,\n depth: number,\n refs: Refs,\n printer: Printer,\n): string => {\n const stringedValue = val.toString();\n\n if (\n stringedValue === 'ArrayContaining' ||\n stringedValue === 'ArrayNotContaining'\n ) {\n if (++depth > config.maxDepth) {\n return '[' + stringedValue + ']';\n }\n return (\n stringedValue +\n SPACE +\n '[' +\n printListItems(val.sample, config, indentation, depth, refs, printer) +\n ']'\n );\n }\n\n if (\n stringedValue === 'ObjectContaining' ||\n stringedValue === 'ObjectNotContaining'\n ) {\n if (++depth > config.maxDepth) {\n return '[' + stringedValue + ']';\n }\n return (\n stringedValue +\n SPACE +\n '{' +\n printObjectProperties(\n val.sample,\n config,\n indentation,\n depth,\n refs,\n printer,\n ) +\n '}'\n );\n }\n\n if (\n stringedValue === 'StringMatching' ||\n stringedValue === 'StringNotMatching'\n ) {\n return (\n stringedValue +\n SPACE +\n printer(val.sample, config, indentation, depth, refs)\n );\n }\n\n if (\n stringedValue === 'StringContaining' ||\n stringedValue === 'StringNotContaining'\n ) {\n return (\n stringedValue +\n SPACE +\n printer(val.sample, config, indentation, depth, refs)\n );\n }\n\n return val.toAsymmetricMatcher();\n};\n\nexport const test = (val: any) => val && val.$$typeof === asymmetricMatcher;\n\nconst plugin: NewPlugin = {serialize, test};\n\nexport default plugin;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport ansiRegex = require('ansi-regex');\nimport style = require('ansi-styles');\nimport {Config, NewPlugin, Printer, Refs} from '../types';\n\nconst toHumanReadableAnsi = (text: string) =>\n text.replace(ansiRegex(), match => {\n switch (match) {\n case style.red.close:\n case style.green.close:\n case style.cyan.close:\n case style.gray.close:\n case style.white.close:\n case style.yellow.close:\n case style.bgRed.close:\n case style.bgGreen.close:\n case style.bgYellow.close:\n case style.inverse.close:\n case style.dim.close:\n case style.bold.close:\n case style.reset.open:\n case style.reset.close:\n return '';\n case style.red.open:\n return '';\n case style.green.open:\n return '';\n case style.cyan.open:\n return '';\n case style.gray.open:\n return '';\n case style.white.open:\n return '';\n case style.yellow.open:\n return '';\n case style.bgRed.open:\n return '';\n case style.bgGreen.open:\n return '';\n case style.bgYellow.open:\n return '';\n case style.inverse.open:\n return '';\n case style.dim.open:\n return '';\n case style.bold.open:\n return '';\n default:\n return '';\n }\n });\n\nexport const test = (val: any): boolean =>\n typeof val === 'string' && !!val.match(ansiRegex());\n\nexport const serialize = (\n val: string,\n config: Config,\n indentation: string,\n depth: number,\n refs: Refs,\n printer: Printer,\n) => printer(toHumanReadableAnsi(val), config, indentation, depth, refs);\n\nconst plugin: NewPlugin = {serialize, test};\n\nexport default plugin;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {Config, NewPlugin, Printer, Refs} from '../types';\n\nimport {printListItems, printObjectProperties} from '../collections';\n\nconst SPACE = ' ';\n\nconst OBJECT_NAMES = ['DOMStringMap', 'NamedNodeMap'];\nconst ARRAY_REGEXP = /^(HTML\\w*Collection|NodeList)$/;\n\nconst testName = (name: any) =>\n OBJECT_NAMES.indexOf(name) !== -1 || ARRAY_REGEXP.test(name);\n\nexport const test = (val: any) =>\n val &&\n val.constructor &&\n val.constructor.name &&\n testName(val.constructor.name);\n\n// Convert array of attribute objects to props object.\nconst propsReducer = (props: any, attribute: any) => {\n props[attribute.name] = attribute.value;\n return props;\n};\n\nexport const serialize = (\n collection: any,\n config: Config,\n indentation: string,\n depth: number,\n refs: Refs,\n printer: Printer,\n): string => {\n const name = collection.constructor.name;\n if (++depth > config.maxDepth) {\n return '[' + name + ']';\n }\n\n return (\n (config.min ? '' : name + SPACE) +\n (OBJECT_NAMES.indexOf(name) !== -1\n ? '{' +\n printObjectProperties(\n name === 'NamedNodeMap'\n ? Array.prototype.reduce.call(collection, propsReducer, {})\n : {...collection},\n config,\n indentation,\n depth,\n refs,\n printer,\n ) +\n '}'\n : '[' +\n printListItems(\n Array.from(collection),\n config,\n indentation,\n depth,\n refs,\n printer,\n ) +\n ']')\n );\n};\n\nconst plugin: NewPlugin = {serialize, test};\n\nexport default plugin;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {Config, NewPlugin, Printer, Refs} from '../types';\n\nimport {\n printChildren,\n printComment,\n printElement,\n printElementAsLeaf,\n printProps,\n printText,\n} from './lib/markup';\n\nconst ELEMENT_NODE = 1;\nconst TEXT_NODE = 3;\nconst COMMENT_NODE = 8;\nconst FRAGMENT_NODE = 11;\n\nconst ELEMENT_REGEXP = /^((HTML|SVG)\\w*)?Element$/;\n\nconst testNode = (nodeType: any, name: any) =>\n (nodeType === ELEMENT_NODE && ELEMENT_REGEXP.test(name)) ||\n (nodeType === TEXT_NODE && name === 'Text') ||\n (nodeType === COMMENT_NODE && name === 'Comment') ||\n (nodeType === FRAGMENT_NODE && name === 'DocumentFragment');\n\nexport const test = (val: any) =>\n val &&\n val.constructor &&\n val.constructor.name &&\n testNode(val.nodeType, val.constructor.name);\n\ntype HandledType = Element | Text | Comment | DocumentFragment;\n\nfunction nodeIsText(node: HandledType): node is Text {\n return node.nodeType === TEXT_NODE;\n}\n\nfunction nodeIsComment(node: HandledType): node is Comment {\n return node.nodeType === COMMENT_NODE;\n}\n\nfunction nodeIsFragment(node: HandledType): node is DocumentFragment {\n return node.nodeType === FRAGMENT_NODE;\n}\n\nexport const serialize = (\n node: HandledType,\n config: Config,\n indentation: string,\n depth: number,\n refs: Refs,\n printer: Printer,\n): string => {\n if (nodeIsText(node)) {\n return printText(node.data, config);\n }\n\n if (nodeIsComment(node)) {\n return printComment(node.data, config);\n }\n\n const type = nodeIsFragment(node)\n ? `DocumentFragment`\n : node.tagName.toLowerCase();\n\n if (++depth > config.maxDepth) {\n return printElementAsLeaf(type, config);\n }\n\n return printElement(\n type,\n printProps(\n nodeIsFragment(node)\n ? []\n : Array.from(node.attributes)\n .map(attr => attr.name)\n .sort(),\n nodeIsFragment(node)\n ? []\n : Array.from(node.attributes).reduce((props, attribute) => {\n props[attribute.name] = attribute.value;\n return props;\n }, {} as any),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer,\n ),\n printChildren(\n Array.prototype.slice.call(node.childNodes || node.children),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer,\n ),\n config,\n indentation,\n );\n};\n\nconst plugin: NewPlugin = {serialize, test};\n\nexport default plugin;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {Config, NewPlugin, Printer, Refs} from '../types';\nimport {printIteratorEntries, printIteratorValues} from '../collections';\n\n// SENTINEL constants are from https://github.com/facebook/immutable-js\nconst IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';\nconst IS_LIST_SENTINEL = '@@__IMMUTABLE_LIST__@@';\nconst IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';\nconst IS_MAP_SENTINEL = '@@__IMMUTABLE_MAP__@@';\nconst IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';\nconst IS_RECORD_SENTINEL = '@@__IMMUTABLE_RECORD__@@'; // immutable v4\nconst IS_SEQ_SENTINEL = '@@__IMMUTABLE_SEQ__@@';\nconst IS_SET_SENTINEL = '@@__IMMUTABLE_SET__@@';\nconst IS_STACK_SENTINEL = '@@__IMMUTABLE_STACK__@@';\n\nconst getImmutableName = (name: string) => 'Immutable.' + name;\nconst printAsLeaf = (name: string) => '[' + name + ']';\nconst SPACE = ' ';\nconst LAZY = '…'; // Seq is lazy if it calls a method like filter\n\nconst printImmutableEntries = (\n val: any,\n config: Config,\n indentation: string,\n depth: number,\n refs: Refs,\n printer: Printer,\n type: string,\n): string =>\n ++depth > config.maxDepth\n ? printAsLeaf(getImmutableName(type))\n : getImmutableName(type) +\n SPACE +\n '{' +\n printIteratorEntries(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer,\n ) +\n '}';\n\n// Record has an entries method because it is a collection in immutable v3.\n// Return an iterator for Immutable Record from version v3 or v4.\nconst getRecordEntries = (val: any) => {\n let i = 0;\n return {\n next() {\n if (i < val._keys.length) {\n const key = val._keys[i++];\n return {done: false, value: [key, val.get(key)]};\n }\n return {done: true};\n },\n };\n};\n\nconst printImmutableRecord = (\n val: any,\n config: Config,\n indentation: string,\n depth: number,\n refs: Refs,\n printer: Printer,\n): string => {\n // _name property is defined only for an Immutable Record instance\n // which was constructed with a second optional descriptive name arg\n const name = getImmutableName(val._name || 'Record');\n return ++depth > config.maxDepth\n ? printAsLeaf(name)\n : name +\n SPACE +\n '{' +\n printIteratorEntries(\n getRecordEntries(val),\n config,\n indentation,\n depth,\n refs,\n printer,\n ) +\n '}';\n};\n\nconst printImmutableSeq = (\n val: any,\n config: Config,\n indentation: string,\n depth: number,\n refs: Refs,\n printer: Printer,\n): string => {\n const name = getImmutableName('Seq');\n\n if (++depth > config.maxDepth) {\n return printAsLeaf(name);\n }\n\n if (val[IS_KEYED_SENTINEL]) {\n return (\n name +\n SPACE +\n '{' +\n // from Immutable collection of entries or from ECMAScript object\n (val._iter || val._object\n ? printIteratorEntries(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer,\n )\n : LAZY) +\n '}'\n );\n }\n\n return (\n name +\n SPACE +\n '[' +\n (val._iter || // from Immutable collection of values\n val._array || // from ECMAScript array\n val._collection || // from ECMAScript collection in immutable v4\n val._iterable // from ECMAScript collection in immutable v3\n ? printIteratorValues(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer,\n )\n : LAZY) +\n ']'\n );\n};\n\nconst printImmutableValues = (\n val: any,\n config: Config,\n indentation: string,\n depth: number,\n refs: Refs,\n printer: Printer,\n type: string,\n): string =>\n ++depth > config.maxDepth\n ? printAsLeaf(getImmutableName(type))\n : getImmutableName(type) +\n SPACE +\n '[' +\n printIteratorValues(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer,\n ) +\n ']';\n\nexport const serialize = (\n val: any,\n config: Config,\n indentation: string,\n depth: number,\n refs: Refs,\n printer: Printer,\n): string => {\n if (val[IS_MAP_SENTINEL]) {\n return printImmutableEntries(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n val[IS_ORDERED_SENTINEL] ? 'OrderedMap' : 'Map',\n );\n }\n\n if (val[IS_LIST_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n 'List',\n );\n }\n if (val[IS_SET_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n val[IS_ORDERED_SENTINEL] ? 'OrderedSet' : 'Set',\n );\n }\n if (val[IS_STACK_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n 'Stack',\n );\n }\n\n if (val[IS_SEQ_SENTINEL]) {\n return printImmutableSeq(val, config, indentation, depth, refs, printer);\n }\n\n // For compatibility with immutable v3 and v4, let record be the default.\n return printImmutableRecord(val, config, indentation, depth, refs, printer);\n};\n\n// Explicitly comparing sentinel properties to true avoids false positive\n// when mock identity-obj-proxy returns the key as the value for any key.\nexport const test = (val: any) =>\n val &&\n (val[IS_ITERABLE_SENTINEL] === true || val[IS_RECORD_SENTINEL] === true);\n\nconst plugin: NewPlugin = {serialize, test};\n\nexport default plugin;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport * as ReactIs from 'react-is';\nimport {Config, NewPlugin, Printer, Refs} from '../types';\n\nimport {\n printChildren,\n printElement,\n printElementAsLeaf,\n printProps,\n} from './lib/markup';\n\n// Given element.props.children, or subtree during recursive traversal,\n// return flattened array of children.\nconst getChildren = (arg: Array, children = []) => {\n if (Array.isArray(arg)) {\n arg.forEach(item => {\n getChildren(item, children);\n });\n } else if (arg != null && arg !== false) {\n children.push(arg);\n }\n return children;\n};\n\nconst getType = (element: any) => {\n const type = element.type;\n if (typeof type === 'string') {\n return type;\n }\n if (typeof type === 'function') {\n return type.displayName || type.name || 'Unknown';\n }\n\n if (ReactIs.isFragment(element)) {\n return 'React.Fragment';\n }\n if (ReactIs.isSuspense(element)) {\n return 'React.Suspense';\n }\n if (typeof type === 'object' && type !== null) {\n if (ReactIs.isContextProvider(element)) {\n return 'Context.Provider';\n }\n\n if (ReactIs.isContextConsumer(element)) {\n return 'Context.Consumer';\n }\n\n if (ReactIs.isForwardRef(element)) {\n if (type.displayName) {\n return type.displayName;\n }\n\n const functionName = type.render.displayName || type.render.name || '';\n\n return functionName !== ''\n ? 'ForwardRef(' + functionName + ')'\n : 'ForwardRef';\n }\n\n if (ReactIs.isMemo(element)) {\n const functionName =\n type.displayName || type.type.displayName || type.type.name || '';\n\n return functionName !== '' ? 'Memo(' + functionName + ')' : 'Memo';\n }\n }\n return 'UNDEFINED';\n};\n\nconst getPropKeys = (element: any) => {\n const {props} = element;\n\n return Object.keys(props)\n .filter(key => key !== 'children' && props[key] !== undefined)\n .sort();\n};\n\nexport const serialize = (\n element: any,\n config: Config,\n indentation: string,\n depth: number,\n refs: Refs,\n printer: Printer,\n): string =>\n ++depth > config.maxDepth\n ? printElementAsLeaf(getType(element), config)\n : printElement(\n getType(element),\n printProps(\n getPropKeys(element),\n element.props,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer,\n ),\n printChildren(\n getChildren(element.props.children),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer,\n ),\n config,\n indentation,\n );\n\nexport const test = (val: any) => val && ReactIs.isElement(val);\n\nconst plugin: NewPlugin = {serialize, test};\n\nexport default plugin;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {Config, NewPlugin, Printer, Refs} from '../types';\n\nexport type ReactTestObject = {\n $$typeof: symbol;\n type: string;\n props?: Record;\n children?: null | Array;\n};\n\n// Child can be `number` in Stack renderer but not in Fiber renderer.\ntype ReactTestChild = ReactTestObject | string | number;\n\nimport {\n printChildren,\n printElement,\n printElementAsLeaf,\n printProps,\n} from './lib/markup';\n\nconst testSymbol =\n typeof Symbol === 'function' && Symbol.for\n ? Symbol.for('react.test.json')\n : 0xea71357;\n\nconst getPropKeys = (object: ReactTestObject) => {\n const {props} = object;\n\n return props\n ? Object.keys(props)\n .filter(key => props[key] !== undefined)\n .sort()\n : [];\n};\n\nexport const serialize = (\n object: ReactTestObject,\n config: Config,\n indentation: string,\n depth: number,\n refs: Refs,\n printer: Printer,\n): string =>\n ++depth > config.maxDepth\n ? printElementAsLeaf(object.type, config)\n : printElement(\n object.type,\n object.props\n ? printProps(\n getPropKeys(object),\n object.props,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer,\n )\n : '',\n object.children\n ? printChildren(\n object.children,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer,\n )\n : '',\n config,\n indentation,\n );\n\nexport const test = (val: any) => val && val.$$typeof === testSymbol;\n\nconst plugin: NewPlugin = {serialize, test};\n\nexport default plugin;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport default function escapeHTML(str: string): string {\n return str.replace(//g, '>');\n}\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {Config, Printer, Refs} from '../../types';\n\nimport escapeHTML from './escapeHTML';\n\n// Return empty string if keys is empty.\nexport const printProps = (\n keys: Array,\n props: any,\n config: Config,\n indentation: string,\n depth: number,\n refs: Refs,\n printer: Printer,\n): string => {\n const indentationNext = indentation + config.indent;\n const colors = config.colors;\n return keys\n .map(key => {\n const value = props[key];\n let printed = printer(value, config, indentationNext, depth, refs);\n\n if (typeof value !== 'string') {\n if (printed.indexOf('\\n') !== -1) {\n printed =\n config.spacingOuter +\n indentationNext +\n printed +\n config.spacingOuter +\n indentation;\n }\n printed = '{' + printed + '}';\n }\n\n return (\n config.spacingInner +\n indentation +\n colors.prop.open +\n key +\n colors.prop.close +\n '=' +\n colors.value.open +\n printed +\n colors.value.close\n );\n })\n .join('');\n};\n\n// Return empty string if children is empty.\nexport const printChildren = (\n children: Array,\n config: Config,\n indentation: string,\n depth: number,\n refs: Refs,\n printer: Printer,\n): string =>\n children\n .map(\n child =>\n config.spacingOuter +\n indentation +\n (typeof child === 'string'\n ? printText(child, config)\n : printer(child, config, indentation, depth, refs)),\n )\n .join('');\n\nexport const printText = (text: string, config: Config): string => {\n const contentColor = config.colors.content;\n return contentColor.open + escapeHTML(text) + contentColor.close;\n};\n\nexport const printComment = (comment: string, config: Config): string => {\n const commentColor = config.colors.comment;\n return (\n commentColor.open +\n '' +\n commentColor.close\n );\n};\n\n// Separate the functions to format props, children, and element,\n// so a plugin could override a particular function, if needed.\n// Too bad, so sad: the traditional (but unnecessary) space\n// in a self-closing tagColor requires a second test of printedProps.\nexport const printElement = (\n type: string,\n printedProps: string,\n printedChildren: string,\n config: Config,\n indentation: string,\n): string => {\n const tagColor = config.colors.tag;\n return (\n tagColor.open +\n '<' +\n type +\n (printedProps &&\n tagColor.close +\n printedProps +\n config.spacingOuter +\n indentation +\n tagColor.open) +\n (printedChildren\n ? '>' +\n tagColor.close +\n printedChildren +\n config.spacingOuter +\n indentation +\n tagColor.open +\n '' +\n tagColor.close\n );\n};\n\nexport const printElementAsLeaf = (type: string, config: Config) => {\n const tagColor = config.colors.tag;\n return (\n tagColor.open +\n '<' +\n type +\n tagColor.close +\n ' …' +\n tagColor.open +\n ' />' +\n tagColor.close\n );\n};\n"],"sourceRoot":""}