@rbxts/zircon
Version:
<div> <img src="https://i.imgur.com/YgpbX7G.png" align="left" width="128"/> <h1>ZIRCON</h1> <h3>A clean, sleek, runtime debugging console for Roblox</h3> <a href="https://npmjs.com/package/@rbxts/zircon"><img src="https://badge.fury.io
121 lines (120 loc) • 4.18 kB
TypeScript
/// <reference types="@rbxts/types" />
/// <reference types="@rbxts/compiler-types" />
import { LogEvent } from "@rbxts/log";
import { ZirconStandardOutput, ZirconiumRuntimeErrorMessage, ZirconiumParserErrorMessage, ZirconLogOutput, ZirconLogErrorOutput } from "../Shared/Remotes";
export declare const enum ZirconContext {
Server = 0,
Client = 1
}
export declare type ZirconTag = string | Instance | {
toString(): string;
};
export interface ZirconLoggable {
toString(): string;
}
export interface ZirconDebugInfo {
Source: string;
LineNumber: number;
Name: string;
}
/**
* Extra logging data relating to the specified log message
*/
export interface ZirconLogData {
/**
* The player this message relates to
*/
Player?: Player;
/**
* Key value pairs of metadata set by the developer. This will show in the detailed log view.
*
* Will layout like:
* ```
* KEY1 VALUE1
* KEY2 VALUE2
* KEY3 VALUE3
* ```
*/
Attributes?: Record<string, defined>;
Variables: Array<unknown>;
/**
* The stack trace of this message.
*
* This is populated by default via Zircon
*/
StackTrace?: string[];
/**
* Function stack details
*/
FunctionStack?: ZirconDebugInfo[];
CallDebugInfo?: ZirconDebugInfo;
}
export declare enum ZirconLogLevel {
Verbose = 0,
Debug = 1,
Info = 2,
Warning = 3,
Error = 4,
Wtf = 5
}
export declare const enum ZirconMessageType {
ZirconiumOutput = "zr:output",
ZirconiumError = "zr:error",
ZirconiumExecutionMessage = "zr:execute",
/** @deprecated */
ZirconLogOutputMesage = "zirclog:message",
/** @deprecated */
ZirconLogErrorMessage = "zirclog:error",
LogOutputMessage = "log:output",
StructuredLog = "slog:output",
StructuredError = "slog:err",
PlainText = "plain"
}
export declare function isContextMessage(message: ConsoleMessage): message is ZrOutputMessage | ZrErrorMessage | ZirconLogMessage | ZirconLogError | ZirconStructuredLogMessage;
export declare function getMessageText(message: ConsoleMessage): string;
export declare function isLogMessage(message: ConsoleMessage): message is ZirconLogMessage | ZirconLogError | ZirconStructuredLogMessage;
export declare function getLogLevel(message: ConsoleMessage): ZirconLogLevel;
interface ZirconContextMessage {
readonly context: ZirconContext;
}
export interface ZrOutputMessage extends ZirconContextMessage {
readonly type: ZirconMessageType.ZirconiumOutput;
readonly script?: string;
readonly message: ZirconStandardOutput;
}
export interface ConsolePlainMessage {
readonly type: ZirconMessageType.PlainText;
readonly message: string;
}
export interface ConsoleSyntaxMessage {
readonly type: ZirconMessageType.ZirconiumExecutionMessage;
readonly source: string;
}
export interface ZrErrorMessage extends ZirconContextMessage {
readonly type: ZirconMessageType.ZirconiumError;
readonly script?: string;
readonly error: ZirconiumRuntimeErrorMessage | ZirconiumParserErrorMessage;
}
export interface ConsoleLuauError extends ZirconContextMessage {
readonly type: "luau:error";
readonly error: string;
readonly stackTrace?: string[];
}
/** @deprecated */
export interface ZirconLogMessage extends ZirconContextMessage {
readonly type: ZirconMessageType.ZirconLogOutputMesage;
readonly message: ZirconLogOutput;
}
export interface ZirconStructuredLogMessage extends ZirconContextMessage {
readonly type: ZirconMessageType.StructuredLog;
readonly data: LogEvent;
}
export interface ZirconLogErrorData {
}
/** @deprecated */
export interface ZirconLogError extends ZirconContextMessage {
readonly type: ZirconMessageType.ZirconLogErrorMessage;
readonly error: ZirconLogErrorOutput;
}
export declare type ConsoleMessage = ZrOutputMessage | ZrErrorMessage | ConsolePlainMessage | ConsoleLuauError | ConsoleSyntaxMessage | ZirconLogMessage | ZirconLogError | ZirconStructuredLogMessage;
export {};