@metamask/logger
Version:
A lightweight logging package using @metamask/streams
47 lines • 1.65 kB
text/typescript
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