diff --git a/colors/colors-tests.ts b/colors/colors-tests.ts index a7f595fdf1..15fd5ab4e5 100644 --- a/colors/colors-tests.ts +++ b/colors/colors-tests.ts @@ -3,16 +3,9 @@ import colors = require("colors"); -var test:string = 'test'; -var arr:string[] = ['color', 'odd'.italic.zebra, 'radical'.bold.rainbow, test.underline + 'super'.green]; - -colors.black("abc").trim(); -colors.red("abc").trim(); -colors.green("abc").trim(); -colors.yellow("abc").trim(); -colors.blue("abc").trim(); -colors.magenta("abc").trim(); -colors.cyan("abc").trim(); -colors.white("abc").trim(); -colors.gray("abc").trim(); -colors.grey("abc").trim(); +console.log(colors.black.underline('test')); +console.log(colors.rainbow.black.blue.gray('test')); +console.log(colors.random.reset.bgWhite.dim('test')); +console.log('test'.black.underline); +console.log('test'.rainbow.black.blue.gray); +console.log('test'.random.reset.bgWhite.dim); diff --git a/colors/colors.d.ts b/colors/colors.d.ts index 8332ac5bb9..5aa28553a3 100644 --- a/colors/colors.d.ts +++ b/colors/colors.d.ts @@ -4,34 +4,120 @@ // Definitions: https://github.com/borisyankov/DefinitelyTyped declare module "colors" { - export function setTheme(theme:any):any; + interface Color { + (text: string): string; - export function black(text: string): string; - export function red(text: string): string; - export function green(text: string): string; - export function yellow(text: string): string; - export function blue(text: string): string; - export function magenta(text: string): string; - export function cyan(text: string): string; - export function white(text: string): string; - export function gray(text: string): string; - export function grey(text: string): string; + black: Color; + red: Color; + green: Color; + yellow: Color; + blue: Color; + magenta: Color; + cyan: Color; + white: Color; + gray: Color; + grey: Color; + + bgBlack: Color; + bgRed: Color; + bgGreen: Color; + bgYellow: Color; + bgBlue: Color; + bgMagenta: Color; + bgCyan: Color; + bgWhite: Color; + + reset: Color; + bold: Color; + dim: Color; + italic: Color; + underline: Color; + inverse: Color; + hidden: Color; + strikethrough: Color; + + rainbow: Color; + zebra: Color; + america: Color; + trap: Color; + random: Color; + } + + module e { + export function setTheme(theme:any): void; + + export var black: Color; + export var red: Color; + export var green: Color; + export var yellow: Color; + export var blue: Color; + export var magenta: Color; + export var cyan: Color; + export var white: Color; + export var gray: Color; + export var grey: Color; + + export var bgBlack: Color; + export var bgRed: Color; + export var bgGreen: Color; + export var bgYellow: Color; + export var bgBlue: Color; + export var bgMagenta: Color; + export var bgCyan: Color; + export var bgWhite: Color; + + export var reset: Color; + export var bold: Color; + export var dim: Color; + export var italic: Color; + export var underline: Color; + export var inverse: Color; + export var hidden: Color; + export var strikethrough: Color; + + export var rainbow: Color; + export var zebra: Color; + export var america: Color; + export var trap: Color; + export var random: Color; + } + + export = e; } interface String { - bold:string; - italic:string; - underline:string; - inverse:string; - yellow:string; - cyan:string; - white:string; - magenta:string; - green:string; - red:string; - grey:string; - blue:string; - rainbow:string; - zebra:string; - random:string; + black: string; + red: string; + green: string; + yellow: string; + blue: string; + magenta: string; + cyan: string; + white: string; + gray: string; + grey: string; + + bgBlack: string; + bgRed: string; + bgGreen: string; + bgYellow: string; + bgBlue: string; + bgMagenta: string; + bgCyan: string; + bgWhite: string; + + reset: string; + bold: string; + dim: string; + italic: string; + underline: string; + inverse: string; + hidden: string; + strikethrough: string; + + rainbow: string; + zebra: string; + america: string; + trap: string; + random: string; }