Skip to content

Commit

Permalink
Merge pull request #44 from alan-agius4/add-create-dts
Browse files Browse the repository at this point in the history
fix: add missing `create` method to TypeScript definitions
  • Loading branch information
doowb committed Sep 9, 2020
2 parents f5b5e12 + 01fef66 commit a479436
Show file tree
Hide file tree
Showing 2 changed files with 90 additions and 81 deletions.
169 changes: 88 additions & 81 deletions types/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,6 @@ interface StyleArrayProperties {

type StyleType = StyleArrayStructure & StyleArrayProperties;

export interface StyleFunction extends StylesType<StyleFunction> {
(s: string): string;
}

interface StylesType<T> {
// modifiers
Expand Down Expand Up @@ -148,81 +145,91 @@ interface StylesType<T> {
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<StyleType>;
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<StyleFunction> {
(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<StyleType>;
const symbols: SymbolsType;

/**
* Outputs a string with check-symbol as prefix
*/
function ok(...args: string[]): string;

function create(): typeof ansiColors;
}

export = ansiColors;
2 changes: 2 additions & 0 deletions types/test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit a479436

Please sign in to comment.