From 01fef665692f3055458dc918da79bdd38afc36c8 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 9 Sep 2020 13:51:07 +0200 Subject: [PATCH] fix: add missing `create` method to TypeScript definitions --- types/index.d.ts | 169 ++++++++++++++++++++++++----------------------- types/test.ts | 2 + 2 files changed, 90 insertions(+), 81 deletions(-) diff --git a/types/index.d.ts b/types/index.d.ts index 933b141..ca52c52 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -90,9 +90,6 @@ interface StyleArrayProperties { type StyleType = StyleArrayStructure & StyleArrayProperties; -export interface StyleFunction extends StylesType { - (s: string): string; -} interface StylesType { // modifiers @@ -148,81 +145,91 @@ interface StylesType { bgWhiteBright: T; } -// modifiers -export const reset: StyleFunction; -export const bold: StyleFunction; -export const dim: StyleFunction; -export const italic: StyleFunction; -export const underline: StyleFunction; -export const inverse: StyleFunction; -export const hidden: StyleFunction; -export const strikethrough: StyleFunction; - -// colors -export const black: StyleFunction; -export const red: StyleFunction; -export const green: StyleFunction; -export const yellow: StyleFunction; -export const blue: StyleFunction; -export const magenta: StyleFunction; -export const cyan: StyleFunction; -export const white: StyleFunction; -export const gray: StyleFunction; -export const grey: StyleFunction; - -// bright colors -export const blackBright: StyleFunction; -export const redBright: StyleFunction; -export const greenBright: StyleFunction; -export const yellowBright: StyleFunction; -export const blueBright: StyleFunction; -export const magentaBright: StyleFunction; -export const cyanBright: StyleFunction; -export const whiteBright: StyleFunction; - -// background colors -export const bgBlack: StyleFunction; -export const bgRed: StyleFunction; -export const bgGreen: StyleFunction; -export const bgYellow: StyleFunction; -export const bgBlue: StyleFunction; -export const bgMagenta: StyleFunction; -export const bgCyan: StyleFunction; -export const bgWhite: StyleFunction; - -// bright background colors -export const bgBlackBright: StyleFunction; -export const bgRedBright: StyleFunction; -export const bgGreenBright: StyleFunction; -export const bgYellowBright: StyleFunction; -export const bgBlueBright: StyleFunction; -export const bgMagentaBright: StyleFunction; -export const bgCyanBright: StyleFunction; -export const bgWhiteBright: StyleFunction; - -export let enabled: boolean; -export let visible: boolean; -export const ansiRegex: RegExp; - -/** - * Remove styles from string - */ -export function stripColor(s: string): string; - -/** - * Remove styles from string - */ -export function strip(s: string): string; - -/** - * Remove styles from string - */ -export function unstyle(s: string): string; - -export const styles: StylesType; -export const symbols: SymbolsType; - -/** - * Outputs a string with check-symbol as prefix - */ -export function ok(...args: string[]): string; +declare namespace ansiColors { + interface StyleFunction extends StylesType { + (s: string): string; + } + + // modifiers + const reset: StyleFunction; + const bold: StyleFunction; + const dim: StyleFunction; + const italic: StyleFunction; + const underline: StyleFunction; + const inverse: StyleFunction; + const hidden: StyleFunction; + const strikethrough: StyleFunction; + + // colors + const black: StyleFunction; + const red: StyleFunction; + const green: StyleFunction; + const yellow: StyleFunction; + const blue: StyleFunction; + const magenta: StyleFunction; + const cyan: StyleFunction; + const white: StyleFunction; + const gray: StyleFunction; + const grey: StyleFunction; + + // bright colors + const blackBright: StyleFunction; + const redBright: StyleFunction; + const greenBright: StyleFunction; + const yellowBright: StyleFunction; + const blueBright: StyleFunction; + const magentaBright: StyleFunction; + const cyanBright: StyleFunction; + const whiteBright: StyleFunction; + + // background colors + const bgBlack: StyleFunction; + const bgRed: StyleFunction; + const bgGreen: StyleFunction; + const bgYellow: StyleFunction; + const bgBlue: StyleFunction; + const bgMagenta: StyleFunction; + const bgCyan: StyleFunction; + const bgWhite: StyleFunction; + + // bright background colors + const bgBlackBright: StyleFunction; + const bgRedBright: StyleFunction; + const bgGreenBright: StyleFunction; + const bgYellowBright: StyleFunction; + const bgBlueBright: StyleFunction; + const bgMagentaBright: StyleFunction; + const bgCyanBright: StyleFunction; + const bgWhiteBright: StyleFunction; + + let enabled: boolean; + let visible: boolean; + const ansiRegex: RegExp; + + /** + * Remove styles from string + */ + function stripColor(s: string): string; + + /** + * Remove styles from string + */ + function strip(s: string): string; + + /** + * Remove styles from string + */ + function unstyle(s: string): string; + + const styles: StylesType; + const symbols: SymbolsType; + + /** + * Outputs a string with check-symbol as prefix + */ + function ok(...args: string[]): string; + + function create(): typeof ansiColors; +} + +export = ansiColors; diff --git a/types/test.ts b/types/test.ts index 873f623..0962e38 100644 --- a/types/test.ts +++ b/types/test.ts @@ -61,6 +61,8 @@ s = colors.strip(colors.red("hello")); s = colors.ok("deployment succeeded!"); +s = colors.create().reset("hello"); + // common symbols s = colors.symbols.ballotDisabled; s = colors.symbols.ballotOff;