diff --git a/colors/colors-tests.ts b/colors/colors-tests.ts index e8ad0910ed..fcac0323f6 100644 --- a/colors/colors-tests.ts +++ b/colors/colors-tests.ts @@ -1,16 +1,21 @@ import colors = require("colors"); +import { zalgo } from "colors/safe"; + +let str: string; + +str = zalgo(""); colors.enabled = true; -console.log(colors.black.underline('test')); -console.log(colors.rainbow.black.blue.gray('test')); -console.log(colors.random.reset.bgWhite.dim('test')); -console.log(colors.random.reset.bgWhite.strip('test')); -console.log('test'.black.underline); -console.log('test'.rainbow.black.blue.gray); -console.log('test'.random.reset.bgWhite.dim); -console.log('test'.random.reset.bgWhite.dim.stripColors); +str = colors.black.underline('test'); +str = colors.rainbow.black.blue.gray('test'); +str = colors.random.reset.bgWhite.dim('test'); +str = colors.random.reset.bgWhite.strip('test'); +str = 'test'.black.underline; +str = 'test'.rainbow.black.blue.gray; +str = 'test'.random.reset.bgWhite.dim; +str = 'test'.random.reset.bgWhite.dim.stripColors; colors.enabled = false; -console.log(colors.black.underline('test')); +str = colors.black.underline('test'); diff --git a/colors/index.d.ts b/colors/index.d.ts index 87612a6f36..e087bd0714 100644 --- a/colors/index.d.ts +++ b/colors/index.d.ts @@ -3,178 +3,131 @@ // Definitions by: Bart van der Schoor , Staffan Eketorp // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -declare module "colors" { - interface Color { - (text: string): string; +interface Color { + (text: string): string; - strip: Color; - stripColors: Color; + strip: Color; + stripColors: Color; - black: Color; - red: Color; - green: Color; - yellow: Color; - blue: Color; - magenta: Color; - cyan: Color; - white: Color; - gray: Color; - grey: Color; + 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; + 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; + 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; - zalgo: Color; + rainbow: Color; + zebra: Color; + america: Color; + trap: Color; + random: Color; + zalgo: Color; +} + +export function setTheme(theme: any): void; + +export var enabled: boolean; + +export var strip: Color; +export var stripColors: Color; + +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 var zalgo: Color; + +declare global { + interface String { + strip: string; + stripColors: 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; + zalgo: string; } - - namespace e { - export function setTheme(theme: any): void; - - export var enabled: boolean; - - export var strip: Color; - export var stripColors: Color; - - 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 var zalgo: Color; - } - - export = e; -} - -interface String { - strip: string; - stripColors: 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; - zalgo: string; -} - -declare module 'colors/safe' { - export var enabled: boolean; - - export function strip(str: string): string; - export function stripColors(str: string): string; - - export function black(str: string): string; - export function red(str: string): string; - export function green(str: string): string; - export function yellow(str: string): string; - export function blue(str: string): string; - export function magenta(str: string): string; - export function cyan(str: string): string; - export function white(str: string): string; - export function gray(str: string): string; - export function grey(str: string): string; - - export function bgBlack(str: string): string; - export function bgRed(str: string): string; - export function bgGreen(str: string): string; - export function bgYellow(str: string): string; - export function bgBlue(str: string): string; - export function bgMagenta(str: string): string; - export function bgCyan(str: string): string; - export function bgWhite(str: string): string; - - export function reset(str: string): string; - export function bold(str: string): string; - export function dim(str: string): string; - export function italic(str: string): string; - export function underline(str: string): string; - export function inverse(str: string): string; - export function hidden(str: string): string; - export function strikethrough(str: string): string; - - export function rainbow(str: string): string; - export function zebra(str: string): string; - export function america(str: string): string; - export function trap(str: string): string; - export function random(str: string): string; - export function zalgo(str: string): string; -} +} \ No newline at end of file diff --git a/colors/safe.d.ts b/colors/safe.d.ts new file mode 100644 index 0000000000..c2145b7bc1 --- /dev/null +++ b/colors/safe.d.ts @@ -0,0 +1,40 @@ +export var enabled: boolean; + +export function strip(str: string): string; +export function stripColors(str: string): string; + +export function black(str: string): string; +export function red(str: string): string; +export function green(str: string): string; +export function yellow(str: string): string; +export function blue(str: string): string; +export function magenta(str: string): string; +export function cyan(str: string): string; +export function white(str: string): string; +export function gray(str: string): string; +export function grey(str: string): string; + +export function bgBlack(str: string): string; +export function bgRed(str: string): string; +export function bgGreen(str: string): string; +export function bgYellow(str: string): string; +export function bgBlue(str: string): string; +export function bgMagenta(str: string): string; +export function bgCyan(str: string): string; +export function bgWhite(str: string): string; + +export function reset(str: string): string; +export function bold(str: string): string; +export function dim(str: string): string; +export function italic(str: string): string; +export function underline(str: string): string; +export function inverse(str: string): string; +export function hidden(str: string): string; +export function strikethrough(str: string): string; + +export function rainbow(str: string): string; +export function zebra(str: string): string; +export function america(str: string): string; +export function trap(str: string): string; +export function random(str: string): string; +export function zalgo(str: string): string; diff --git a/colors/tsconfig.json b/colors/tsconfig.json index 907b57cf82..203d97e2fa 100644 --- a/colors/tsconfig.json +++ b/colors/tsconfig.json @@ -3,7 +3,8 @@ "module": "commonjs", "target": "es6", "noImplicitAny": true, - "strictNullChecks": false, + "noImplicitThis": true, + "strictNullChecks": true, "baseUrl": "../", "typeRoots": [ "../" diff --git a/colors/tslint.json b/colors/tslint.json new file mode 100644 index 0000000000..2221e40e4a --- /dev/null +++ b/colors/tslint.json @@ -0,0 +1 @@ +{ "extends": "../tslint.json" } \ No newline at end of file