1 |
|
2 | export interface IDebug {
|
3 | (namespace: string): IDebugger
|
4 | coerce: (val: any) => any
|
5 | disable: () => string
|
6 | enable: (namespaces: string) => void
|
7 | enabled: (namespaces: string) => boolean
|
8 | log: (...args: any[]) => any
|
9 |
|
10 | names: RegExp[]
|
11 | skips: RegExp[]
|
12 |
|
13 | formatters: DebugFormatters
|
14 | }
|
15 |
|
16 | export interface DebugFormatters {
|
17 | [formatter: string]: (v: any) => string
|
18 | }
|
19 |
|
20 | export interface IDebugger {
|
21 |
|
22 | (...args: any[]): void
|
23 |
|
24 | color: string
|
25 | enabled: boolean
|
26 | log: (...args: any[]) => any
|
27 | namespace: string
|
28 | destroy: () => boolean
|
29 |
|
30 | }
|
31 |
|
32 | const originalDebug = require('debug') as IDebug
|
33 |
|
34 |
|
35 | export const Debug = ((namespace: string) => {
|
36 | const instance = originalDebug(namespace)
|
37 | instance.log = console.log.bind(console)
|
38 | return instance
|
39 | }) as IDebug
|
40 |
|
41 | Debug.coerce = originalDebug.coerce.bind(originalDebug)
|
42 | Debug.disable = originalDebug.disable.bind(originalDebug)
|
43 | Debug.enable = originalDebug.enable.bind(originalDebug)
|
44 | Debug.enabled = originalDebug.enabled.bind(originalDebug)
|
45 | Debug.log = originalDebug.log.bind(originalDebug)
|
46 | Debug.names = originalDebug.names
|
47 | Debug.skips = originalDebug.skips
|
48 | Debug.formatters = originalDebug.formatters
|
49 |
|
\ | No newline at end of file |