@akala/core
Version:
69 lines • 2.32 kB
JavaScript
import { MulticastLogMiddlewareAsync } from './multicast.js';
export class LogRouteMiddlewareAsync {
pattern;
logger;
constructor(pattern, logger) {
this.pattern = pattern;
this.logger = logger;
}
shouldHandle(logLevel, namespaces) {
return this.pattern === '*' || this.pattern == namespaces[0];
}
handle(level, namespaces, ...context) {
if (this.shouldHandle(level, namespaces))
return this.logger.handle(level, namespaces.slice(1), ...context);
}
}
export class MulticastLogRouteMiddlewareAsync extends LogRouteMiddlewareAsync {
pattern;
constructor(pattern) {
super(pattern, new MulticastLogMiddlewareAsync());
this.pattern = pattern;
this.use = this.logger.use.bind(this.logger);
}
use;
}
export class LoggerRouteAsync {
pattern;
constructor(pattern) {
this.pattern = pattern;
this.error = new MulticastLogRouteMiddlewareAsync(this.pattern);
this.warn = new MulticastLogRouteMiddlewareAsync(this.pattern);
this.help = new MulticastLogRouteMiddlewareAsync(this.pattern);
this.data = new MulticastLogRouteMiddlewareAsync(this.pattern);
this.info = new MulticastLogRouteMiddlewareAsync(this.pattern);
this.debug = new MulticastLogRouteMiddlewareAsync(this.pattern);
this.prompt = new MulticastLogRouteMiddlewareAsync(this.pattern);
this.verbose = new MulticastLogRouteMiddlewareAsync(this.pattern);
this.input = new MulticastLogRouteMiddlewareAsync(this.pattern);
this.silly = new MulticastLogRouteMiddlewareAsync(this.pattern);
}
use(namespace) {
const sub = new LoggerRouteAsync(namespace);
this.pipe(sub);
return sub;
}
pipe(logger) {
this.error.use(logger.error);
this.warn.use(logger.warn);
this.help.use(logger.help);
this.data.use(logger.data);
this.info.use(logger.info);
this.debug.use(logger.debug);
this.prompt.use(logger.prompt);
this.verbose.use(logger.verbose);
this.input.use(logger.input);
this.silly.use(logger.silly);
}
error;
warn;
help;
data;
info;
debug;
prompt;
verbose;
input;
silly;
}
//# sourceMappingURL=route.js.map