UNPKG

@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
/// <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 {};