@waku/rln
Version:
RLN (Rate Limiting Nullifier) implementation for Waku
32 lines (29 loc) • 809 B
JavaScript
import debug from '../../../node_modules/debug/src/browser.js';
const APP_NAME = "waku";
class Logger {
_info;
_warn;
_error;
static createDebugNamespace(level, prefix) {
return prefix ? `${APP_NAME}:${prefix}:${level}` : `${APP_NAME}:${level}`;
}
constructor(prefix) {
this._info = debug(Logger.createDebugNamespace("info", prefix));
this._warn = debug(Logger.createDebugNamespace("warn", prefix));
this._error = debug(Logger.createDebugNamespace("error", prefix));
}
get info() {
return this._info;
}
get warn() {
return this._warn;
}
get error() {
return this._error;
}
log(level, ...args) {
const logger = this[level] || this.log;
logger(...args);
}
}
export { Logger };