monaco-editor-core
Version:
A browser based code editor
89 lines • 3.07 kB
JavaScript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
let globalObservableLogger;
export function addLogger(logger) {
if (!globalObservableLogger) {
globalObservableLogger = logger;
}
else if (globalObservableLogger instanceof ComposedLogger) {
globalObservableLogger.loggers.push(logger);
}
else {
globalObservableLogger = new ComposedLogger([globalObservableLogger, logger]);
}
}
export function getLogger() {
return globalObservableLogger;
}
let globalObservableLoggerFn = undefined;
export function setLogObservableFn(fn) {
globalObservableLoggerFn = fn;
}
class ComposedLogger {
constructor(loggers) {
this.loggers = loggers;
}
handleObservableCreated(observable, location) {
for (const logger of this.loggers) {
logger.handleObservableCreated(observable, location);
}
}
handleOnListenerCountChanged(observable, newCount) {
for (const logger of this.loggers) {
logger.handleOnListenerCountChanged(observable, newCount);
}
}
handleObservableUpdated(observable, info) {
for (const logger of this.loggers) {
logger.handleObservableUpdated(observable, info);
}
}
handleAutorunCreated(autorun, location) {
for (const logger of this.loggers) {
logger.handleAutorunCreated(autorun, location);
}
}
handleAutorunDisposed(autorun) {
for (const logger of this.loggers) {
logger.handleAutorunDisposed(autorun);
}
}
handleAutorunDependencyChanged(autorun, observable, change) {
for (const logger of this.loggers) {
logger.handleAutorunDependencyChanged(autorun, observable, change);
}
}
handleAutorunStarted(autorun) {
for (const logger of this.loggers) {
logger.handleAutorunStarted(autorun);
}
}
handleAutorunFinished(autorun) {
for (const logger of this.loggers) {
logger.handleAutorunFinished(autorun);
}
}
handleDerivedDependencyChanged(derived, observable, change) {
for (const logger of this.loggers) {
logger.handleDerivedDependencyChanged(derived, observable, change);
}
}
handleDerivedCleared(observable) {
for (const logger of this.loggers) {
logger.handleDerivedCleared(observable);
}
}
handleBeginTransaction(transaction) {
for (const logger of this.loggers) {
logger.handleBeginTransaction(transaction);
}
}
handleEndTransaction(transaction) {
for (const logger of this.loggers) {
logger.handleEndTransaction(transaction);
}
}
}
//# sourceMappingURL=logging.js.map