tty-table 7.0.0 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["stub:stub","../../node_modules/ansi-regex/index.js","../../node_modules/strip-ansi/index.js","../../node_modules/breakword/src/main.js","../../src/browser.ts","../../src/defaults.ts","../../src/style.ts","../../node_modules/kleur/index.mjs","../../node_modules/smartwrap/src/main.ts","../../src/ansi.ts","../../src/format.ts","../../src/render.ts","../../src/factory.ts","../../src/index.ts"],"sourcesContent":["module.exports = {}","'use strict';\n\nmodule.exports = ({onlyFirst = false} = {}) => {\n\tconst pattern = [\n\t\t'[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[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';\nconst ansiRegex = require('ansi-regex');\n\nmodule.exports = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string;\n","'use strict';\n\n// Which code points occupy two terminal cells. A policy decision, not a\n// Unicode fact: UAX #11 defines East Asian Width as a *hint* that is expected\n// to be tailored per environment, so this module states its own rules —\n//\n// 2 East Asian Width W or F (generated table below), plus emoji that\n// Unicode Standard Annex #51 gives the emoji presentation by default\n// 0 non-spacing and enclosing marks, format characters, C0/C1 controls\n// 1 everything else, including A (ambiguous) and the astral plane's\n// non-CJK blocks, which are East Asian Width Na\n//\n// A consumer that pads a fixed-width column against a specific terminal may\n// want A rendered as 2 (CJK locale) or emoji as 1 (a narrow font). That is a\n// different policy, not a bug in this one.\n\n/* <wide> */\n// East Asian Width W + F — EastAsianWidth-18.0.0.txt (2026-06-29, 15:25:05 GMT)\n// Regenerate: node tools/gen-wide.mjs 18.0.0\nconst UNICODE_VERSION = '18.0.0';\nconst WIDE_RANGES = [\n [0x1100, 0x115F],\n [0x231A, 0x231B],\n [0x2329, 0x232A],\n [0x23E9, 0x23EC],\n [0x23F0, 0x23F0],\n [0x23F3, 0x23F3],\n [0x25FD, 0x25FE],\n [0x2614, 0x2615],\n [0x2630, 0x2637],\n [0x2648, 0x2653],\n [0x267F, 0x267F],\n [0x268A, 0x268F],\n [0x2693, 0x2693],\n [0x26A1, 0x26A1],\n [0x26AA, 0x26AB],\n [0x26BD, 0x26BE],\n [0x26C4, 0x26C5],\n [0x26CE, 0x26CE],\n [0x26D4, 0x26D4],\n [0x26EA, 0x26EA],\n [0x26F2, 0x26F3],\n [0x26F5, 0x26F5],\n [0x26FA, 0x26FA],\n [0x26FD, 0x26FD],\n [0x2705, 0x2705],\n [0x270A, 0x270B],\n [0x2728, 0x2728],\n [0x274C, 0x274C],\n [0x274E, 0x274E],\n [0x2753, 0x2755],\n [0x2757, 0x2757],\n [0x2795, 0x2797],\n [0x27B0, 0x27B0],\n [0x27BF, 0x27BF],\n [0x2B1B, 0x2B1C],\n [0x2B50, 0x2B50],\n [0x2B55, 0x2B55],\n [0x2E80, 0x2E99],\n [0x2E9B, 0x2EF3],\n [0x2F00, 0x2FD5],\n [0x2FF0, 0x303E],\n [0x3041, 0x3096],\n [0x3099, 0x30FF],\n [0x3105, 0x312F],\n [0x3131, 0x318E],\n [0x3190, 0x31E5],\n [0x31EF, 0x321E],\n [0x3220, 0x3247],\n [0x3250, 0xA48C],\n [0xA490, 0xA4C6],\n [0xA960, 0xA97C],\n [0xAC00, 0xD7A3],\n [0xF900, 0xFAFF],\n [0xFE10, 0xFE19],\n [0xFE30, 0xFE52],\n [0xFE54, 0xFE66],\n [0xFE68, 0xFE6B],\n [0xFF01, 0xFF60],\n [0xFFE0, 0xFFE6],\n [0x16FE0, 0x16FE4],\n [0x16FF0, 0x16FF6],\n [0x17000, 0x18CDA],\n [0x18CFF, 0x18D20],\n [0x18D80, 0x18DF2],\n [0x18E00, 0x19191],\n [0x191A0, 0x191D2],\n [0x1AFF0, 0x1AFF3],\n [0x1AFF5, 0x1AFFB],\n [0x1AFFD, 0x1AFFE],\n [0x1B000, 0x1B128],\n [0x1B132, 0x1B132],\n [0x1B150, 0x1B152],\n [0x1B155, 0x1B155],\n [0x1B164, 0x1B168],\n [0x1B170, 0x1B2FB],\n [0x1D300, 0x1D356],\n [0x1D360, 0x1D376],\n [0x1F004, 0x1F004],\n [0x1F0CF, 0x1F0CF],\n [0x1F18E, 0x1F18E],\n [0x1F191, 0x1F19A],\n [0x1F1AE, 0x1F1AE],\n [0x1F200, 0x1F202],\n [0x1F210, 0x1F23B],\n [0x1F240, 0x1F248],\n [0x1F250, 0x1F251],\n [0x1F260, 0x1F265],\n [0x1F300, 0x1F320],\n [0x1F32D, 0x1F335],\n [0x1F337, 0x1F37C],\n [0x1F37E, 0x1F393],\n [0x1F3A0, 0x1F3CA],\n [0x1F3CF, 0x1F3D3],\n [0x1F3E0, 0x1F3F0],\n [0x1F3F4, 0x1F3F4],\n [0x1F3F8, 0x1F43E],\n [0x1F440, 0x1F440],\n [0x1F442, 0x1F4FC],\n [0x1F4FF, 0x1F53D],\n [0x1F54B, 0x1F54E],\n [0x1F550, 0x1F567],\n [0x1F57A, 0x1F57A],\n [0x1F595, 0x1F596],\n [0x1F5A4, 0x1F5A4],\n [0x1F5FB, 0x1F64F],\n [0x1F680, 0x1F6C5],\n [0x1F6CC, 0x1F6CC],\n [0x1F6D0, 0x1F6D2],\n [0x1F6D5, 0x1F6D9],\n [0x1F6DC, 0x1F6DF],\n [0x1F6EB, 0x1F6EC],\n [0x1F6F4, 0x1F6FC],\n [0x1F7DA, 0x1F7DA],\n [0x1F7E0, 0x1F7EB],\n [0x1F7F0, 0x1F7F0],\n [0x1F90C, 0x1F93A],\n [0x1F93C, 0x1F945],\n [0x1F947, 0x1F9FF],\n [0x1FA70, 0x1FA7C],\n [0x1FA80, 0x1FAC6],\n [0x1FAC8, 0x1FAC8],\n [0x1FACC, 0x1FADD],\n [0x1FADF, 0x1FAEB],\n [0x1FAEF, 0x1FAFA],\n [0x20000, 0x2FFFD],\n [0x30000, 0x3FFFD],\n];\n/* </wide> */\n\nconst cell = (cp) => (cp <= 0xffff\n ? `\\\\u${cp.toString(16).toUpperCase().padStart(4, '0')}`\n : `\\\\u{${cp.toString(16).toUpperCase()}}`);\n\n// One character class is what V8 wants for a range lookup this large; it\n// compiles the ranges into an interval set rather than scanning them.\nconst WIDE = new RegExp(\n '[' + WIDE_RANGES.map(([lo, hi]) => cell(lo) + (hi > lo ? `-${cell(hi)}` : '')).join('') + ']',\n 'u',\n);\n\n// Marks and format characters, plus the two cases Unicode files elsewhere:\n// ZERO WIDTH SPACE (Zs) and the Hangul Jamo medial vowels and final\n// consonants, which terminals paint on top of the preceding cell.\nconst ZERO = /[\\u200B\\p{Mn}\\p{Me}\\p{Cf}\\u1160-\\u11FF]/u;\n\n// Emoji that render two cells without being asked to (UAX #51\n// Emoji_Presentation). Regional indicators are excluded: one is a letter-ish\n// glyph of 1 cell, and a pair is what makes a single 2-cell flag, so scoring\n// each as 1 is what gets flags right.\nconst EMOJI = /\\p{Emoji_Presentation}/u;\n\nfunction width(char) {\n if (typeof char !== 'string') {\n throw new TypeError('width() expects a string');\n }\n\n if (char.length === 0) {\n return 0;\n }\n\n // A lone UTF-16 unit is already exactly one code point; only longer\n // strings can hold more than one. Spreading unconditionally here costs\n // ~24% on breakword()'s per-character loop, which always passes one.\n if (char.length > 1 && [...char].length > 1) {\n throw new TypeError('width() expects exactly one Unicode code point');\n }\n\n const cp = char.codePointAt(0);\n if (cp < 32 || (cp >= 0x7f && cp < 0xa0)) return 0; // C0/C1 controls\n if (cp === 0xad) return 1; // SOFT HYPHEN, width 1 by the wcwidth() convention\n if (ZERO.test(char)) return 0;\n if (EMOJI.test(char) && !(cp >= 0x1f1e6 && cp <= 0x1f1ff)) return 2;\n return WIDE.test(char) ? 2 : 1;\n}\n// ponytail: widths are per code point, so a ZWJ family (👨‍👩‍👧) counts as its\n// members and a text-presentation emoji followed by U+FE0F (❤️) stays narrow.\n// Needs grapheme clustering (Intl.Segmenter) plus Emoji_Presentation/VS16 per\n// cluster to fix; costs a segmenter per call, so opt-in only if it bites.\n// Pinned by the sequence regressions in test/test.js. See #21.\n\n/**\n * Return the zero-based character index after which `input` should be broken\n * so that its display width does not exceed `breakAtLength`.\n *\n * Indices are based on Unicode code points rather than UTF-16 code units.\n */\nmodule.exports = function breakword(input, breakAtLength) {\n const str = String(input);\n let indexOfLastFitChar = 0;\n let fittableLength = 0;\n let index = 0;\n\n for (const char of str) {\n const currentLength = fittableLength + width(char);\n\n if (currentLength > breakAtLength) {\n break;\n }\n\n indexOfLastFitChar = index;\n fittableLength = currentLength;\n index += 1;\n }\n\n return indexOfLastFitChar;\n};\n\n/**\n * Number of terminal cells (0, 1 or 2) a single Unicode code point occupies,\n * under the width policy documented at the top of this file. Takes one code\n * point, not a string — sum it over `[...str]` for a string width.\n */\nmodule.exports.width = width;\n\n// Used by test/unicode.test.js and test/gen-wide.test.js to check the table\n// and its rules against Unicode properties. Not part of the public API and\n// not covered by semver.\nmodule.exports.internals = { UNICODE_VERSION, WIDE_RANGES, WIDE, ZERO, EMOJI, width };\n","export { default } from \"./index\"\nexport type * from \"./types\"\n","import type { BorderCharacters } from \"./types\"\n\n// @TODO split defaults into table and cell settings\nconst defaults: Record<string, any> & { borderCharacters: Record<string, BorderCharacters[]> } = {\n borderCharacters: {\n invisible: [\n { v: \" \", l: \" \", j: \" \", h: \" \", r: \" \" },\n { v: \" \", l: \" \", j: \" \", h: \" \", r: \" \" },\n { v: \" \", l: \" \", j: \" \", h: \" \", r: \" \" }\n ],\n solid: [\n { v: \"│\", l: \"┌\", j: \"┬\", h: \"─\", r: \"┐\" },\n { v: \"│\", l: \"├\", j: \"┼\", h: \"─\", r: \"┤\" },\n { v: \"│\", l: \"└\", j: \"┴\", h: \"─\", r: \"┘\" }\n ],\n dashed: [\n { v: \"|\", l: \"+\", j: \"+\", h: \"-\", r: \"+\" },\n { v: \"|\", l: \"+\", j: \"+\", h: \"-\", r: \"+\" },\n { v: \"|\", l: \"+\", j: \"+\", h: \"-\", r: \"+\" }\n ],\n none: [\n { v: \"\", l: \"\", j: \"\", h: \"\", r: \"\" },\n { v: \"\", l: \"\", j: \"\", h: \"\", r: \"\" },\n { v: \"\", l: \"\", j: \"\", h: \"\", r: \"\" }\n ]\n },\n align: \"center\",\n borderColor: null,\n borderStyle: \"solid\",\n color: false,\n COLUMNS: 80, // if !process.stdout.columns assume redirecting to write stream 80 columns is VT200 standard\n compact: false,\n defaultErrorValue: \"�\",\n defaultValue: \"\",\n errorOnNull: false,\n FIXED_WIDTH: false,\n footerAlign: \"center\",\n footerColor: false,\n formatter: null,\n headerAlign: \"center\",\n headerColor: \"yellow\",\n isNull: false, // undocumented cell setting\n marginLeft: 2,\n marginTop: 1,\n paddingBottom: 0,\n paddingLeft: 1,\n paddingRight: 1,\n paddingTop: 0,\n showHeader: null, // undocumented\n truncate: false,\n width: \"100%\",\n GUTTER: 1, // undocumented\n columnSettings: [],\n // save so cell options can be merged into column options\n table: {\n body: \"\",\n columnInnerWidths: [],\n columnWidths: [],\n columns: [],\n footer: \"\",\n header: \"\", // post-rendered strings.\n height: 0,\n typeLocked: false // once a table type is selected can't switch\n }\n}\n\n// support deprecated border style values\ndefaults.borderCharacters[\"0\"] = defaults.borderCharacters.none!\ndefaults.borderCharacters[\"1\"] = defaults.borderCharacters.solid!\ndefaults.borderCharacters[\"2\"] = defaults.borderCharacters.dashed!\n\nexport default defaults\n","import chalk from \"chalk\"\nimport kleur from \"kleur\"\nimport stripAnsi from \"strip-ansi\"\n\n// use kleur if we are in the browser\nconst colorLib: any = (process && process.stdout) ? chalk : kleur\n\nexport const style = (str: any, ...colors: string[]): string => {\n const out = colors.reduce(function (input: any, color: string) {\n return colorLib[color](input)\n }, str)\n return out\n}\n\nexport const styleEachChar = (str: any, ...colors: string[]): string => {\n // strip existing ansi chars so we dont loop them\n // @ TODO create a really clever workaround so that you can accrete styles\n const chars = [...stripAnsi(str)]\n\n // style each character\n const out = chars.reduce((prev: string, current: string) => {\n const coded = colors.reduce((input: string, color: string) => {\n return colorLib[color](input)\n }, current)\n return prev + coded\n }, \"\")\n\n return out\n}\n\nexport const resetStyle = function (this: any, str: any) {\n this.configure({ reset: true })\n return stripAnsi(str)\n}\n\nexport const colorizeCell = (str: any, cellOptions: any, rowType: string) => {\n let color: any = false // false will keep terminal default\n\n switch (true) {\n case (rowType === \"body\"):\n color = cellOptions.color || color\n break\n\n case (rowType === \"header\"):\n color = cellOptions.headerColor || color\n break\n\n default:\n color = cellOptions.footerColor || color\n }\n\n if (color) {\n str = style(str, color)\n }\n\n return str\n}\n\nexport const isColorEnabled = () => {\n return (process && process.stdout) ? colorLib.level > 0 : colorLib.enabled\n}\n","'use strict';\n\nlet FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM, isTTY=true;\nif (typeof process !== 'undefined') {\n\t({ FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM } = process.env || {});\n\tisTTY = process.stdout && process.stdout.isTTY;\n}\n\nconst $ = {\n\tenabled: !NODE_DISABLE_COLORS && NO_COLOR == null && TERM !== 'dumb' && (\n\t\tFORCE_COLOR != null && FORCE_COLOR !== '0' || isTTY\n\t),\n\n\t// modifiers\n\treset: init(0, 0),\n\tbold: init(1, 22),\n\tdim: init(2, 22),\n\titalic: init(3, 23),\n\tunderline: init(4, 24),\n\tinverse: init(7, 27),\n\thidden: init(8, 28),\n\tstrikethrough: init(9, 29),\n\n\t// colors\n\tblack: init(30, 39),\n\tred: init(31, 39),\n\tgreen: init(32, 39),\n\tyellow: init(33, 39),\n\tblue: init(34, 39),\n\tmagenta: init(35, 39),\n\tcyan: init(36, 39),\n\twhite: init(37, 39),\n\tgray: init(90, 39),\n\tgrey: init(90, 39),\n\n\t// background colors\n\tbgBlack: init(40, 49),\n\tbgRed: init(41, 49),\n\tbgGreen: init(42, 49),\n\tbgYellow: init(43, 49),\n\tbgBlue: init(44, 49),\n\tbgMagenta: init(45, 49),\n\tbgCyan: init(46, 49),\n\tbgWhite: init(47, 49)\n};\n\nfunction run(arr, str) {\n\tlet i=0, tmp, beg='', end='';\n\tfor (; i < arr.length; i++) {\n\t\ttmp = arr[i];\n\t\tbeg += tmp.open;\n\t\tend += tmp.close;\n\t\tif (!!~str.indexOf(tmp.close)) {\n\t\t\tstr = str.replace(tmp.rgx, tmp.close + tmp.open);\n\t\t}\n\t}\n\treturn beg + str + end;\n}\n\nfunction chain(has, keys) {\n\tlet ctx = { has, keys };\n\n\tctx.reset = $.reset.bind(ctx);\n\tctx.bold = $.bold.bind(ctx);\n\tctx.dim = $.dim.bind(ctx);\n\tctx.italic = $.italic.bind(ctx);\n\tctx.underline = $.underline.bind(ctx);\n\tctx.inverse = $.inverse.bind(ctx);\n\tctx.hidden = $.hidden.bind(ctx);\n\tctx.strikethrough = $.strikethrough.bind(ctx);\n\n\tctx.black = $.black.bind(ctx);\n\tctx.red = $.red.bind(ctx);\n\tctx.green = $.green.bind(ctx);\n\tctx.yellow = $.yellow.bind(ctx);\n\tctx.blue = $.blue.bind(ctx);\n\tctx.magenta = $.magenta.bind(ctx);\n\tctx.cyan = $.cyan.bind(ctx);\n\tctx.white = $.white.bind(ctx);\n\tctx.gray = $.gray.bind(ctx);\n\tctx.grey = $.grey.bind(ctx);\n\n\tctx.bgBlack = $.bgBlack.bind(ctx);\n\tctx.bgRed = $.bgRed.bind(ctx);\n\tctx.bgGreen = $.bgGreen.bind(ctx);\n\tctx.bgYellow = $.bgYellow.bind(ctx);\n\tctx.bgBlue = $.bgBlue.bind(ctx);\n\tctx.bgMagenta = $.bgMagenta.bind(ctx);\n\tctx.bgCyan = $.bgCyan.bind(ctx);\n\tctx.bgWhite = $.bgWhite.bind(ctx);\n\n\treturn ctx;\n}\n\nfunction init(open, close) {\n\tlet blk = {\n\t\topen: `\\x1b[${open}m`,\n\t\tclose: `\\x1b[${close}m`,\n\t\trgx: new RegExp(`\\\\x1b\\\\[${close}m`, 'g')\n\t};\n\treturn function (txt) {\n\t\tif (this !== void 0 && this.has !== void 0) {\n\t\t\t!!~this.has.indexOf(open) || (this.has.push(open),this.keys.push(blk));\n\t\t\treturn txt === void 0 ? this : $.enabled ? run(this.keys, txt+'') : txt+'';\n\t\t}\n\t\treturn txt === void 0 ? chain([open], [blk]) : $.enabled ? run([blk], txt+'') : txt+'';\n\t};\n}\n\nexport default $;\n",null,"import breakword from \"breakword\"\n\nconst ANSI = /\\u001B\\[[0-?]*[ -\\/]*[@-~]/g\n\nconst codes: Record<string, string> = {\n reset: \"0\", bold: \"1\", dim: \"2\", italic: \"3\", underline: \"4\", inverse: \"7\", hidden: \"8\", strikethrough: \"9\",\n black: \"30\", red: \"31\", green: \"32\", yellow: \"33\", blue: \"34\", magenta: \"35\", cyan: \"36\", white: \"37\",\n gray: \"90\", grey: \"90\", bgBlack: \"40\", bgRed: \"41\", bgGreen: \"42\", bgYellow: \"43\", bgBlue: \"44\", bgMagenta: \"45\", bgCyan: \"46\", bgWhite: \"47\"\n}\n\nexport const stripAnsi = (value: string): string => value.replace(ANSI, \"\")\nconst codePointWidth = (value: string): number =>\n [...value].reduce((total, char) => total + breakword.width(char), 0)\n\nexport const displayWidth = (value: string): number =>\n Math.max(0, ...stripAnsi(value).split(/\\r?\\n/).map(codePointWidth))\n\nexport const style = (value: string, ...styles: string[]): string => {\n const active = styles.map((s) => codes[s]).filter(Boolean)\n return active.length ? `\\u001b[${active.join(\";\")}m${value}\\u001b[0m` : value\n}\n\nexport const styleEachChar = (value: string, ...styles: string[]): string =>\n [...stripAnsi(value)].map((char) => style(char, ...styles)).join(\"\")\n\n","import smartwrap from \"smartwrap\"\nimport { displayWidth } from \"./ansi\"\n\nconst addPadding = (config: any, width: number) => {\n return width + config.paddingLeft + config.paddingRight\n}\n\nconst getDisplayWidth = (value: any) => {\n return displayWidth(value.toString())\n}\n\n/**\n * Returns the widest cell give a collection of rows\n *\n * @param object columnOptions\n * @param array rows\n * @param integer columnIndex\n * @returns string\n */\nconst getMaxLength = (columnOptions: any, rows: any[], columnIndex: number) => {\n let widest = 0\n\n // Include the header value without allocating a copied rows array or a\n // synthetic header row for every column.\n if (columnOptions && (columnOptions.value || columnOptions.alias)) {\n const value = columnOptions.alias || columnOptions.value\n widest = getDisplayWidth(value)\n }\n\n for (const row of rows) {\n if (row[columnIndex]) {\n // check cell value is object or scalar\n const value = (row[columnIndex].value) ? row[columnIndex].value : row[columnIndex]\n const width = getDisplayWidth(value)\n if (width > widest) widest = width\n }\n }\n\n return widest\n}\n\n/**\n * Get total width available to this table instance\n *\n *\n */\nconst getAvailableWidth = (config: any) => {\n if (process && ((process.stdout && process.stdout.columns) || (process.env && process.env.COLUMNS))) {\n // forked calls that do not inherit process.stdout must use process.env\n let viewport: any = (process.stdout && process.stdout.columns) ? process.stdout.columns : process.env.COLUMNS\n viewport = viewport - config.marginLeft\n\n // table width percentage of (viewport less margin)\n if (config.width !== \"auto\" && /^\\d+%$/.test(config.width)) {\n return Math.min(1, (config.width.slice(0, -1) * 0.01)) * viewport\n }\n\n // table width fixed\n if (config.width !== \"auto\" && /^\\d+$/.test(config.width)) {\n config.FIXED_WIDTH = true\n return config.width\n }\n\n // table width equals viewport less margin\n // @TODO deprecate and remove \"auto\", which was never documented so should not be\n // an issue\n return viewport\n }\n\n // browser\n /* istanbul ignore next */\n if (typeof (globalThis as any).window !== \"undefined\") return (globalThis as any).window.innerWidth\n\n // process.stdout.columns does not exist. assume redirecting to write stream\n // use 80 columns, which is VT200 standard\n return config.COLUMNS - config.marginLeft\n}\n\nexport const getStringLength = (str: string) => {\n // stripAnsi(string.replace(/[^\\x00-\\xff]/g,'XX')).length\n return displayWidth(str)\n}\n\nexport const wrapCellText = (\n config: any,\n cellValue: any,\n columnIndex: number,\n cellOptions: any,\n rowType: string\n) => {\n // ANSI chararacters that demarcate the start/end of a line\n const startAnsiRegexp = /^(\\x1b\\[[0-9;]*m)+/\n const endAnsiRegexp = /(\\x1b\\[[0-9;]*m)+$/\n\n // coerce cell value to string\n let str = cellValue.toString()\n\n // store matching ANSI characters\n const startMatches = str.match(startAnsiRegexp) || [\"\"]\n\n // remove ANSI start-of-line chars\n str = str.replace(startAnsiRegexp, \"\")\n\n // store matching ANSI characters so can be later re-attached\n const endMatches = str.match(endAnsiRegexp) || [\"\"]\n\n // remove ANSI end-of-line chars\n str = str.replace(endAnsiRegexp, \"\")\n\n let alignTgt: string\n\n switch (rowType) {\n case (\"header\"):\n alignTgt = \"headerAlign\"\n break\n case (\"body\"):\n alignTgt = \"align\"\n break\n default:\n alignTgt = \"footerAlign\"\n }\n\n // equalize padding for centered lines\n if (cellOptions[alignTgt] === \"center\") {\n cellOptions.paddingLeft = cellOptions.paddingRight = Math.max(\n cellOptions.paddingRight,\n cellOptions.paddingLeft,\n 0\n )\n }\n\n const columnWidth = config.table.columnWidths[columnIndex]\n\n // innerWidth is the width available for text within the cell\n const innerWidth = columnWidth\n - cellOptions.paddingLeft\n - cellOptions.paddingRight\n - config.GUTTER\n\n if (typeof config.truncate === \"string\") {\n str = truncate(str, cellOptions, innerWidth)\n } else {\n str = wrap(str, cellOptions, innerWidth)\n }\n\n // format each line\n const cell = str.split(\"\\n\").map((line: string) => {\n line = line.trim()\n\n const lineLength = getStringLength(line)\n\n // alignment\n if (lineLength < columnWidth) {\n let emptySpace = columnWidth - lineLength\n\n switch (true) {\n case (cellOptions[alignTgt] === \"center\"):\n emptySpace--\n const padBoth = Math.floor(emptySpace / 2)\n const padRemainder = emptySpace % 2\n line = \" \".repeat(padBoth)\n + line\n + \" \".repeat(padBoth + padRemainder)\n break\n\n case (cellOptions[alignTgt] === \"right\"):\n line = \" \".repeat(emptySpace - cellOptions.paddingRight - 1)\n + line\n + \" \".repeat(cellOptions.paddingRight)\n break\n\n default:\n line = \" \".repeat(cellOptions.paddingLeft)\n + line\n + \" \".repeat(emptySpace - cellOptions.paddingLeft - 1)\n }\n }\n\n // put ANSI color codes BACK on the beginning and end of string\n return startMatches[0] + line + endMatches[0]\n })\n\n return { cell, innerWidth }\n}\n\nexport const truncate = (str: string, cellOptions: any, maxWidth: number) => {\n const stringWidth = displayWidth(str)\n\n if (maxWidth < stringWidth) {\n // @TODO give user option to decide if they want to break words on wrapping\n str = smartwrap(str, {\n width: maxWidth - displayWidth(cellOptions.truncate),\n breakword: true\n }).split(\"\\n\")[0]!\n str = str + cellOptions.truncate\n }\n\n return str\n}\n\nexport const wrap = (str: string, cellOptions: any, innerWidth: number) => {\n const outstring = smartwrap(str, {\n errorChar: cellOptions.defaultErrorValue,\n minWidth: 1,\n trim: true,\n width: innerWidth\n })\n\n return outstring\n}\n\nexport const getColumnWidths = (config: any, rows: any[]) => {\n const availableWidth = getAvailableWidth(config)\n\n // iterate over the header if we have it, iterate over the first row\n // if we do not (to step through the correct number of columns)\n const iterable: any[] = (config.table.header[0] && config.table.header[0].length > 0)\n ? config.table.header[0] : rows[0]\n\n let widths: number[] = iterable.map((column: any, columnIndex: number) => {\n let result: number\n\n switch (true) {\n // column width is a percentage of table width specified in column header\n case (typeof column === \"object\" && (/^\\d+%$/.test(column.width))):\n result = (column.width.slice(0, -1) * 0.01) * availableWidth\n result = addPadding(config, result)\n break\n\n // column width is specified in column header\n case (typeof column === \"object\" && (/^\\d+$/.test(column.width))):\n result = column.width\n break\n\n // 'auto' sets column width to its longest value in the initial data set\n default: {\n const columnOptions = (config.table.header[0][columnIndex])\n ? config.table.header[0][columnIndex] : {}\n const measurableRows = (rows.length) ? rows : config.table.header[0]\n\n result = getMaxLength(columnOptions, measurableRows, columnIndex)\n\n // add spaces for padding if not centered\n // @TODO test with if not centered conditional\n result = addPadding(config, result)\n }\n }\n\n // add space for gutter\n result = result + config.GUTTER\n return result\n })\n\n // calculate sum of all column widths (including marginLeft)\n const totalWidth = widths.reduce((prev: number, current: number) => prev + current)\n\n // proportionately resize columns when necessary\n if (totalWidth > availableWidth || config.FIXED_WIDTH) {\n // proportion wont be exact fit, but this method keeps us safe\n const proportion = (availableWidth / totalWidth).toFixed(2) as unknown as number - 0.01\n const relativeWidths = widths.map((value: number) => Math.max(2, Math.floor(proportion * value)))\n if (config.FIXED_WIDTH) return relativeWidths\n\n // when proportion < 0 column cant be resized and totalWidth must overflow viewport\n if (proportion > 0) {\n const totalRelativeWidths = relativeWidths.reduce((prev: number, current: number) => prev + current)\n widths = (totalRelativeWidths < totalWidth) ? relativeWidths : widths\n }\n } else {\n widths = widths.map(Math.floor)\n }\n\n return widths\n}\n","import { colorizeCell, isColorEnabled, style, resetStyle } from \"./style\"\nimport { wrapCellText, getColumnWidths } from \"./format\"\nimport stripAnsi from \"strip-ansi\"\n\nexport const stringifyData = (config: any, inputData: any[]) => {\n const sections: any = { header: [], body: [], footer: [] }\n const marginLeft = \" \".repeat(config.marginLeft)\n const borderStyle = config.borderCharacters[config.borderStyle]\n const borders: any[] = []\n\n const constructorType = getConstructorGeometry(inputData[0] || [], config)\n const rows = coerceConstructorGeometry(config, inputData, constructorType)\n\n if (!(global as any).columnWidths) (global as any).columnWidths = {}\n\n if ((global as any).columnWidths[config.tableId]) {\n config.table.columnWidths = (global as any).columnWidths[config.tableId]\n } else {\n const formattedRows = rows.map((row: any[], rowIndex: number) => {\n return row.map((cell: any, cellIndex: number) => buildCell(config, cell, cellIndex, \"body\", rowIndex, rows, inputData, true))\n })\n ;(global as any).columnWidths[config.tableId] = config.table.columnWidths = getColumnWidths(config, formattedRows)\n }\n\n switch (true) {\n case (config.showHeader !== null && !config.showHeader):\n sections.header = []\n break\n case (config.showHeader === true):\n case (!!config.table.header[0].find((obj: any) => obj.value || obj.alias)):\n sections.header = config.table.header.map((row: any[]) => buildRow(config, row, \"header\", null, rows, inputData))\n break\n default:\n sections.header = []\n }\n\n sections.body = rows.map((row: any[], rowIndex: number) => buildRow(config, row, \"body\", rowIndex, rows, inputData))\n sections.footer = (config.table.footer instanceof Array && config.table.footer.length > 0) ? [config.table.footer] : []\n sections.footer = sections.footer.map((row: any[]) => buildRow(config, row, \"footer\", null, rows, inputData))\n\n for (let a = 0; a < 3; a++) {\n borders[a] = borderStyle[a].l\n config.table.columnWidths.forEach((columnWidth: number, index: number, arr: number[]) => {\n borders[a] += borderStyle[a].h.repeat(Math.max(columnWidth, 2) - 1)\n borders[a] += ((index + 1 < arr.length) ? borderStyle[a].j : \"\")\n })\n borders[a] += borderStyle[a].r\n borders[a] = (a < 2) ? `${marginLeft + borders[a]}\\n` : marginLeft + borders[a]\n }\n\n const output: string[] = [borders[0]]\n\n for (const [sectionIndex, sectionName] of Object.keys(sections).entries()) {\n const section = sections[sectionName]\n for (let rowIndex = 0; rowIndex < section.length; rowIndex++) {\n const row = section[rowIndex]\n row.forEach((line: string[]) => {\n output.push(marginLeft + borderStyle[1].v + line.join(borderStyle[1].v) + borderStyle[1].v + \"\\n\")\n })\n\n switch (true) {\n case (rowIndex === section.length - 1 && sectionIndex === 1 && sections.footer.length === 0):\n break\n case (rowIndex === section.length - 1 && sectionIndex === 2):\n break\n case (config.compact && sectionName === \"body\" && !row.empty):\n break\n case (config.borderStyle === \"none\" && config.compact):\n break\n default:\n output.push(borders[1])\n }\n }\n }\n\n output.push(borders[2])\n const finalOutput = \"\\n\".repeat(config.marginTop) + output.join(\"\")\n config.height = finalOutput.split(/\\r\\n|\\r|\\n/).length\n return finalOutput\n}\n\nexport const buildRow = (config: any, row: any[], rowType: string, rowIndex: number | null, rowData: any[], inputData: any[]) => {\n let minRowHeight = 0\n if (row.length === 0 && config.compact) {\n (row as any).empty = true\n return row\n }\n\n const lengthDifference = config.table.columnWidths.length - row.length\n if (lengthDifference > 0) row = row.concat(Array.apply(null, new Array(lengthDifference)).map(() => null))\n else if (lengthDifference < 0) row.length = config.table.columnWidths.length\n\n row = row.map((elem: any, elemIndex: number) => {\n const cell = buildCell(config, elem, elemIndex, rowType, rowIndex, rowData, inputData)\n minRowHeight = (minRowHeight < cell.length) ? cell.length : minRowHeight\n return cell\n })\n\n minRowHeight = (rowType === \"header\") ? minRowHeight : minRowHeight + (config.paddingBottom + config.paddingTop)\n const linedRow: any[] = Array.apply(null, { length: minRowHeight } as any).map(Function.call, () => [])\n\n row.forEach(function (cell: string[], a: number) {\n const whitespace = \" \".repeat(Math.max(config.table.columnWidths[a] - 1, 0))\n if (rowType === \"body\") {\n for (let i = 0; i < config.paddingTop; i++) cell.unshift(whitespace)\n for (let i = 0; i < config.paddingBottom; i++) cell.push(whitespace)\n }\n for (let i = 0; i < minRowHeight; i++) linedRow[i].push((typeof cell[i] !== \"undefined\") ? cell[i] : whitespace)\n })\n\n return linedRow\n}\n\nexport const buildCell = (config: any, elem: any, columnIndex: number, rowType: string, rowIndex: number | null, rowData: any[], inputData: any[], dryRun = false) => {\n let cellValue: any = null\n const cellOptions: any = Object.assign(\n { reset: false },\n config,\n (rowType !== \"header\") ? config.columnSettings[columnIndex] : {},\n (typeof elem === \"object\") ? elem : {}\n )\n\n if (rowType === \"header\") {\n config.table.columns.push(cellOptions)\n cellValue = cellOptions.alias || cellOptions.value || \"\"\n } else {\n switch (true) {\n case (typeof elem === \"undefined\" || elem === null):\n cellValue = (config.errorOnNull) ? config.defaultErrorValue : config.defaultValue\n if (!isColorEnabled()) cellValue = stripAnsi(cellValue)\n cellOptions.isNull = true\n break\n case (typeof elem === \"object\" && elem !== null && typeof elem.value !== \"undefined\"):\n cellValue = elem.value\n break\n case (typeof elem === \"function\"):\n cellValue = (elem as Function).bind({\n configure: function (object: any) { return Object.assign(cellOptions, object) },\n style: style,\n resetStyle: resetStyle\n })(cellValue, columnIndex, rowIndex, rowData, inputData)\n break\n default:\n cellValue = elem\n }\n\n if (rowType === \"body\" && typeof cellOptions.formatter === \"function\") {\n cellValue = cellOptions.formatter.bind({\n configure: function (object: any) { return Object.assign(cellOptions, object) },\n style: style,\n resetStyle: resetStyle\n })(cellValue, columnIndex, rowIndex, rowData, inputData)\n }\n\n if (dryRun) return cellValue\n }\n\n if (!cellOptions.reset) cellValue = colorizeCell(cellValue, cellOptions, rowType)\n const { cell, innerWidth } = wrapCellText(cellOptions, cellValue, columnIndex, cellOptions, rowType)\n if (rowType === \"header\") config.table.columnInnerWidths.push(innerWidth)\n return cell\n}\n\nexport const getConstructorGeometry = (row: any, config: any) => {\n let type: string\n if (typeof row === \"object\" && !(row instanceof Array)) {\n const keys = Object.keys(row)\n if (config.adapter === \"automattic\") {\n const key = keys[0]!\n type = row[key] instanceof Array ? \"automattic-cross\" : \"automattic-vertical\"\n } else type = \"o-horizontal\"\n } else type = \"a-horizontal\"\n return type\n}\n\nexport const coerceConstructorGeometry = (config: any, rows: any[], constructorType: string) => {\n let output: any[] = []\n switch (constructorType) {\n case \"automattic-cross\":\n config.columnSettings[0] = config.columnSettings[0] || {}\n config.columnSettings[0].color = config.headerColor\n output = rows.map((obj: any) => {\n const key = Object.keys(obj)[0]!\n return [key].concat(obj[key])\n })\n break\n case \"automattic-vertical\":\n config.columnSettings[0] = config.columnSettings[0] || {}\n config.columnSettings[0].color = config.headerColor\n output = rows.map((value: any) => {\n const key = Object.keys(value)[0]!\n return [key, value[key]]\n })\n break\n case \"o-horizontal\":\n if (config.table.header[0].length && config.table.header[0].every((obj: any) => obj.value)) {\n output = rows.map((row: any) => config.table.header[0].map((obj: any) => row[obj.value]))\n } else output = rows.map((obj: any) => Object.values(obj))\n break\n case \"a-horizontal\":\n output = rows\n break\n }\n return output\n}\n","import defaults from \"./defaults\"\nimport { stringifyData } from \"./render\"\nimport { resetStyle, style, styleEachChar } from \"./style\"\n\nlet counter = 0\n\nexport interface Formatter {\n (cellValue: any, columnIndex: number, rowIndex: number, rowData: any, inputData: any): string\n}\n\nexport interface Header {\n alias?: string\n align?: string\n color?: string\n footerAlign?: string\n footerColor?: string\n formatter?: Formatter\n headerAlign?: string\n headerColor?: string\n marginLeft?: number\n marginTop?: number\n paddingBottom?: number\n paddingLeft?: number\n paddingRight?: number\n paddingTop?: number\n value: string\n width?: string | number\n}\n\nexport interface Options {\n borderStyle?: string\n borderColor?: string\n color?: string\n compact?: boolean\n defaultErrorValue?: string\n defaultValue?: string\n errorOnNull?: boolean\n truncate?: string | boolean\n width?: string | number\n footerColor?: string\n [key: string]: unknown\n}\n\nexport interface Table extends Array<any> {\n render(): string\n height?: number\n [key: string]: any\n}\n\nconst Factory = function (paramsArr: any[]): any {\n const _configKey = (Symbol as any).config // legacy quirk: evaluates to undefined; kept for behavior parity\n let header: any = []\n const body: any[] = []\n let footer: any = []\n let options: any = {}\n\n // handle different parameter scenarios\n switch (true) {\n // header, rows, footer, and options\n case (paramsArr.length === 4):\n header = paramsArr[0]\n body.push(...paramsArr[1]) // creates new array to store our rows (body)\n footer = paramsArr[2]\n options = paramsArr[3]\n break\n\n // header, rows, footer\n case (paramsArr.length === 3 && paramsArr[2] instanceof Array):\n header = paramsArr[0]\n body.push(...paramsArr[1]) // creates new array to store our rows\n footer = paramsArr[2]\n break\n\n // header, rows, options\n case (paramsArr.length === 3 && typeof paramsArr[2] === \"object\"):\n header = paramsArr[0]\n body.push(...paramsArr[1]) // creates new array to store our rows\n options = paramsArr[2]\n break\n\n // header, rows (rows, footer is not an option)\n case (paramsArr.length === 2 && paramsArr[1] instanceof Array):\n header = paramsArr[0]\n body.push(...paramsArr[1]) // creates new array to store our rows\n break\n\n // rows, options\n case (paramsArr.length === 2 && typeof paramsArr[1] === \"object\"):\n body.push(...paramsArr[0]) // creates new array to store our rows\n options = paramsArr[1]\n break\n\n // rows\n case (paramsArr.length === 1 && paramsArr[0] instanceof Array):\n body.push(...paramsArr[0])\n break\n\n // adapter called: i.e. `require('tty-table')('automattic-cli-table')`\n case (paramsArr.length === 1 && typeof paramsArr[0] === \"string\"): {\n // known adapters are mapped statically so bundlers leave them external;\n // a dynamic require(`../adapters/${name}`) fallback would make esbuild\n // eagerly bundle every adapters/* file (candidate scanning), which then\n // fails on their ../dist/index.js requires at build time\n const adapters: Record<string, () => any> = {\n \"automattic-cli-table\": () => require(\"../adapters/automattic-cli-table.js\"),\n \"default-adapter\": () => require(\"../adapters/default-adapter.js\"),\n \"terminal-adapter\": () => require(\"../adapters/terminal-adapter.js\")\n }\n const load = adapters[paramsArr[0]]\n if (!load) throw new Error(`Unknown adapter: \"${paramsArr[0]}\". Available adapters: ${Object.keys(adapters).join(\", \")}`)\n return load()\n }\n\n /* istanbul ignore next */\n default:\n console.log(\"Error: Bad params. \\nSee docs at github.com/tecfu/tty-table\")\n process.exit()\n }\n\n // for \"deep\" copy, use JSON.parse\n const cloneddefaults = JSON.parse(JSON.stringify(defaults))\n const config: any = Object.assign({}, cloneddefaults, options)\n\n // backfixes for shortened option names\n config.align = config.alignment || config.align\n config.headerAlign = config.headerAlignment || config.headerAlign\n\n // for truncate true is equivalent to empty string\n if (config.truncate === true) config.truncate = \"\"\n\n // if borderColor customized, color the border character set\n if (config.borderColor) {\n config.borderCharacters[config.borderStyle]\n = config.borderCharacters[config.borderStyle].map(function (obj: any) {\n Object.keys(obj).forEach(function (key) {\n obj[key] = style(obj[key], config.borderColor)\n })\n return obj\n })\n }\n\n // save a copy for merging columnSettings into cell options\n config.columnSettings = header.slice(0)\n\n // header\n config.table.header = header\n\n // match header geometry with body array\n config.table.header = [config.table.header]\n\n // footer\n config.table.footer = footer\n\n // counting table enables fixed column widths for streams,\n // variable widths for multiple tables simulateously\n if (config.terminalAdapter !== true) {\n counter++ // fix columnwidths for streams\n }\n config.tableId = counter\n\n // create a new object with an Array prototype\n const tableObject: any = Object.create(body)\n\n // save configuration to new object\n tableObject[_configKey] = config\n\n /**\n * Add method to render table to a string\n * @returns {String}\n * @memberof Table\n * @example\n * ```js\n * let str = t1.render();\n * console.log(str); //outputs table\n * ```\n */\n tableObject.render = function (this: any) {\n const output = stringifyData(this[_configKey], this.slice(0)) // get string output\n tableObject.height = this[_configKey].height\n return output\n }\n\n return tableObject\n}\n\ninterface TtyTableFactory {\n (headers: (string | Header | Formatter)[], body: unknown[], footers: (string | Header | Formatter)[], config?: Options): Table\n (header: (string | Header | Formatter)[], body: unknown[], config?: Options): Table\n (body: unknown[], config?: Options): Table\n resetStyle(str: string): string\n style(str: string, ...colors: string[]): string\n}\n\nconst Table = function (...params: any[]) {\n return Factory(params)\n} as unknown as TtyTableFactory\n\nTable.resetStyle = resetStyle\nTable.style = styleEachChar\n\nexport default Table\n","import Factory from \"./factory\"\n\nexport type * from \"./types\"\nexport type { Header, Options, Table, Formatter } from \"./factory\"\n\nexport default Factory\n"],"mappings":"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AAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,QACjB,CAAC,QAAS,MAAO;AAAA,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","names":["breakword","chalk","stripAnsi","import_strip_ansi","breakword","defaults","stripAnsi","import_breakword","stripAnsi","breakword","displayWidth","displayWidth","wrap","import_strip_ansi","stripAnsi"]}
1
+ {"version":3,"sources":["../../node_modules/color-name/index.js","../../node_modules/color-convert/conversions.js","../../node_modules/color-convert/route.js","../../node_modules/color-convert/index.js","../../node_modules/ansi-styles/index.js","stub:os","stub:tty","../../node_modules/has-flag/index.js","../../node_modules/chalk/node_modules/supports-color/index.js","../../node_modules/chalk/source/util.js","../../node_modules/chalk/source/templates.js","../../node_modules/chalk/source/index.js","../../node_modules/ansi-regex/index.js","../../node_modules/strip-ansi/index.js","../../node_modules/breakword/src/main.js","stub:adapter","../../src/browser.ts","../../src/defaults.ts","../../src/style.ts","../../node_modules/smartwrap/src/main.ts","../../src/ansi.ts","../../src/format.ts","../../src/render.ts","../../src/factory.ts","../../src/index.ts"],"sourcesContent":["'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","/* 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');\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","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","'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","module.exports = { release: function () { return '' } }","module.exports = { isatty: function () { return false } }","'use strict';\n\nmodule.exports = (flag, argv = process.argv) => {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n};\n","'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tforceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = 1;\n}\n\nif ('FORCE_COLOR' in env) {\n\tif (env.FORCE_COLOR === 'true') {\n\t\tforceColor = 1;\n\t} else if (env.FORCE_COLOR === 'false') {\n\t\tforceColor = 0;\n\t} else {\n\t\tforceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(haveStream, streamIsTTY) {\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream, stream && stream.isTTY);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: translateLevel(supportsColor(true, tty.isatty(1))),\n\tstderr: translateLevel(supportsColor(true, tty.isatty(2)))\n};\n","'use strict';\n\nconst stringReplaceAll = (string, substring, replacer) => {\n\tlet index = string.indexOf(substring);\n\tif (index === -1) {\n\t\treturn string;\n\t}\n\n\tconst substringLength = substring.length;\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\treturnValue += string.substr(endIndex, index - endIndex) + substring + replacer;\n\t\tendIndex = index + substringLength;\n\t\tindex = string.indexOf(substring, endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.substr(endIndex);\n\treturn returnValue;\n};\n\nconst stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => {\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\tconst gotCR = string[index - 1] === '\\r';\n\t\treturnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? '\\r\\n' : '\\n') + postfix;\n\t\tendIndex = index + 1;\n\t\tindex = string.indexOf('\\n', endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.substr(endIndex);\n\treturn returnValue;\n};\n\nmodule.exports = {\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex\n};\n","'use strict';\nconst TEMPLATE_REGEX = /(?:\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi;\nconst STYLE_REGEX = /(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g;\nconst STRING_REGEX = /^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/;\nconst ESCAPE_REGEX = /\\\\(u(?:[a-f\\d]{4}|{[a-f\\d]{1,6}})|x[a-f\\d]{2}|.)|([^\\\\])/gi;\n\nconst ESCAPES = new Map([\n\t['n', '\\n'],\n\t['r', '\\r'],\n\t['t', '\\t'],\n\t['b', '\\b'],\n\t['f', '\\f'],\n\t['v', '\\v'],\n\t['0', '\\0'],\n\t['\\\\', '\\\\'],\n\t['e', '\\u001B'],\n\t['a', '\\u0007']\n]);\n\nfunction unescape(c) {\n\tconst u = c[0] === 'u';\n\tconst bracket = c[1] === '{';\n\n\tif ((u && !bracket && c.length === 5) || (c[0] === 'x' && c.length === 3)) {\n\t\treturn String.fromCharCode(parseInt(c.slice(1), 16));\n\t}\n\n\tif (u && bracket) {\n\t\treturn String.fromCodePoint(parseInt(c.slice(2, -1), 16));\n\t}\n\n\treturn ESCAPES.get(c) || c;\n}\n\nfunction parseArguments(name, arguments_) {\n\tconst results = [];\n\tconst chunks = arguments_.trim().split(/\\s*,\\s*/g);\n\tlet matches;\n\n\tfor (const chunk of chunks) {\n\t\tconst number = Number(chunk);\n\t\tif (!Number.isNaN(number)) {\n\t\t\tresults.push(number);\n\t\t} else if ((matches = chunk.match(STRING_REGEX))) {\n\t\t\tresults.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape(escape) : character));\n\t\t} else {\n\t\t\tthrow new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction parseStyle(style) {\n\tSTYLE_REGEX.lastIndex = 0;\n\n\tconst results = [];\n\tlet matches;\n\n\twhile ((matches = STYLE_REGEX.exec(style)) !== null) {\n\t\tconst name = matches[1];\n\n\t\tif (matches[2]) {\n\t\t\tconst args = parseArguments(name, matches[2]);\n\t\t\tresults.push([name].concat(args));\n\t\t} else {\n\t\t\tresults.push([name]);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction buildStyle(chalk, styles) {\n\tconst enabled = {};\n\n\tfor (const layer of styles) {\n\t\tfor (const style of layer.styles) {\n\t\t\tenabled[style[0]] = layer.inverse ? null : style.slice(1);\n\t\t}\n\t}\n\n\tlet current = chalk;\n\tfor (const [styleName, styles] of Object.entries(enabled)) {\n\t\tif (!Array.isArray(styles)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!(styleName in current)) {\n\t\t\tthrow new Error(`Unknown Chalk style: ${styleName}`);\n\t\t}\n\n\t\tcurrent = styles.length > 0 ? current[styleName](...styles) : current[styleName];\n\t}\n\n\treturn current;\n}\n\nmodule.exports = (chalk, temporary) => {\n\tconst styles = [];\n\tconst chunks = [];\n\tlet chunk = [];\n\n\t// eslint-disable-next-line max-params\n\ttemporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => {\n\t\tif (escapeCharacter) {\n\t\t\tchunk.push(unescape(escapeCharacter));\n\t\t} else if (style) {\n\t\t\tconst string = chunk.join('');\n\t\t\tchunk = [];\n\t\t\tchunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string));\n\t\t\tstyles.push({inverse, styles: parseStyle(style)});\n\t\t} else if (close) {\n\t\t\tif (styles.length === 0) {\n\t\t\t\tthrow new Error('Found extraneous } in Chalk template literal');\n\t\t\t}\n\n\t\t\tchunks.push(buildStyle(chalk, styles)(chunk.join('')));\n\t\t\tchunk = [];\n\t\t\tstyles.pop();\n\t\t} else {\n\t\t\tchunk.push(character);\n\t\t}\n\t});\n\n\tchunks.push(chunk.join(''));\n\n\tif (styles.length > 0) {\n\t\tconst errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\\`}\\`)`;\n\t\tthrow new Error(errMessage);\n\t}\n\n\treturn chunks.join('');\n};\n","'use strict';\nconst ansiStyles = require('ansi-styles');\nconst {stdout: stdoutColor, stderr: stderrColor} = require('supports-color');\nconst {\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex\n} = require('./util');\n\nconst {isArray} = Array;\n\n// `supportsColor.level` → `ansiStyles.color[name]` mapping\nconst levelMapping = [\n\t'ansi',\n\t'ansi',\n\t'ansi256',\n\t'ansi16m'\n];\n\nconst styles = Object.create(null);\n\nconst applyOptions = (object, options = {}) => {\n\tif (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {\n\t\tthrow new Error('The `level` option should be an integer from 0 to 3');\n\t}\n\n\t// Detect level if not set manually\n\tconst colorLevel = stdoutColor ? stdoutColor.level : 0;\n\tobject.level = options.level === undefined ? colorLevel : options.level;\n};\n\nclass ChalkClass {\n\tconstructor(options) {\n\t\t// eslint-disable-next-line no-constructor-return\n\t\treturn chalkFactory(options);\n\t}\n}\n\nconst chalkFactory = options => {\n\tconst chalk = {};\n\tapplyOptions(chalk, options);\n\n\tchalk.template = (...arguments_) => chalkTag(chalk.template, ...arguments_);\n\n\tObject.setPrototypeOf(chalk, Chalk.prototype);\n\tObject.setPrototypeOf(chalk.template, chalk);\n\n\tchalk.template.constructor = () => {\n\t\tthrow new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.');\n\t};\n\n\tchalk.template.Instance = ChalkClass;\n\n\treturn chalk.template;\n};\n\nfunction Chalk(options) {\n\treturn chalkFactory(options);\n}\n\nfor (const [styleName, style] of Object.entries(ansiStyles)) {\n\tstyles[styleName] = {\n\t\tget() {\n\t\t\tconst builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty);\n\t\t\tObject.defineProperty(this, styleName, {value: builder});\n\t\t\treturn builder;\n\t\t}\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\tconst builder = createBuilder(this, this._styler, true);\n\t\tObject.defineProperty(this, 'visible', {value: builder});\n\t\treturn builder;\n\t}\n};\n\nconst usedModels = ['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256'];\n\nfor (const model of usedModels) {\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler);\n\t\t\t\treturn createBuilder(this, styler, this._isEmpty);\n\t\t\t};\n\t\t}\n\t};\n}\n\nfor (const model of usedModels) {\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler);\n\t\t\t\treturn createBuilder(this, styler, this._isEmpty);\n\t\t\t};\n\t\t}\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, {\n\t...styles,\n\tlevel: {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn this._generator.level;\n\t\t},\n\t\tset(level) {\n\t\t\tthis._generator.level = level;\n\t\t}\n\t}\n});\n\nconst createStyler = (open, close, parent) => {\n\tlet openAll;\n\tlet closeAll;\n\tif (parent === undefined) {\n\t\topenAll = open;\n\t\tcloseAll = close;\n\t} else {\n\t\topenAll = parent.openAll + open;\n\t\tcloseAll = close + parent.closeAll;\n\t}\n\n\treturn {\n\t\topen,\n\t\tclose,\n\t\topenAll,\n\t\tcloseAll,\n\t\tparent\n\t};\n};\n\nconst createBuilder = (self, _styler, _isEmpty) => {\n\tconst builder = (...arguments_) => {\n\t\tif (isArray(arguments_[0]) && isArray(arguments_[0].raw)) {\n\t\t\t// Called as a template literal, for example: chalk.red`2 + 3 = {bold ${2+3}}`\n\t\t\treturn applyStyle(builder, chalkTag(builder, ...arguments_));\n\t\t}\n\n\t\t// Single argument is hot path, implicit coercion is faster than anything\n\t\t// eslint-disable-next-line no-implicit-coercion\n\t\treturn applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));\n\t};\n\n\t// We alter the prototype because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tObject.setPrototypeOf(builder, proto);\n\n\tbuilder._generator = self;\n\tbuilder._styler = _styler;\n\tbuilder._isEmpty = _isEmpty;\n\n\treturn builder;\n};\n\nconst applyStyle = (self, string) => {\n\tif (self.level <= 0 || !string) {\n\t\treturn self._isEmpty ? '' : string;\n\t}\n\n\tlet styler = self._styler;\n\n\tif (styler === undefined) {\n\t\treturn string;\n\t}\n\n\tconst {openAll, closeAll} = styler;\n\tif (string.indexOf('\\u001B') !== -1) {\n\t\twhile (styler !== undefined) {\n\t\t\t// Replace any instances already present with a re-opening code\n\t\t\t// otherwise only the part of the string until said closing code\n\t\t\t// will be colored, and the rest will simply be 'plain'.\n\t\t\tstring = stringReplaceAll(string, styler.close, styler.open);\n\n\t\t\tstyler = styler.parent;\n\t\t}\n\t}\n\n\t// We can move both next actions out of loop, because remaining actions in loop won't have\n\t// any/visible effect on parts we add here. Close the styling before a linebreak and reopen\n\t// after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92\n\tconst lfIndex = string.indexOf('\\n');\n\tif (lfIndex !== -1) {\n\t\tstring = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);\n\t}\n\n\treturn openAll + string + closeAll;\n};\n\nlet template;\nconst chalkTag = (chalk, ...strings) => {\n\tconst [firstString] = strings;\n\n\tif (!isArray(firstString) || !isArray(firstString.raw)) {\n\t\t// If chalk() was called by itself or with a string,\n\t\t// return the string itself as a string.\n\t\treturn strings.join(' ');\n\t}\n\n\tconst arguments_ = strings.slice(1);\n\tconst parts = [firstString.raw[0]];\n\n\tfor (let i = 1; i < firstString.length; i++) {\n\t\tparts.push(\n\t\t\tString(arguments_[i - 1]).replace(/[{}\\\\]/g, '\\\\$&'),\n\t\t\tString(firstString.raw[i])\n\t\t);\n\t}\n\n\tif (template === undefined) {\n\t\ttemplate = require('./templates');\n\t}\n\n\treturn template(chalk, parts.join(''));\n};\n\nObject.defineProperties(Chalk.prototype, styles);\n\nconst chalk = Chalk(); // eslint-disable-line new-cap\nchalk.supportsColor = stdoutColor;\nchalk.stderr = Chalk({level: stderrColor ? stderrColor.level : 0}); // eslint-disable-line new-cap\nchalk.stderr.supportsColor = stderrColor;\n\nmodule.exports = chalk;\n","'use strict';\n\nmodule.exports = ({onlyFirst = false} = {}) => {\n\tconst pattern = [\n\t\t'[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[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';\nconst ansiRegex = require('ansi-regex');\n\nmodule.exports = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string;\n","'use strict';\n\n// Which code points occupy two terminal cells. A policy decision, not a\n// Unicode fact: UAX #11 defines East Asian Width as a *hint* that is expected\n// to be tailored per environment, so this module states its own rules —\n//\n// 2 East Asian Width W or F (generated table below), plus emoji that\n// Unicode Standard Annex #51 gives the emoji presentation by default\n// 0 non-spacing and enclosing marks, format characters, C0/C1 controls\n// 1 everything else, including A (ambiguous) and the astral plane's\n// non-CJK blocks, which are East Asian Width Na\n//\n// A consumer that pads a fixed-width column against a specific terminal may\n// want A rendered as 2 (CJK locale) or emoji as 1 (a narrow font). That is a\n// different policy, not a bug in this one.\n\n/* <wide> */\n// East Asian Width W + F — EastAsianWidth-18.0.0.txt (2026-06-29, 15:25:05 GMT)\n// Regenerate: node tools/gen-wide.mjs 18.0.0\nconst UNICODE_VERSION = '18.0.0';\nconst WIDE_RANGES = [\n [0x1100, 0x115F],\n [0x231A, 0x231B],\n [0x2329, 0x232A],\n [0x23E9, 0x23EC],\n [0x23F0, 0x23F0],\n [0x23F3, 0x23F3],\n [0x25FD, 0x25FE],\n [0x2614, 0x2615],\n [0x2630, 0x2637],\n [0x2648, 0x2653],\n [0x267F, 0x267F],\n [0x268A, 0x268F],\n [0x2693, 0x2693],\n [0x26A1, 0x26A1],\n [0x26AA, 0x26AB],\n [0x26BD, 0x26BE],\n [0x26C4, 0x26C5],\n [0x26CE, 0x26CE],\n [0x26D4, 0x26D4],\n [0x26EA, 0x26EA],\n [0x26F2, 0x26F3],\n [0x26F5, 0x26F5],\n [0x26FA, 0x26FA],\n [0x26FD, 0x26FD],\n [0x2705, 0x2705],\n [0x270A, 0x270B],\n [0x2728, 0x2728],\n [0x274C, 0x274C],\n [0x274E, 0x274E],\n [0x2753, 0x2755],\n [0x2757, 0x2757],\n [0x2795, 0x2797],\n [0x27B0, 0x27B0],\n [0x27BF, 0x27BF],\n [0x2B1B, 0x2B1C],\n [0x2B50, 0x2B50],\n [0x2B55, 0x2B55],\n [0x2E80, 0x2E99],\n [0x2E9B, 0x2EF3],\n [0x2F00, 0x2FD5],\n [0x2FF0, 0x303E],\n [0x3041, 0x3096],\n [0x3099, 0x30FF],\n [0x3105, 0x312F],\n [0x3131, 0x318E],\n [0x3190, 0x31E5],\n [0x31EF, 0x321E],\n [0x3220, 0x3247],\n [0x3250, 0xA48C],\n [0xA490, 0xA4C6],\n [0xA960, 0xA97C],\n [0xAC00, 0xD7A3],\n [0xF900, 0xFAFF],\n [0xFE10, 0xFE19],\n [0xFE30, 0xFE52],\n [0xFE54, 0xFE66],\n [0xFE68, 0xFE6B],\n [0xFF01, 0xFF60],\n [0xFFE0, 0xFFE6],\n [0x16FE0, 0x16FE4],\n [0x16FF0, 0x16FF6],\n [0x17000, 0x18CDA],\n [0x18CFF, 0x18D20],\n [0x18D80, 0x18DF2],\n [0x18E00, 0x19191],\n [0x191A0, 0x191D2],\n [0x1AFF0, 0x1AFF3],\n [0x1AFF5, 0x1AFFB],\n [0x1AFFD, 0x1AFFE],\n [0x1B000, 0x1B128],\n [0x1B132, 0x1B132],\n [0x1B150, 0x1B152],\n [0x1B155, 0x1B155],\n [0x1B164, 0x1B168],\n [0x1B170, 0x1B2FB],\n [0x1D300, 0x1D356],\n [0x1D360, 0x1D376],\n [0x1F004, 0x1F004],\n [0x1F0CF, 0x1F0CF],\n [0x1F18E, 0x1F18E],\n [0x1F191, 0x1F19A],\n [0x1F1AE, 0x1F1AE],\n [0x1F200, 0x1F202],\n [0x1F210, 0x1F23B],\n [0x1F240, 0x1F248],\n [0x1F250, 0x1F251],\n [0x1F260, 0x1F265],\n [0x1F300, 0x1F320],\n [0x1F32D, 0x1F335],\n [0x1F337, 0x1F37C],\n [0x1F37E, 0x1F393],\n [0x1F3A0, 0x1F3CA],\n [0x1F3CF, 0x1F3D3],\n [0x1F3E0, 0x1F3F0],\n [0x1F3F4, 0x1F3F4],\n [0x1F3F8, 0x1F43E],\n [0x1F440, 0x1F440],\n [0x1F442, 0x1F4FC],\n [0x1F4FF, 0x1F53D],\n [0x1F54B, 0x1F54E],\n [0x1F550, 0x1F567],\n [0x1F57A, 0x1F57A],\n [0x1F595, 0x1F596],\n [0x1F5A4, 0x1F5A4],\n [0x1F5FB, 0x1F64F],\n [0x1F680, 0x1F6C5],\n [0x1F6CC, 0x1F6CC],\n [0x1F6D0, 0x1F6D2],\n [0x1F6D5, 0x1F6D9],\n [0x1F6DC, 0x1F6DF],\n [0x1F6EB, 0x1F6EC],\n [0x1F6F4, 0x1F6FC],\n [0x1F7DA, 0x1F7DA],\n [0x1F7E0, 0x1F7EB],\n [0x1F7F0, 0x1F7F0],\n [0x1F90C, 0x1F93A],\n [0x1F93C, 0x1F945],\n [0x1F947, 0x1F9FF],\n [0x1FA70, 0x1FA7C],\n [0x1FA80, 0x1FAC6],\n [0x1FAC8, 0x1FAC8],\n [0x1FACC, 0x1FADD],\n [0x1FADF, 0x1FAEB],\n [0x1FAEF, 0x1FAFA],\n [0x20000, 0x2FFFD],\n [0x30000, 0x3FFFD],\n];\n/* </wide> */\n\nconst cell = (cp) => (cp <= 0xffff\n ? `\\\\u${cp.toString(16).toUpperCase().padStart(4, '0')}`\n : `\\\\u{${cp.toString(16).toUpperCase()}}`);\n\n// One character class is what V8 wants for a range lookup this large; it\n// compiles the ranges into an interval set rather than scanning them.\nconst WIDE = new RegExp(\n '[' + WIDE_RANGES.map(([lo, hi]) => cell(lo) + (hi > lo ? `-${cell(hi)}` : '')).join('') + ']',\n 'u',\n);\n\n// Marks and format characters, plus the two cases Unicode files elsewhere:\n// ZERO WIDTH SPACE (Zs) and the Hangul Jamo medial vowels and final\n// consonants, which terminals paint on top of the preceding cell.\nconst ZERO = /[\\u200B\\p{Mn}\\p{Me}\\p{Cf}\\u1160-\\u11FF]/u;\n\n// Emoji that render two cells without being asked to (UAX #51\n// Emoji_Presentation). Regional indicators are excluded: one is a letter-ish\n// glyph of 1 cell, and a pair is what makes a single 2-cell flag, so scoring\n// each as 1 is what gets flags right.\nconst EMOJI = /\\p{Emoji_Presentation}/u;\n\nfunction width(char) {\n if (typeof char !== 'string') {\n throw new TypeError('width() expects a string');\n }\n\n if (char.length === 0) {\n return 0;\n }\n\n // A lone UTF-16 unit is already exactly one code point; only longer\n // strings can hold more than one. Spreading unconditionally here costs\n // ~24% on breakword()'s per-character loop, which always passes one.\n if (char.length > 1 && [...char].length > 1) {\n throw new TypeError('width() expects exactly one Unicode code point');\n }\n\n const cp = char.codePointAt(0);\n if (cp < 32 || (cp >= 0x7f && cp < 0xa0)) return 0; // C0/C1 controls\n if (cp === 0xad) return 1; // SOFT HYPHEN, width 1 by the wcwidth() convention\n if (ZERO.test(char)) return 0;\n if (EMOJI.test(char) && !(cp >= 0x1f1e6 && cp <= 0x1f1ff)) return 2;\n return WIDE.test(char) ? 2 : 1;\n}\n// ponytail: widths are per code point, so a ZWJ family (👨‍👩‍👧) counts as its\n// members and a text-presentation emoji followed by U+FE0F (❤️) stays narrow.\n// Needs grapheme clustering (Intl.Segmenter) plus Emoji_Presentation/VS16 per\n// cluster to fix; costs a segmenter per call, so opt-in only if it bites.\n// Pinned by the sequence regressions in test/test.js. See #21.\n\n/**\n * Return the zero-based character index after which `input` should be broken\n * so that its display width does not exceed `breakAtLength`.\n *\n * Indices are based on Unicode code points rather than UTF-16 code units.\n */\nmodule.exports = function breakword(input, breakAtLength) {\n const str = String(input);\n let indexOfLastFitChar = 0;\n let fittableLength = 0;\n let index = 0;\n\n for (const char of str) {\n const currentLength = fittableLength + width(char);\n\n if (currentLength > breakAtLength) {\n break;\n }\n\n indexOfLastFitChar = index;\n fittableLength = currentLength;\n index += 1;\n }\n\n return indexOfLastFitChar;\n};\n\n/**\n * Number of terminal cells (0, 1 or 2) a single Unicode code point occupies,\n * under the width policy documented at the top of this file. Takes one code\n * point, not a string — sum it over `[...str]` for a string width.\n */\nmodule.exports.width = width;\n\n// Used by test/unicode.test.js and test/gen-wide.test.js to check the table\n// and its rules against Unicode properties. Not part of the public API and\n// not covered by semver.\nmodule.exports.internals = { UNICODE_VERSION, WIDE_RANGES, WIDE, ZERO, EMOJI, width };\n","module.exports = function () { return '' }","export { default } from \"./index\"\nexport type * from \"./types\"\n","import type { BorderCharacters } from \"./types\"\n\n// @TODO split defaults into table and cell settings\nconst defaults: Record<string, any> & { borderCharacters: Record<string, BorderCharacters[]> } = {\n borderCharacters: {\n invisible: [\n { v: \" \", l: \" \", j: \" \", h: \" \", r: \" \" },\n { v: \" \", l: \" \", j: \" \", h: \" \", r: \" \" },\n { v: \" \", l: \" \", j: \" \", h: \" \", r: \" \" }\n ],\n solid: [\n { v: \"│\", l: \"┌\", j: \"┬\", h: \"─\", r: \"┐\" },\n { v: \"│\", l: \"├\", j: \"┼\", h: \"─\", r: \"┤\" },\n { v: \"│\", l: \"└\", j: \"┴\", h: \"─\", r: \"┘\" }\n ],\n dashed: [\n { v: \"|\", l: \"+\", j: \"+\", h: \"-\", r: \"+\" },\n { v: \"|\", l: \"+\", j: \"+\", h: \"-\", r: \"+\" },\n { v: \"|\", l: \"+\", j: \"+\", h: \"-\", r: \"+\" }\n ],\n none: [\n { v: \"\", l: \"\", j: \"\", h: \"\", r: \"\" },\n { v: \"\", l: \"\", j: \"\", h: \"\", r: \"\" },\n { v: \"\", l: \"\", j: \"\", h: \"\", r: \"\" }\n ]\n },\n align: \"center\",\n borderColor: null,\n borderStyle: \"solid\",\n color: false,\n COLUMNS: 80, // if !process.stdout.columns assume redirecting to write stream 80 columns is VT200 standard\n compact: false,\n defaultErrorValue: \"�\",\n defaultValue: \"\",\n errorOnNull: false,\n FIXED_WIDTH: false,\n footerAlign: \"center\",\n footerColor: false,\n formatter: null,\n headerAlign: \"center\",\n headerColor: \"yellow\",\n isNull: false, // undocumented cell setting\n marginLeft: 2,\n marginTop: 1,\n paddingBottom: 0,\n paddingLeft: 1,\n paddingRight: 1,\n paddingTop: 0,\n showHeader: null, // undocumented\n truncate: false,\n width: \"100%\",\n GUTTER: 1, // undocumented\n columnSettings: [],\n // save so cell options can be merged into column options\n table: {\n body: \"\",\n columnInnerWidths: [],\n columnWidths: [],\n columns: [],\n footer: \"\",\n header: \"\", // post-rendered strings.\n height: 0,\n typeLocked: false // once a table type is selected can't switch\n }\n}\n\n// support deprecated border style values\ndefaults.borderCharacters[\"0\"] = defaults.borderCharacters.none!\ndefaults.borderCharacters[\"1\"] = defaults.borderCharacters.solid!\ndefaults.borderCharacters[\"2\"] = defaults.borderCharacters.dashed!\n\nexport default defaults\n","import chalk from \"chalk\"\nimport stripAnsi from \"strip-ansi\"\n\nconst colorLib = typeof process !== \"undefined\" && process.stdout\n ? chalk\n : new chalk.Instance({ level: 1 })\n\nconst colorize = (value: string, color: string): string => {\n const fn = (colorLib as unknown as Record<string, unknown>)[color]\n return typeof fn === \"function\" ? (fn as (value: string) => string)(value) : value\n}\n\nexport const style = (str: string, ...colors: string[]): string =>\n colors.reduce(colorize, str)\n\nexport const styleEachChar = (str: string, ...colors: string[]): string => {\n const chars = [...stripAnsi(str)]\n\n return chars.reduce((result, char) => {\n return result + colors.reduce(colorize, char)\n }, \"\")\n}\n\n// Formatter callbacks use configure() to set per-cell options. resetStyle therefore\n// needs the formatter's this binding to disable subsequent cell colorization.\nexport const resetStyle = function (this: any, str: string): string {\n this.configure({ reset: true })\n return stripAnsi(str)\n}\n\nexport const colorizeCell = (str: string, cellOptions: any, rowType: string): string => {\n let color: string | false = false\n\n switch (true) {\n case rowType === \"body\":\n color = cellOptions.color || color\n break\n\n case rowType === \"header\":\n color = cellOptions.headerColor || color\n break\n\n default:\n color = cellOptions.footerColor || color\n }\n\n if (color) {\n str = style(str, color)\n }\n\n return str\n}\n\nexport const isColorEnabled = (): boolean => colorLib.level > 0\n",null,"import breakword from \"breakword\"\n\nconst ANSI = /\\u001B\\[[0-?]*[ -\\/]*[@-~]/g\n\nconst codes: Record<string, string> = {\n reset: \"0\", bold: \"1\", dim: \"2\", italic: \"3\", underline: \"4\", inverse: \"7\", hidden: \"8\", strikethrough: \"9\",\n black: \"30\", red: \"31\", green: \"32\", yellow: \"33\", blue: \"34\", magenta: \"35\", cyan: \"36\", white: \"37\",\n gray: \"90\", grey: \"90\", bgBlack: \"40\", bgRed: \"41\", bgGreen: \"42\", bgYellow: \"43\", bgBlue: \"44\", bgMagenta: \"45\", bgCyan: \"46\", bgWhite: \"47\"\n}\n\nexport const stripAnsi = (value: string): string => value.replace(ANSI, \"\")\nconst codePointWidth = (value: string): number =>\n [...value].reduce((total, char) => total + breakword.width(char), 0)\n\nexport const displayWidth = (value: string): number =>\n Math.max(0, ...stripAnsi(value).split(/\\r?\\n/).map(codePointWidth))\n\nexport const style = (value: string, ...styles: string[]): string => {\n const active = styles.map((s) => codes[s]).filter(Boolean)\n return active.length ? `\\u001b[${active.join(\";\")}m${value}\\u001b[0m` : value\n}\n\nexport const styleEachChar = (value: string, ...styles: string[]): string =>\n [...stripAnsi(value)].map((char) => style(char, ...styles)).join(\"\")\n\n","import smartwrap from \"smartwrap\"\nimport { displayWidth } from \"./ansi\"\n\nconst addPadding = (config: any, width: number) => {\n return width + config.paddingLeft + config.paddingRight\n}\n\nconst getDisplayWidth = (value: any) => {\n return displayWidth(value.toString())\n}\n\n/**\n * Returns the widest cell give a collection of rows\n *\n * @param object columnOptions\n * @param array rows\n * @param integer columnIndex\n * @returns string\n */\nconst getMaxLength = (columnOptions: any, rows: any[], columnIndex: number) => {\n let widest = 0\n\n // Include the header value without allocating a copied rows array or a\n // synthetic header row for every column.\n if (columnOptions && (columnOptions.value || columnOptions.alias)) {\n const value = columnOptions.alias || columnOptions.value\n widest = getDisplayWidth(value)\n }\n\n for (const row of rows) {\n if (row[columnIndex]) {\n // check cell value is object or scalar\n const value = (row[columnIndex].value) ? row[columnIndex].value : row[columnIndex]\n const width = getDisplayWidth(value)\n if (width > widest) widest = width\n }\n }\n\n return widest\n}\n\n/**\n * Get total width available to this table instance\n *\n *\n */\nconst getAvailableWidth = (config: any) => {\n if (process && ((process.stdout && process.stdout.columns) || (process.env && process.env.COLUMNS))) {\n // forked calls that do not inherit process.stdout must use process.env\n let viewport: any = (process.stdout && process.stdout.columns) ? process.stdout.columns : process.env.COLUMNS\n viewport = viewport - config.marginLeft\n\n // table width percentage of (viewport less margin)\n if (config.width !== \"auto\" && /^\\d+%$/.test(config.width)) {\n return Math.min(1, (config.width.slice(0, -1) * 0.01)) * viewport\n }\n\n // table width fixed\n if (config.width !== \"auto\" && /^\\d+$/.test(config.width)) {\n config.FIXED_WIDTH = true\n return config.width\n }\n\n // table width equals viewport less margin\n // @TODO deprecate and remove \"auto\", which was never documented so should not be\n // an issue\n return viewport\n }\n\n // browser\n /* istanbul ignore next */\n if (typeof (globalThis as any).window !== \"undefined\") return (globalThis as any).window.innerWidth\n\n // process.stdout.columns does not exist. assume redirecting to write stream\n // use 80 columns, which is VT200 standard\n return config.COLUMNS - config.marginLeft\n}\n\nexport const getStringLength = (str: string) => {\n // stripAnsi(string.replace(/[^\\x00-\\xff]/g,'XX')).length\n return displayWidth(str)\n}\n\nexport const wrapCellText = (\n config: any,\n cellValue: any,\n columnIndex: number,\n cellOptions: any,\n rowType: string\n) => {\n // ANSI chararacters that demarcate the start/end of a line\n const startAnsiRegexp = /^(\\x1b\\[[0-9;]*m)+/\n const endAnsiRegexp = /(\\x1b\\[[0-9;]*m)+$/\n\n // coerce cell value to string\n let str = cellValue.toString()\n\n // store matching ANSI characters\n const startMatches = str.match(startAnsiRegexp) || [\"\"]\n\n // remove ANSI start-of-line chars\n str = str.replace(startAnsiRegexp, \"\")\n\n // store matching ANSI characters so can be later re-attached\n const endMatches = str.match(endAnsiRegexp) || [\"\"]\n\n // remove ANSI end-of-line chars\n str = str.replace(endAnsiRegexp, \"\")\n\n let alignTgt: string\n\n switch (rowType) {\n case (\"header\"):\n alignTgt = \"headerAlign\"\n break\n case (\"body\"):\n alignTgt = \"align\"\n break\n default:\n alignTgt = \"footerAlign\"\n }\n\n // equalize padding for centered lines\n if (cellOptions[alignTgt] === \"center\") {\n cellOptions.paddingLeft = cellOptions.paddingRight = Math.max(\n cellOptions.paddingRight,\n cellOptions.paddingLeft,\n 0\n )\n }\n\n const columnWidth = config.table.columnWidths[columnIndex]\n\n // innerWidth is the width available for text within the cell\n const innerWidth = columnWidth\n - cellOptions.paddingLeft\n - cellOptions.paddingRight\n - config.GUTTER\n\n if (typeof config.truncate === \"string\") {\n str = truncate(str, cellOptions, innerWidth)\n } else {\n str = wrap(str, cellOptions, innerWidth)\n }\n\n // format each line\n const cell = str.split(\"\\n\").map((line: string) => {\n line = line.trim()\n\n const lineLength = getStringLength(line)\n\n // alignment\n if (lineLength < columnWidth) {\n let emptySpace = columnWidth - lineLength\n\n switch (true) {\n case (cellOptions[alignTgt] === \"center\"):\n emptySpace--\n const padBoth = Math.floor(emptySpace / 2)\n const padRemainder = emptySpace % 2\n line = \" \".repeat(padBoth)\n + line\n + \" \".repeat(padBoth + padRemainder)\n break\n\n case (cellOptions[alignTgt] === \"right\"):\n line = \" \".repeat(emptySpace - cellOptions.paddingRight - 1)\n + line\n + \" \".repeat(cellOptions.paddingRight)\n break\n\n default:\n line = \" \".repeat(cellOptions.paddingLeft)\n + line\n + \" \".repeat(emptySpace - cellOptions.paddingLeft - 1)\n }\n }\n\n // put ANSI color codes BACK on the beginning and end of string\n return startMatches[0] + line + endMatches[0]\n })\n\n return { cell, innerWidth }\n}\n\nexport const truncate = (str: string, cellOptions: any, maxWidth: number) => {\n const stringWidth = displayWidth(str)\n\n if (maxWidth < stringWidth) {\n // @TODO give user option to decide if they want to break words on wrapping\n str = smartwrap(str, {\n width: maxWidth - displayWidth(cellOptions.truncate),\n breakword: true\n }).split(\"\\n\")[0]!\n str = str + cellOptions.truncate\n }\n\n return str\n}\n\nexport const wrap = (str: string, cellOptions: any, innerWidth: number) => {\n const outstring = smartwrap(str, {\n errorChar: cellOptions.defaultErrorValue,\n minWidth: 1,\n trim: true,\n width: innerWidth\n })\n\n return outstring\n}\n\nexport const getColumnWidths = (config: any, rows: any[]) => {\n const availableWidth = getAvailableWidth(config)\n\n // iterate over the header if we have it, iterate over the first row\n // if we do not (to step through the correct number of columns)\n const iterable: any[] = (config.table.header[0] && config.table.header[0].length > 0)\n ? config.table.header[0] : rows[0]\n\n let widths: number[] = iterable.map((column: any, columnIndex: number) => {\n let result: number\n\n switch (true) {\n // column width is a percentage of table width specified in column header\n case (typeof column === \"object\" && (/^\\d+%$/.test(column.width))):\n result = (column.width.slice(0, -1) * 0.01) * availableWidth\n result = addPadding(config, result)\n break\n\n // column width is specified in column header\n case (typeof column === \"object\" && (/^\\d+$/.test(column.width))):\n result = column.width\n break\n\n // 'auto' sets column width to its longest value in the initial data set\n default: {\n const columnOptions = (config.table.header[0][columnIndex])\n ? config.table.header[0][columnIndex] : {}\n const measurableRows = (rows.length) ? rows : config.table.header[0]\n\n result = getMaxLength(columnOptions, measurableRows, columnIndex)\n\n // add spaces for padding if not centered\n // @TODO test with if not centered conditional\n result = addPadding(config, result)\n }\n }\n\n // add space for gutter\n result = result + config.GUTTER\n return result\n })\n\n // calculate sum of all column widths (including marginLeft)\n const totalWidth = widths.reduce((prev: number, current: number) => prev + current)\n\n // proportionately resize columns when necessary\n if (totalWidth > availableWidth || config.FIXED_WIDTH) {\n // proportion wont be exact fit, but this method keeps us safe\n const proportion = (availableWidth / totalWidth).toFixed(2) as unknown as number - 0.01\n const relativeWidths = widths.map((value: number) => Math.max(2, Math.floor(proportion * value)))\n if (config.FIXED_WIDTH) return relativeWidths\n\n // when proportion < 0 column cant be resized and totalWidth must overflow viewport\n if (proportion > 0) {\n const totalRelativeWidths = relativeWidths.reduce((prev: number, current: number) => prev + current)\n widths = (totalRelativeWidths < totalWidth) ? relativeWidths : widths\n }\n } else {\n widths = widths.map(Math.floor)\n }\n\n return widths\n}\n","import { colorizeCell, isColorEnabled, style, resetStyle } from \"./style\"\nimport { wrapCellText, getColumnWidths } from \"./format\"\nimport stripAnsi from \"strip-ansi\"\n\nexport const stringifyData = (config: any, inputData: any[]) => {\n const sections: any = { header: [], body: [], footer: [] }\n const marginLeft = \" \".repeat(config.marginLeft)\n const borderStyle = config.borderCharacters[config.borderStyle]\n const borders: any[] = []\n\n const constructorType = getConstructorGeometry(inputData[0] || [], config)\n const rows = coerceConstructorGeometry(config, inputData, constructorType)\n\n if (!(global as any).columnWidths) (global as any).columnWidths = {}\n\n if ((global as any).columnWidths[config.tableId]) {\n config.table.columnWidths = (global as any).columnWidths[config.tableId]\n } else {\n const formattedRows = rows.map((row: any[], rowIndex: number) => {\n return row.map((cell: any, cellIndex: number) => buildCell(config, cell, cellIndex, \"body\", rowIndex, rows, inputData, true))\n })\n ;(global as any).columnWidths[config.tableId] = config.table.columnWidths = getColumnWidths(config, formattedRows)\n }\n\n switch (true) {\n case (config.showHeader !== null && !config.showHeader):\n sections.header = []\n break\n case (config.showHeader === true):\n case (!!config.table.header[0].find((obj: any) => obj.value || obj.alias)):\n sections.header = config.table.header.map((row: any[]) => buildRow(config, row, \"header\", null, rows, inputData))\n break\n default:\n sections.header = []\n }\n\n sections.body = rows.map((row: any[], rowIndex: number) => buildRow(config, row, \"body\", rowIndex, rows, inputData))\n sections.footer = (config.table.footer instanceof Array && config.table.footer.length > 0) ? [config.table.footer] : []\n sections.footer = sections.footer.map((row: any[]) => buildRow(config, row, \"footer\", null, rows, inputData))\n\n for (let a = 0; a < 3; a++) {\n borders[a] = borderStyle[a].l\n config.table.columnWidths.forEach((columnWidth: number, index: number, arr: number[]) => {\n borders[a] += borderStyle[a].h.repeat(Math.max(columnWidth, 2) - 1)\n borders[a] += ((index + 1 < arr.length) ? borderStyle[a].j : \"\")\n })\n borders[a] += borderStyle[a].r\n borders[a] = (a < 2) ? `${marginLeft + borders[a]}\\n` : marginLeft + borders[a]\n }\n\n const output: string[] = [borders[0]]\n\n for (const [sectionIndex, sectionName] of Object.keys(sections).entries()) {\n const section = sections[sectionName]\n for (let rowIndex = 0; rowIndex < section.length; rowIndex++) {\n const row = section[rowIndex]\n row.forEach((line: string[]) => {\n output.push(marginLeft + borderStyle[1].v + line.join(borderStyle[1].v) + borderStyle[1].v + \"\\n\")\n })\n\n switch (true) {\n case (rowIndex === section.length - 1 && sectionIndex === 1 && sections.footer.length === 0):\n break\n case (rowIndex === section.length - 1 && sectionIndex === 2):\n break\n case (config.compact && sectionName === \"body\" && !row.empty):\n break\n case (config.borderStyle === \"none\" && config.compact):\n break\n default:\n output.push(borders[1])\n }\n }\n }\n\n output.push(borders[2])\n const finalOutput = \"\\n\".repeat(config.marginTop) + output.join(\"\")\n config.height = finalOutput.split(/\\r\\n|\\r|\\n/).length\n return finalOutput\n}\n\nexport const buildRow = (config: any, row: any[], rowType: string, rowIndex: number | null, rowData: any[], inputData: any[]) => {\n let minRowHeight = 0\n if (row.length === 0 && config.compact) {\n (row as any).empty = true\n return row\n }\n\n const lengthDifference = config.table.columnWidths.length - row.length\n if (lengthDifference > 0) row = row.concat(Array.apply(null, new Array(lengthDifference)).map(() => null))\n else if (lengthDifference < 0) row.length = config.table.columnWidths.length\n\n row = row.map((elem: any, elemIndex: number) => {\n const cell = buildCell(config, elem, elemIndex, rowType, rowIndex, rowData, inputData)\n minRowHeight = (minRowHeight < cell.length) ? cell.length : minRowHeight\n return cell\n })\n\n minRowHeight = (rowType === \"header\") ? minRowHeight : minRowHeight + (config.paddingBottom + config.paddingTop)\n const linedRow: any[] = Array.apply(null, { length: minRowHeight } as any).map(Function.call, () => [])\n\n row.forEach(function (cell: string[], a: number) {\n const whitespace = \" \".repeat(Math.max(config.table.columnWidths[a] - 1, 0))\n if (rowType === \"body\") {\n for (let i = 0; i < config.paddingTop; i++) cell.unshift(whitespace)\n for (let i = 0; i < config.paddingBottom; i++) cell.push(whitespace)\n }\n for (let i = 0; i < minRowHeight; i++) linedRow[i].push((typeof cell[i] !== \"undefined\") ? cell[i] : whitespace)\n })\n\n return linedRow\n}\n\nexport const buildCell = (config: any, elem: any, columnIndex: number, rowType: string, rowIndex: number | null, rowData: any[], inputData: any[], dryRun = false) => {\n let cellValue: any = null\n const cellOptions: any = Object.assign(\n { reset: false },\n config,\n (rowType !== \"header\") ? config.columnSettings[columnIndex] : {},\n (typeof elem === \"object\") ? elem : {}\n )\n\n if (rowType === \"header\") {\n config.table.columns.push(cellOptions)\n cellValue = cellOptions.alias || cellOptions.value || \"\"\n } else {\n switch (true) {\n case (typeof elem === \"undefined\" || elem === null):\n cellValue = (config.errorOnNull) ? config.defaultErrorValue : config.defaultValue\n if (!isColorEnabled()) cellValue = stripAnsi(cellValue)\n cellOptions.isNull = true\n break\n case (typeof elem === \"object\" && elem !== null && typeof elem.value !== \"undefined\"):\n cellValue = elem.value\n break\n case (typeof elem === \"function\"):\n cellValue = (elem as Function).bind({\n configure: function (object: any) { return Object.assign(cellOptions, object) },\n style: style,\n resetStyle: resetStyle\n })(cellValue, columnIndex, rowIndex, rowData, inputData)\n break\n default:\n cellValue = elem\n }\n\n if (rowType === \"body\" && typeof cellOptions.formatter === \"function\") {\n cellValue = cellOptions.formatter.bind({\n configure: function (object: any) { return Object.assign(cellOptions, object) },\n style: style,\n resetStyle: resetStyle\n })(cellValue, columnIndex, rowIndex, rowData, inputData)\n }\n\n if (dryRun) return cellValue\n }\n\n if (!cellOptions.reset) cellValue = colorizeCell(cellValue, cellOptions, rowType)\n const { cell, innerWidth } = wrapCellText(cellOptions, cellValue, columnIndex, cellOptions, rowType)\n if (rowType === \"header\") config.table.columnInnerWidths.push(innerWidth)\n return cell\n}\n\nexport const getConstructorGeometry = (row: any, config: any) => {\n let type: string\n if (typeof row === \"object\" && !(row instanceof Array)) {\n const keys = Object.keys(row)\n if (config.adapter === \"automattic\") {\n const key = keys[0]!\n type = row[key] instanceof Array ? \"automattic-cross\" : \"automattic-vertical\"\n } else type = \"o-horizontal\"\n } else type = \"a-horizontal\"\n return type\n}\n\nexport const coerceConstructorGeometry = (config: any, rows: any[], constructorType: string) => {\n let output: any[] = []\n switch (constructorType) {\n case \"automattic-cross\":\n config.columnSettings[0] = config.columnSettings[0] || {}\n config.columnSettings[0].color = config.headerColor\n output = rows.map((obj: any) => {\n const key = Object.keys(obj)[0]!\n return [key].concat(obj[key])\n })\n break\n case \"automattic-vertical\":\n config.columnSettings[0] = config.columnSettings[0] || {}\n config.columnSettings[0].color = config.headerColor\n output = rows.map((value: any) => {\n const key = Object.keys(value)[0]!\n return [key, value[key]]\n })\n break\n case \"o-horizontal\":\n if (config.table.header[0].length && config.table.header[0].every((obj: any) => obj.value)) {\n output = rows.map((row: any) => config.table.header[0].map((obj: any) => row[obj.value]))\n } else output = rows.map((obj: any) => Object.values(obj))\n break\n case \"a-horizontal\":\n output = rows\n break\n }\n return output\n}\n","import defaults from \"./defaults\"\nimport { stringifyData } from \"./render\"\nimport { resetStyle, style, styleEachChar } from \"./style\"\n\nlet counter = 0\n\nexport interface Formatter {\n (cellValue: any, columnIndex: number, rowIndex: number, rowData: any, inputData: any): string\n}\n\nexport interface Header {\n alias?: string\n align?: string\n color?: string\n footerAlign?: string\n footerColor?: string\n formatter?: Formatter\n headerAlign?: string\n headerColor?: string\n marginLeft?: number\n marginTop?: number\n paddingBottom?: number\n paddingLeft?: number\n paddingRight?: number\n paddingTop?: number\n value: string\n width?: string | number\n}\n\nexport interface Options {\n borderStyle?: string\n borderColor?: string\n color?: string\n compact?: boolean\n defaultErrorValue?: string\n defaultValue?: string\n errorOnNull?: boolean\n truncate?: string | boolean\n width?: string | number\n footerColor?: string\n [key: string]: unknown\n}\n\nexport interface Table extends Array<any> {\n render(): string\n height?: number\n [key: string]: any\n}\n\nconst Factory = function (paramsArr: any[]): any {\n const _configKey = (Symbol as any).config // legacy quirk: evaluates to undefined; kept for behavior parity\n let header: any = []\n const body: any[] = []\n let footer: any = []\n let options: any = {}\n\n // handle different parameter scenarios\n switch (true) {\n // header, rows, footer, and options\n case (paramsArr.length === 4):\n header = paramsArr[0]\n body.push(...paramsArr[1]) // creates new array to store our rows (body)\n footer = paramsArr[2]\n options = paramsArr[3]\n break\n\n // header, rows, footer\n case (paramsArr.length === 3 && paramsArr[2] instanceof Array):\n header = paramsArr[0]\n body.push(...paramsArr[1]) // creates new array to store our rows\n footer = paramsArr[2]\n break\n\n // header, rows, options\n case (paramsArr.length === 3 && typeof paramsArr[2] === \"object\"):\n header = paramsArr[0]\n body.push(...paramsArr[1]) // creates new array to store our rows\n options = paramsArr[2]\n break\n\n // header, rows (rows, footer is not an option)\n case (paramsArr.length === 2 && paramsArr[1] instanceof Array):\n header = paramsArr[0]\n body.push(...paramsArr[1]) // creates new array to store our rows\n break\n\n // rows, options\n case (paramsArr.length === 2 && typeof paramsArr[1] === \"object\"):\n body.push(...paramsArr[0]) // creates new array to store our rows\n options = paramsArr[1]\n break\n\n // rows\n case (paramsArr.length === 1 && paramsArr[0] instanceof Array):\n body.push(...paramsArr[0])\n break\n\n // adapter called: i.e. `require('tty-table')('automattic-cli-table')`\n case (paramsArr.length === 1 && typeof paramsArr[0] === \"string\"): {\n // known adapters are mapped statically so bundlers leave them external;\n // a dynamic require(`../adapters/${name}`) fallback would make esbuild\n // eagerly bundle every adapters/* file (candidate scanning), which then\n // fails on their ../dist/index.js requires at build time\n const adapters: Record<string, () => any> = {\n \"automattic-cli-table\": () => require(\"../adapters/automattic-cli-table.js\"),\n \"default-adapter\": () => require(\"../adapters/default-adapter.js\"),\n \"terminal-adapter\": () => require(\"../adapters/terminal-adapter.js\")\n }\n const load = adapters[paramsArr[0]]\n if (!load) throw new Error(`Unknown adapter: \"${paramsArr[0]}\". Available adapters: ${Object.keys(adapters).join(\", \")}`)\n return load()\n }\n\n /* istanbul ignore next */\n default:\n console.log(\"Error: Bad params. \\nSee docs at github.com/tecfu/tty-table\")\n process.exit()\n }\n\n // for \"deep\" copy, use JSON.parse\n const cloneddefaults = JSON.parse(JSON.stringify(defaults))\n const config: any = Object.assign({}, cloneddefaults, options)\n\n // backfixes for shortened option names\n config.align = config.alignment || config.align\n config.headerAlign = config.headerAlignment || config.headerAlign\n\n // for truncate true is equivalent to empty string\n if (config.truncate === true) config.truncate = \"\"\n\n // if borderColor customized, color the border character set\n if (config.borderColor) {\n config.borderCharacters[config.borderStyle]\n = config.borderCharacters[config.borderStyle].map(function (obj: any) {\n Object.keys(obj).forEach(function (key) {\n obj[key] = style(obj[key], config.borderColor)\n })\n return obj\n })\n }\n\n // save a copy for merging columnSettings into cell options\n config.columnSettings = header.slice(0)\n\n // header\n config.table.header = header\n\n // match header geometry with body array\n config.table.header = [config.table.header]\n\n // footer\n config.table.footer = footer\n\n // counting table enables fixed column widths for streams,\n // variable widths for multiple tables simulateously\n if (config.terminalAdapter !== true) {\n counter++ // fix columnwidths for streams\n }\n config.tableId = counter\n\n // create a new object with an Array prototype\n const tableObject: any = Object.create(body)\n\n // save configuration to new object\n tableObject[_configKey] = config\n\n /**\n * Add method to render table to a string\n * @returns {String}\n * @memberof Table\n * @example\n * ```js\n * let str = t1.render();\n * console.log(str); //outputs table\n * ```\n */\n tableObject.render = function (this: any) {\n const output = stringifyData(this[_configKey], this.slice(0)) // get string output\n tableObject.height = this[_configKey].height\n return output\n }\n\n return tableObject\n}\n\ninterface TtyTableFactory {\n (headers: (string | Header | Formatter)[], body: unknown[], footers: (string | Header | Formatter)[], config?: Options): Table\n (header: (string | Header | Formatter)[], body: unknown[], config?: Options): Table\n (body: unknown[], config?: Options): Table\n resetStyle(str: string): string\n style(str: string, ...colors: string[]): string\n}\n\nconst Table = function (...params: any[]) {\n return Factory(params)\n} as unknown as TtyTableFactory\n\nTable.resetStyle = resetStyle\nTable.style = styleEachChar\n\nexport default Table\n","import Factory from \"./factory\"\n\nexport type * from \"./types\"\nexport type { Header, Options, Table, Formatter } from \"./factory\"\n\nexport default Factory\n"],"mappings":"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ACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,MAAQ,IAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,QACf,CAAC,OAAQ,KAAM;AAAA,Q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","names":["wrap","style","style","chalk","styles","chalk","style","breakword","chalk","stripAnsi","import_strip_ansi","breakword","defaults","stripAnsi","import_breakword","stripAnsi","breakword","displayWidth","displayWidth","wrap","import_strip_ansi","stripAnsi"]}
package/dist/browser.js CHANGED
@@ -291,24 +291,18 @@ var defaults_default = defaults;
291
291
 
