{"version":3,"file":"api.mjs","sources":["../helpers/fs.ts","../log/helpers/output.ts","../node_modules/@kristoferbaxter/kleur/index.mjs","../log/helpers/error.ts","../validation/Project.ts","../validation/Condition.ts","../node_modules/@kristoferbaxter/bytes/index.mjs","../validation/File.ts","../validation/Track.ts","../helpers/object.ts","../validation/Config.ts","../compressor.ts","../node_modules/@kristoferbaxter/async/dist/pool.mjs","../compress.ts","../log/report.ts","../log/helpers/icons.ts","../log/helpers/bytes.ts","../log/helpers/format.ts","../log/helpers/path.ts","../log/cli-report.ts","../log/no-tty-report.ts","../api.ts"],"sourcesContent":[null,null,"const { FORCE_COLOR, NODE_DISABLE_COLORS, TERM } = process.env;\n\nfunction run(arr, str) {\n\tlet i = 0,\n\t\ttmp,\n\t\tbeg = '',\n\t\tend = '';\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.includes(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\tthis.has.includes(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\nconst $ = {\n\tenabled: !NODE_DISABLE_COLORS && TERM !== 'dumb' && FORCE_COLOR !== '0',\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\nexport { $ as default };\n",null,null,null,"/*!\n * bytes\n * Copyright(c) 2012-2014 TJ Holowaychuk\n * Copyright(c) 2015 Jed Watson\n * Copyright(c) 2021 Kristofer Baxter\n * MIT Licensed\n */\n\n/**\n * Module variables.\n * @private\n */\nconst formatThousandsRegExp = /\\B(?=(\\d{3})+(?!\\d))/g;\nconst formatDecimalsRegExp = /(?:\\.0*|(\\.[^0]+)0+)$/;\nconst map = {\n  b: 1,\n  kb: 1 << 10,\n  mb: 1 << 20,\n  gb: 1 << 30,\n  tb: Math.pow(1024, 4),\n  pb: Math.pow(1024, 5),\n};\nconst parseRegExp = /^((-|\\+)?(\\d+(?:\\.\\d+)?)) *(kb|mb|gb|tb|pb)$/i;\n\n/**\n * Convert the given value in bytes into a string or parse to string to an integer in bytes.\n *\n * @param {string|number} value\n * @param {{\n *  case: [string],\n *  decimalPlaces: [number]\n *  fixedDecimals: [boolean]\n *  thousandsSeparator: [string]\n *  unitSeparator: [string]\n *  }} [options] bytes options.\n *\n * @returns {string|number|null}\n */\nexport default function bytes(value, options) {\n  if (typeof value === \"string\") {\n    return parse(value);\n  }\n\n  if (typeof value === \"number\") {\n    return format(value, options);\n  }\n\n  return null;\n}\n\n/**\n * Format the given value in bytes into a string.\n *\n * If the value is negative, it is kept as such. If it is a float,\n * it is rounded.\n *\n * @param {number} value\n * @param {object} [options]\n * @param {number} [options.decimalPlaces=2]\n * @param {number} [options.fixedDecimals=false]\n * @param {string} [options.thousandsSeparator=]\n * @param {string} [options.unit=]\n * @param {string} [options.unitSeparator=]\n *\n * @returns {string|null}\n * @public\n */\n\nexport function format(value, options) {\n  if (!Number.isFinite(value)) {\n    return null;\n  }\n\n  const mag = Math.abs(value);\n  const thousandsSeparator = (options && options.thousandsSeparator) || \"\";\n  const unitSeparator = (options && options.unitSeparator) || \"\";\n  const decimalPlaces =\n    options && options.decimalPlaces !== undefined ? options.decimalPlaces : 2;\n  const fixedDecimals = Boolean(options && options.fixedDecimals);\n  const unit = (options && options.unit) || \"\";\n\n  if (!unit || !map[unit.toLowerCase()]) {\n    if (mag >= map.pb) {\n      unit = \"PB\";\n    } else if (mag >= map.tb) {\n      unit = \"TB\";\n    } else if (mag >= map.gb) {\n      unit = \"GB\";\n    } else if (mag >= map.mb) {\n      unit = \"MB\";\n    } else if (mag >= map.kb) {\n      unit = \"KB\";\n    } else {\n      unit = \"B\";\n    }\n  }\n\n  const val = value / map[unit.toLowerCase()];\n  let str = val.toFixed(decimalPlaces);\n\n  if (!fixedDecimals) {\n    str = str.replace(formatDecimalsRegExp, \"$1\");\n  }\n  if (thousandsSeparator) {\n    str = str.replace(formatThousandsRegExp, thousandsSeparator);\n  }\n\n  return str + unitSeparator + unit;\n}\n\n/**\n * Parse the string value into an integer in bytes.\n *\n * If no unit is given, it is assumed the value is in bytes.\n *\n * @param {number|string} val\n *\n * @returns {number|null}\n * @public\n */\n\nexport function parse(val) {\n  if (typeof val === \"number\" && !isNaN(val)) {\n    return val;\n  }\n\n  if (typeof val !== \"string\") {\n    return null;\n  }\n\n  // Test if the string passed is valid\n  const results = parseRegExp.exec(val);\n  let floatValue;\n  let unit = \"b\";\n\n  if (!results) {\n    // Nothing could be extracted from the given string\n    floatValue = parseInt(val, 10);\n  } else {\n    // Retrieve the value and the unit\n    floatValue = parseFloat(results[1]);\n    unit = results[4].toLowerCase();\n  }\n\n  return Math.floor(map[unit] * floatValue);\n}\n",null,null,null,null,null,"import { cpus } from 'os';\nconst resolved = Promise.resolve();\nexport async function pool(items, iteratorFn, concurrency = cpus().length) {\n    const itemsLength = items.length;\n    const returnable = [];\n    const executing = [];\n    for (const item of items) {\n        const promise = resolved.then(() => iteratorFn(item, items));\n        returnable.push(promise);\n        if (concurrency <= itemsLength) {\n            const execute = promise.then(() => executing.splice(executing.indexOf(execute), 1));\n            executing.push(execute);\n            if (executing.length >= concurrency) {\n                await Promise.race(executing);\n            }\n        }\n    }\n    return Promise.all(returnable);\n}\n",null,null,null,null,null,null,null,null,null],"names":["fs","kleur","ValidateFileConfig","brotliConstants","path.extname"],"mappings":"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"}