1 |
- {"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/color-convert/conversions.js","webpack://prettyFormat/./node_modules/color-convert/index.js","webpack://prettyFormat/./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","options","Object","assign","onlyFirst","pattern","join","RegExp","undefined","colorConvert","require","wrapAnsi16","fn","offset","code","apply","arguments","wrapAnsi256","wrapAnsi16m","rgb","assembleStyles","codes","Map","styles","modifier","reset","bold","dim","italic","underline","inverse","hidden","strikethrough","color","black","red","green","yellow","blue","magenta","cyan","white","gray","redBright","greenBright","yellowBright","blueBright","magentaBright","cyanBright","whiteBright","bgColor","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bgBlackBright","bgRedBright","bgGreenBright","bgYellowBright","bgBlueBright","bgMagentaBright","bgCyanBright","bgWhiteBright","grey","keys","groupName","group","styleName","style","open","close","set","defineProperty","value","enumerable","ansi2ansi","n","rgb2rgb","r","g","b","ansi","ansi256","ansi16m","key","suite","ansi16","get","cssKeywords","reverseKeywords","hasOwnProperty","convert","channels","labels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","hcg","apple","model","Error","length","min","Math","max","delta","h","s","l","rdif","gdif","bdif","v","diff","diffc","c","w","m","y","k","comparativeDistance","x","pow","reversed","currentClosestDistance","Infinity","currentClosestKeyword","distance","z","a","t1","t2","t3","val","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","round","mult","rem","integer","string","toString","toUpperCase","substring","match","colorString","split","map","char","parseInt","chroma","grayscale","hue","pure","mg","conversions","route","models","wrapRaw","wrappedFn","Array","prototype","slice","call","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_MEMO_TYPE","REACT_LAZY_TYPE","isValidElementType","type","$$typeof","lowPriorityWarning","printWarning","format","_len","_key","argIndex","message","replace","console","warn","condition","_len2","_key2","concat","lowPriorityWarning$1","typeOf","object","$$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","name","spacingInner","printIteratorValues","printListItems","list","printObjectProperties","toISOString","Date","errorToString","regExpToString","symbolToString","getConstructorName","constructor","isWindow","window","SYMBOL_REGEXP","NEWLINE_REGEXP","PrettyFormatPluginError","stack","isToStringedArrayType","toStringed","printNumber","is","String","printBigInt","printFunction","printFunctionName","printSymbol","printError","printBasicValue","escapeRegex","escapeString","isNaN","printComplexValue","hasCalledToJSON","indexOf","hitMaxDepth","maxDepth","callToJSON","toJSON","entries","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","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 = options => {\n\toptions = Object.assign({\n\t\tonlyFirst: false\n\t}, options);\n\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, options.onlyFirst ? undefined : 'g');\n};\n","'use strict';\nconst colorConvert = require('color-convert');\n\nconst wrapAnsi16 = (fn, offset) => function () {\n\tconst code = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${code + offset}m`;\n};\n\nconst wrapAnsi256 = (fn, offset) => function () {\n\tconst code = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${38 + offset};5;${code}m`;\n};\n\nconst wrapAnsi16m = (fn, offset) => function () {\n\tconst rgb = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;\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\t\t\tgray: [90, 39],\n\n\t\t\t// Bright color\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// Fix humans\n\tstyles.color.grey = styles.color.gray;\n\n\tfor (const groupName of Object.keys(styles)) {\n\t\tconst group = styles[groupName];\n\n\t\tfor (const styleName of Object.keys(group)) {\n\t\t\tconst style = group[styleName];\n\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\n\t\tObject.defineProperty(styles, 'codes', {\n\t\t\tvalue: codes,\n\t\t\tenumerable: false\n\t\t});\n\t}\n\n\tconst ansi2ansi = n => n;\n\tconst rgb2rgb = (r, g, b) => [r, g, b];\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = {\n\t\tansi: wrapAnsi16(ansi2ansi, 0)\n\t};\n\tstyles.color.ansi256 = {\n\t\tansi256: wrapAnsi256(ansi2ansi, 0)\n\t};\n\tstyles.color.ansi16m = {\n\t\trgb: wrapAnsi16m(rgb2rgb, 0)\n\t};\n\n\tstyles.bgColor.ansi = {\n\t\tansi: wrapAnsi16(ansi2ansi, 10)\n\t};\n\tstyles.bgColor.ansi256 = {\n\t\tansi256: wrapAnsi256(ansi2ansi, 10)\n\t};\n\tstyles.bgColor.ansi16m = {\n\t\trgb: wrapAnsi16m(rgb2rgb, 10)\n\t};\n\n\tfor (let key of Object.keys(colorConvert)) {\n\t\tif (typeof colorConvert[key] !== 'object') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst suite = colorConvert[key];\n\n\t\tif (key === 'ansi16') {\n\t\t\tkey = 'ansi';\n\t\t}\n\n\t\tif ('ansi16' in suite) {\n\t\t\tstyles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0);\n\t\t\tstyles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10);\n\t\t}\n\n\t\tif ('ansi256' in suite) {\n\t\t\tstyles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0);\n\t\t\tstyles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10);\n\t\t}\n\n\t\tif ('rgb' in suite) {\n\t\t\tstyles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0);\n\t\t\tstyles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10);\n\t\t}\n\t}\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 */\nvar 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\nvar reverseKeywords = {};\nfor (var key in cssKeywords) {\n\tif (cssKeywords.hasOwnProperty(key)) {\n\t\treverseKeywords[cssKeywords[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\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\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\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\tl = (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\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 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\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\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar 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\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in cssKeywords) {\n\t\tif (cssKeywords.hasOwnProperty(keyword)) {\n\t\t\tvar value = cssKeywords[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\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\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar 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\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar 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\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var 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\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\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = 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\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar 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\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (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\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\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\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 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\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar 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 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(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\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(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\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar 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\tvar r = args[0];\n\tvar g = args[1];\n\tvar 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\tvar 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\tvar 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\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar 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\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar 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\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar 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\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar 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 + 4;\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\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\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\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar 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\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\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\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\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar 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\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar 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\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar 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 = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\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\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","var conversions = require('./conversions');\nvar route = require('./route');\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\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\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar 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 (var 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(function (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\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar 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","var 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\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var 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\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar 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\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar 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\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar 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.8.6\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;\n\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;\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_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' ||\n // 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 || 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);\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 */\n\nvar lowPriorityWarning = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = 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 if (typeof console !== 'undefined') {\n console.warn(message);\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 lowPriorityWarning = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarning$1 = lowPriorityWarning;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\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 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_PROVIDER_TYPE:\n return $$typeofType;\n default:\n return $$typeof;\n }\n }\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\n\n// AsyncMode is deprecated along with isAsyncMode\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;\n\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\n// AsyncMode should be deprecated\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\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<string, any>) => {\n const keys: Array<string | symbol> = 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<string>;\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<any>,\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<string, any>,\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 from '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;\nconst symbolToString = Symbol.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>) => 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 symbolToString.call(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 = Symbol.for('jest.asymmetricMatcher');\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 from 'ansi-regex';\nimport style from 'ansi-styles';\nimport {Config, Printer, NewPlugin, 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 '<red>';\n case style.green.open:\n return '<green>';\n case style.cyan.open:\n return '<cyan>';\n case style.gray.open:\n return '<gray>';\n case style.white.open:\n return '<white>';\n case style.yellow.open:\n return '<yellow>';\n case style.bgRed.open:\n return '<bgRed>';\n case style.bgGreen.open:\n return '<bgGreen>';\n case style.bgYellow.open:\n return '<bgYellow>';\n case style.inverse.open:\n return '<inverse>';\n case style.dim.open:\n return '<dim>';\n case style.bold.open:\n return '<bold>';\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(\n (props, attribute) => {\n props[attribute.name] = attribute.value;\n return props;\n },\n {} as any,\n ),\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, Printer, NewPlugin, 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<any>, 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 const functionName = type.render.displayName || type.render.name || '';\n\n return functionName !== ''\n ? 'ForwardRef(' + functionName + ')'\n : 'ForwardRef';\n }\n\n if (ReactIs.isMemo(type)) {\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, Printer, NewPlugin, Refs} from '../types';\n\nexport type ReactTestObject = {\n $$typeof: symbol;\n type: string;\n props?: Record<string, any>;\n children?: null | Array<ReactTestChild>;\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 = Symbol.for('react.test.json');\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, '<').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<string>,\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<any>,\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 escapeHTML(comment) +\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 type\n : (printedProps && !config.min ? '' : ' ') + '/') +\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":""}
|