diff --git a/ansi-styles/ansi-styles-tests.ts b/ansi-styles/ansi-styles-tests.ts new file mode 100644 index 000000000..dc3187ef5 --- /dev/null +++ b/ansi-styles/ansi-styles-tests.ts @@ -0,0 +1,54 @@ +/// + +import ansi = require('ansi-styles'); + + +var styles = [ + ansi.reset, + + ansi.bold, + ansi.dim, + ansi.italic, + ansi.underline, + ansi.inverse, + ansi.hidden, + ansi.strikethrough, + + ansi.black, + ansi.red, + ansi.green, + ansi.yellow, + ansi.blue, + ansi.magenta, + ansi.cyan, + ansi.white, + ansi.gray, + + ansi.bgBlack, + ansi.bgRed, + ansi.bgGreen, + ansi.bgYellow, + ansi.bgBlue, + ansi.bgMagenta, + ansi.bgCyan, + ansi.bgWhite +] + +for (var key in styles) { + check(key, styles[key]) +} + +function check(key:string, escapeCodes:ansi.EscapeCodePair): void { + if (uninitialized(escapeCodes.open)) { + throw new Error('key not found ~> ' + key + '.open') + } + if (uninitialized(escapeCodes.close)) { + throw new Error('key not found ~> ' + key + '.close') + } +} + +function uninitialized(val:any): boolean { + return val === null || val === undefined +} + + diff --git a/ansi-styles/ansi-styles.d.ts b/ansi-styles/ansi-styles.d.ts new file mode 100644 index 000000000..4c79b118f --- /dev/null +++ b/ansi-styles/ansi-styles.d.ts @@ -0,0 +1,42 @@ +// Type definitions for ansi-styles 2.0.1 +// Project: https://github.com/sindresorhus/ansi-styles +// Definitions by: bryn austin bellomy +// Definitions: https://github.com/borisyankov/DefinitelyTyped + + +declare module "ansi-styles" +{ + export interface EscapeCodePair { + open: string; + close: string; + } + + export var reset: EscapeCodePair; + + export var bold: EscapeCodePair; + export var dim: EscapeCodePair; + export var italic: EscapeCodePair; + export var underline: EscapeCodePair; + export var inverse: EscapeCodePair; + export var hidden: EscapeCodePair; + export var strikethrough: EscapeCodePair; + + export var black: EscapeCodePair; + export var red: EscapeCodePair; + export var green: EscapeCodePair; + export var yellow: EscapeCodePair; + export var blue: EscapeCodePair; + export var magenta: EscapeCodePair; + export var cyan: EscapeCodePair; + export var white: EscapeCodePair; + export var gray: EscapeCodePair; + + export var bgBlack: EscapeCodePair; + export var bgRed: EscapeCodePair; + export var bgGreen: EscapeCodePair; + export var bgYellow: EscapeCodePair; + export var bgBlue: EscapeCodePair; + export var bgMagenta: EscapeCodePair; + export var bgCyan: EscapeCodePair; + export var bgWhite: EscapeCodePair; +} \ No newline at end of file