@jsprismarine/color-parser
Version:
Parse minecraft color codes
26 lines (25 loc) • 2.37 kB
JavaScript
;
Object.defineProperties(exports, {
__esModule: { value: true },
[Symbol.toStringTag]: { value: "Module" }
});
const require_Colors = require("./Colors.cjs.cjs");
//#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 require_Colors.toConsole[v.slice(1)];
})}${clearAtEnd && require_Colors.toConsole.r || ""}`;
//#endregion
exports.default = Parser;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFyc2VyLmNqcy5janMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL1BhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb2xvcnMgZnJvbSAnLi9Db2xvcnMnO1xuXG4vKipcbiAqIFBhcnNlcyBhIHN0cmluZyB3aXRoIGNvbG9yIGNvZGVzLlxuICogQHBhcmFtIHtzdHJpbmd9IGlucHV0IC0gU3RyaW5nIHRvIHBhcnNlLlxuICogQHBhcmFtIHtzdHJpbmd9IFtwcmVmaXg9J8KnJ10gLSBUaGUgcHJlZml4IHRvIHVzZSBmb3IgY29sb3IgY29kZXMuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtjbGVhckF0RW5kPWZhbHNlXSAtIFdoZXRoZXIgdG8gY2xlYXIgdGhlIGNvbG9yIGF0IHRoZSBlbmQgb2YgdGhlIHN0cmluZy5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBwYXJzZWQgc3RyaW5nLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlcyA9IFBhcnNlcignwqdjSGVsbG8gwqdld29ybGTCp3IhJyk7XG4gKiBjb25zb2xlLmxvZyhyZXMpOyAvLyAnSGVsbG8gd29ybGQhJ1xuICogYGBgXG4gKi9cbmNvbnN0IFBhcnNlciA9IChpbnB1dDogc3RyaW5nLCBwcmVmaXggPSAnwqcnLCBjbGVhckF0RW5kID0gdHJ1ZSkgPT5cbiAgICBgJHtpbnB1dC5yZXBsYWNlQWxsKG5ldyBSZWdFeHAoYFxcXFwke3ByZWZpeH1bXFxcXGRhYmNkZWZrbG1ub3JdYCwgJ2dtJyksICh2KSA9PiB7XG4gICAgICAgIHJldHVybiBjb2xvcnMudG9Db25zb2xlW3Yuc2xpY2UoMSldIGFzIHN0cmluZztcbiAgICB9KX0keyhjbGVhckF0RW5kICYmIGNvbG9ycy50b0NvbnNvbGUucikgfHwgJyd9YDtcblxuZXhwb3J0IGRlZmF1bHQgUGFyc2VyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBY0EsSUFBTSxVQUFVLE9BQWUsU0FBUyxLQUFLLGFBQWEsU0FDdEQsR0FBRyxNQUFNLFdBQVcsSUFBSSxPQUFPLEtBQUssT0FBTyxvQkFBb0IsSUFBSSxJQUFJLE1BQU07Q0FDekUsT0FBQSxlQUFBLFVBQXdCLEVBQUUsTUFBTSxDQUFDO0FBQ3JDLENBQUMsSUFBSyxjQUFBLGVBQUEsVUFBK0IsS0FBTSJ9