@sapphire/plugin-logger
Version:
Plugin for @sapphire/framework to have pretty console output
1 lines • 6.08 kB
Source Map (JSON)
{"version":3,"sources":["../../../src/lib/LoggerStyle.ts"],"names":["Colorette","LoggerStyleEffect","LoggerStyleText","LoggerStyleBackground"],"mappings":"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","file":"LoggerStyle.cjs","sourcesContent":["import * as Colorette from 'colorette';\n\n/**\n * Logger utility that applies a style to a string.\n * @since 1.0.0\n */\nexport class LoggerStyle {\n\tpublic readonly style: Colorette.Color;\n\n\tpublic constructor(resolvable: LoggerStyleResolvable = {}) {\n\t\tif (typeof resolvable === 'function') {\n\t\t\tthis.style = resolvable;\n\t\t} else {\n\t\t\tconst styles: Colorette.Color[] = [];\n\t\t\tif (resolvable.effects) styles.push(...resolvable.effects.map((text) => Colorette[text]));\n\t\t\tif (resolvable.text) styles.push(Colorette[resolvable.text]);\n\t\t\tif (resolvable.background) styles.push(Colorette[resolvable.background]);\n\n\t\t\tthis.style = styles.length\n\t\t\t\t? styles.length === 1\n\t\t\t\t\t? styles[0]\n\t\t\t\t\t: (string) => styles.reduce((out, style) => style(out), string) as string\n\t\t\t\t: Colorette.reset;\n\t\t}\n\t}\n\n\t/**\n\t * Applies the style to a string.\n\t * @since 1.0.0\n\t * @param string The value to apply the style to.\n\t */\n\tpublic run(string: string | number) {\n\t\treturn this.style(string);\n\t}\n}\n\n/**\n * The options for {@link LoggerStyle}.\n * @since 1.0.0\n */\nexport interface LoggerStyleOptions {\n\t/**\n\t * The text effects, e.g. `italic`, `strikethrough`, etc.\n\t * @since 1.0.0\n\t */\n\teffects?: LoggerStyleEffect[];\n\n\t/**\n\t * The text color, e.g. `red` or `yellow`.\n\t * @since 1.0.0\n\t */\n\ttext?: LoggerStyleText;\n\n\t/**\n\t * The background color, e.g. `magenta` or `red`.\n\t * @since 1.0.0\n\t */\n\tbackground?: LoggerStyleBackground;\n}\n\n/**\n * The value accepted by {@link LoggerStyle}'s constructor. Read `colorette`'s documentation for more information.\n * @since 1.0.0\n * @seealso https://www.npmjs.com/package/colorette\n */\nexport type LoggerStyleResolvable = Colorette.Color | LoggerStyleOptions;\n\n/**\n * The text styles.\n * @since 1.0.0\n */\nexport enum LoggerStyleEffect {\n\tReset = 'reset',\n\tBold = 'bold',\n\tDim = 'dim',\n\tItalic = 'italic',\n\tUnderline = 'underline',\n\tInverse = 'inverse',\n\tHidden = 'hidden',\n\tStrikethrough = 'strikethrough'\n}\n\n/**\n * The text colors.\n * @since 1.0.0\n */\nexport enum LoggerStyleText {\n\tBlack = 'black',\n\tRed = 'red',\n\tGreen = 'green',\n\tYellow = 'yellow',\n\tBlue = 'blue',\n\tMagenta = 'magenta',\n\tCyan = 'cyan',\n\tWhite = 'white',\n\tGray = 'gray',\n\tBlackBright = 'blackBright',\n\tRedBright = 'redBright',\n\tGreenBright = 'greenBright',\n\tYellowBright = 'yellowBright',\n\tBlueBright = 'blueBright',\n\tMagentaBright = 'magentaBright',\n\tCyanBright = 'cyanBright',\n\tWhiteBright = 'whiteBright'\n}\n\n/**\n * The background colors.\n * @since 1.0.0\n */\nexport enum LoggerStyleBackground {\n\tBlack = 'bgBlack',\n\tRed = 'bgRed',\n\tGreen = 'bgGreen',\n\tYellow = 'bgYellow',\n\tBlue = 'bgBlue',\n\tMagenta = 'bgMagenta',\n\tCyan = 'bgCyan',\n\tWhite = 'bgWhite',\n\tBlackBright = 'bgBlackBright',\n\tRedBright = 'bgRedBright',\n\tGreenBright = 'bgGreenBright',\n\tYellowBright = 'bgYellowBright',\n\tBlueBright = 'bgBlueBright',\n\tMagentaBright = 'bgMagentaBright',\n\tCyanBright = 'bgCyanBright',\n\tWhiteBright = 'bgWhiteBright'\n}\n"]}