##// END OF EJS Templates
Merged in propose cancellations (pull request #1)...
Merged in propose cancellations (pull request #1) Propose cancellations Approved-by: m407 <bitbucket@m407.ru>

File last commit:

r15:d5a3d3ab9fd7 propose cancellat...
r21:dd8f8dfcd934 merge default
Show More
ConsoleWriter.ts
34 lines | 1.1 KiB | video/mp2t | TypeScriptLexer
import { IObservable, IDestroyable, ICancellation } from "../../interfaces";
import * as TraceEvent from '../TraceEvent';
import { Cancellation } from "../../Cancellation";
import * as TraceSource from "../TraceSource";
class ConsoleWriter implements IDestroyable {
readonly _subscriptions = new Array<IDestroyable>();
writeEvents(source: IObservable<TraceEvent>, ct: ICancellation = Cancellation.none) {
var subscription = source.on(this.writeEvent.bind(this));
if (ct.isSupported()) {
ct.register(subscription.destroy.bind(subscription));
}
this._subscriptions.push(subscription);
}
writeEvent(next: TraceEvent) {
if (next.level >= TraceSource.LogLevel) {
console.log(next.source.id.toString(), next.arg);
} else if(next.level >= TraceSource.WarnLevel) {
console.warn(next.source.id.toString(), next.arg);
} else {
console.error(next.source.id.toString(), next.arg);
}
}
destroy() {
this._subscriptions.forEach(x => x.destroy());
}
}
namespace ConsoleWriter {
}
export = ConsoleWriter;