{"version":3,"file":"fababracx-ngx-console-logger.mjs","sources":["../../../projects/ngx-console-logger/src/lib/config/ngx-console-logger-config.ts","../../../projects/ngx-console-logger/src/lib/models/ngx-console-logger.ts","../../../projects/ngx-console-logger/src/lib/components/perf-refresh-count/perf-refresh-count.component.ts","../../../projects/ngx-console-logger/src/lib/components/root-perf-refresh-count/root-perf-refresh-count.component.ts","../../../projects/ngx-console-logger/src/lib/decorators/lifecycle-log.decorator.ts","../../../projects/ngx-console-logger/src/lib/decorators/method-console-logger.decorator.ts","../../../projects/ngx-console-logger/src/lib/decorators/property-console-logger.decorator.ts","../../../projects/ngx-console-logger/src/lib/config/ngx-console-logger-config.prod.ts","../../../projects/ngx-console-logger/src/lib/factory/ngx-console-logger.factory.ts","../../../projects/ngx-console-logger/src/lib/ngx-console-logger.module.ts","../../../projects/ngx-console-logger/src/public-api.ts","../../../projects/ngx-console-logger/src/fababracx-ngx-console-logger.ts"],"sourcesContent":["import { INgxConsoleLoggerConfig } from '../interfaces/i-ngx-console-logger-config';\r\n\r\nexport const ngxConsoleLoggerConfigDefaultPrefixMinPad = 5;\r\n\r\nexport const ngxConsoleLoggerConfigDefault: INgxConsoleLoggerConfig = {\r\n  debug: 'green',\r\n  info: 'blue',\r\n  error: 'red',\r\n  warn: 'orange',\r\n\r\n  // NG hooks\r\n  ngOnChanges: ['orange', 'ngOnChange'],\r\n  ngOnInit: ['orange', 'ngOnInit'],\r\n  ngDoCheck: ['orange', 'ngDoCheck'],\r\n  ngOnDestroy: ['orange', 'ngOnDestroy'],\r\n\r\n  // Create\r\n  create: ['lightgreen', 'CREATE'],\r\n  createComponent: ['lightgreen', 'CREATE - Component'],\r\n  createDirective: ['lightgreen', 'CREATE - Directive'],\r\n  createService: ['lightgreen', 'CREATE - Service'],\r\n  createPipe: ['lightgreen', 'CREATE - Pipe'],\r\n  createGuard: ['lightgreen', 'CREATE - Guard'],\r\n  createResolver: ['lightgreen', 'CREATE - Resolver'],\r\n\r\n  // Performance logs\r\n  perf: ['darkturquoise', 'PERF'],\r\n  perfComponent: ['darkturquoise', 'PERF - Component'],\r\n  perfCD: ['darkturquoise', 'PERF - CD'],\r\n  perfDom: ['darkturquoise', 'PERF - Dom'],\r\n\r\n  // Network logs\r\n  network: ['blue', 'HTTP'],\r\n  networkRequest: ['blue', 'HTTP - Request'],\r\n  networkResponse: ['blue', 'HTTP - Response'],\r\n  networkError: ['red', 'HTTP - Error'],\r\n  networkCreate: ['green', 'HTTP - Create'],\r\n\r\n  // NG types\r\n  resolve: 'brown',\r\n  guard: 'sandybrown',\r\n  validator: 'plum',\r\n  pipe: 'brown',\r\n  callback: 'violet',\r\n  state: 'blueviolet', // Redux style or BehaviorSubject, as you want\r\n\r\n  // Specific logs for NGXS, Akita\r\n  action: ['#8f72cf', '@ACTION'], // to log inside Action method\r\n  select: ['#84467c', '@SELECT'], // to log inside select method\r\n  errorState: ['#cf3c04', '@ERROR'], // to log error in Store\r\n  effect: ['8F72CF', '@EFFECT'], // to log inside effect method (even if using @Effet is not advised)\r\n\r\n  // Tests\r\n  tu: ['green', 'TU'],\r\n  ti: ['green', 'TI'],\r\n  te2e: ['green', 'E2E'],\r\n\r\n  // Colors\r\n  pink: ['#FF40BD;', '####'],\r\n  red: ['red', '####'], // red without the console.error() stacktrace\r\n  orange: ['orange', '####'],\r\n  green: ['springgreen', '####'],\r\n  blue: ['cadetblue', '####'],\r\n  violet: ['blueviolet', '####']\r\n};\r\n","import { ngxConsoleLoggerConfigDefault, ngxConsoleLoggerConfigDefaultPrefixMinPad } from '../config/ngx-console-logger-config';\r\nimport { INgxConsoleLoggerConfig } from '../interfaces/i-ngx-console-logger-config';\r\n\r\nexport class NgxConsoleLogger {\r\n  static prefixMinPad = ngxConsoleLoggerConfigDefaultPrefixMinPad;\r\n  static config: INgxConsoleLoggerConfig = {};\r\n\r\n  static debug = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static info = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static warn = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static error = NgxConsoleLogger.fnConsoleLoggerNull;\r\n\r\n  static ngOnChanges = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static ngOnInit = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static ngDoCheck = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static ngOnDestroy = NgxConsoleLogger.fnConsoleLoggerNull;\r\n\r\n  static create = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static createComponent = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static createDirective = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static createService = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static createPipe = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static createGuard = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static createResolver = NgxConsoleLogger.fnConsoleLoggerNull;\r\n\r\n  static perf = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static perfComponent = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static perfCD = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static perfDom = NgxConsoleLogger.fnConsoleLoggerNull;\r\n\r\n  static network = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static networkRequest = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static networkResponse = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static networkError = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static networkCreate = NgxConsoleLogger.fnConsoleLoggerNull;\r\n\r\n  static resolve = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static guard = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static validator = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static pipe = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static callback = NgxConsoleLogger.fnConsoleLoggerNull;\r\n\r\n  static state = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static action = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static select = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static errorState = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static effect = NgxConsoleLogger.fnConsoleLoggerNull;\r\n\r\n  static tu = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static ti = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static te2e = NgxConsoleLogger.fnConsoleLoggerNull;\r\n\r\n  static pink = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static red = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static orange = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static green = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static blue = NgxConsoleLogger.fnConsoleLoggerNull;\r\n  static violet = NgxConsoleLogger.fnConsoleLoggerNull;\r\n\r\n  // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n  static fnConsoleLoggerNull(_message?: any, ..._optionalParams: any[]) {}\r\n\r\n  static init(\r\n    ngxConsoleLoggerConfig: INgxConsoleLoggerConfig = ngxConsoleLoggerConfigDefault,\r\n    activatePerfsLogs = false,\r\n    defaultPrefixMinPad: number = ngxConsoleLoggerConfigDefaultPrefixMinPad\r\n  ) {\r\n    NgxConsoleLogger.config = ngxConsoleLoggerConfig;\r\n    NgxConsoleLogger.prefixMinPad = defaultPrefixMinPad || NgxConsoleLogger.prefixMinPad;\r\n\r\n    if (NgxConsoleLogger.config) {\r\n      // Init all keys\r\n      Object.keys(ngxConsoleLoggerConfig).forEach(key => {\r\n        const configData: string | string[] = NgxConsoleLogger.config?.[key as keyof INgxConsoleLoggerConfig] || [];\r\n        const { logPrefix, logColor } = NgxConsoleLogger.getConsoleData(key, configData) || {};\r\n        NgxConsoleLogger[key as keyof INgxConsoleLoggerConfig] = NgxConsoleLogger.initConsole(logPrefix, logColor);\r\n      });\r\n\r\n      // deactivate or activate perfs logs\r\n      NgxConsoleLogger.deactivatePerfLogs();\r\n      if (activatePerfsLogs) {\r\n        NgxConsoleLogger.activatePerfLogs();\r\n      }\r\n    }\r\n  }\r\n\r\n  static initLog(key: keyof INgxConsoleLoggerConfig, configData: string | string[]) {\r\n    if (!!NgxConsoleLogger[key] && (!NgxConsoleLogger.config || !NgxConsoleLogger.config[key])) {\r\n      NgxConsoleLogger.config = !NgxConsoleLogger.config ? {} : NgxConsoleLogger.config;\r\n      NgxConsoleLogger.config[key] = configData;\r\n      const { logPrefix, logColor } = NgxConsoleLogger.getConsoleData(key, configData) || {};\r\n      NgxConsoleLogger[key] = NgxConsoleLogger.initConsole(logPrefix, logColor);\r\n    }\r\n  }\r\n\r\n  private static activateLog(key: keyof INgxConsoleLoggerConfig) {\r\n    if (!!NgxConsoleLogger.config && Object.keys(NgxConsoleLogger.config).find(k => key === k)) {\r\n      const configData: string | string[] = NgxConsoleLogger.config?.[key] || [];\r\n      const { logPrefix, logColor } = NgxConsoleLogger.getConsoleData(key, configData) || {};\r\n      NgxConsoleLogger[key] = NgxConsoleLogger.initConsole(logPrefix, logColor);\r\n    }\r\n  }\r\n\r\n  static activateLogs(...keys: (keyof INgxConsoleLoggerConfig)[]) {\r\n    keys.forEach(key => NgxConsoleLogger.activateLog(key));\r\n  }\r\n\r\n  static activatePerfLogs() {\r\n    NgxConsoleLogger.activateLogs('perf', 'perfCD', 'perfComponent', 'perfDom');\r\n  }\r\n\r\n  private static deactivateLog(key: keyof INgxConsoleLoggerConfig) {\r\n    if (!!NgxConsoleLogger.config && Object.keys(NgxConsoleLogger.config).find(k => key === k)) {\r\n      NgxConsoleLogger[key] = NgxConsoleLogger.fnConsoleLoggerNull;\r\n    }\r\n  }\r\n\r\n  static deactivateLogs(...keys: (keyof INgxConsoleLoggerConfig)[]) {\r\n    keys.forEach(key => NgxConsoleLogger.deactivateLog(key));\r\n  }\r\n\r\n  static deactivatePerfLogs() {\r\n    NgxConsoleLogger.deactivateLogs('perf', 'perfCD', 'perfComponent', 'perfDom');\r\n  }\r\n\r\n  private static getConsoleData(key: string, configData: string | string[]): { logPrefix: string; logColor: string } | undefined {\r\n    let logPrefix = key;\r\n    let logColor!: string;\r\n    if (configData instanceof Array) {\r\n      if (configData.length >= 2) {\r\n        logPrefix = configData[1];\r\n        logColor = configData[0];\r\n      } else {\r\n        console.error(`Bad configuration for key ${logPrefix}`);\r\n      }\r\n    } else {\r\n      logColor = configData;\r\n    }\r\n\r\n    return { logPrefix, logColor };\r\n  }\r\n\r\n  private static initConsole(logPrefix: string | undefined, logColor: string | undefined): (...args: any[]) => void {\r\n    if (!logPrefix || !logColor) {\r\n      return console.log.bind(console);\r\n    }\r\n    // Capitalize prefix\r\n    const logPrefixCapitalized = NgxConsoleLogger.prepareLogPrefix(logPrefix);\r\n    const ua = window.navigator.userAgent;\r\n    // Check if ie\r\n    const msie = ua?.indexOf('MSIE ');\r\n    if (msie > 0) {\r\n      return console.info.bind(console, `${logPrefixCapitalized}:`);\r\n    } else {\r\n      return console.info.bind(console, `%c${logPrefixCapitalized}:`, `color: ${logColor}`);\r\n    }\r\n  }\r\n\r\n  private static prepareLogPrefix(logPrefix: string): string {\r\n    let logPrefixCapitalized = `${logPrefix.charAt(0).toUpperCase()}${logPrefix.slice(1)}`;\r\n    // padEnd does not exits in IE11\r\n    // <=> logPrefixCapitalized.padEnd(NgxConsoleLogger.prefixLength, ' ')\r\n    if (logPrefixCapitalized.length < NgxConsoleLogger.prefixMinPad) {\r\n      while (logPrefixCapitalized.length < NgxConsoleLogger.prefixMinPad) {\r\n        // Add space\r\n        logPrefixCapitalized = `${logPrefixCapitalized} `;\r\n      }\r\n    }\r\n    return logPrefixCapitalized;\r\n  }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgxConsoleLogger } from '../../models/ngx-console-logger';\r\n\r\n@Component({\r\n  // eslint-disable-next-line @angular-eslint/component-selector\r\n  selector: 'ngx-cl-perf-refresh-count',\r\n  template: ` {{ onRefreshCounter() }} `\r\n})\r\nexport class PerfRefreshCountComponent {\r\n  counter = 1;\r\n\r\n  /**\r\n   * Component name\r\n   */\r\n  @Input() name = '';\r\n\r\n  /**\r\n   * Counter label\r\n   */\r\n  @Input() counterLabel = 'Refresh';\r\n\r\n  /**\r\n   * Log number of angular component refresh\r\n   */\r\n  onRefreshCounter() {\r\n    NgxConsoleLogger.perfComponent(`${this.name} ${this.counter++} ${this.counterLabel}`);\r\n  }\r\n}\r\n","import { Component, DoCheck, Input } from '@angular/core';\r\nimport { NgxConsoleLogger } from '../../models/ngx-console-logger';\r\n\r\n@Component({\r\n  // eslint-disable-next-line @angular-eslint/component-selector\r\n  selector: 'ngx-cl-root-perf-refresh-count',\r\n  template: ` {{ onRefreshDomCounter() }} `\r\n})\r\nexport class RootPerfRefreshCountComponent implements DoCheck {\r\n  counterRefresh = 1;\r\n  counterDomRefresh = 1;\r\n\r\n  /**\r\n   * Counter label\r\n   */\r\n  @Input() counterLabel = 'Refresh';\r\n\r\n  /**\r\n   * Log number of angular do check\r\n   */\r\n  ngDoCheck(): void {\r\n    if (NgxConsoleLogger.config) {\r\n      // Called at the beginning of every change detection run\r\n      NgxConsoleLogger.perfCD(`${this.counterRefresh++} ${this.counterLabel}`);\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Log number of angular dom refresh\r\n   */\r\n  onRefreshDomCounter(): void {\r\n    if (NgxConsoleLogger.config) {\r\n      NgxConsoleLogger.perfDom(`${this.counterDomRefresh++} ${this.counterLabel}`);\r\n    }\r\n  }\r\n}\r\n","import { ngxConsoleLoggerConfigDefault } from '../config/ngx-console-logger-config';\r\nimport { INgxConsoleLoggerConfig } from '../interfaces/i-ngx-console-logger-config';\r\nimport { NgxConsoleLogger } from '../models/ngx-console-logger';\r\n\r\nexport const LifecycleLog = (\r\n  type: keyof INgxConsoleLoggerConfig = 'debug',\r\n  LIFECYCLE_HOOKS = ['ngOnInit', 'ngOnChanges', 'ngOnDestroy'],\r\n  config: INgxConsoleLoggerConfig = ngxConsoleLoggerConfigDefault\r\n): ClassDecorator => {\r\n  NgxConsoleLogger.init(config);\r\n\r\n  console.log('constructor');\r\n  return (target: any) => {\r\n    console.log('target', target);\r\n    // if (!environment.production) {\r\n    // You can add/remove events for your needs\r\n    const component = target.name;\r\n\r\n    LIFECYCLE_HOOKS.forEach(hook => {\r\n      console.log('hook');\r\n      const original = target.prototype[hook];\r\n\r\n      target.prototype[hook] = (...args: any[]): any => {\r\n        if (NgxConsoleLogger?.[hook as keyof INgxConsoleLoggerConfig]) {\r\n          NgxConsoleLogger[hook as keyof INgxConsoleLoggerConfig](`${component}`, ...args);\r\n        } else if (type) {\r\n          NgxConsoleLogger[type](`${component} - ${hook}`, ...args);\r\n        } else {\r\n          console.log(`${component} - ${hook}`, ...args);\r\n        }\r\n\r\n        return original?.apply(this, args);\r\n      };\r\n      // target.prototype[hook]();\r\n    });\r\n    // }\r\n    return target;\r\n  };\r\n};\r\n","import { ngxConsoleLoggerConfigDefault } from '../config/ngx-console-logger-config';\r\nimport { INgxConsoleLoggerConfig } from '../interfaces/i-ngx-console-logger-config';\r\nimport { NgxConsoleLogger } from '../models/ngx-console-logger';\r\n\r\nexport const MethodConsoleLogger = (\r\n  type: keyof INgxConsoleLoggerConfig = 'info',\r\n  config: INgxConsoleLoggerConfig = ngxConsoleLoggerConfigDefault\r\n): MethodDecorator => {\r\n  NgxConsoleLogger.init(config);\r\n\r\n  return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor): void | PropertyDescriptor => {\r\n    const targetMethod = descriptor.value;\r\n\r\n    descriptor.value = (...args: any[]): any => {\r\n      if (type) {\r\n        NgxConsoleLogger[type].apply(propertyKey, args);\r\n      } else {\r\n        console.log(propertyKey, args);\r\n      }\r\n      return targetMethod.apply(this, args);\r\n    };\r\n\r\n    return descriptor;\r\n  };\r\n};\r\n","import { Observable } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { ngxConsoleLoggerConfigDefault } from '../config/ngx-console-logger-config';\r\nimport { INgxConsoleLoggerConfig } from '../interfaces/i-ngx-console-logger-config';\r\nimport { NgxConsoleLogger } from '../models/ngx-console-logger';\r\n\r\nexport function PropertyConsoleLogger(\r\n  type: keyof INgxConsoleLoggerConfig = 'info',\r\n  logSetter = true,\r\n  logGetter = false,\r\n  config: INgxConsoleLoggerConfig = ngxConsoleLoggerConfigDefault\r\n): PropertyDecorator {\r\n  NgxConsoleLogger.init(config);\r\n\r\n  // eslint-disable-next-line @typescript-eslint/ban-types\r\n  return (target: Object, propertyKey: string | symbol): void => {\r\n    let propertyValue: any;\r\n\r\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n    function getter(): any {\r\n      if (logGetter) {\r\n        if (type) {\r\n          NgxConsoleLogger[type](propertyValue);\r\n        } else {\r\n          console.log(propertyValue);\r\n        }\r\n      }\r\n      return propertyValue;\r\n    }\r\n\r\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n    function setter(value: any): any {\r\n      if (value instanceof Observable) {\r\n        if (logSetter) {\r\n          propertyValue = value.pipe(\r\n            tap(res => {\r\n              const isArrayOfObjects = Array.isArray(res) && typeof res[0] === 'object';\r\n              const logType = isArrayOfObjects ? 'table' : 'log';\r\n              console.groupCollapsed(propertyKey?.toString());\r\n              console[logType](res);\r\n              console.groupEnd();\r\n            })\r\n          );\r\n        }\r\n      } else {\r\n        if (logSetter) {\r\n          if (type) {\r\n            NgxConsoleLogger[type](value);\r\n          } else {\r\n            console.log(value);\r\n          }\r\n        }\r\n        propertyValue = value;\r\n      }\r\n    }\r\n  };\r\n}\r\n","import { INgxConsoleLoggerConfig } from '../interfaces/i-ngx-console-logger-config';\r\n\r\nexport const ngxConsoleLoggerConfigProd: INgxConsoleLoggerConfig = {\r\n  // only error and warn will output to the console.\r\n  error: 'red',\r\n  warn: 'orange',\r\n\r\n  // Performance logs\r\n  perf: ['darkturquoise', 'PERF'],\r\n  perfComponent: ['darkturquoise', 'PERF - Component'],\r\n  perfCD: ['darkturquoise', 'PERF - CD'],\r\n  perfDom: ['darkturquoise', 'PERF - Dom']\r\n};\r\n","import { ngxConsoleLoggerConfigDefault } from '../config/ngx-console-logger-config';\r\nimport { ngxConsoleLoggerConfigProd } from '../config/ngx-console-logger-config.prod';\r\nimport { NgxConsoleLogger } from '../models/ngx-console-logger';\r\n\r\nlet initialized = false;\r\nexport function ngxConsoleLoggerFactory(\r\n  useDefaultConfig: boolean,\r\n  environment: any,\r\n  activatePerfsLogs: boolean,\r\n  defaultPrefixLength: number\r\n) {\r\n  // https://github.com/ng-packagr/ng-packagr/issues/696\r\n  const initConfig = (): Promise<boolean> => {\r\n    return new Promise((resolve, _reject) => {\r\n      setTimeout(() => {\r\n        if (!initialized) {\r\n          if (!useDefaultConfig) {\r\n            checkEnvironmentConfig(environment);\r\n          }\r\n\r\n          /**\r\n           * Check if you have a Specific config defined, if so take it.\r\n           */\r\n          const config = environment.production ? ngxConsoleLoggerConfigProd : ngxConsoleLoggerConfigDefault;\r\n          let ngxConsoleLoggerConfig = useDefaultConfig ? config : {};\r\n          if (environment.ngxConsoleLogger) {\r\n            ngxConsoleLoggerConfig = environment.ngxConsoleLogger;\r\n          }\r\n          NgxConsoleLogger.init(ngxConsoleLoggerConfig, activatePerfsLogs, defaultPrefixLength);\r\n          initialized = true;\r\n        }\r\n        resolve(initialized);\r\n      }, 2000);\r\n    });\r\n  };\r\n  return initConfig;\r\n}\r\n\r\n/**\r\n * get the Default config for default or prod mode\r\n */\r\nconst checkEnvironmentConfig = (environment: any) => {\r\n  if (!environment.ngxConsoleLogger) {\r\n    console.warn('Please initialize NgxConsoleLogger environment configuration');\r\n    if (environment.production) {\r\n      console.warn(\r\n        'Recommended configuration : node_module/@fababracx/ngx-console-logger/exemple/config/ngx-console-logger-config.prod.ts'\r\n      );\r\n    } else {\r\n      console.warn('Recommended configuration : node_module/@fababracx/ngx-console-logger/exemple/config/ngx-console-logger-config.ts');\r\n    }\r\n  }\r\n};\r\n","import { CommonModule } from '@angular/common';\r\nimport { APP_INITIALIZER, InjectionToken, ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { PerfRefreshCountComponent } from './components/perf-refresh-count/perf-refresh-count.component';\r\nimport { RootPerfRefreshCountComponent } from './components/root-perf-refresh-count/root-perf-refresh-count.component';\r\nimport { ngxConsoleLoggerConfigDefaultPrefixMinPad } from './config/ngx-console-logger-config';\r\nimport { ngxConsoleLoggerFactory } from './factory/ngx-console-logger.factory';\r\n\r\nexport const USE_DEFAULT_CONFIG = new InjectionToken<boolean>('USE_DEFAULT_CONFIG');\r\nexport const ENV_CONFIG = new InjectionToken<any[]>('LOGGER_CONFIG');\r\nexport const ACTIVATE_PERF_LOGS = new InjectionToken<boolean>('ACTIVATE_PERF_LOGS');\r\nexport const PREFIX_LENGTH = new InjectionToken<number>('PREFIX_LENGTH');\r\n\r\n@NgModule({\r\n  declarations: [RootPerfRefreshCountComponent, PerfRefreshCountComponent],\r\n  imports: [CommonModule],\r\n  exports: [RootPerfRefreshCountComponent, PerfRefreshCountComponent]\r\n})\r\nexport class NgxConsoleLoggerModule {\r\n  static forRoot(\r\n    useDefaultConfig = false,\r\n    environment: any,\r\n    activatePerfLogs = false,\r\n    defaultPrefixMinPad = ngxConsoleLoggerConfigDefaultPrefixMinPad\r\n  ): ModuleWithProviders<NgxConsoleLoggerModule> {\r\n    return {\r\n      ngModule: NgxConsoleLoggerModule,\r\n      providers: [\r\n        {\r\n          provide: APP_INITIALIZER, // loop to force execution of rootNgxConsoleLoggerFactory\r\n          useFactory: ngxConsoleLoggerFactory,\r\n          multi: true,\r\n          deps: [USE_DEFAULT_CONFIG, ENV_CONFIG, ACTIVATE_PERF_LOGS, PREFIX_LENGTH]\r\n        },\r\n        {\r\n          provide: USE_DEFAULT_CONFIG,\r\n          useValue: useDefaultConfig\r\n        },\r\n        {\r\n          provide: ENV_CONFIG,\r\n          useValue: environment\r\n        },\r\n        {\r\n          provide: ACTIVATE_PERF_LOGS,\r\n          useValue: activatePerfLogs\r\n        },\r\n        {\r\n          provide: PREFIX_LENGTH,\r\n          useValue: defaultPrefixMinPad\r\n        }\r\n      ]\r\n    };\r\n  }\r\n\r\n  static forChild(): ModuleWithProviders<NgxConsoleLoggerModule> {\r\n    return {\r\n      ngModule: NgxConsoleLoggerModule,\r\n      providers: []\r\n    };\r\n  }\r\n}\r\n","/*\r\n * Public API Surface of ngx-console-logger\r\n */\r\n\r\n// export * from './lib/ngx-console-logger.service';\r\n// export * from './lib/ngx-console-logger.component';\r\n// export * from './lib/ngx-console-logger.module';\r\nexport { PerfRefreshCountComponent } from './lib/components/perf-refresh-count/perf-refresh-count.component';\r\nexport { RootPerfRefreshCountComponent } from './lib/components/root-perf-refresh-count/root-perf-refresh-count.component';\r\nexport { LifecycleLog } from './lib/decorators/lifecycle-log.decorator';\r\nexport { MethodConsoleLogger } from './lib/decorators/method-console-logger.decorator';\r\nexport { PropertyConsoleLogger } from './lib/decorators/property-console-logger.decorator';\r\nexport { NgxConsoleLogger } from './lib/models/ngx-console-logger';\r\nexport { NgxConsoleLoggerModule } from './lib/ngx-console-logger.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["this"],"mappings":"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"}