@ngxs/logger-plugin
Version:
logger plugin for @ngxs/store
38 lines (33 loc) • 1.68 kB
TypeScript
import * as i0 from '@angular/core';
import { InjectionToken, ModuleWithProviders, EnvironmentProviders } from '@angular/core';
import { NgxsPlugin, NgxsNextPluginFn } from '@ngxs/store/plugins';
interface NgxsLoggerPluginOptions {
/** Auto expand logged actions */
collapsed?: boolean;
/** Provide alternate console.log implementation */
logger?: any;
/** Disable the logger. Useful for prod mode. */
disabled?: boolean;
/** Predicate for actions to be the logged. Takes action and state snapshot as parameters */
filter?: (action: any, state: any) => boolean;
}
declare const NGXS_LOGGER_PLUGIN_OPTIONS: InjectionToken<NgxsLoggerPluginOptions>;
declare class NgxsLoggerPluginModule {
static forRoot(options?: NgxsLoggerPluginOptions): ModuleWithProviders<NgxsLoggerPluginModule>;
static ɵfac: i0.ɵɵFactoryDeclaration<NgxsLoggerPluginModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<NgxsLoggerPluginModule, never, never, never>;
static ɵinj: i0.ɵɵInjectorDeclaration<NgxsLoggerPluginModule>;
}
declare function withNgxsLoggerPlugin(options?: NgxsLoggerPluginOptions): EnvironmentProviders;
declare class NgxsLoggerPlugin implements NgxsPlugin {
private _store;
private _logWriter;
private _options;
private _injector;
handle(state: any, event: any, next: NgxsNextPluginFn): any;
private _skipLogging;
static ɵfac: i0.ɵɵFactoryDeclaration<NgxsLoggerPlugin, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<NgxsLoggerPlugin>;
}
export { NGXS_LOGGER_PLUGIN_OPTIONS, NgxsLoggerPlugin, NgxsLoggerPluginModule, withNgxsLoggerPlugin };
export type { NgxsLoggerPluginOptions };