{"version":3,"file":"ngworker-lumberjack-console-driver.mjs","sources":["../../../../../packages/ngworker/lumberjack/console-driver/src/lib/configuration/lumberjack-console-driver-config.token.ts","../../../../../packages/ngworker/lumberjack/console-driver/src/lib/console/lumberjack-console.token.ts","../../../../../packages/ngworker/lumberjack/console-driver/src/lib/log-drivers/lumberjack-console.driver.ts","../../../../../packages/ngworker/lumberjack/console-driver/src/lib/configuration/provide-lumberjack-console-driver.ts","../../../../../packages/ngworker/lumberjack/console-driver/src/index.ts","../../../../../packages/ngworker/lumberjack/console-driver/src/ngworker-lumberjack-console-driver.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nimport { LumberjackLogDriverConfig } from '@ngworker/lumberjack';\n\nexport const lumberjackConsoleDriverConfigToken = new InjectionToken<LumberjackLogDriverConfig>(\n  '__LUMBERJACK_CONSOLE_DRIVER_CONFIG__'\n);\n","import { InjectionToken } from '@angular/core';\n\nimport { LumberjackConsole } from './lumberjack-console';\n\n/**\n * Wraps the browser console abstraction used by the console driver to make it\n * overridable in tests or add additional information to console logs.\n */\nexport const lumberjackConsoleToken = new InjectionToken<LumberjackConsole>('__LUMBERJACK_CONSOLE__', {\n  factory: (): LumberjackConsole => console,\n  providedIn: 'root',\n});\n","import { inject, Injectable } from '@angular/core';\n\nimport { LumberjackLogDriver, LumberjackLogDriverLog, LumberjackLogPayload } from '@ngworker/lumberjack';\n\nimport { lumberjackConsoleDriverConfigToken } from '../configuration/lumberjack-console-driver-config.token';\nimport { lumberjackConsoleToken } from '../console/lumberjack-console.token';\n\n/**\n * The console driver outputs logs to the browser console.\n *\n * It forwards the formatted log and the optional log payload to the relevant\n * method of the browser console API.\n */\n@Injectable()\nexport class LumberjackConsoleDriver<TPayload extends LumberjackLogPayload | void = void>\n  implements LumberjackLogDriver<TPayload>\n{\n  static readonly driverIdentifier = 'LumberjackConsoleDriver';\n\n  readonly #console = inject(lumberjackConsoleToken);\n\n  readonly config = inject(lumberjackConsoleDriverConfigToken);\n\n  /**\n   * Output console error.\n   *\n   * @param param0 The log and its text representation.\n   */\n  logCritical({ formattedLog, log: { payload } }: LumberjackLogDriverLog<TPayload>): void {\n    this.#console.error(formattedLog, payload);\n  }\n\n  /**\n   * Output console debug message.\n   *\n   * @param param0 The log and its text representation.\n   */\n  logDebug({ formattedLog, log: { payload } }: LumberjackLogDriverLog<TPayload>): void {\n    this.#console.debug(formattedLog, payload);\n  }\n\n  /**\n   * Output console error.\n   *\n   * @param param0 The log and its text representation.\n   */\n  logError({ formattedLog, log: { payload } }: LumberjackLogDriverLog<TPayload>): void {\n    this.#console.error(formattedLog, payload);\n  }\n\n  /**\n   * Output console info.\n   *\n   * @param param0 The log and its text representation.\n   */\n  logInfo({ formattedLog, log: { payload } }: LumberjackLogDriverLog<TPayload>): void {\n    this.#console.info(formattedLog, payload);\n  }\n\n  /**\n   * Output console trace.\n   *\n   * @param param0 The log and its text representation.\n   */\n  logTrace({ formattedLog, log: { payload } }: LumberjackLogDriverLog<TPayload>): void {\n    this.#console.trace(formattedLog, payload);\n  }\n\n  /**\n   * Output console warning.\n   *\n   * @param param0 The log and its text representation.\n   */\n  logWarning({ formattedLog, log: { payload } }: LumberjackLogDriverLog<TPayload>): void {\n    this.#console.warn(formattedLog, payload);\n  }\n}\n","import { Provider } from '@angular/core';\n\nimport {\n  LumberjackLogDriverConfig,\n  lumberjackLogDriverConfigToken,\n  lumberjackLogDriverToken,\n} from '@ngworker/lumberjack';\n\nimport { LumberjackConsoleDriver } from '../log-drivers/lumberjack-console.driver';\n\nimport { lumberjackConsoleDriverConfigToken } from './lumberjack-console-driver-config.token';\nimport { LumberjackConsoleDriverConfig } from './lumberjack-console-driver.config';\n\n/**\n * Returns the [dependency-injection providers](https://angular.io/guide/glossary#provider)\n *\n * for the `LumberjackConsoleDriver` and its `LumberjackConsoleDriverConfig`.\n * @usageNotes\n *\n * The function is useful when you want to bootstrap an application using\n * the `bootstrapApplication` function and want to make available the `LumberjackConsoleDriver` providers.\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n *   providers: [\n *    provideLumberjack({...}),\n *    provideLumberjackConsoleDriver({...})\n *   ]\n * });\n * ```\n *\n * @publicApi\n */\nexport function provideLumberjackConsoleDriver(config: Partial<LumberjackConsoleDriverConfig> = {}): Provider[] {\n  return [\n    {\n      provide: lumberjackConsoleDriverConfigToken,\n      deps: [lumberjackLogDriverConfigToken],\n      useFactory: (logDriverConfig: LumberjackLogDriverConfig): LumberjackConsoleDriverConfig => ({\n        ...logDriverConfig,\n        identifier: LumberjackConsoleDriver.driverIdentifier,\n        ...config,\n      }),\n    },\n    {\n      provide: lumberjackLogDriverToken,\n      useClass: LumberjackConsoleDriver,\n      multi: true,\n    },\n  ];\n}\n","/*\n * Public API surface of @ngworker/lumberjack/console-driver\n */\n\n// Configuration\nexport { provideLumberjackConsoleDriver } from './lib/configuration/provide-lumberjack-console-driver';\n\n// Console\nexport { LumberjackConsole } from './lib/console/lumberjack-console';\nexport { lumberjackConsoleToken } from './lib/console/lumberjack-console.token';\n\n// Log drivers\nexport { LumberjackConsoleDriver } from './lib/log-drivers/lumberjack-console.driver';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAIO,MAAM,kCAAkC,GAAG,IAAI,cAAc,CAClE,sCAAsC,CACvC;;ACFD;;;AAGG;MACU,sBAAsB,GAAG,IAAI,cAAc,CAAoB,wBAAwB,EAAE;AACpG,IAAA,OAAO,EAAE,MAAyB,OAAO;AACzC,IAAA,UAAU,EAAE,MAAM;AACnB,CAAA;;ACJD;;;;;AAKG;MAEU,uBAAuB,CAAA;AAGlC,IAAA,OAAgB,gBAAgB,GAAG,yBAAyB;AAEnD,IAAA,QAAQ,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAEzC,IAAA,MAAM,GAAG,MAAM,CAAC,kCAAkC,CAAC;AAE5D;;;;AAIG;IACH,WAAW,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,EAAoC,EAAA;QAC9E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC;;AAG5C;;;;AAIG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,EAAoC,EAAA;QAC3E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC;;AAG5C;;;;AAIG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,EAAoC,EAAA;QAC3E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC;;AAG5C;;;;AAIG;IACH,OAAO,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,EAAoC,EAAA;QAC1E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;;AAG3C;;;;AAIG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,EAAoC,EAAA;QAC3E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC;;AAG5C;;;;AAIG;IACH,UAAU,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,EAAoC,EAAA;QAC7E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;;uGA5DhC,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAvB,uBAAuB,EAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC;;;ACAD;;;;;;;;;;;;;;;;;;;AAmBG;AACa,SAAA,8BAA8B,CAAC,MAAA,GAAiD,EAAE,EAAA;IAChG,OAAO;AACL,QAAA;AACE,YAAA,OAAO,EAAE,kCAAkC;YAC3C,IAAI,EAAE,CAAC,8BAA8B,CAAC;AACtC,YAAA,UAAU,EAAE,CAAC,eAA0C,MAAqC;AAC1F,gBAAA,GAAG,eAAe;gBAClB,UAAU,EAAE,uBAAuB,CAAC,gBAAgB;AACpD,gBAAA,GAAG,MAAM;aACV,CAAC;AACH,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,wBAAwB;AACjC,YAAA,QAAQ,EAAE,uBAAuB;AACjC,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;KACF;AACH;;AClDA;;AAEG;AAEH;;ACJA;;AAEG;;;;"}