mirror of
https://github.com/FlipsideCrypto/DefinitelyTyped.git
synced 2026-02-06 10:56:53 +00:00
Add type definition for logger (#36769)
This commit is contained in:
parent
e5d544eae0
commit
0a767516ec
25
types/logger/index.d.ts
vendored
Normal file
25
types/logger/index.d.ts
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// Type definitions for logger 0.0
|
||||
// Project: http://github.com/quirkey/node-logger
|
||||
// Definitions by: Max Wan <https://github.com/maxwan>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
export function createLogger(logFilePath?: string): Logger;
|
||||
|
||||
export type LogLevel = 'fatal' | 'error' | 'warn' | 'info' | 'debug';
|
||||
export type Args = (...args: string[]) => string | false;
|
||||
|
||||
export class Logger {
|
||||
constructor(logFilePath?: string);
|
||||
format: (level: LogLevel, data: string, message: string) => string;
|
||||
setLevel: (level: LogLevel) => number | false;
|
||||
log: (level: LogLevel, ...args: string[]) => string | false;
|
||||
fatal: Args;
|
||||
error: Args;
|
||||
warn: Args;
|
||||
info: Args;
|
||||
debug: Args;
|
||||
}
|
||||
|
||||
export namespace Logger {
|
||||
const levels: ['fatal', 'error', 'warn', 'info', 'debug'];
|
||||
}
|
||||
22
types/logger/logger-tests.ts
Normal file
22
types/logger/logger-tests.ts
Normal file
@ -0,0 +1,22 @@
|
||||
import { Logger, createLogger } from 'logger';
|
||||
|
||||
const logToSTDOUT = createLogger(); // $ExpectType Logger
|
||||
logToSTDOUT.format('debug', 'date', 'message'); // $ExpectType string
|
||||
logToSTDOUT.setLevel('fatal'); // $ExpectType number | false
|
||||
logToSTDOUT.log('info', 'text1', 'text2', 'text3'); // $ExpectType string | false
|
||||
logToSTDOUT.fatal('fatal', 'text1', 'text2', 'text3', 'text4', 'text5'); // $ExpectType string | false
|
||||
logToSTDOUT.error('error', 'text1', 'text2', 'text3', 'text4'); // $ExpectType string | false
|
||||
logToSTDOUT.warn('warn', 'text1', 'text2', 'text3'); // $ExpectType string | false
|
||||
logToSTDOUT.info('info', 'text1', 'text2'); // $ExpectType string | false
|
||||
logToSTDOUT.debug('debug', 'text1'); // $ExpectType string | false
|
||||
|
||||
createLogger('test.log'); // $ExpectType Logger
|
||||
|
||||
new Logger(); // $ExpectType Logger
|
||||
new Logger('test.log'); // $ExpectType Logger
|
||||
|
||||
Logger.levels[0]; // $ExpectType "fatal"
|
||||
Logger.levels[1]; // $ExpectType "error"
|
||||
Logger.levels[2]; // $ExpectType "warn"
|
||||
Logger.levels[3]; // $ExpectType "info"
|
||||
Logger.levels[4]; // $ExpectType "debug"
|
||||
23
types/logger/tsconfig.json
Normal file
23
types/logger/tsconfig.json
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictFunctionTypes": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"logger-tests.ts"
|
||||
]
|
||||
}
|
||||
1
types/logger/tslint.json
Normal file
1
types/logger/tslint.json
Normal file
@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
Loading…
Reference in New Issue
Block a user