UNPKG

@bacons/expo-metro-runtime

Version:

Tools for making experimental Metro bundler features work

61 lines (60 loc) 1.83 kB
/** * Copyright (c) Evan Bacon. * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import type { Category, Message, ComponentStack, CodeFrame } from "./parseLogBoxLog"; import type { Stack } from "./LogBoxSymbolication"; declare type SymbolicationStatus = "NONE" | "PENDING" | "COMPLETE" | "FAILED"; export declare type LogLevel = "warn" | "error" | "fatal" | "syntax"; export declare type LogBoxLogData = { level: LogLevel; type?: string; message: Message; stack: Stack; category: string; componentStack: ComponentStack; codeFrame?: CodeFrame; isComponentError: boolean; }; export declare type StackType = "stack" | "component"; export declare class LogBoxLog { message: Message; type: string; category: Category; componentStack: ComponentStack; stack: Stack; count: number; level: LogLevel; codeFrame?: CodeFrame; isComponentError: boolean; symbolicated: Record<StackType, { error: null; stack: null; status: "NONE"; } | { error: null; stack: null; status: "PENDING"; } | { error: null; stack: Stack; status: "COMPLETE"; } | { error: Error; stack: null; status: "FAILED"; }>; constructor(data: LogBoxLogData); incrementCount(): void; getAvailableStack(type: StackType): Stack | null; retrySymbolicate(type: StackType, callback?: (status: SymbolicationStatus) => void): void; symbolicate(type: StackType, callback?: (status: SymbolicationStatus) => void): void; private componentStackCache; private getStack; private handleSymbolicate; private updateStatus; } export {};