UNPKG

1.63 kBTypeScriptView Raw
1/// <reference types="node" />
2import type { AsyncLocalStorage } from 'async_hooks';
3export declare type Writer = {
4 write: (message: string) => void;
5};
6export declare type MessageContext = any;
7export declare type RoarrGlobalState = Writer & {
8 asyncLocalStorage?: AsyncLocalStorage<MessageContext>;
9 sequence: number;
10 versions: readonly string[];
11};
12export declare type SprintfArgument = boolean | number | string | null;
13export declare type Message = {
14 readonly context: MessageContext;
15 readonly message: string;
16 readonly sequence: string;
17 readonly time: number;
18 readonly version: string;
19};
20export declare type TranslateMessageFunction = (message: Message) => Message;
21export declare type LogMethod = {
22 (context: MessageContext, message: string, c?: SprintfArgument, d?: SprintfArgument, e?: SprintfArgument, f?: SprintfArgument, g?: SprintfArgument, h?: SprintfArgument, i?: SprintfArgument, j?: SprintfArgument): void;
23 (message: string, b?: SprintfArgument, c?: SprintfArgument, d?: SprintfArgument, e?: SprintfArgument, f?: SprintfArgument, g?: SprintfArgument, h?: SprintfArgument, i?: SprintfArgument, j?: SprintfArgument): void;
24};
25export declare type Logger = LogMethod & {
26 adopt: <T>(routine: () => Promise<T>, context: MessageContext) => Promise<T>;
27 child: (context: MessageContext | TranslateMessageFunction) => Logger;
28 debug: LogMethod;
29 error: LogMethod;
30 fatal: LogMethod;
31 getContext: () => MessageContext;
32 info: LogMethod;
33 trace: LogMethod;
34 warn: LogMethod;
35};
36export declare type MessageEventHandler = (message: Message) => void;