292
292
  // src/style.ts
293
293
  var import_chalk = __toESM(require("chalk"));
294
- var import_kleur = __toESM(require("kleur"));
295
294
  var import_strip_ansi = __toESM(require("strip-ansi"));
296
- var colorLib = process && process.stdout ? import_chalk.default : import_kleur.default;
297
- var style = (str, ...colors) => {
298
- const out = colors.reduce(function(input, color) {
299
- return colorLib[color](input);
300
- }, str);
301
- return out;
295
+ var colorLib = typeof process !== "undefined" && process.stdout ? import_chalk.default : new import_chalk.default.Instance({ level: 1 });
296
+ var colorize = (value, color) => {
297
+ const fn = colorLib[color];
298
+ return typeof fn === "function" ? fn(value) : value;
302
299
  };
300
+ var style = (str, ...colors) => colors.reduce(colorize, str);
303
301
  var styleEachChar = (str, ...colors) => {
304
302
  const chars = [...(0, import_strip_ansi.default)(str)];
305
- const out = chars.reduce((prev, current) => {
306
- const coded = colors.reduce((input, color) => {
307
- return colorLib[color](input);
308
- }, current);
309
- return prev + coded;
303
+ return chars.reduce((result, char) => {
304
+ return result + colors.reduce(colorize, char);
310
305
  }, "");
311
- return out;
312
306
  };
313
307
  var resetStyle = function(str) {
314
308
  this.configure({ reset: true });
@@ -331,9 +325,7 @@ var colorizeCell = (str, cellOptions, rowType) => {
331
325
  }
332
326
  return str;
333
327
  };
334
- var isColorEnabled = () => {
335
- return process && process.stdout ? colorLib.level > 0 : colorLib.enabled;
336
- };
328
+ var isColorEnabled = () => colorLib.level > 0;
337
329
 
338
330
  // src/format.ts
339
331
  var import_smartwrap = __toESM(require("smartwrap"));