@fababracx/ngx-console-logger
Version:
Logging library for Angular
1 lines • 39.7 kB
Source Map (JSON)
{"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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"}