hudada-cli
Version:
专为程序员准备的本地文档搜索,快捷开发工具
3 lines (2 loc) • 1.22 kB
JavaScript
import o from"chalk";function e(e){if(0===e.length)return console.log(o.yellow("请提供颜色值,例如:")),console.log(o.blue("my color #ff0000")),void console.log(o.blue("my color rgb(255,0,0)"));const r=e.join(" ").trim();if(r.startsWith("#")){const e=r.replace("#","");if(!/^[0-9A-Fa-f]{6}$/.test(e))return void console.log(o.red("无效的 HEX 颜色格式,应为 #RRGGBB"));const s=parseInt(e.slice(0,2),16),l=parseInt(e.slice(2,4),16),n=parseInt(e.slice(4,6),16);console.log(o.green("HEX:"),o.hex(r)(r)),console.log(o.green("RGB:"),o.rgb(s,l,n)(`rgb(${s}, ${l}, ${n})`))}else if(r.startsWith("rgb")){const e=r.match(/rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i);if(!e)return void console.log(o.red("无效的 RGB 颜色格式,应为 rgb(r,g,b)"));const[s,l,n,t]=e.map(Number);if(l>255||n>255||t>255||l<0||n<0||t<0)return void console.log(o.red("RGB 值应在 0-255 范围内"));const g="#"+[l,n,t].map((o=>o.toString(16).padStart(2,"0"))).join("").toUpperCase();console.log(o.green("RGB:"),o.rgb(l,n,t)(r)),console.log(o.green("HEX:"),o.hex(g)(g))}else console.log(o.red("不支持的颜色格式,请使用 HEX (#RRGGBB) 或 RGB (rgb(r,g,b))"))}export{e as handleColor};