UNPKG

@jsprismarine/color-parser

Version:
21 lines (20 loc) 2.19 kB
import { toConsole } from "./Colors.es.js"; //#region src/Parser.ts /** * Parses a string with color codes. * @param {string} input - String to parse. * @param {string} [prefix='§'] - The prefix to use for color codes. * @param {boolean} [clearAtEnd=false] - Whether to clear the color at the end of the string. * @returns {string} The parsed string. * @example * ```typescript * const res = Parser('§cHello §eworld§r!'); * console.log(res); // 'Hello world!' * ``` */ var Parser = (input, prefix = "§", clearAtEnd = true) => `${input.replaceAll(new RegExp(`\\${prefix}[\\dabcdefklmnor]`, "gm"), (v) => { return toConsole[v.slice(1)]; })}${clearAtEnd && toConsole.r || ""}`; //#endregion export { Parser as default }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFyc2VyLmVzLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9QYXJzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29sb3JzIGZyb20gJy4vQ29sb3JzJztcblxuLyoqXG4gKiBQYXJzZXMgYSBzdHJpbmcgd2l0aCBjb2xvciBjb2Rlcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dCAtIFN0cmluZyB0byBwYXJzZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbcHJlZml4PSfCpyddIC0gVGhlIHByZWZpeCB0byB1c2UgZm9yIGNvbG9yIGNvZGVzLlxuICogQHBhcmFtIHtib29sZWFufSBbY2xlYXJBdEVuZD1mYWxzZV0gLSBXaGV0aGVyIHRvIGNsZWFyIHRoZSBjb2xvciBhdCB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcGFyc2VkIHN0cmluZy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCByZXMgPSBQYXJzZXIoJ8KnY0hlbGxvIMKnZXdvcmxkwqdyIScpO1xuICogY29uc29sZS5sb2cocmVzKTsgLy8gJ0hlbGxvIHdvcmxkISdcbiAqIGBgYFxuICovXG5jb25zdCBQYXJzZXIgPSAoaW5wdXQ6IHN0cmluZywgcHJlZml4ID0gJ8KnJywgY2xlYXJBdEVuZCA9IHRydWUpID0+XG4gICAgYCR7aW5wdXQucmVwbGFjZUFsbChuZXcgUmVnRXhwKGBcXFxcJHtwcmVmaXh9W1xcXFxkYWJjZGVma2xtbm9yXWAsICdnbScpLCAodikgPT4ge1xuICAgICAgICByZXR1cm4gY29sb3JzLnRvQ29uc29sZVt2LnNsaWNlKDEpXSBhcyBzdHJpbmc7XG4gICAgfSl9JHsoY2xlYXJBdEVuZCAmJiBjb2xvcnMudG9Db25zb2xlLnIpIHx8ICcnfWA7XG5cbmV4cG9ydCBkZWZhdWx0IFBhcnNlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFjQSxJQUFNLFVBQVUsT0FBZSxTQUFTLEtBQUssYUFBYSxTQUN0RCxHQUFHLE1BQU0sV0FBVyxJQUFJLE9BQU8sS0FBSyxPQUFPLG9CQUFvQixJQUFJLElBQUksTUFBTTtDQUN6RSxPQUFPLFVBQWlCLEVBQUUsTUFBTSxDQUFDO0FBQ3JDLENBQUMsSUFBSyxjQUFBLFVBQStCLEtBQU0ifQ==