diff --git a/types/console-log-level/console-log-level-tests.ts b/types/console-log-level/console-log-level-tests.ts new file mode 100644 index 0000000000..3df123421b --- /dev/null +++ b/types/console-log-level/console-log-level-tests.ts @@ -0,0 +1,20 @@ +import consoleLogLevel = require("console-log-level"); + +const logger1 = consoleLogLevel({ + level: "trace", + stderr: undefined, + prefix: () => "SOME PREFIX" +}); + +const logger2 = consoleLogLevel({ + level: "trace", + stderr: true, + prefix: "OTHER PREFIX" +}); + +logger1.trace("hello %s", "world"); +logger2.debug("hello %s", "world"); +logger2.info("hello %s", "world"); +logger2.warn("hello %s", "world"); +logger2.error("hello %s", "world"); +logger2.fatal("hello %s", "world"); diff --git a/types/console-log-level/index.d.ts b/types/console-log-level/index.d.ts new file mode 100644 index 0000000000..3a70f850df --- /dev/null +++ b/types/console-log-level/index.d.ts @@ -0,0 +1,23 @@ +// Type definitions for console-log-level 1.4 +// Project: https://github.com/watson/console-log-level +// Definitions by: Ali Ijaz Sheikh +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.1 + +type PrefixFunction = (level: string) => string; + +declare namespace consoleLogLevel { + type LogLevelNames = + "trace" | "debug" | "info" | "warn" | "error" | "fatal"; + type Logger = Record void>; +} + +interface Options { + level?: consoleLogLevel.LogLevelNames; + prefix?: string | PrefixFunction; + stderr?: boolean; +} + +declare function consoleLogLevel(opts: Options): consoleLogLevel.Logger; + +export = consoleLogLevel; diff --git a/types/console-log-level/tsconfig.json b/types/console-log-level/tsconfig.json new file mode 100644 index 0000000000..3fcb21220b --- /dev/null +++ b/types/console-log-level/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "strictFunctionTypes": true + }, + "files": [ + "index.d.ts", + "console-log-level-tests.ts" + ] +} diff --git a/types/console-log-level/tslint.json b/types/console-log-level/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/console-log-level/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }