Manual Reference Source Test

src/modules/logger.js

/**
 * Minimal logger class
 *
 * @property {string} prefix - Log prefix
 * @property {boolean} enabled - Whether logger is enabled
 */
class Logger {
  /**
   * Logger constructor
   *
   * @param {string} prefix - Log prefix,
   * @param {boolean} [enabled=true] - Whether logger is enabled
   */
  constructor(prefix, enabled = true) {
    Object.assign(this, {
      prefix,
      enabled,
    });
  }

  /**
   * Log arguments with prefix to console if enabled
   */
  log(...args) {
    if (!this.enabled) {
      return;
    }

    console.log(this.prefix, ...args); // eslint-disable-line no-console
  }
}

export default Logger;