UNPKG

@metamask/logger

Version:

A lightweight logging package using @metamask/streams

47 lines 1.65 kB
import type { JsonRpcCall, JsonRpcMessage } from "@metamask/kernel-utils"; import type { DuplexStream } from "@metamask/streams"; import type { LogEntry } from "./types.mjs"; export type LogMessage = JsonRpcCall & { method: 'notify'; params: ['logger', string]; }; /** * Serializes a log entry. * * @param entry - The log entry to serialize. * @returns The serialized log entry. */ export declare const lser: (entry: LogEntry) => string; /** * Deserializes a log entry. * * @param serializedEntry - The serialized log entry to deserialize. * @returns The deserialized log entry. */ export declare const lunser: (serializedEntry: string) => LogEntry; /** * Checks if a message is a logger message. * * @param message - The message to check. * @returns Whether the message is a logger message. */ export declare const isLoggerMessage: (message: JsonRpcMessage) => message is LogMessage; /** * Checks if a message is a kernel message. A kernel message is any message * which is not a logger message. * * @param message - The message to check. * @returns Whether the message is a kernel message. */ export declare const isKernelMessage: (message: JsonRpcMessage) => message is JsonRpcMessage; /** * Splits a stream into a kernel stream and a logger stream. * * @param stream - The stream to split. * @returns An object containing the kernel stream and the logger stream. */ export declare const splitLoggerStream: <Write>(stream: DuplexStream<JsonRpcMessage, Write>) => { kernelStream: DuplexStream<JsonRpcMessage, Write>; loggerStream: DuplexStream<JsonRpcMessage, Write>; }; //# sourceMappingURL=stream.d.mts.map