UNPKG

sussudio

Version:

An unofficial VS Code Internal API

50 lines (49 loc) 2.5 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { AutorunObserver } from "./autorun.mjs"; import { IObservable, ObservableValue, TransactionImpl } from "./base.mjs"; import { Derived } from "./derived.mjs"; import { FromEventObservable } from "./utils.mjs"; export declare function setLogger(logger: IObservableLogger): void; export declare function getLogger(): IObservableLogger | undefined; interface IChangeInformation { oldValue: unknown; newValue: unknown; change: unknown; didChange: boolean; } export interface IObservableLogger { handleObservableChanged(observable: ObservableValue<unknown, unknown>, info: IChangeInformation): void; handleFromEventObservableTriggered(observable: FromEventObservable<any, any>, info: IChangeInformation): void; handleAutorunCreated(autorun: AutorunObserver): void; handleAutorunTriggered(autorun: AutorunObserver): void; handleDerivedCreated(observable: Derived<unknown>): void; handleDerivedRecomputed(observable: Derived<unknown>, info: IChangeInformation): void; handleBeginTransaction(transaction: TransactionImpl): void; handleEndTransaction(): void; } export declare class ConsoleObservableLogger implements IObservableLogger { private indentation; private textToConsoleArgs; private formatInfo; handleObservableChanged(observable: IObservable<unknown, unknown>, info: IChangeInformation): void; private readonly changedObservablesSets; formatChanges(changes: Set<IObservable<any, any>>): ConsoleText | undefined; handleDerivedCreated(derived: Derived<unknown>): void; handleDerivedRecomputed(derived: Derived<unknown>, info: IChangeInformation): void; handleFromEventObservableTriggered(observable: FromEventObservable<any, any>, info: IChangeInformation): void; handleAutorunCreated(autorun: AutorunObserver): void; handleAutorunTriggered(autorun: AutorunObserver): void; handleBeginTransaction(transaction: TransactionImpl): void; handleEndTransaction(): void; } type ConsoleText = (ConsoleText | undefined)[] | { text: string; style: string; data?: Record<string, unknown>; } | { data: Record<string, unknown>; }; export {};