{"version":3,"file":"abstract-handler.mjs","sources":["../../../../src/logger/handler/abstract-handler.ts"],"sourcesContent":["import type { Handler, Formatter, LogRecord } from '../../types/logger'\nimport { LogLevel } from '../../types/logger'\n\n/**\n * Abstract Handler\n */\nexport abstract class AbstractHandler implements Handler {\n  protected level: LogLevel\n  protected formatter: Formatter | null = null\n  protected bubble: boolean = true\n\n  constructor(\n    level: LogLevel = LogLevel.DEBUG,\n    bubble?: boolean\n  ) {\n    this.level = level\n\n    if (bubble !== undefined) this.bubble = bubble\n  }\n\n  public isHandling(level: LogLevel): boolean {\n    return level >= this.level\n  }\n\n  public shouldBubble(): boolean {\n    return this.bubble\n  }\n\n  public setFormatter(formatter: Formatter): void {\n    this.formatter = formatter\n  }\n\n  public getFormatter(): Formatter | null {\n    return this.formatter\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public abstract handle(record: LogRecord): Promise<boolean>\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAMO,MAAe,eAAA,CAAmC;AAAA,EANzD;AAMyD,IAAA,MAAA,CAAA,IAAA,EAAA,iBAAA,CAAA;AAAA;AAAA,EAC7C,KAAA;AAAA,EACA,SAAA,GAA8B,IAAA;AAAA,EAC9B,MAAA,GAAkB,IAAA;AAAA,EAE5B,WAAA,CACE,KAAA,GAAkB,QAAA,CAAS,KAAA,EAC3B,MAAA,EACA;AACA,IAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AAEb,IAAA,IAAI,MAAA,KAAW,MAAA,EAAW,IAAA,CAAK,MAAA,GAAS,MAAA;AAAA,EAC1C;AAAA,EAEO,WAAW,KAAA,EAA0B;AAC1C,IAAA,OAAO,SAAS,IAAA,CAAK,KAAA;AAAA,EACvB;AAAA,EAEO,YAAA,GAAwB;AAC7B,IAAA,OAAO,IAAA,CAAK,MAAA;AAAA,EACd;AAAA,EAEO,aAAa,SAAA,EAA4B;AAC9C,IAAA,IAAA,CAAK,SAAA,GAAY,SAAA;AAAA,EACnB;AAAA,EAEO,YAAA,GAAiC;AACtC,IAAA,OAAO,IAAA,CAAK,SAAA;AAAA,EACd;AAMF;;;;"}