mono/packages/core/dist/observableInternal/logging.d.ts
2025-01-28 13:42:22 +01:00

55 lines
2.4 KiB
TypeScript

import { AutorunObserver } from './autorun.js';
import { IObservable, TransactionImpl } from './base.js';
import { Derived } from './derived.js';
import { FromEventObservable } from './utils.js';
export declare function setLogger(logger: IObservableLogger): void;
export declare function getLogger(): IObservableLogger | undefined;
export declare function logObservable(obs: IObservable<any>): void;
interface IChangeInformation {
oldValue: unknown;
newValue: unknown;
change: unknown;
didChange: boolean;
hadValue: boolean;
}
export interface IObservableLogger {
handleObservableChanged(observable: IObservable<any>, info: IChangeInformation): void;
handleFromEventObservableTriggered(observable: FromEventObservable<any, any>, info: IChangeInformation): void;
handleAutorunCreated(autorun: AutorunObserver): void;
handleAutorunTriggered(autorun: AutorunObserver): void;
handleAutorunFinished(autorun: AutorunObserver): void;
handleDerivedCreated(observable: Derived<any>): void;
handleDerivedRecomputed(observable: Derived<any>, info: IChangeInformation): void;
handleDerivedCleared(observable: Derived<any>): void;
handleBeginTransaction(transaction: TransactionImpl): void;
handleEndTransaction(): void;
}
export declare class ConsoleObservableLogger implements IObservableLogger {
private indentation;
private _filteredObjects;
addFilteredObj(obj: unknown): void;
private _isIncluded;
private textToConsoleArgs;
private formatInfo;
handleObservableChanged(observable: IObservable<unknown>, info: IChangeInformation): void;
private readonly changedObservablesSets;
formatChanges(changes: Set<IObservable<any>>): ConsoleText | undefined;
handleDerivedCreated(derived: Derived<unknown>): void;
handleDerivedRecomputed(derived: Derived<unknown>, info: IChangeInformation): void;
handleDerivedCleared(derived: Derived<unknown>): void;
handleFromEventObservableTriggered(observable: FromEventObservable<any, any>, info: IChangeInformation): void;
handleAutorunCreated(autorun: AutorunObserver): void;
handleAutorunTriggered(autorun: AutorunObserver): void;
handleAutorunFinished(autorun: AutorunObserver): void;
handleBeginTransaction(transaction: TransactionImpl): void;
handleEndTransaction(): void;
}
type ConsoleText = (ConsoleText | undefined)[] | {
text: string;
style: string;
data?: unknown[];
} | {
data: unknown[];
};
export {};