| 24 | |
| 25 | //Info logger |
| 26 | const info = (left, right, {token = false} = {}) => |
| 27 | console.log(`${`${left}`.padEnd(63 + 9 * (/0m$/.test(left)))} │ ${ |
| 28 | Array.isArray(right) |
| 29 | ? right.join(", ") || "(none)" |
| 30 | : right === undefined |
| 31 | ? "(default)" |
| 32 | : token |
| 33 | ? /^MOCKED/.test(right) ? "(MOCKED TOKEN)" : /^NOT_NEEDED$/.test(right) ? "(NOT NEEDED)" : (right ? "(provided)" : "(missing)") |
| 34 | : typeof right === "object" |
| 35 | ? JSON.stringify(right) |
| 36 | : right |
| 37 | }`) |
| 38 | info.section = (left = "", right = " ") => info(`\x1b[36m${left}\x1b[0m`, right) |
| 39 | info.group = ({metadata, name, inputs}) => { |
| 40 | info.section(metadata.plugins[name]?.name?.match(/(?<section>[\w\s]+)/i)?.groups?.section?.trim(), " ") |