diff --git a/debug/debug-tests.ts b/debug/debug-tests.ts new file mode 100644 index 0000000000..63a0a3ac4e --- /dev/null +++ b/debug/debug-tests.ts @@ -0,0 +1,20 @@ +/// +/// + +import debug = require("debug"); + +debug.disable(); +debug.enable("DefinitelyTyped:*"); + +var log: debug.Debugger = debug("DefinitelyTyped:log"); + +log("Just text"); +log("Formatted test (%d arg)", 1); +log("Formatted %s (%d args)", "test", 2); + +log("Enabled?: %s", debug.enabled("DefinitelyTyped:log")); +log("Namespace: %s", log.namespace); + +var error: debug.Debugger = debug("DefinitelyTyped:error"); +error.log = console.error.bind(console); +error("This should be printed to stderr"); diff --git a/debug/debug.d.ts b/debug/debug.d.ts new file mode 100644 index 0000000000..1a71725a86 --- /dev/null +++ b/debug/debug.d.ts @@ -0,0 +1,30 @@ +// Type definitions for debug +// Project: https://github.com/visionmedia/debug +// Definitions by: Seon-Wook Park +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +declare module "debug" { + + function d(namespace: string): d.Debugger; + + module d { + export var log: Function; + + function enable(namespaces: string): void; + function disable(): void; + + function enabled(namespace: string): boolean; + + export interface Debugger { + (formatter: any, ...args: any[]): void; + + enabled: boolean; + log: Function; + namespace: string; + } + } + + export = d; + +} +