Skip to content

Commit 89f565a

Browse files
authoredNov 27, 2021
Typescript typings top level exports (#1195)
1 parent 1975720 commit 89f565a

5 files changed

+399
-466
lines changed
 

‎pino.d.ts

+346-465
Large diffs are not rendered by default.

‎test/types/pino-multistream.test-d.ts

+3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { expectType } from 'tsd'
33
import { createWriteStream } from 'fs'
44

55
import pino from '../../pino'
6+
import { multistream } from "../../pino";
67

78
const streams = [
89
{ stream: process.stdout },
@@ -20,3 +21,5 @@ expectType<pino.MultiStreamRes>(pino.multistream(streams))
2021
expectType<pino.MultiStreamRes>(pino.multistream(streams, {}))
2122
expectType<pino.MultiStreamRes>(pino.multistream(streams, { levels: { 'info': 30 } }))
2223
expectType<pino.MultiStreamRes>(pino.multistream(streams, { dedupe: true }))
24+
25+
expectType<pino.MultiStreamRes>(multistream(process.stdout));

‎test/types/pino-top-export.test-d.ts

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import { expectType, expectAssignable } from 'tsd'
2+
import type { SonicBoom } from "sonic-boom";
3+
4+
import {
5+
destination,
6+
final,
7+
LevelMapping,
8+
levels,
9+
Logger,
10+
multistream,
11+
MultiStreamRes,
12+
SerializedError,
13+
stdSerializers,
14+
stdTimeFunctions,
15+
symbols,
16+
transport,
17+
version,
18+
} from "../../pino";
19+
import pino from "../../pino";
20+
21+
expectType<SonicBoom>(destination(""));
22+
expectType<LevelMapping>(levels);
23+
expectType<Logger>(final(pino()));
24+
expectType<MultiStreamRes>(multistream(process.stdout));
25+
expectType<SerializedError>(stdSerializers.err({} as any));
26+
expectType<string>(stdTimeFunctions.isoTime());
27+
expectType<string>(version);
28+
29+
// Can't test against `unique symbol`, see https://github.com/SamVerschueren/tsd/issues/49
30+
expectAssignable<Symbol>(symbols.endSym);
31+
32+
// TODO: currently returns (aliased) `any`, waiting for strong typed `thread-stream`
33+
transport({
34+
target: '#pino/pretty',
35+
options: { some: 'options for', the: 'transport' }
36+
});
37+

‎test/types/pino-type-only.test-d.ts

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { expectType } from "tsd";
2+
3+
import pino from "../../";
4+
import type {Logger, LogFn, P} from "../../pino";
5+
6+
// NB: can also use `import * as pino`, but that form is callable as `pino()`
7+
// under `esModuleInterop: false` or `pino.default()` under `esModuleInterop: true`.
8+
const log = pino();
9+
expectType<Logger>(log);
10+
expectType<LogFn>(log.info);
11+
12+
expectType<P.Logger>(log);
13+
expectType<P.LogFn>(log.info);

‎test/types/pino.test-d.ts

-1
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,6 @@ const pretty = pino({
180180
messageKey: "msg",
181181
timestampKey: "timestamp",
182182
translateTime: "UTC:h:MM:ss TT Z",
183-
search: "foo == `bar`",
184183
},
185184
});
186185

0 commit comments

Comments
 (0)
Please sign in to comment.